diff --git a/server/services/pve.go b/server/services/pve.go index 482546a..75d5845 100644 --- a/server/services/pve.go +++ b/server/services/pve.go @@ -295,7 +295,7 @@ func (s *PVEHostService) GetAll() ([]models.PVEHost, error) { for rows.Next() { var h models.PVEHost var verifySSL int - if err := rows.Scan(&h.ID, &h.Name, &h.Hostname, &h.Port, &h.Username, &h.PasswordEnch.Username, &h.NodeName, &h.PasswordEnc, &verifySSL, &h.CreatedAt, &h.UpdatedAt); err != nil { + if err := rows.Scan(&h.ID, &h.Name, &h.Hostname, &h.Port, &h.Username, &h.NodeName, &h.PasswordEnc, &verifySSL, &h.CreatedAt, &h.UpdatedAt); err != nil { return nil, err } h.VerifySSL = verifySSL == 1 @@ -309,7 +309,7 @@ func (s *PVEHostService) GetByID(id int64) (*models.PVEHost, error) { var h models.PVEHost var verifySSL int err := db.DB.QueryRow(`SELECT id, name, hostname, port, username, node_name, password_enc, verify_ssl, created_at, updated_at FROM pve_hosts WHERE id = ?`, id). - Scan(&h.ID, &h.Name, &h.Hostname, &h.Port, &h.Username, &h.PasswordEnch.Username, &h.NodeName, &h.PasswordEnc, &verifySSL, &h.CreatedAt, &h.UpdatedAt) + Scan(&h.ID, &h.Name, &h.Hostname, &h.Port, &h.Username, &h.NodeName, &h.PasswordEnc, &verifySSL, &h.CreatedAt, &h.UpdatedAt) if err != nil { return nil, err } diff --git a/web/dist/assets/Login-BYekGeRX.js b/web/dist/assets/Login-C8-FK7Oa.js similarity index 96% rename from web/dist/assets/Login-BYekGeRX.js rename to web/dist/assets/Login-C8-FK7Oa.js index 406b3ae..4f593f9 100644 --- a/web/dist/assets/Login-BYekGeRX.js +++ b/web/dist/assets/Login-C8-FK7Oa.js @@ -1 +1 @@ -import{o as b,c as x,a as o,b as s,w as l,r as g,d as u,u as k,e as v,f as N,g as w,l as z,h as y,E as d,i as C,s as V,j as M}from"./index-BFjouPFU.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const B={class:"login-page"},E={class:"login-card"},K={class:"input-wrap"},U={class:"input-wrap"},$={class:"login-guest"},j={__name:"Login",setup(I){const c=k(),a=g({username:"",password:""}),n=g(!1);async function r(){if(!a.value.username||!a.value.password){d.warning("请输入用户名和密码");return}n.value=!0;try{const t=await C(a.value);V(t.data),d.success("登录成功"),c.push("/")}catch{}n.value=!1}async function h(){n.value=!0;try{const t=await M();V(t.data),d.success("已进入访客模式"),c.push("/")}catch{}n.value=!1}return(t,e)=>{const p=u("el-icon"),_=u("el-input"),m=u("el-form-item"),f=u("el-button"),L=u("el-form");return b(),x("div",B,[o("div",E,[e[4]||(e[4]=o("div",{class:"login-header"},[o("div",{class:"logo"},"LM"),o("h1",null,"LAN Manager"),o("p",null,"轻量级局域网资产管理平台")],-1)),s(L,{model:a.value,class:"login-form"},{default:l(()=>[s(m,null,{default:l(()=>[o("div",K,[s(p,{class:"input-icon"},{default:l(()=>[s(v(N))]),_:1}),s(_,{modelValue:a.value.username,"onUpdate:modelValue":e[0]||(e[0]=i=>a.value.username=i),placeholder:"用户名",size:"large",onKeydown:w(r,["enter"])},null,8,["modelValue"])])]),_:1}),s(m,null,{default:l(()=>[o("div",U,[s(p,{class:"input-icon"},{default:l(()=>[s(v(z))]),_:1}),s(_,{modelValue:a.value.password,"onUpdate:modelValue":e[1]||(e[1]=i=>a.value.password=i),type:"password","show-password":"",placeholder:"密码",size:"large",onKeydown:w(r,["enter"])},null,8,["modelValue"])])]),_:1}),s(f,{type:"primary",size:"large",class:"login-btn",loading:n.value,onClick:r},{default:l(()=>[...e[2]||(e[2]=[y("登录",-1)])]),_:1},8,["loading"]),o("div",$,[s(f,{text:"",size:"small",onClick:h},{default:l(()=>[...e[3]||(e[3]=[y("访客模式进入",-1)])]),_:1})])]),_:1},8,["model"])]),e[5]||(e[5]=o("div",{class:"login-footer"}," © LAN Manager ",-1))])}}},q=A(j,[["__scopeId","data-v-92ccba4b"]]);export{q as default}; +import{o as b,c as x,a as o,b as s,w as l,r as g,d as u,u as k,e as v,f as N,g as w,l as z,h as y,E as d,i as C,s as V,j as M}from"./index-lpjSKhQ-.js";import{_ as A}from"./_plugin-vue_export-helper-DlAUqK2U.js";const B={class:"login-page"},E={class:"login-card"},K={class:"input-wrap"},U={class:"input-wrap"},$={class:"login-guest"},j={__name:"Login",setup(I){const c=k(),a=g({username:"",password:""}),n=g(!1);async function r(){if(!a.value.username||!a.value.password){d.warning("请输入用户名和密码");return}n.value=!0;try{const t=await C(a.value);V(t.data),d.success("登录成功"),c.push("/")}catch{}n.value=!1}async function h(){n.value=!0;try{const t=await M();V(t.data),d.success("已进入访客模式"),c.push("/")}catch{}n.value=!1}return(t,e)=>{const p=u("el-icon"),_=u("el-input"),m=u("el-form-item"),f=u("el-button"),L=u("el-form");return b(),x("div",B,[o("div",E,[e[4]||(e[4]=o("div",{class:"login-header"},[o("div",{class:"logo"},"LM"),o("h1",null,"LAN Manager"),o("p",null,"轻量级局域网资产管理平台")],-1)),s(L,{model:a.value,class:"login-form"},{default:l(()=>[s(m,null,{default:l(()=>[o("div",K,[s(p,{class:"input-icon"},{default:l(()=>[s(v(N))]),_:1}),s(_,{modelValue:a.value.username,"onUpdate:modelValue":e[0]||(e[0]=i=>a.value.username=i),placeholder:"用户名",size:"large",onKeydown:w(r,["enter"])},null,8,["modelValue"])])]),_:1}),s(m,null,{default:l(()=>[o("div",U,[s(p,{class:"input-icon"},{default:l(()=>[s(v(z))]),_:1}),s(_,{modelValue:a.value.password,"onUpdate:modelValue":e[1]||(e[1]=i=>a.value.password=i),type:"password","show-password":"",placeholder:"密码",size:"large",onKeydown:w(r,["enter"])},null,8,["modelValue"])])]),_:1}),s(f,{type:"primary",size:"large",class:"login-btn",loading:n.value,onClick:r},{default:l(()=>[...e[2]||(e[2]=[y("登录",-1)])]),_:1},8,["loading"]),o("div",$,[s(f,{text:"",size:"small",onClick:h},{default:l(()=>[...e[3]||(e[3]=[y("访客模式进入",-1)])]),_:1})])]),_:1},8,["model"])]),e[5]||(e[5]=o("div",{class:"login-footer"}," © LAN Manager ",-1))])}}},q=A(j,[["__scopeId","data-v-92ccba4b"]]);export{q as default}; diff --git a/web/dist/assets/Logs-DuqLZVwE.js b/web/dist/assets/Logs-DrS0Neta.js similarity index 94% rename from web/dist/assets/Logs-DuqLZVwE.js rename to web/dist/assets/Logs-DrS0Neta.js index 4a53e36..8330035 100644 --- a/web/dist/assets/Logs-DuqLZVwE.js +++ b/web/dist/assets/Logs-DrS0Neta.js @@ -1 +1 @@ -import{k as V,ap as $,o as w,c as k,a as o,b as t,w as d,t as f,aq as N,m as B,r as i,d as r,ar as C,h as b}from"./index-BFjouPFU.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"page"},T={class:"page-header"},U={class:"header-actions"},I={class:"card"},q={class:"table-header"},E={class:"pagination-bar"},F={__name:"Logs",setup(H){const h=i([]),p=i(0),c=i(1),u=i(20),_=i(""),g=i(!1);V(()=>v());async function v(){g.value=!0;const l=await $({page:c.value,page_size:u.value,search:_.value});h.value=l.data.list,p.value=l.data.total,g.value=!1}function y(l){if(!l)return"-";const e=new Date(l);if(isNaN(e.getTime()))return l;const s=m=>String(m).padStart(2,"0");return`${e.getFullYear()}-${s(e.getMonth()+1)}-${s(e.getDate())} ${s(e.getHours())}:${s(e.getMinutes())}:${s(e.getSeconds())}`}return(l,e)=>{const s=r("el-input"),m=r("el-button"),n=r("el-table-column"),z=r("el-tag"),x=r("el-table"),D=r("el-pagination"),S=C("loading");return w(),k("div",M,[o("div",T,[e[4]||(e[4]=o("div",null,[o("div",{class:"page-title"},"操作日志"),o("div",{class:"page-subtitle"},"查看最近的系统操作记录")],-1)),o("div",U,[t(s,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=a=>_.value=a),placeholder:"搜索操作内容",clearable:"",style:{width:"240px"}},null,8,["modelValue"]),t(m,{type:"primary",onClick:v},{default:d(()=>[...e[3]||(e[3]=[b("查询",-1)])]),_:1})])]),o("div",I,[o("div",q,"共 "+f(p.value)+" 条记录",1),N((w(),B(x,{data:h.value,stripe:"",style:{width:"100%"},class:"modern-table"},{default:d(()=>[t(n,{prop:"id",label:"ID",width:"70"}),t(n,{prop:"action",label:"操作",width:"140"}),t(n,{prop:"target_type",label:"对象",width:"100"},{default:d(({row:a})=>[t(z,{size:"small",effect:"plain",round:""},{default:d(()=>[b(f(a.target_type),1)]),_:2},1024)]),_:1}),t(n,{prop:"target_name",label:"对象名称","min-width":"160"}),t(n,{prop:"details",label:"详情","min-width":"240","show-overflow-tooltip":""}),t(n,{prop:"created_at",label:"时间",width:"170"},{default:d(({row:a})=>[b(f(y(a.created_at)),1)]),_:1})]),_:1},8,["data"])),[[S,g.value]]),o("div",E,[t(D,{"current-page":c.value,"onUpdate:currentPage":e[1]||(e[1]=a=>c.value=a),"page-size":u.value,"onUpdate:pageSize":e[2]||(e[2]=a=>u.value=a),"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",total:p.value,onChange:v},null,8,["current-page","page-size","total"])])])])}}},j=L(F,[["__scopeId","data-v-b1b09e4f"]]);export{j as default}; +import{k as V,ap as $,o as w,c as k,a as o,b as t,w as d,t as f,aq as N,m as B,r as i,d as r,ar as C,h as b}from"./index-lpjSKhQ-.js";import{_ as L}from"./_plugin-vue_export-helper-DlAUqK2U.js";const M={class:"page"},T={class:"page-header"},U={class:"header-actions"},I={class:"card"},q={class:"table-header"},E={class:"pagination-bar"},F={__name:"Logs",setup(H){const h=i([]),p=i(0),c=i(1),u=i(20),_=i(""),g=i(!1);V(()=>v());async function v(){g.value=!0;const l=await $({page:c.value,page_size:u.value,search:_.value});h.value=l.data.list,p.value=l.data.total,g.value=!1}function y(l){if(!l)return"-";const e=new Date(l);if(isNaN(e.getTime()))return l;const s=m=>String(m).padStart(2,"0");return`${e.getFullYear()}-${s(e.getMonth()+1)}-${s(e.getDate())} ${s(e.getHours())}:${s(e.getMinutes())}:${s(e.getSeconds())}`}return(l,e)=>{const s=r("el-input"),m=r("el-button"),n=r("el-table-column"),z=r("el-tag"),x=r("el-table"),D=r("el-pagination"),S=C("loading");return w(),k("div",M,[o("div",T,[e[4]||(e[4]=o("div",null,[o("div",{class:"page-title"},"操作日志"),o("div",{class:"page-subtitle"},"查看最近的系统操作记录")],-1)),o("div",U,[t(s,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=a=>_.value=a),placeholder:"搜索操作内容",clearable:"",style:{width:"240px"}},null,8,["modelValue"]),t(m,{type:"primary",onClick:v},{default:d(()=>[...e[3]||(e[3]=[b("查询",-1)])]),_:1})])]),o("div",I,[o("div",q,"共 "+f(p.value)+" 条记录",1),N((w(),B(x,{data:h.value,stripe:"",style:{width:"100%"},class:"modern-table"},{default:d(()=>[t(n,{prop:"id",label:"ID",width:"70"}),t(n,{prop:"action",label:"操作",width:"140"}),t(n,{prop:"target_type",label:"对象",width:"100"},{default:d(({row:a})=>[t(z,{size:"small",effect:"plain",round:""},{default:d(()=>[b(f(a.target_type),1)]),_:2},1024)]),_:1}),t(n,{prop:"target_name",label:"对象名称","min-width":"160"}),t(n,{prop:"details",label:"详情","min-width":"240","show-overflow-tooltip":""}),t(n,{prop:"created_at",label:"时间",width:"170"},{default:d(({row:a})=>[b(f(y(a.created_at)),1)]),_:1})]),_:1},8,["data"])),[[S,g.value]]),o("div",E,[t(D,{"current-page":c.value,"onUpdate:currentPage":e[1]||(e[1]=a=>c.value=a),"page-size":u.value,"onUpdate:pageSize":e[2]||(e[2]=a=>u.value=a),"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next",total:p.value,onChange:v},null,8,["current-page","page-size","total"])])])])}}},j=L(F,[["__scopeId","data-v-b1b09e4f"]]);export{j as default}; diff --git a/web/dist/assets/MachineDetail-BRKIzc2h.css b/web/dist/assets/MachineDetail-BRKIzc2h.css deleted file mode 100644 index 32c9183..0000000 --- a/web/dist/assets/MachineDetail-BRKIzc2h.css +++ /dev/null @@ -1 +0,0 @@ -.detail-header[data-v-8622dedd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.header-left[data-v-8622dedd]{display:flex;align-items:center;gap:12px}.host-title[data-v-8622dedd]{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700}.status-badge[data-v-8622dedd]{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600}.status-badge.online[data-v-8622dedd]{background:#22c55e1f;color:#15803d}.status-badge.offline[data-v-8622dedd]{background:#ef44441a;color:#b91c1c}html.dark .status-badge.online[data-v-8622dedd]{background:#34d39926;color:#34d399}html.dark .status-badge.offline[data-v-8622dedd]{background:#f8717126;color:#f87171}.host-subtitle[data-v-8622dedd]{margin-top:4px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.host-subtitle span+span[data-v-8622dedd]:before{content:"·";margin-right:8px;color:var(--text-muted)}.detail-grid[data-v-8622dedd]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-grid>.card[data-v-8622dedd]{margin-bottom:0}@media (max-width: 900px){.detail-grid[data-v-8622dedd]{grid-template-columns:1fr}}.info-list[data-v-8622dedd]{display:flex;flex-direction:column;gap:10px}.info-item[data-v-8622dedd]{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--surface-hover);border-radius:8px;font-size:13px;transition:background .2s ease}.info-label[data-v-8622dedd]{color:var(--text-secondary)}.info-value[data-v-8622dedd]{font-weight:500;color:var(--text)}.text-muted[data-v-8622dedd]{color:var(--text-muted)}.status-pills[data-v-8622dedd]{display:flex;flex-direction:column;gap:10px}.status-pill[data-v-8622dedd]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-hover);border-radius:10px;transition:background .2s ease}.sp-icon[data-v-8622dedd]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0}.sp-icon.cpu[data-v-8622dedd]{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.sp-icon.mem[data-v-8622dedd]{background:linear-gradient(135deg,#22c55e,#4ade80)}.sp-icon.disk[data-v-8622dedd]{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.sp-info[data-v-8622dedd]{flex:1;min-width:0}.sp-title[data-v-8622dedd]{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.sp-bar[data-v-8622dedd]{height:5px;background:var(--border-strong);border-radius:3px;overflow:hidden}.sp-fill[data-v-8622dedd]{height:100%;border-radius:3px;background:#3b82f6;transition:width .3s ease}.sp-num[data-v-8622dedd]{font-size:14px;font-weight:700;color:var(--text);min-width:36px;text-align:right}.status-pill.disk-multi[data-v-8622dedd]{flex-wrap:wrap}.multi-disk-info[data-v-8622dedd]{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;max-height:220px;overflow-y:auto}.detail-disk-item[data-v-8622dedd]{display:flex;align-items:center;gap:10px;font-size:12px}.dd-mount[data-v-8622dedd]{min-width:50px;color:var(--text-secondary);font-weight:500}.dd-bar-wrap[data-v-8622dedd]{flex:1;min-width:80px}.dd-bar[data-v-8622dedd]{height:5px;background:var(--border-strong);border-radius:3px;overflow:hidden}.dd-fill[data-v-8622dedd]{height:100%;border-radius:3px}.dd-val[data-v-8622dedd]{white-space:nowrap;color:var(--text-secondary)}.dd-pct[data-v-8622dedd]{min-width:32px;text-align:right;font-weight:700;color:var(--text)}.uptime-line[data-v-8622dedd]{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding:8px 10px;background:var(--surface-hover);border-radius:8px;transition:background .2s ease}.sync-actions[data-v-8622dedd]{margin-bottom:10px}.ssh-actions[data-v-8622dedd]{margin-bottom:12px}.ssh-result[data-v-8622dedd]{background:var(--surface-hover);border-radius:10px;padding:12px;transition:background .2s ease}.result-grid[data-v-8622dedd]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-item[data-v-8622dedd]{display:flex;flex-direction:column;gap:2px}.result-item.full[data-v-8622dedd]{grid-column:1 / -1}.rl[data-v-8622dedd]{font-size:11px;color:var(--text-muted)}.rv[data-v-8622dedd]{font-size:13px;color:var(--text);font-weight:500}.service-list[data-v-8622dedd],.rel-list[data-v-8622dedd]{display:flex;flex-direction:column;gap:10px}.service-row[data-v-8622dedd]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-hover);border-radius:10px;flex-wrap:wrap;transition:background .2s ease}.service-main[data-v-8622dedd]{display:flex;align-items:center;gap:10px}.service-name[data-v-8622dedd]{font-weight:600;font-size:14px}.service-port[data-v-8622dedd]{font-size:12px;color:var(--text-muted);background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--border)}.service-target[data-v-8622dedd]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--primary)}.target-note[data-v-8622dedd]{color:var(--text-muted)}.service-note[data-v-8622dedd]{font-size:12px;color:var(--text-secondary);flex:1 1 100%}.service-actions[data-v-8622dedd]{display:flex;gap:6px}.rel-row[data-v-8622dedd]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-hover);border-radius:10px;flex-wrap:wrap;transition:background .2s ease}.rel-arrow[data-v-8622dedd]{display:flex;align-items:center;gap:8px;font-size:14px}.rel-host[data-v-8622dedd]{font-weight:600}.rel-meta[data-v-8622dedd]{display:flex;align-items:center;gap:8px;font-size:12px}.rel-port[data-v-8622dedd]{background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text-secondary)}.rel-note[data-v-8622dedd]{color:var(--text-muted)}.rel-actions[data-v-8622dedd]{display:flex;gap:6px}.offline-stats[data-v-8622dedd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}.stat-box[data-v-8622dedd]{background:var(--surface-hover);border-radius:10px;padding:12px;text-align:center}.stat-num[data-v-8622dedd]{font-size:20px;font-weight:700;color:var(--text)}.stat-reason[data-v-8622dedd]{font-size:13px;font-weight:600;color:var(--danger);word-break:break-all}.stat-label[data-v-8622dedd]{font-size:12px;color:var(--text-muted);margin-top:4px}.offline-logs[data-v-8622dedd]{background:var(--surface-hover);border-radius:10px;padding:12px}.log-title[data-v-8622dedd]{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.log-row[data-v-8622dedd]{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.log-row[data-v-8622dedd]:last-child{border-bottom:none}.log-time[data-v-8622dedd]{color:var(--text-muted);min-width:140px}.log-reason[data-v-8622dedd]{flex:1;color:var(--text-secondary)}.log-dur[data-v-8622dedd]{color:var(--text);font-weight:500}.log-dur.pending[data-v-8622dedd]{color:var(--warning)} diff --git a/web/dist/assets/MachineDetail-DmGzwGVM.js b/web/dist/assets/MachineDetail-DmGzwGVM.js new file mode 100644 index 0000000..e5b1c6d --- /dev/null +++ b/web/dist/assets/MachineDetail-DmGzwGVM.js @@ -0,0 +1 @@ +import{k as Ee,I as He,J as Re,K as Ie,W as ze,X as Ne,o as i,c as d,a as s,b as t,w as o,h as f,t as u,p as qe,e as _,n as m,m as $,Y as Be,Z as Le,_ as le,$ as se,S as Y,N as C,O as D,a0 as Oe,M as ve,a1 as Ae,r as y,d as S,G as Ke,u as Fe,L as Ge,Q as We,a2 as je,a3 as Ye,a4 as Je,a5 as Qe,a6 as _e,a7 as me,a8 as J,a9 as Xe,E as M,aa as pe,ab as ce,q as Ze,ac as el,T as ll,ad as sl,ae as tl,af as al,ag as ol,ah as nl,ai as il,aj as ul}from"./index-lpjSKhQ-.js";import{_ as dl}from"./_plugin-vue_export-helper-DlAUqK2U.js";const rl={key:0,class:"page"},vl={class:"detail-header"},_l={class:"header-left"},ml={class:"host-title"},pl={class:"host-subtitle"},cl={key:0},fl={key:1},yl={key:0,class:"header-actions"},Vl={class:"detail-grid"},hl={class:"card"},gl={class:"info-list"},kl={class:"info-item"},bl={class:"info-value"},wl={key:0,class:"info-item"},xl={class:"info-value"},Sl={class:"info-item"},Cl={class:"info-value"},Ml={key:1,class:"info-item"},Ul={class:"info-value"},$l={key:2,class:"info-item"},Dl={class:"info-value text-muted"},Pl={key:0,class:"card"},Tl={class:"status-pills"},El={key:0,class:"status-pill"},Hl={class:"sp-info"},Rl={class:"sp-title"},Il={class:"sp-bar"},zl={class:"sp-num"},Nl={key:1,class:"status-pill"},ql={class:"sp-info"},Bl={class:"sp-title"},Ll={class:"sp-bar"},Ol={class:"sp-num"},Al={key:2,class:"status-pill disk-multi"},Kl={class:"sp-info"},Fl={class:"sp-title"},Gl={class:"sp-bar"},Wl={class:"sp-num"},jl={class:"sp-info multi-disk-info"},Yl={class:"dd-mount"},Jl={class:"dd-bar-wrap"},Ql={class:"dd-bar"},Xl={class:"dd-val"},Zl={class:"dd-pct"},es={key:0,class:"uptime-line"},ls={key:1,class:"card"},ss={key:0,class:"sync-actions"},ts={class:"ssh-actions"},as={key:1,class:"ssh-result"},os={class:"result-grid"},ns={class:"result-item"},is={class:"rv"},us={class:"result-item"},ds={class:"rv"},rs={class:"result-item"},vs={class:"rv"},_s={class:"result-item"},ms={class:"rv"},ps={class:"result-item"},cs={class:"rv"},fs={class:"result-item"},ys={class:"rv"},Vs={class:"result-item full"},hs={class:"rv"},gs={class:"card"},ks={class:"card-title"},bs={key:0,class:"service-list"},ws={class:"service-main"},xs={class:"service-name"},Ss={class:"service-port"},Cs={key:0,class:"service-target"},Ms={key:0,class:"target-note"},Us={key:1,class:"service-note"},$s={key:2,class:"service-actions"},Ds={key:2,class:"card"},Ps={class:"offline-stats"},Ts={class:"stat-box"},Es={class:"stat-num"},Hs={class:"stat-box"},Rs={class:"stat-num"},Is={key:0,class:"stat-box"},zs={class:"stat-reason"},Ns={key:0,class:"offline-logs"},qs={class:"log-time"},Bs={class:"log-reason"},Ls={key:0,class:"log-dur"},Os={key:1,class:"log-dur pending"},As={key:3,class:"card"},Ks={class:"card-title"},Fs={key:0,class:"rel-list"},Gs={class:"rel-arrow"},Ws={class:"rel-host"},js={class:"rel-host"},Ys={class:"rel-meta"},Js={key:0,class:"rel-port"},Qs={key:1,class:"rel-note"},Xs={class:"rel-actions"},Zs={__name:"MachineDetail",setup(et){const fe=Ae(),ye=Fe(),h=Ke().is_admin,g=fe.params.id,n=y(null),Q=y([]),X=y([]),R=y(!1),I=y([]),Z=y([]),te=y([]),q=y(!1),p=y({}),B=y(!1),P=y({username:"",password:""}),w=y(null),z=y(!1),L=y(!1),k=y({}),O=y(!1),b=y({}),Ve=Ze(()=>{const a={};return I.value.forEach(e=>a[e.id]=e.hostname),a});let ee=null;Ee(async()=>{if(await T(),await K(),h){await F();const e=await Ge();I.value=e.data;try{const r=await We();te.value=r.data}catch{}}await He();const a=Re||1e4;a>0&&(ee=setInterval(async()=>{await T(),await K(),h&&await F()},a))}),Ie(()=>{ee&&clearInterval(ee)});async function T(){const a=await ze(g);if(n.value=a.data.machine,h){const e=await je(g);Z.value=e.data}n.value&&(n.value.cpu_info||n.value.memory_info||n.value.disk_info||n.value.uptime)?w.value={hostname:n.value.hostname,os_version:n.value.os_version,cpu:n.value.cpu_info,memory:n.value.memory_info,disk:n.value.disk_info,uptime:n.value.uptime,listen_ports:n.value.listen_ports?n.value.listen_ports.split(",").map(e=>e.trim()).filter(Boolean):[]}:w.value=null}async function K(){const a=await Ne(g);Q.value=a.data}async function F(){const a=await Ye(),e={};I.value.forEach(r=>e[r.id]=r.hostname),X.value=a.data.filter(r=>r.source_machine_id==g||r.target_machine_id==g).map(r=>({...r,source_hostname:e[r.source_machine_id]||r.source_machine_id,target_hostname:e[r.target_machine_id]||r.target_machine_id}))}function he(a){p.value={...a,ssh_port:a.ssh_port||22,ssh_username:a.ssh_username||"",ssh_password:"",pve_host_id:a.pve_host_id||null,pve_vmid:a.pve_vmid||""},q.value=!0}async function ge(){if(n.value.ssh_username){z.value=!0;try{const a=await pe(g,{username:n.value.ssh_username,password:""});w.value=a.data;const e={...w.value};delete e.hostname,await ce(g,e),M.success("获取并同步成功"),await T(),z.value=!1;return}catch{z.value=!1}}P.value={username:n.value.ssh_username||"",password:""},B.value=!0}async function ke(){await ll(p.value.id,p.value),M.success("保存成功"),q.value=!1,T()}async function be(){R.value=!0;try{await nl(g),M.success("虚拟机已启动"),T()}catch{}R.value=!1}async function we(){try{await J.confirm("确定要关闭虚拟机吗?","确认关闭",{type:"warning"}),R.value=!0,await il(g),M.success("虚拟机已关闭"),T()}catch{}R.value=!1}async function xe(){try{await J.confirm("确定删除该机器?","提示",{type:"warning"}),await Xe(g),M.success("删除成功"),ye.back()}catch{}}async function Se(){z.value=!0;try{const a=await pe(g,P.value);w.value=a.data,B.value=!1;const e={...w.value};delete e.hostname,await ce(g,e),M.success("获取并同步成功"),await T()}catch{}z.value=!1}function ae(a){k.value=a?{...a,target_machine_id:a.target_machine_id||null,target_notes:a.target_notes||""}:{name:"",port:80,protocol:"TCP",notes:"",target_machine_id:null,target_notes:""},L.value=!0}async function Ce(){const a={...k.value};a.id?await sl(a.id,a):await tl(g,a),M.success("保存成功"),L.value=!1,K()}async function Me(a){try{await J.confirm("确定删除该服务?","提示",{type:"warning"}),await ul(a.id),M.success("删除成功"),K()}catch{}}function oe(a){b.value=a?{...a}:{source_machine_id:Number(g),target_machine_id:null,relation_type:"dependency",source_port:null,target_port:null,notes:""},O.value=!0}async function Ue(){const a={...b.value};a.id?await al(a.id,a):await ol(a),M.success("保存成功"),O.value=!1,F()}async function $e(a){try{await J.confirm("确定删除该关系?","提示",{type:"warning"}),await el(a.id),M.success("删除成功"),F()}catch{}}function De(a){return{port_forward:"端口转发",dependency:"依赖",primary_secondary:"主从",custom:"自定义"}[a]||a}function U(a){if(!a)return 0;const e=a.match(/\((\d+)%\)/)||a.match(/(\d+(?:\.\d+)?)%/);if(e){const r=parseFloat(e[1]);return isNaN(r)?0:Math.min(100,Math.max(0,Math.round(r)))}return 0}function Pe(a){return a>=90?"#f87171":a>=70?"#fbbf24":"#34d399"}function ne(a){return a>=90?"#f87171":a>=80?"#fbbf24":"#60a5fa"}function ie(a){if(!a)return[];const e=[],r=/(\S+)\s+([\d\.]+[KMGT]?\/[\d\.]+[KMGT]?)\s+\((\d+)%\)/g;let v;for(;(v=r.exec(a))!==null;)e.push({mount:v[1],detail:v[2],percent:parseInt(v[3],10)});if(e.length>0)return e;const N=U(a),E=extractDetail(a);return E?[{mount:"",detail:E,percent:N}]:[]}function ue(a){if(!a)return"-";const e=new Date(a);if(isNaN(e.getTime()))return a;const r=v=>String(v).padStart(2,"0");return`${e.getFullYear()}-${r(e.getMonth()+1)}-${r(e.getDate())} ${r(e.getHours())}:${r(e.getMinutes())}:${r(e.getSeconds())}`}function de(a){if(!a&&a!==0)return"-";const e=Number(a);if(e<60)return`${e}秒`;if(e<3600)return`${Math.floor(e/60)}分${e%60}秒`;const r=Math.floor(e/3600),v=Math.floor(e%3600/60);if(r<24)return`${r}时${v}分`;const N=Math.floor(r/24),E=r%24;return`${N}天${E}时${v}分`}return(a,e)=>{var re;const r=S("el-icon"),v=S("el-button"),N=S("el-tag"),E=S("el-empty"),x=S("el-input"),c=S("el-form-item"),G=S("el-form"),W=S("el-dialog"),j=S("el-input-number"),V=S("el-option"),H=S("el-select"),Te=S("el-divider");return n.value?(i(),d("div",rl,[s("div",vl,[s("div",_l,[t(v,{text:"",circle:"",onClick:e[0]||(e[0]=l=>a.$router.back())},{default:o(()=>[t(r,null,{default:o(()=>[t(_(Je))]),_:1})]),_:1}),s("div",null,[s("div",ml,[f(u(n.value.hostname)+" ",1),s("span",{class:qe(["status-badge",n.value.is_online?"online":"offline"])},u(n.value.is_online?"在线":"离线"),3)]),s("div",pl,[_(h)?(i(),d("span",cl,u(n.value.ip),1)):m("",!0),s("span",null,u(n.value.os_type),1),n.value.os_version?(i(),d("span",fl,u(n.value.os_version),1)):m("",!0)])])]),_(h)?(i(),d("div",yl,[n.value.pve_host_id&&n.value.pve_vmid?(i(),$(v,{key:0,type:"success",icon:_(Be),loading:R.value,onClick:be},{default:o(()=>[...e[37]||(e[37]=[f("启动",-1)])]),_:1},8,["icon","loading"])):m("",!0),n.value.pve_host_id&&n.value.pve_vmid?(i(),$(v,{key:1,type:"warning",icon:_(Le),loading:R.value,onClick:we},{default:o(()=>[...e[38]||(e[38]=[f("关闭",-1)])]),_:1},8,["icon","loading"])):m("",!0),t(v,{text:"",icon:_(le),onClick:e[1]||(e[1]=l=>he(n.value))},{default:o(()=>[...e[39]||(e[39]=[f("编辑",-1)])]),_:1},8,["icon"]),t(v,{text:"",type:"danger",icon:_(se),onClick:xe},{default:o(()=>[...e[40]||(e[40]=[f("删除",-1)])]),_:1},8,["icon"])])):m("",!0)]),s("div",Vl,[s("div",hl,[e[46]||(e[46]=s("div",{class:"card-title"},"基本信息",-1)),s("div",gl,[s("div",kl,[e[41]||(e[41]=s("span",{class:"info-label"},"IP",-1)),s("span",bl,u(n.value.ip),1)]),_(h)?(i(),d("div",wl,[e[42]||(e[42]=s("span",{class:"info-label"},"MAC",-1)),s("span",xl,u(n.value.mac||"-"),1)])):m("",!0),s("div",Sl,[e[43]||(e[43]=s("span",{class:"info-label"},"系统",-1)),s("span",Cl,u(n.value.os_type)+" "+u(n.value.os_version||""),1)]),_(h)?(i(),d("div",Ml,[e[44]||(e[44]=s("span",{class:"info-label"},"SSH 端口",-1)),s("span",Ul,u(n.value.ssh_port||22),1)])):m("",!0),_(h)?(i(),d("div",$l,[e[45]||(e[45]=s("span",{class:"info-label"},"备注",-1)),s("span",Dl,u(n.value.notes||"-"),1)])):m("",!0)])]),n.value.cpu_info||n.value.memory_info||n.value.disk_info?(i(),d("div",Pl,[e[51]||(e[51]=s("div",{class:"card-title"},"系统状态",-1)),s("div",Tl,[n.value.cpu_info?(i(),d("div",El,[e[47]||(e[47]=s("div",{class:"sp-icon cpu"},"CPU",-1)),s("div",Hl,[s("div",Rl,u(n.value.cpu_info),1),s("div",Il,[s("div",{class:"sp-fill",style:Y({width:U(n.value.cpu_info)+"%"})},null,4)])]),s("div",zl,u(U(n.value.cpu_info))+"%",1)])):m("",!0),n.value.memory_info?(i(),d("div",Nl,[e[48]||(e[48]=s("div",{class:"sp-icon mem"},"MEM",-1)),s("div",ql,[s("div",Bl,u(n.value.memory_info),1),s("div",Ll,[s("div",{class:"sp-fill",style:Y({width:U(n.value.memory_info)+"%",background:Pe(U(n.value.memory_info))})},null,4)])]),s("div",Ol,u(U(n.value.memory_info))+"%",1)])):m("",!0),n.value.disk_info?(i(),d("div",Al,[ie(n.value.disk_info).length<=1?(i(),d(C,{key:0},[e[49]||(e[49]=s("div",{class:"sp-icon disk"},"DISK",-1)),s("div",Kl,[s("div",Fl,u(n.value.disk_info),1),s("div",Gl,[s("div",{class:"sp-fill",style:Y({width:U(n.value.disk_info)+"%",background:ne(U(n.value.disk_info))})},null,4)])]),s("div",Wl,u(U(n.value.disk_info))+"%",1)],64)):(i(),d(C,{key:1},[e[50]||(e[50]=s("div",{class:"sp-icon disk"},"DISK",-1)),s("div",jl,[(i(!0),d(C,null,D(ie(n.value.disk_info),(l,A)=>(i(),d("div",{key:A,class:"detail-disk-item"},[s("span",Yl,u(l.mount),1),s("div",Jl,[s("div",Ql,[s("div",{class:"dd-fill",style:Y({width:l.percent+"%",background:ne(l.percent)})},null,4)])]),s("span",Xl,u(l.detail),1),s("span",Zl,u(l.percent)+"%",1)]))),128))])],64))])):m("",!0)]),n.value.uptime?(i(),d("div",es,[t(r,null,{default:o(()=>[t(_(Qe))]),_:1}),s("span",null,"运行时间 "+u(n.value.uptime),1)])):m("",!0)])):m("",!0),_(h)?(i(),d("div",ls,[e[60]||(e[60]=s("div",{class:"card-title"},"SSH 系统信息",-1)),n.value.cpu_info||n.value.memory_info||n.value.disk_info||n.value.uptime?(i(),d("div",ss,[t(N,{size:"small",effect:"plain",round:""},{default:o(()=>[f("上次同步 "+u(ue(n.value.ssh_synced_at)),1)]),_:1})])):m("",!0),s("div",ts,[t(v,{type:"primary",icon:_(Oe),onClick:ge},{default:o(()=>[...e[52]||(e[52]=[f("获取系统信息",-1)])]),_:1},8,["icon"])]),w.value?(i(),d("div",as,[s("div",os,[s("div",ns,[e[53]||(e[53]=s("span",{class:"rl"},"主机名",-1)),s("span",is,u(w.value.hostname),1)]),s("div",us,[e[54]||(e[54]=s("span",{class:"rl"},"系统版本",-1)),s("span",ds,u(w.value.os_version),1)]),s("div",rs,[e[55]||(e[55]=s("span",{class:"rl"},"CPU",-1)),s("span",vs,u(w.value.cpu),1)]),s("div",_s,[e[56]||(e[56]=s("span",{class:"rl"},"内存",-1)),s("span",ms,u(w.value.memory),1)]),s("div",ps,[e[57]||(e[57]=s("span",{class:"rl"},"磁盘",-1)),s("span",cs,u(w.value.disk),1)]),s("div",fs,[e[58]||(e[58]=s("span",{class:"rl"},"运行时间",-1)),s("span",ys,u(w.value.uptime),1)]),s("div",Vs,[e[59]||(e[59]=s("span",{class:"rl"},"监听端口",-1)),s("span",hs,u((re=w.value.listen_ports)==null?void 0:re.join(", ")),1)])])])):m("",!0)])):m("",!0),s("div",gs,[s("div",ks,[e[62]||(e[62]=f(" 服务列表 ",-1)),_(h)?(i(),$(v,{key:0,size:"small",type:"primary",icon:_(ve),onClick:e[2]||(e[2]=l=>ae())},{default:o(()=>[...e[61]||(e[61]=[f("添加服务",-1)])]),_:1},8,["icon"])):m("",!0)]),Q.value.length?(i(),d("div",bs,[(i(!0),d(C,null,D(Q.value,l=>(i(),d("div",{key:l.id,class:"service-row"},[s("div",ws,[s("div",xs,u(l.name),1),s("div",Ss,u(l.port)+" / "+u(l.protocol),1)]),_(h)&&l.target_machine_id?(i(),d("div",Cs,[t(r,null,{default:o(()=>[t(_(_e))]),_:1}),s("span",null,u(Ve.value[l.target_machine_id]||l.target_machine_id),1),l.target_notes?(i(),d("span",Ms,u(l.target_notes),1)):m("",!0)])):m("",!0),_(h)&&l.notes?(i(),d("div",Us,u(l.notes),1)):m("",!0),_(h)?(i(),d("div",$s,[t(v,{text:"",size:"small",icon:_(le),onClick:me(A=>ae(l),["stop"])},{default:o(()=>[...e[63]||(e[63]=[f("编辑",-1)])]),_:1},8,["icon","onClick"]),t(v,{text:"",size:"small",type:"danger",icon:_(se),onClick:me(A=>Me(l),["stop"])},{default:o(()=>[...e[64]||(e[64]=[f("删除",-1)])]),_:1},8,["icon","onClick"])])):m("",!0)]))),128))])):(i(),$(E,{key:1,description:"暂无服务","image-size":80}))]),_(h)?(i(),d("div",Ds,[e[69]||(e[69]=s("div",{class:"card-title"},"离线统计",-1)),s("div",Ps,[s("div",Ts,[s("div",Es,u(n.value.offline_count||0),1),e[65]||(e[65]=s("div",{class:"stat-label"},"离线次数",-1))]),s("div",Hs,[s("div",Rs,u(de(n.value.total_offline_seconds)),1),e[66]||(e[66]=s("div",{class:"stat-label"},"累计离线时长",-1))]),n.value.last_offline_reason?(i(),d("div",Is,[s("div",zs,u(n.value.last_offline_reason),1),e[67]||(e[67]=s("div",{class:"stat-label"},"上次离线原因",-1))])):m("",!0)]),Z.value.length?(i(),d("div",Ns,[e[68]||(e[68]=s("div",{class:"log-title"},"最近离线记录",-1)),(i(!0),d(C,null,D(Z.value.slice(0,5),l=>(i(),d("div",{key:l.id,class:"log-row"},[s("span",qs,u(ue(l.started_at)),1),s("span",Bs,u(l.reason||"未知原因"),1),l.duration_seconds!==null&&l.duration_seconds!==void 0?(i(),d("span",Ls,"持续 "+u(de(l.duration_seconds)),1)):(i(),d("span",Os,"未恢复"))]))),128))])):m("",!0)])):m("",!0),_(h)?(i(),d("div",As,[s("div",Ks,[e[71]||(e[71]=f(" 关联关系 ",-1)),t(v,{size:"small",type:"primary",icon:_(ve),onClick:e[3]||(e[3]=l=>oe())},{default:o(()=>[...e[70]||(e[70]=[f("添加关系",-1)])]),_:1},8,["icon"])]),X.value.length?(i(),d("div",Fs,[(i(!0),d(C,null,D(X.value,l=>(i(),d("div",{key:l.id,class:"rel-row"},[s("div",Gs,[s("span",Ws,u(l.source_hostname),1),t(r,null,{default:o(()=>[t(_(_e))]),_:1}),s("span",js,u(l.target_hostname),1)]),s("div",Ys,[t(N,{size:"small",effect:"plain",round:""},{default:o(()=>[f(u(De(l.relation_type)),1)]),_:2},1024),l.source_port?(i(),d("span",Js,u(l.source_port)+" → "+u(l.target_port||"-"),1)):m("",!0),l.notes?(i(),d("span",Qs,u(l.notes),1)):m("",!0)]),s("div",Xs,[t(v,{text:"",size:"small",icon:_(le),onClick:A=>oe(l)},{default:o(()=>[...e[72]||(e[72]=[f("编辑",-1)])]),_:1},8,["icon","onClick"]),t(v,{text:"",size:"small",type:"danger",icon:_(se),onClick:A=>$e(l)},{default:o(()=>[...e[73]||(e[73]=[f("删除",-1)])]),_:1},8,["icon","onClick"])])]))),128))])):(i(),$(E,{key:1,description:"暂无关系","image-size":80}))])):m("",!0)]),t(W,{modelValue:B.value,"onUpdate:modelValue":e[7]||(e[7]=l=>B.value=l),title:"SSH 获取系统信息",width:"360px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[6]||(e[6]=l=>B.value=!1)},{default:o(()=>[...e[74]||(e[74]=[f("取消",-1)])]),_:1}),t(v,{type:"primary",loading:z.value,onClick:Se},{default:o(()=>[...e[75]||(e[75]=[f("连接",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(G,{model:P.value,"label-width":"80px"},{default:o(()=>[t(c,{label:"用户名"},{default:o(()=>[t(x,{modelValue:P.value.username,"onUpdate:modelValue":e[4]||(e[4]=l=>P.value.username=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"密码"},{default:o(()=>[t(x,{modelValue:P.value.password,"onUpdate:modelValue":e[5]||(e[5]=l=>P.value.password=l),type:"password","show-password":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(W,{modelValue:q.value,"onUpdate:modelValue":e[20]||(e[20]=l=>q.value=l),title:"编辑机器",width:"480px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[19]||(e[19]=l=>q.value=!1)},{default:o(()=>[...e[77]||(e[77]=[f("取消",-1)])]),_:1}),t(v,{type:"primary",onClick:ke},{default:o(()=>[...e[78]||(e[78]=[f("保存",-1)])]),_:1})]),default:o(()=>[t(G,{model:p.value,"label-width":"90px"},{default:o(()=>[t(c,{label:"主机名",required:""},{default:o(()=>[t(x,{modelValue:p.value.hostname,"onUpdate:modelValue":e[8]||(e[8]=l=>p.value.hostname=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"IP",required:""},{default:o(()=>[t(x,{modelValue:p.value.ip,"onUpdate:modelValue":e[9]||(e[9]=l=>p.value.ip=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"MAC"},{default:o(()=>[t(x,{modelValue:p.value.mac,"onUpdate:modelValue":e[10]||(e[10]=l=>p.value.mac=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"SSH端口"},{default:o(()=>[t(j,{modelValue:p.value.ssh_port,"onUpdate:modelValue":e[11]||(e[11]=l=>p.value.ssh_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"SSH用户"},{default:o(()=>[t(x,{modelValue:p.value.ssh_username,"onUpdate:modelValue":e[12]||(e[12]=l=>p.value.ssh_username=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"SSH密码"},{default:o(()=>[t(x,{modelValue:p.value.ssh_password,"onUpdate:modelValue":e[13]||(e[13]=l=>p.value.ssh_password=l),type:"password","show-password":"",placeholder:"输入则更新密码,留空保持不变"},null,8,["modelValue"])]),_:1}),t(c,{label:"系统",required:""},{default:o(()=>[t(H,{modelValue:p.value.os_type,"onUpdate:modelValue":e[14]||(e[14]=l=>p.value.os_type=l),style:{width:"100%"}},{default:o(()=>[t(V,{label:"Linux",value:"Linux"}),t(V,{label:"Windows",value:"Windows"}),t(V,{label:"macOS",value:"macOS"}),t(V,{label:"Other",value:"Other"})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"系统版本"},{default:o(()=>[t(x,{modelValue:p.value.os_version,"onUpdate:modelValue":e[15]||(e[15]=l=>p.value.os_version=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"备注"},{default:o(()=>[t(x,{modelValue:p.value.notes,"onUpdate:modelValue":e[16]||(e[16]=l=>p.value.notes=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1}),t(Te,{"content-position":"left"},{default:o(()=>[...e[76]||(e[76]=[f("PVE 配置(可选)",-1)])]),_:1}),t(c,{label:"PVE 主机"},{default:o(()=>[t(H,{modelValue:p.value.pve_host_id,"onUpdate:modelValue":e[17]||(e[17]=l=>p.value.pve_host_id=l),placeholder:"选择 PVE 主机",clearable:"",style:{width:"100%"}},{default:o(()=>[(i(!0),d(C,null,D(te.value,l=>(i(),$(V,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"虚拟机 ID"},{default:o(()=>[t(x,{modelValue:p.value.pve_vmid,"onUpdate:modelValue":e[18]||(e[18]=l=>p.value.pve_vmid=l),placeholder:"如 101"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(W,{modelValue:L.value,"onUpdate:modelValue":e[28]||(e[28]=l=>L.value=l),title:"编辑服务",width:"440px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[27]||(e[27]=l=>L.value=!1)},{default:o(()=>[...e[79]||(e[79]=[f("取消",-1)])]),_:1}),t(v,{type:"primary",onClick:Ce},{default:o(()=>[...e[80]||(e[80]=[f("保存",-1)])]),_:1})]),default:o(()=>[t(G,{model:k.value,"label-width":"90px"},{default:o(()=>[t(c,{label:"名称",required:""},{default:o(()=>[t(x,{modelValue:k.value.name,"onUpdate:modelValue":e[21]||(e[21]=l=>k.value.name=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"端口",required:""},{default:o(()=>[t(j,{modelValue:k.value.port,"onUpdate:modelValue":e[22]||(e[22]=l=>k.value.port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"协议"},{default:o(()=>[t(H,{modelValue:k.value.protocol,"onUpdate:modelValue":e[23]||(e[23]=l=>k.value.protocol=l),style:{width:"100%"}},{default:o(()=>[t(V,{label:"TCP",value:"TCP"}),t(V,{label:"UDP",value:"UDP"}),t(V,{label:"HTTP",value:"HTTP"}),t(V,{label:"HTTPS",value:"HTTPS"})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"指向机器"},{default:o(()=>[t(H,{modelValue:k.value.target_machine_id,"onUpdate:modelValue":e[24]||(e[24]=l=>k.value.target_machine_id=l),clearable:"",style:{width:"100%"},placeholder:"选择目标机器(拓扑连线用)"},{default:o(()=>[(i(!0),d(C,null,D(I.value.filter(l=>l.id!=_(g)),l=>(i(),$(V,{key:l.id,label:l.hostname,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"指向备注"},{default:o(()=>[t(x,{modelValue:k.value.target_notes,"onUpdate:modelValue":e[25]||(e[25]=l=>k.value.target_notes=l),placeholder:"如:反向代理到目标"},null,8,["modelValue"])]),_:1}),t(c,{label:"备注"},{default:o(()=>[t(x,{modelValue:k.value.notes,"onUpdate:modelValue":e[26]||(e[26]=l=>k.value.notes=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(W,{modelValue:O.value,"onUpdate:modelValue":e[36]||(e[36]=l=>O.value=l),title:"编辑关系",width:"440px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[35]||(e[35]=l=>O.value=!1)},{default:o(()=>[...e[81]||(e[81]=[f("取消",-1)])]),_:1}),t(v,{type:"primary",onClick:Ue},{default:o(()=>[...e[82]||(e[82]=[f("保存",-1)])]),_:1})]),default:o(()=>[t(G,{model:b.value,"label-width":"100px"},{default:o(()=>[t(c,{label:"源机器",required:""},{default:o(()=>[t(H,{modelValue:b.value.source_machine_id,"onUpdate:modelValue":e[29]||(e[29]=l=>b.value.source_machine_id=l),style:{width:"100%"}},{default:o(()=>[(i(!0),d(C,null,D(I.value,l=>(i(),$(V,{key:l.id,label:l.hostname,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"目标机器",required:""},{default:o(()=>[t(H,{modelValue:b.value.target_machine_id,"onUpdate:modelValue":e[30]||(e[30]=l=>b.value.target_machine_id=l),style:{width:"100%"}},{default:o(()=>[(i(!0),d(C,null,D(I.value,l=>(i(),$(V,{key:l.id,label:l.hostname,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"关系类型",required:""},{default:o(()=>[t(H,{modelValue:b.value.relation_type,"onUpdate:modelValue":e[31]||(e[31]=l=>b.value.relation_type=l),style:{width:"100%"}},{default:o(()=>[t(V,{label:"端口转发",value:"port_forward"}),t(V,{label:"依赖",value:"dependency"}),t(V,{label:"主从",value:"primary_secondary"}),t(V,{label:"自定义",value:"custom"})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"源端口"},{default:o(()=>[t(j,{modelValue:b.value.source_port,"onUpdate:modelValue":e[32]||(e[32]=l=>b.value.source_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"目标端口"},{default:o(()=>[t(j,{modelValue:b.value.target_port,"onUpdate:modelValue":e[33]||(e[33]=l=>b.value.target_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"备注"},{default:o(()=>[t(x,{modelValue:b.value.notes,"onUpdate:modelValue":e[34]||(e[34]=l=>b.value.notes=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])):m("",!0)}}},tt=dl(Zs,[["__scopeId","data-v-27345e7c"]]);export{tt as default}; diff --git a/web/dist/assets/MachineDetail-GXU483Vz.css b/web/dist/assets/MachineDetail-GXU483Vz.css new file mode 100644 index 0000000..42b5a70 --- /dev/null +++ b/web/dist/assets/MachineDetail-GXU483Vz.css @@ -0,0 +1 @@ +.detail-header[data-v-27345e7c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.header-left[data-v-27345e7c]{display:flex;align-items:center;gap:12px}.host-title[data-v-27345e7c]{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700}.status-badge[data-v-27345e7c]{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600}.status-badge.online[data-v-27345e7c]{background:#22c55e1f;color:#15803d}.status-badge.offline[data-v-27345e7c]{background:#ef44441a;color:#b91c1c}html.dark .status-badge.online[data-v-27345e7c]{background:#34d39926;color:#34d399}html.dark .status-badge.offline[data-v-27345e7c]{background:#f8717126;color:#f87171}.host-subtitle[data-v-27345e7c]{margin-top:4px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.host-subtitle span+span[data-v-27345e7c]:before{content:"·";margin-right:8px;color:var(--text-muted)}.detail-grid[data-v-27345e7c]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-grid>.card[data-v-27345e7c]{margin-bottom:0}@media (max-width: 900px){.detail-grid[data-v-27345e7c]{grid-template-columns:1fr}}.info-list[data-v-27345e7c]{display:flex;flex-direction:column;gap:10px}.info-item[data-v-27345e7c]{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--surface-hover);border-radius:8px;font-size:13px;transition:background .2s ease}.info-label[data-v-27345e7c]{color:var(--text-secondary)}.info-value[data-v-27345e7c]{font-weight:500;color:var(--text)}.text-muted[data-v-27345e7c]{color:var(--text-muted)}.status-pills[data-v-27345e7c]{display:flex;flex-direction:column;gap:10px}.status-pill[data-v-27345e7c]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-hover);border-radius:10px;transition:background .2s ease}.sp-icon[data-v-27345e7c]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;flex-shrink:0}.sp-icon.cpu[data-v-27345e7c]{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.sp-icon.mem[data-v-27345e7c]{background:linear-gradient(135deg,#22c55e,#4ade80)}.sp-icon.disk[data-v-27345e7c]{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.sp-info[data-v-27345e7c]{flex:1;min-width:0}.sp-title[data-v-27345e7c]{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.sp-bar[data-v-27345e7c]{height:5px;background:var(--border-strong);border-radius:3px;overflow:hidden}.sp-fill[data-v-27345e7c]{height:100%;border-radius:3px;background:#3b82f6;transition:width .3s ease}.sp-num[data-v-27345e7c]{font-size:14px;font-weight:700;color:var(--text);min-width:36px;text-align:right}.status-pill.disk-multi[data-v-27345e7c]{flex-wrap:wrap}.multi-disk-info[data-v-27345e7c]{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;max-height:220px;overflow-y:auto}.detail-disk-item[data-v-27345e7c]{display:flex;align-items:center;gap:10px;font-size:12px}.dd-mount[data-v-27345e7c]{min-width:50px;color:var(--text-secondary);font-weight:500}.dd-bar-wrap[data-v-27345e7c]{flex:1;min-width:80px}.dd-bar[data-v-27345e7c]{height:5px;background:var(--border-strong);border-radius:3px;overflow:hidden}.dd-fill[data-v-27345e7c]{height:100%;border-radius:3px}.dd-val[data-v-27345e7c]{white-space:nowrap;color:var(--text-secondary)}.dd-pct[data-v-27345e7c]{min-width:32px;text-align:right;font-weight:700;color:var(--text)}.uptime-line[data-v-27345e7c]{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);padding:8px 10px;background:var(--surface-hover);border-radius:8px;transition:background .2s ease}.sync-actions[data-v-27345e7c]{margin-bottom:10px}.ssh-actions[data-v-27345e7c]{margin-bottom:12px}.ssh-result[data-v-27345e7c]{background:var(--surface-hover);border-radius:10px;padding:12px;transition:background .2s ease}.result-grid[data-v-27345e7c]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-item[data-v-27345e7c]{display:flex;flex-direction:column;gap:2px}.result-item.full[data-v-27345e7c]{grid-column:1 / -1}.rl[data-v-27345e7c]{font-size:11px;color:var(--text-muted)}.rv[data-v-27345e7c]{font-size:13px;color:var(--text);font-weight:500}.service-list[data-v-27345e7c],.rel-list[data-v-27345e7c]{display:flex;flex-direction:column;gap:10px}.service-row[data-v-27345e7c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-hover);border-radius:10px;flex-wrap:wrap;transition:background .2s ease}.service-main[data-v-27345e7c]{display:flex;align-items:center;gap:10px}.service-name[data-v-27345e7c]{font-weight:600;font-size:14px}.service-port[data-v-27345e7c]{font-size:12px;color:var(--text-muted);background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--border)}.service-target[data-v-27345e7c]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--primary)}.target-note[data-v-27345e7c]{color:var(--text-muted)}.service-note[data-v-27345e7c]{font-size:12px;color:var(--text-secondary);flex:1 1 100%}.service-actions[data-v-27345e7c]{display:flex;gap:6px}.rel-row[data-v-27345e7c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-hover);border-radius:10px;flex-wrap:wrap;transition:background .2s ease}.rel-arrow[data-v-27345e7c]{display:flex;align-items:center;gap:8px;font-size:14px}.rel-host[data-v-27345e7c]{font-weight:600}.rel-meta[data-v-27345e7c]{display:flex;align-items:center;gap:8px;font-size:12px}.rel-port[data-v-27345e7c]{background:var(--surface);padding:1px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text-secondary)}.rel-note[data-v-27345e7c]{color:var(--text-muted)}.rel-actions[data-v-27345e7c]{display:flex;gap:6px}.offline-stats[data-v-27345e7c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}.stat-box[data-v-27345e7c]{background:var(--surface-hover);border-radius:10px;padding:12px;text-align:center}.stat-num[data-v-27345e7c]{font-size:20px;font-weight:700;color:var(--text)}.stat-reason[data-v-27345e7c]{font-size:13px;font-weight:600;color:var(--danger);word-break:break-all}.stat-label[data-v-27345e7c]{font-size:12px;color:var(--text-muted);margin-top:4px}.offline-logs[data-v-27345e7c]{background:var(--surface-hover);border-radius:10px;padding:12px}.log-title[data-v-27345e7c]{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.log-row[data-v-27345e7c]{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}.log-row[data-v-27345e7c]:last-child{border-bottom:none}.log-time[data-v-27345e7c]{color:var(--text-muted);min-width:140px}.log-reason[data-v-27345e7c]{flex:1;color:var(--text-secondary)}.log-dur[data-v-27345e7c]{color:var(--text);font-weight:500}.log-dur.pending[data-v-27345e7c]{color:var(--warning)} diff --git a/web/dist/assets/MachineDetail-PZRasqha.js b/web/dist/assets/MachineDetail-PZRasqha.js deleted file mode 100644 index 12c2a25..0000000 --- a/web/dist/assets/MachineDetail-PZRasqha.js +++ /dev/null @@ -1 +0,0 @@ -import{k as Te,I as He,J as Pe,K as Re,W as ze,X as Ee,o as i,c as d,a as s,b as t,w as o,h as p,t as u,p as Ie,e as m,n as _,m as $,Y as Ne,Z as qe,_ as le,$ as se,S as Y,N as U,O as P,a0 as Be,M as re,a1 as Le,r as y,d as S,G as Oe,u as Ae,L as Ke,a2 as Fe,a3 as Ge,a4 as We,a5 as je,a6 as ve,a7 as me,a8 as J,a9 as Ye,E as C,aa as _e,ab as pe,q as Je,ac as Xe,T as Ze,ad as Qe,ae as el,af as ll,ag as sl,ah as tl,ai as al,aj as ol}from"./index-BFjouPFU.js";import{_ as nl}from"./_plugin-vue_export-helper-DlAUqK2U.js";const il={key:0,class:"page"},ul={class:"detail-header"},dl={class:"header-left"},rl={class:"host-title"},vl={class:"host-subtitle"},ml={key:0},_l={key:1},pl={key:0,class:"header-actions"},cl={class:"detail-grid"},fl={class:"card"},yl={class:"info-list"},hl={class:"info-item"},gl={class:"info-value"},kl={key:0,class:"info-item"},Vl={class:"info-value"},wl={class:"info-item"},bl={class:"info-value"},xl={key:1,class:"info-item"},Sl={class:"info-value"},Cl={key:2,class:"info-item"},Ml={class:"info-value text-muted"},Ul={key:0,class:"card"},$l={class:"status-pills"},Dl={key:0,class:"status-pill"},Tl={class:"sp-info"},Hl={class:"sp-title"},Pl={class:"sp-bar"},Rl={class:"sp-num"},zl={key:1,class:"status-pill"},El={class:"sp-info"},Il={class:"sp-title"},Nl={class:"sp-bar"},ql={class:"sp-num"},Bl={key:2,class:"status-pill disk-multi"},Ll={class:"sp-info"},Ol={class:"sp-title"},Al={class:"sp-bar"},Kl={class:"sp-num"},Fl={class:"sp-info multi-disk-info"},Gl={class:"dd-mount"},Wl={class:"dd-bar-wrap"},jl={class:"dd-bar"},Yl={class:"dd-val"},Jl={class:"dd-pct"},Xl={key:0,class:"uptime-line"},Zl={key:1,class:"card"},Ql={key:0,class:"sync-actions"},es={class:"ssh-actions"},ls={key:1,class:"ssh-result"},ss={class:"result-grid"},ts={class:"result-item"},as={class:"rv"},os={class:"result-item"},ns={class:"rv"},is={class:"result-item"},us={class:"rv"},ds={class:"result-item"},rs={class:"rv"},vs={class:"result-item"},ms={class:"rv"},_s={class:"result-item"},ps={class:"rv"},cs={class:"result-item full"},fs={class:"rv"},ys={class:"card"},hs={class:"card-title"},gs={key:0,class:"service-list"},ks={class:"service-main"},Vs={class:"service-name"},ws={class:"service-port"},bs={key:0,class:"service-target"},xs={key:0,class:"target-note"},Ss={key:1,class:"service-note"},Cs={key:2,class:"service-actions"},Ms={key:2,class:"card"},Us={class:"offline-stats"},$s={class:"stat-box"},Ds={class:"stat-num"},Ts={class:"stat-box"},Hs={class:"stat-num"},Ps={key:0,class:"stat-box"},Rs={class:"stat-reason"},zs={key:0,class:"offline-logs"},Es={class:"log-time"},Is={class:"log-reason"},Ns={key:0,class:"log-dur"},qs={key:1,class:"log-dur pending"},Bs={key:3,class:"card"},Ls={class:"card-title"},Os={key:0,class:"rel-list"},As={class:"rel-arrow"},Ks={class:"rel-host"},Fs={class:"rel-host"},Gs={class:"rel-meta"},Ws={key:0,class:"rel-port"},js={key:1,class:"rel-note"},Ys={class:"rel-actions"},Js={__name:"MachineDetail",setup(Xs){const ce=Le(),fe=Ae(),h=Oe().is_admin,g=ce.params.id,n=y(null),X=y([]),Z=y([]),R=y(!1),z=y([]),Q=y([]),q=y(!1),f=y({}),B=y(!1),D=y({username:"",password:""}),b=y(null),E=y(!1),L=y(!1),k=y({}),O=y(!1),V=y({}),ye=Je(()=>{const a={};return z.value.forEach(e=>a[e.id]=e.hostname),a});let ee=null;Te(async()=>{if(await T(),await K(),h){await F();const e=await Ke();z.value=e.data}await He();const a=Pe||1e4;a>0&&(ee=setInterval(async()=>{await T(),await K(),h&&await F()},a))}),Re(()=>{ee&&clearInterval(ee)});async function T(){const a=await ze(g);if(n.value=a.data.machine,h){const e=await Fe(g);Q.value=e.data}n.value&&(n.value.cpu_info||n.value.memory_info||n.value.disk_info||n.value.uptime)?b.value={hostname:n.value.hostname,os_version:n.value.os_version,cpu:n.value.cpu_info,memory:n.value.memory_info,disk:n.value.disk_info,uptime:n.value.uptime,listen_ports:n.value.listen_ports?n.value.listen_ports.split(",").map(e=>e.trim()).filter(Boolean):[]}:b.value=null}async function K(){const a=await Ee(g);X.value=a.data}async function F(){const a=await Ge(),e={};z.value.forEach(r=>e[r.id]=r.hostname),Z.value=a.data.filter(r=>r.source_machine_id==g||r.target_machine_id==g).map(r=>({...r,source_hostname:e[r.source_machine_id]||r.source_machine_id,target_hostname:e[r.target_machine_id]||r.target_machine_id}))}function he(a){f.value={...a,ssh_port:a.ssh_port||22,ssh_username:a.ssh_username||"",ssh_password:""},q.value=!0}async function ge(){if(n.value.ssh_username){E.value=!0;try{const a=await _e(g,{username:n.value.ssh_username,password:""});b.value=a.data;const e={...b.value};delete e.hostname,await pe(g,e),C.success("获取并同步成功"),await T(),E.value=!1;return}catch{E.value=!1}}D.value={username:n.value.ssh_username||"",password:""},B.value=!0}async function ke(){await Ze(f.value.id,f.value),C.success("保存成功"),q.value=!1,T()}async function Ve(){R.value=!0;try{await tl(g),C.success("虚拟机已启动"),T()}catch{}R.value=!1}async function we(){try{await J.confirm("确定要关闭虚拟机吗?","确认关闭",{type:"warning"}),R.value=!0,await al(g),C.success("虚拟机已关闭"),T()}catch{}R.value=!1}async function be(){try{await J.confirm("确定删除该机器?","提示",{type:"warning"}),await Ye(g),C.success("删除成功"),fe.back()}catch{}}async function xe(){E.value=!0;try{const a=await _e(g,D.value);b.value=a.data,B.value=!1;const e={...b.value};delete e.hostname,await pe(g,e),C.success("获取并同步成功"),await T()}catch{}E.value=!1}function te(a){k.value=a?{...a,target_machine_id:a.target_machine_id||null,target_notes:a.target_notes||""}:{name:"",port:80,protocol:"TCP",notes:"",target_machine_id:null,target_notes:""},L.value=!0}async function Se(){const a={...k.value};a.id?await Qe(a.id,a):await el(g,a),C.success("保存成功"),L.value=!1,K()}async function Ce(a){try{await J.confirm("确定删除该服务?","提示",{type:"warning"}),await ol(a.id),C.success("删除成功"),K()}catch{}}function ae(a){V.value=a?{...a}:{source_machine_id:Number(g),target_machine_id:null,relation_type:"dependency",source_port:null,target_port:null,notes:""},O.value=!0}async function Me(){const a={...V.value};a.id?await ll(a.id,a):await sl(a),C.success("保存成功"),O.value=!1,F()}async function Ue(a){try{await J.confirm("确定删除该关系?","提示",{type:"warning"}),await Xe(a.id),C.success("删除成功"),F()}catch{}}function $e(a){return{port_forward:"端口转发",dependency:"依赖",primary_secondary:"主从",custom:"自定义"}[a]||a}function M(a){if(!a)return 0;const e=a.match(/\((\d+)%\)/)||a.match(/(\d+(?:\.\d+)?)%/);if(e){const r=parseFloat(e[1]);return isNaN(r)?0:Math.min(100,Math.max(0,Math.round(r)))}return 0}function De(a){return a>=90?"#f87171":a>=70?"#fbbf24":"#34d399"}function oe(a){return a>=90?"#f87171":a>=80?"#fbbf24":"#60a5fa"}function ne(a){if(!a)return[];const e=[],r=/(\S+)\s+([\d\.]+[KMGT]?\/[\d\.]+[KMGT]?)\s+\((\d+)%\)/g;let v;for(;(v=r.exec(a))!==null;)e.push({mount:v[1],detail:v[2],percent:parseInt(v[3],10)});if(e.length>0)return e;const I=M(a),H=extractDetail(a);return H?[{mount:"",detail:H,percent:I}]:[]}function ie(a){if(!a)return"-";const e=new Date(a);if(isNaN(e.getTime()))return a;const r=v=>String(v).padStart(2,"0");return`${e.getFullYear()}-${r(e.getMonth()+1)}-${r(e.getDate())} ${r(e.getHours())}:${r(e.getMinutes())}:${r(e.getSeconds())}`}function ue(a){if(!a&&a!==0)return"-";const e=Number(a);if(e<60)return`${e}秒`;if(e<3600)return`${Math.floor(e/60)}分${e%60}秒`;const r=Math.floor(e/3600),v=Math.floor(e%3600/60);if(r<24)return`${r}时${v}分`;const I=Math.floor(r/24),H=r%24;return`${I}天${H}时${v}分`}return(a,e)=>{var de;const r=S("el-icon"),v=S("el-button"),I=S("el-tag"),H=S("el-empty"),x=S("el-input"),c=S("el-form-item"),G=S("el-form"),W=S("el-dialog"),j=S("el-input-number"),w=S("el-option"),N=S("el-select");return n.value?(i(),d("div",il,[s("div",ul,[s("div",dl,[t(v,{text:"",circle:"",onClick:e[0]||(e[0]=l=>a.$router.back())},{default:o(()=>[t(r,null,{default:o(()=>[t(m(We))]),_:1})]),_:1}),s("div",null,[s("div",rl,[p(u(n.value.hostname)+" ",1),s("span",{class:Ie(["status-badge",n.value.is_online?"online":"offline"])},u(n.value.is_online?"在线":"离线"),3)]),s("div",vl,[m(h)?(i(),d("span",ml,u(n.value.ip),1)):_("",!0),s("span",null,u(n.value.os_type),1),n.value.os_version?(i(),d("span",_l,u(n.value.os_version),1)):_("",!0)])])]),m(h)?(i(),d("div",pl,[n.value.pve_host_id&&n.value.pve_vmid?(i(),$(v,{key:0,type:"success",icon:m(Ne),loading:R.value,onClick:Ve},{default:o(()=>[...e[35]||(e[35]=[p("启动",-1)])]),_:1},8,["icon","loading"])):_("",!0),n.value.pve_host_id&&n.value.pve_vmid?(i(),$(v,{key:1,type:"warning",icon:m(qe),loading:R.value,onClick:we},{default:o(()=>[...e[36]||(e[36]=[p("关闭",-1)])]),_:1},8,["icon","loading"])):_("",!0),t(v,{text:"",icon:m(le),onClick:e[1]||(e[1]=l=>he(n.value))},{default:o(()=>[...e[37]||(e[37]=[p("编辑",-1)])]),_:1},8,["icon"]),t(v,{text:"",type:"danger",icon:m(se),onClick:be},{default:o(()=>[...e[38]||(e[38]=[p("删除",-1)])]),_:1},8,["icon"])])):_("",!0)]),s("div",cl,[s("div",fl,[e[44]||(e[44]=s("div",{class:"card-title"},"基本信息",-1)),s("div",yl,[s("div",hl,[e[39]||(e[39]=s("span",{class:"info-label"},"IP",-1)),s("span",gl,u(n.value.ip),1)]),m(h)?(i(),d("div",kl,[e[40]||(e[40]=s("span",{class:"info-label"},"MAC",-1)),s("span",Vl,u(n.value.mac||"-"),1)])):_("",!0),s("div",wl,[e[41]||(e[41]=s("span",{class:"info-label"},"系统",-1)),s("span",bl,u(n.value.os_type)+" "+u(n.value.os_version||""),1)]),m(h)?(i(),d("div",xl,[e[42]||(e[42]=s("span",{class:"info-label"},"SSH 端口",-1)),s("span",Sl,u(n.value.ssh_port||22),1)])):_("",!0),m(h)?(i(),d("div",Cl,[e[43]||(e[43]=s("span",{class:"info-label"},"备注",-1)),s("span",Ml,u(n.value.notes||"-"),1)])):_("",!0)])]),n.value.cpu_info||n.value.memory_info||n.value.disk_info?(i(),d("div",Ul,[e[49]||(e[49]=s("div",{class:"card-title"},"系统状态",-1)),s("div",$l,[n.value.cpu_info?(i(),d("div",Dl,[e[45]||(e[45]=s("div",{class:"sp-icon cpu"},"CPU",-1)),s("div",Tl,[s("div",Hl,u(n.value.cpu_info),1),s("div",Pl,[s("div",{class:"sp-fill",style:Y({width:M(n.value.cpu_info)+"%"})},null,4)])]),s("div",Rl,u(M(n.value.cpu_info))+"%",1)])):_("",!0),n.value.memory_info?(i(),d("div",zl,[e[46]||(e[46]=s("div",{class:"sp-icon mem"},"MEM",-1)),s("div",El,[s("div",Il,u(n.value.memory_info),1),s("div",Nl,[s("div",{class:"sp-fill",style:Y({width:M(n.value.memory_info)+"%",background:De(M(n.value.memory_info))})},null,4)])]),s("div",ql,u(M(n.value.memory_info))+"%",1)])):_("",!0),n.value.disk_info?(i(),d("div",Bl,[ne(n.value.disk_info).length<=1?(i(),d(U,{key:0},[e[47]||(e[47]=s("div",{class:"sp-icon disk"},"DISK",-1)),s("div",Ll,[s("div",Ol,u(n.value.disk_info),1),s("div",Al,[s("div",{class:"sp-fill",style:Y({width:M(n.value.disk_info)+"%",background:oe(M(n.value.disk_info))})},null,4)])]),s("div",Kl,u(M(n.value.disk_info))+"%",1)],64)):(i(),d(U,{key:1},[e[48]||(e[48]=s("div",{class:"sp-icon disk"},"DISK",-1)),s("div",Fl,[(i(!0),d(U,null,P(ne(n.value.disk_info),(l,A)=>(i(),d("div",{key:A,class:"detail-disk-item"},[s("span",Gl,u(l.mount),1),s("div",Wl,[s("div",jl,[s("div",{class:"dd-fill",style:Y({width:l.percent+"%",background:oe(l.percent)})},null,4)])]),s("span",Yl,u(l.detail),1),s("span",Jl,u(l.percent)+"%",1)]))),128))])],64))])):_("",!0)]),n.value.uptime?(i(),d("div",Xl,[t(r,null,{default:o(()=>[t(m(je))]),_:1}),s("span",null,"运行时间 "+u(n.value.uptime),1)])):_("",!0)])):_("",!0),m(h)?(i(),d("div",Zl,[e[58]||(e[58]=s("div",{class:"card-title"},"SSH 系统信息",-1)),n.value.cpu_info||n.value.memory_info||n.value.disk_info||n.value.uptime?(i(),d("div",Ql,[t(I,{size:"small",effect:"plain",round:""},{default:o(()=>[p("上次同步 "+u(ie(n.value.ssh_synced_at)),1)]),_:1})])):_("",!0),s("div",es,[t(v,{type:"primary",icon:m(Be),onClick:ge},{default:o(()=>[...e[50]||(e[50]=[p("获取系统信息",-1)])]),_:1},8,["icon"])]),b.value?(i(),d("div",ls,[s("div",ss,[s("div",ts,[e[51]||(e[51]=s("span",{class:"rl"},"主机名",-1)),s("span",as,u(b.value.hostname),1)]),s("div",os,[e[52]||(e[52]=s("span",{class:"rl"},"系统版本",-1)),s("span",ns,u(b.value.os_version),1)]),s("div",is,[e[53]||(e[53]=s("span",{class:"rl"},"CPU",-1)),s("span",us,u(b.value.cpu),1)]),s("div",ds,[e[54]||(e[54]=s("span",{class:"rl"},"内存",-1)),s("span",rs,u(b.value.memory),1)]),s("div",vs,[e[55]||(e[55]=s("span",{class:"rl"},"磁盘",-1)),s("span",ms,u(b.value.disk),1)]),s("div",_s,[e[56]||(e[56]=s("span",{class:"rl"},"运行时间",-1)),s("span",ps,u(b.value.uptime),1)]),s("div",cs,[e[57]||(e[57]=s("span",{class:"rl"},"监听端口",-1)),s("span",fs,u((de=b.value.listen_ports)==null?void 0:de.join(", ")),1)])])])):_("",!0)])):_("",!0),s("div",ys,[s("div",hs,[e[60]||(e[60]=p(" 服务列表 ",-1)),m(h)?(i(),$(v,{key:0,size:"small",type:"primary",icon:m(re),onClick:e[2]||(e[2]=l=>te())},{default:o(()=>[...e[59]||(e[59]=[p("添加服务",-1)])]),_:1},8,["icon"])):_("",!0)]),X.value.length?(i(),d("div",gs,[(i(!0),d(U,null,P(X.value,l=>(i(),d("div",{key:l.id,class:"service-row"},[s("div",ks,[s("div",Vs,u(l.name),1),s("div",ws,u(l.port)+" / "+u(l.protocol),1)]),m(h)&&l.target_machine_id?(i(),d("div",bs,[t(r,null,{default:o(()=>[t(m(ve))]),_:1}),s("span",null,u(ye.value[l.target_machine_id]||l.target_machine_id),1),l.target_notes?(i(),d("span",xs,u(l.target_notes),1)):_("",!0)])):_("",!0),m(h)&&l.notes?(i(),d("div",Ss,u(l.notes),1)):_("",!0),m(h)?(i(),d("div",Cs,[t(v,{text:"",size:"small",icon:m(le),onClick:me(A=>te(l),["stop"])},{default:o(()=>[...e[61]||(e[61]=[p("编辑",-1)])]),_:1},8,["icon","onClick"]),t(v,{text:"",size:"small",type:"danger",icon:m(se),onClick:me(A=>Ce(l),["stop"])},{default:o(()=>[...e[62]||(e[62]=[p("删除",-1)])]),_:1},8,["icon","onClick"])])):_("",!0)]))),128))])):(i(),$(H,{key:1,description:"暂无服务","image-size":80}))]),m(h)?(i(),d("div",Ms,[e[67]||(e[67]=s("div",{class:"card-title"},"离线统计",-1)),s("div",Us,[s("div",$s,[s("div",Ds,u(n.value.offline_count||0),1),e[63]||(e[63]=s("div",{class:"stat-label"},"离线次数",-1))]),s("div",Ts,[s("div",Hs,u(ue(n.value.total_offline_seconds)),1),e[64]||(e[64]=s("div",{class:"stat-label"},"累计离线时长",-1))]),n.value.last_offline_reason?(i(),d("div",Ps,[s("div",Rs,u(n.value.last_offline_reason),1),e[65]||(e[65]=s("div",{class:"stat-label"},"上次离线原因",-1))])):_("",!0)]),Q.value.length?(i(),d("div",zs,[e[66]||(e[66]=s("div",{class:"log-title"},"最近离线记录",-1)),(i(!0),d(U,null,P(Q.value.slice(0,5),l=>(i(),d("div",{key:l.id,class:"log-row"},[s("span",Es,u(ie(l.started_at)),1),s("span",Is,u(l.reason||"未知原因"),1),l.duration_seconds!==null&&l.duration_seconds!==void 0?(i(),d("span",Ns,"持续 "+u(ue(l.duration_seconds)),1)):(i(),d("span",qs,"未恢复"))]))),128))])):_("",!0)])):_("",!0),m(h)?(i(),d("div",Bs,[s("div",Ls,[e[69]||(e[69]=p(" 关联关系 ",-1)),t(v,{size:"small",type:"primary",icon:m(re),onClick:e[3]||(e[3]=l=>ae())},{default:o(()=>[...e[68]||(e[68]=[p("添加关系",-1)])]),_:1},8,["icon"])]),Z.value.length?(i(),d("div",Os,[(i(!0),d(U,null,P(Z.value,l=>(i(),d("div",{key:l.id,class:"rel-row"},[s("div",As,[s("span",Ks,u(l.source_hostname),1),t(r,null,{default:o(()=>[t(m(ve))]),_:1}),s("span",Fs,u(l.target_hostname),1)]),s("div",Gs,[t(I,{size:"small",effect:"plain",round:""},{default:o(()=>[p(u($e(l.relation_type)),1)]),_:2},1024),l.source_port?(i(),d("span",Ws,u(l.source_port)+" → "+u(l.target_port||"-"),1)):_("",!0),l.notes?(i(),d("span",js,u(l.notes),1)):_("",!0)]),s("div",Ys,[t(v,{text:"",size:"small",icon:m(le),onClick:A=>ae(l)},{default:o(()=>[...e[70]||(e[70]=[p("编辑",-1)])]),_:1},8,["icon","onClick"]),t(v,{text:"",size:"small",type:"danger",icon:m(se),onClick:A=>Ue(l)},{default:o(()=>[...e[71]||(e[71]=[p("删除",-1)])]),_:1},8,["icon","onClick"])])]))),128))])):(i(),$(H,{key:1,description:"暂无关系","image-size":80}))])):_("",!0)]),t(W,{modelValue:B.value,"onUpdate:modelValue":e[7]||(e[7]=l=>B.value=l),title:"SSH 获取系统信息",width:"360px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[6]||(e[6]=l=>B.value=!1)},{default:o(()=>[...e[72]||(e[72]=[p("取消",-1)])]),_:1}),t(v,{type:"primary",loading:E.value,onClick:xe},{default:o(()=>[...e[73]||(e[73]=[p("连接",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(G,{model:D.value,"label-width":"80px"},{default:o(()=>[t(c,{label:"用户名"},{default:o(()=>[t(x,{modelValue:D.value.username,"onUpdate:modelValue":e[4]||(e[4]=l=>D.value.username=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"密码"},{default:o(()=>[t(x,{modelValue:D.value.password,"onUpdate:modelValue":e[5]||(e[5]=l=>D.value.password=l),type:"password","show-password":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(W,{modelValue:q.value,"onUpdate:modelValue":e[18]||(e[18]=l=>q.value=l),title:"编辑机器",width:"480px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[17]||(e[17]=l=>q.value=!1)},{default:o(()=>[...e[74]||(e[74]=[p("取消",-1)])]),_:1}),t(v,{type:"primary",onClick:ke},{default:o(()=>[...e[75]||(e[75]=[p("保存",-1)])]),_:1})]),default:o(()=>[t(G,{model:f.value,"label-width":"90px"},{default:o(()=>[t(c,{label:"主机名",required:""},{default:o(()=>[t(x,{modelValue:f.value.hostname,"onUpdate:modelValue":e[8]||(e[8]=l=>f.value.hostname=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"IP",required:""},{default:o(()=>[t(x,{modelValue:f.value.ip,"onUpdate:modelValue":e[9]||(e[9]=l=>f.value.ip=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"MAC"},{default:o(()=>[t(x,{modelValue:f.value.mac,"onUpdate:modelValue":e[10]||(e[10]=l=>f.value.mac=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"SSH端口"},{default:o(()=>[t(j,{modelValue:f.value.ssh_port,"onUpdate:modelValue":e[11]||(e[11]=l=>f.value.ssh_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"SSH用户"},{default:o(()=>[t(x,{modelValue:f.value.ssh_username,"onUpdate:modelValue":e[12]||(e[12]=l=>f.value.ssh_username=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"SSH密码"},{default:o(()=>[t(x,{modelValue:f.value.ssh_password,"onUpdate:modelValue":e[13]||(e[13]=l=>f.value.ssh_password=l),type:"password","show-password":"",placeholder:"输入则更新密码,留空保持不变"},null,8,["modelValue"])]),_:1}),t(c,{label:"系统",required:""},{default:o(()=>[t(N,{modelValue:f.value.os_type,"onUpdate:modelValue":e[14]||(e[14]=l=>f.value.os_type=l),style:{width:"100%"}},{default:o(()=>[t(w,{label:"Linux",value:"Linux"}),t(w,{label:"Windows",value:"Windows"}),t(w,{label:"macOS",value:"macOS"}),t(w,{label:"Other",value:"Other"})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"系统版本"},{default:o(()=>[t(x,{modelValue:f.value.os_version,"onUpdate:modelValue":e[15]||(e[15]=l=>f.value.os_version=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"备注"},{default:o(()=>[t(x,{modelValue:f.value.notes,"onUpdate:modelValue":e[16]||(e[16]=l=>f.value.notes=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(W,{modelValue:L.value,"onUpdate:modelValue":e[26]||(e[26]=l=>L.value=l),title:"编辑服务",width:"440px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[25]||(e[25]=l=>L.value=!1)},{default:o(()=>[...e[76]||(e[76]=[p("取消",-1)])]),_:1}),t(v,{type:"primary",onClick:Se},{default:o(()=>[...e[77]||(e[77]=[p("保存",-1)])]),_:1})]),default:o(()=>[t(G,{model:k.value,"label-width":"90px"},{default:o(()=>[t(c,{label:"名称",required:""},{default:o(()=>[t(x,{modelValue:k.value.name,"onUpdate:modelValue":e[19]||(e[19]=l=>k.value.name=l)},null,8,["modelValue"])]),_:1}),t(c,{label:"端口",required:""},{default:o(()=>[t(j,{modelValue:k.value.port,"onUpdate:modelValue":e[20]||(e[20]=l=>k.value.port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"协议"},{default:o(()=>[t(N,{modelValue:k.value.protocol,"onUpdate:modelValue":e[21]||(e[21]=l=>k.value.protocol=l),style:{width:"100%"}},{default:o(()=>[t(w,{label:"TCP",value:"TCP"}),t(w,{label:"UDP",value:"UDP"}),t(w,{label:"HTTP",value:"HTTP"}),t(w,{label:"HTTPS",value:"HTTPS"})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"指向机器"},{default:o(()=>[t(N,{modelValue:k.value.target_machine_id,"onUpdate:modelValue":e[22]||(e[22]=l=>k.value.target_machine_id=l),clearable:"",style:{width:"100%"},placeholder:"选择目标机器(拓扑连线用)"},{default:o(()=>[(i(!0),d(U,null,P(z.value.filter(l=>l.id!=m(g)),l=>(i(),$(w,{key:l.id,label:l.hostname,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"指向备注"},{default:o(()=>[t(x,{modelValue:k.value.target_notes,"onUpdate:modelValue":e[23]||(e[23]=l=>k.value.target_notes=l),placeholder:"如:反向代理到目标"},null,8,["modelValue"])]),_:1}),t(c,{label:"备注"},{default:o(()=>[t(x,{modelValue:k.value.notes,"onUpdate:modelValue":e[24]||(e[24]=l=>k.value.notes=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(W,{modelValue:O.value,"onUpdate:modelValue":e[34]||(e[34]=l=>O.value=l),title:"编辑关系",width:"440px",class:"modern-dialog"},{footer:o(()=>[t(v,{onClick:e[33]||(e[33]=l=>O.value=!1)},{default:o(()=>[...e[78]||(e[78]=[p("取消",-1)])]),_:1}),t(v,{type:"primary",onClick:Me},{default:o(()=>[...e[79]||(e[79]=[p("保存",-1)])]),_:1})]),default:o(()=>[t(G,{model:V.value,"label-width":"100px"},{default:o(()=>[t(c,{label:"源机器",required:""},{default:o(()=>[t(N,{modelValue:V.value.source_machine_id,"onUpdate:modelValue":e[27]||(e[27]=l=>V.value.source_machine_id=l),style:{width:"100%"}},{default:o(()=>[(i(!0),d(U,null,P(z.value,l=>(i(),$(w,{key:l.id,label:l.hostname,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"目标机器",required:""},{default:o(()=>[t(N,{modelValue:V.value.target_machine_id,"onUpdate:modelValue":e[28]||(e[28]=l=>V.value.target_machine_id=l),style:{width:"100%"}},{default:o(()=>[(i(!0),d(U,null,P(z.value,l=>(i(),$(w,{key:l.id,label:l.hostname,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"关系类型",required:""},{default:o(()=>[t(N,{modelValue:V.value.relation_type,"onUpdate:modelValue":e[29]||(e[29]=l=>V.value.relation_type=l),style:{width:"100%"}},{default:o(()=>[t(w,{label:"端口转发",value:"port_forward"}),t(w,{label:"依赖",value:"dependency"}),t(w,{label:"主从",value:"primary_secondary"}),t(w,{label:"自定义",value:"custom"})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"源端口"},{default:o(()=>[t(j,{modelValue:V.value.source_port,"onUpdate:modelValue":e[30]||(e[30]=l=>V.value.source_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"目标端口"},{default:o(()=>[t(j,{modelValue:V.value.target_port,"onUpdate:modelValue":e[31]||(e[31]=l=>V.value.target_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(c,{label:"备注"},{default:o(()=>[t(x,{modelValue:V.value.notes,"onUpdate:modelValue":e[32]||(e[32]=l=>V.value.notes=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])):_("",!0)}}},et=nl(Js,[["__scopeId","data-v-8622dedd"]]);export{et as default}; diff --git a/web/dist/assets/MachineList-Dl6ycQW2.js b/web/dist/assets/MachineList-Cau-oDXK.js similarity index 98% rename from web/dist/assets/MachineList-Dl6ycQW2.js rename to web/dist/assets/MachineList-Cau-oDXK.js index 49e4d7a..ca95ee8 100644 --- a/web/dist/assets/MachineList-Dl6ycQW2.js +++ b/web/dist/assets/MachineList-Cau-oDXK.js @@ -1 +1 @@ -import{k as oe,I as ae,J as ne,K as ie,L as de,o as u,c as r,a as o,b as s,w as i,e as f,m as b,M as ue,n as p,N as $,O as F,r as V,d as m,G as re,P as pe,E as k,u as ce,Q as _e,R as me,h as y,p as U,t as c,S as R,T as ve,U as fe,V as ye}from"./index-BFjouPFU.js";import{_ as he}from"./_plugin-vue_export-helper-DlAUqK2U.js";const be={class:"page"},Ve={class:"toolbar"},we={class:"search-wrap"},ke={class:"cards-grid"},ge=["onClick"],Ce={class:"card-header"},xe={class:"title-row"},Me=["title"],Se={class:"hostname"},Ue={class:"meta-row"},De={key:0,class:"meta-ip"},Le={class:"meta-item"},Oe={key:1,class:"meta-item"},Ee={key:2,class:"meta-uptime"},Ie={key:3,class:"meta-pve"},$e={key:0,class:"stats-row"},Fe={key:0,class:"stat-pill"},Re={class:"pill-body"},Be={class:"pill-bar"},Ne={class:"pill-value"},Pe={key:1,class:"stat-pill"},Ae={class:"pill-body"},He={class:"pill-bar"},Te={class:"pill-value"},We={key:2,class:"stat-pill"},je={class:"pill-body"},ze={class:"pill-bar"},Ge={class:"pill-value"},Ke={key:1,class:"ports-row"},qe={key:0,class:"more-ports"},Je={key:2,class:"sync-time"},Qe={__name:"MachineList",setup(Ye){const T=ce(),h=re().is_admin,D=V([]),B=V([]),L=V(""),O=V(""),g=V(!1),d=V({hostname:"",ip:"",mac:"",os_type:"Linux",os_version:"",notes:"",ssh_port:22,ssh_username:"",ssh_password:"",pve_host_id:null,pve_vmid:""}),N=V(null);let E=null;oe(async()=>{if(await C(),await ae(),h)try{const e=await _e();B.value=e.data}catch{}const t=ne||1e4;t>0&&(E=setInterval(C,t))}),ie(()=>{E&&clearInterval(E)});async function C(){const t=await de({search:L.value,os_type:O.value});D.value=t.data}function W(t){T.push(`/machines/${t}`)}function j(t){d.value={hostname:"",ip:"",mac:"",os_type:"Linux",os_version:"",notes:"",ssh_port:22,ssh_username:"",ssh_password:"",pve_host_id:null,pve_vmid:""},g.value=!0}async function z(){const t={...d.value};if(!t.hostname||!t.ip||!t.os_type){k.warning("请填写必填项");return}t.id?await ve(t.id,t):await fe(t),k.success("保存成功"),g.value=!1,C()}async function G(){try{const t=await ye(),e=new Blob([t.data]),a=window.URL.createObjectURL(e),n=document.createElement("a");n.href=a,n.download=`lan-manager-backup-${new Date().toISOString().slice(0,10)}.json`,document.body.appendChild(n),n.click(),document.body.removeChild(n),window.URL.revokeObjectURL(a),k.success("导出成功")}catch{k.error("导出失败")}}function K(){var t;(t=N.value)==null||t.click()}async function q(t){var n;const e=(n=t.target.files)==null?void 0:n[0];if(!e)return;const a=new FormData;a.append("file",e),a.append("mode","overwrite");try{await pe(a),k.success("导入成功,页面即将刷新"),setTimeout(()=>location.reload(),800)}catch{k.error("导入失败")}t.target.value=""}function x(t){if(!t)return 0;const e=t.match(/\((\d+)%\)/)||t.match(/(\d+(?:\.\d+)?)%/);if(e){const a=parseFloat(e[1]);return isNaN(a)?0:Math.min(100,Math.max(0,Math.round(a)))}return 0}function P(t){if(!t)return"";const e=t.match(/\((\d+)\s*cores\)/);if(e)return e[1]+" cores";let a=t.replace(/\s*\(\d+(?:\.\d+)?%\)\s*/g,"").trim();return a.includes(",")&&(a=a.split(",")[0].trim()),a=a.replace(/^\/\s+/,"").trim(),/^\d+\.?\d*\/\d+\.?\d*$/.test(a)&&(a+="G"),a}function J(t){return t>=90?"#f87171":t>=70?"#fbbf24":"#34d399"}function Q(t){return t>=90?"#f87171":t>=80?"#fbbf24":"#60a5fa"}function Y(t){if(!t)return[];const e=[],a=/(\S+)\s+([\d\.]+[KMGT]?\/[\d\.]+[KMGT]?)\s+\((\d+)%\)/g;let n;for(;(n=a.exec(t))!==null;)e.push({mount:n[1],detail:n[2],percent:parseInt(n[3],10)});if(e.length>0)return e;const _=x(t),w=P(t);return w?[{mount:"",detail:w,percent:_}]:[]}function S(t){return Y(t).find(n=>n.mount==="/")||null}function X(t){return{Linux:"os-linux",Windows:"os-windows",macOS:"os-macos"}[t]||"os-other"}function Z(t){if(!t)return"-";const e=new Date(t);if(isNaN(e.getTime()))return t;const a=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${a(e.getMonth()+1)}-${a(e.getDate())} ${a(e.getHours())}:${a(e.getMinutes())}:${a(e.getSeconds())}`}return(t,e)=>{const a=m("el-icon"),n=m("el-input"),_=m("el-option"),w=m("el-select"),M=m("el-button"),A=m("el-tag"),ee=m("el-empty"),v=m("el-form-item"),H=m("el-divider"),le=m("el-input-number"),te=m("el-form"),se=m("el-dialog");return u(),r("div",be,[o("div",Ve,[o("div",we,[s(a,{class:"search-icon"},{default:i(()=>[s(f(me))]),_:1}),s(n,{modelValue:L.value,"onUpdate:modelValue":e[0]||(e[0]=l=>L.value=l),placeholder:"搜索主机名",clearable:"",onChange:C},null,8,["modelValue"])]),s(w,{modelValue:O.value,"onUpdate:modelValue":e[1]||(e[1]=l=>O.value=l),placeholder:"系统类型",clearable:"",onChange:C,class:"os-select"},{default:i(()=>[s(_,{label:"Linux",value:"Linux"}),s(_,{label:"Windows",value:"Windows"}),s(_,{label:"macOS",value:"macOS"}),s(_,{label:"Other",value:"Other"})]),_:1},8,["modelValue"]),f(h)?(u(),b(M,{key:0,type:"primary",icon:f(ue),onClick:e[2]||(e[2]=l=>j())},{default:i(()=>[...e[16]||(e[16]=[y("添加机器",-1)])]),_:1},8,["icon"])):p("",!0),f(h)?(u(),b(M,{key:1,type:"success",onClick:G},{default:i(()=>[...e[17]||(e[17]=[y("导出数据",-1)])]),_:1})):p("",!0),f(h)?(u(),b(M,{key:2,type:"warning",onClick:K},{default:i(()=>[...e[18]||(e[18]=[y("导入数据",-1)])]),_:1})):p("",!0),o("input",{ref_key:"importFileRef",ref:N,type:"file",accept:".json",style:{display:"none"},onChange:q},null,544)]),o("div",ke,[(u(!0),r($,null,F(D.value,l=>(u(),r("div",{key:l.id,class:U(["server-card",[{"guest-card":!f(h),"offline-card":!l.is_online}]]),onClick:I=>f(h)&&W(l.id)},[o("div",Ce,[o("div",xe,[o("span",{class:U(["os-dot",X(l.os_type)]),title:l.os_type},null,10,Me),o("span",Se,c(l.hostname),1),o("span",{class:U(["status-badge",l.is_online?"online":"offline"])},c(l.is_online?"在线":"离线"),3),l.service_count?(u(),b(A,{key:0,size:"small",effect:"plain",class:"svc-tag",round:""},{default:i(()=>[y("服务 "+c(l.service_count),1)]),_:2},1024)):p("",!0)]),o("div",Ue,[f(h)?(u(),r("span",De,c(l.ip),1)):p("",!0),o("span",Le,c(l.os_type),1),l.os_version?(u(),r("span",Oe,c(l.os_version),1)):p("",!0),l.uptime?(u(),r("span",Ee,c(l.uptime),1)):p("",!0),f(h)&&l.pve_host_id&&l.pve_vmid?(u(),r("span",Ie,[o("span",{class:U(["vm-status",l.pve_vm_status])},c(l.pve_vm_status==="running"?"🟢 VM运行中":"🔴 VM已停止"),3)])):p("",!0)])]),l.cpu_info||l.memory_info||l.disk_info?(u(),r("div",$e,[l.cpu_info?(u(),r("div",Fe,[e[20]||(e[20]=o("div",{class:"pill-icon cpu"},"C",-1)),o("div",Re,[e[19]||(e[19]=o("div",{class:"pill-label"},"CPU",-1)),o("div",Be,[o("div",{class:"pill-fill",style:R({width:x(l.cpu_info)+"%"})},null,4)])]),o("div",Ne,c(x(l.cpu_info))+"%",1)])):p("",!0),l.memory_info?(u(),r("div",Pe,[e[22]||(e[22]=o("div",{class:"pill-icon mem"},"M",-1)),o("div",Ae,[e[21]||(e[21]=o("div",{class:"pill-label"},"RAM",-1)),o("div",He,[o("div",{class:"pill-fill",style:R({width:x(l.memory_info)+"%",background:J(x(l.memory_info))})},null,4)])]),o("div",Te,c(P(l.memory_info)),1)])):p("",!0),S(l.disk_info)?(u(),r("div",We,[e[24]||(e[24]=o("div",{class:"pill-icon disk"},"D",-1)),o("div",je,[e[23]||(e[23]=o("div",{class:"pill-label"},"DISK",-1)),o("div",ze,[o("div",{class:"pill-fill",style:R({width:S(l.disk_info).percent+"%",background:Q(S(l.disk_info).percent)})},null,4)])]),o("div",Ge,c(S(l.disk_info).detail),1)])):p("",!0)])):p("",!0),l.listen_ports?(u(),r("div",Ke,[(u(!0),r($,null,F(l.listen_ports.split(",").slice(0,6),I=>(u(),b(A,{key:I,size:"small",effect:"plain",round:"",class:"port-tag"},{default:i(()=>[y(c(I.trim()),1)]),_:2},1024))),128)),l.listen_ports.split(",").length>6?(u(),r("span",qe,"+"+c(l.listen_ports.split(",").length-6),1)):p("",!0)])):p("",!0),l.ssh_synced_at?(u(),r("div",Je," 同步于 "+c(Z(l.ssh_synced_at)),1)):p("",!0)],10,ge))),128))]),D.value.length?p("",!0):(u(),b(ee,{key:0,description:"暂无机器"})),s(se,{modelValue:g.value,"onUpdate:modelValue":e[15]||(e[15]=l=>g.value=l),title:d.value.id?"编辑机器":"添加机器",width:"480px",class:"modern-dialog","destroy-on-close":""},{footer:i(()=>[s(M,{onClick:e[14]||(e[14]=l=>g.value=!1)},{default:i(()=>[...e[27]||(e[27]=[y("取消",-1)])]),_:1}),s(M,{type:"primary",onClick:z},{default:i(()=>[...e[28]||(e[28]=[y("保存",-1)])]),_:1})]),default:i(()=>[s(te,{model:d.value,"label-width":"90px"},{default:i(()=>[s(v,{label:"主机名",required:""},{default:i(()=>[s(n,{modelValue:d.value.hostname,"onUpdate:modelValue":e[3]||(e[3]=l=>d.value.hostname=l),placeholder:"如 web-server-01"},null,8,["modelValue"])]),_:1}),s(v,{label:"IP",required:""},{default:i(()=>[s(n,{modelValue:d.value.ip,"onUpdate:modelValue":e[4]||(e[4]=l=>d.value.ip=l),placeholder:"192.168.1.100"},null,8,["modelValue"])]),_:1}),s(v,{label:"MAC"},{default:i(()=>[s(n,{modelValue:d.value.mac,"onUpdate:modelValue":e[5]||(e[5]=l=>d.value.mac=l),placeholder:"AA:BB:CC:DD:EE:FF"},null,8,["modelValue"])]),_:1}),s(v,{label:"系统",required:""},{default:i(()=>[s(w,{modelValue:d.value.os_type,"onUpdate:modelValue":e[6]||(e[6]=l=>d.value.os_type=l),style:{width:"100%"}},{default:i(()=>[s(_,{label:"Linux",value:"Linux"}),s(_,{label:"Windows",value:"Windows"}),s(_,{label:"macOS",value:"macOS"}),s(_,{label:"Other",value:"Other"})]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"系统版本"},{default:i(()=>[s(n,{modelValue:d.value.os_version,"onUpdate:modelValue":e[7]||(e[7]=l=>d.value.os_version=l),placeholder:"Ubuntu 22.04"},null,8,["modelValue"])]),_:1}),s(H,{"content-position":"left"},{default:i(()=>[...e[25]||(e[25]=[y("SSH 配置",-1)])]),_:1}),s(v,{label:"SSH 端口"},{default:i(()=>[s(le,{modelValue:d.value.ssh_port,"onUpdate:modelValue":e[8]||(e[8]=l=>d.value.ssh_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),s(v,{label:"SSH 用户"},{default:i(()=>[s(n,{modelValue:d.value.ssh_username,"onUpdate:modelValue":e[9]||(e[9]=l=>d.value.ssh_username=l),placeholder:"root"},null,8,["modelValue"])]),_:1}),s(v,{label:"SSH 密码"},{default:i(()=>[s(n,{modelValue:d.value.ssh_password,"onUpdate:modelValue":e[10]||(e[10]=l=>d.value.ssh_password=l),type:"password","show-password":"",placeholder:"输入则更新密码,留空保持不变"},null,8,["modelValue"])]),_:1}),s(v,{label:"备注"},{default:i(()=>[s(n,{modelValue:d.value.notes,"onUpdate:modelValue":e[11]||(e[11]=l=>d.value.notes=l),type:"textarea",rows:3,placeholder:"记录用途、负责人等信息"},null,8,["modelValue"])]),_:1}),s(H,{"content-position":"left"},{default:i(()=>[...e[26]||(e[26]=[y("PVE 配置(可选)",-1)])]),_:1}),s(v,{label:"PVE 主机"},{default:i(()=>[s(w,{modelValue:d.value.pve_host_id,"onUpdate:modelValue":e[12]||(e[12]=l=>d.value.pve_host_id=l),placeholder:"选择 PVE 主机",clearable:"",style:{width:"100%"}},{default:i(()=>[(u(!0),r($,null,F(B.value,l=>(u(),b(_,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"虚拟机 ID"},{default:i(()=>[s(n,{modelValue:d.value.pve_vmid,"onUpdate:modelValue":e[13]||(e[13]=l=>d.value.pve_vmid=l),placeholder:"如 101"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},el=he(Qe,[["__scopeId","data-v-cae8dc77"]]);export{el as default}; +import{k as oe,I as ae,J as ne,K as ie,L as de,o as u,c as r,a as o,b as s,w as i,e as f,m as b,M as ue,n as p,N as $,O as F,r as V,d as m,G as re,P as pe,E as k,u as ce,Q as _e,R as me,h as y,p as U,t as c,S as R,T as ve,U as fe,V as ye}from"./index-lpjSKhQ-.js";import{_ as he}from"./_plugin-vue_export-helper-DlAUqK2U.js";const be={class:"page"},Ve={class:"toolbar"},we={class:"search-wrap"},ke={class:"cards-grid"},ge=["onClick"],Ce={class:"card-header"},xe={class:"title-row"},Me=["title"],Se={class:"hostname"},Ue={class:"meta-row"},De={key:0,class:"meta-ip"},Le={class:"meta-item"},Oe={key:1,class:"meta-item"},Ee={key:2,class:"meta-uptime"},Ie={key:3,class:"meta-pve"},$e={key:0,class:"stats-row"},Fe={key:0,class:"stat-pill"},Re={class:"pill-body"},Be={class:"pill-bar"},Ne={class:"pill-value"},Pe={key:1,class:"stat-pill"},Ae={class:"pill-body"},He={class:"pill-bar"},Te={class:"pill-value"},We={key:2,class:"stat-pill"},je={class:"pill-body"},ze={class:"pill-bar"},Ge={class:"pill-value"},Ke={key:1,class:"ports-row"},qe={key:0,class:"more-ports"},Je={key:2,class:"sync-time"},Qe={__name:"MachineList",setup(Ye){const T=ce(),h=re().is_admin,D=V([]),B=V([]),L=V(""),O=V(""),g=V(!1),d=V({hostname:"",ip:"",mac:"",os_type:"Linux",os_version:"",notes:"",ssh_port:22,ssh_username:"",ssh_password:"",pve_host_id:null,pve_vmid:""}),N=V(null);let E=null;oe(async()=>{if(await C(),await ae(),h)try{const e=await _e();B.value=e.data}catch{}const t=ne||1e4;t>0&&(E=setInterval(C,t))}),ie(()=>{E&&clearInterval(E)});async function C(){const t=await de({search:L.value,os_type:O.value});D.value=t.data}function W(t){T.push(`/machines/${t}`)}function j(t){d.value={hostname:"",ip:"",mac:"",os_type:"Linux",os_version:"",notes:"",ssh_port:22,ssh_username:"",ssh_password:"",pve_host_id:null,pve_vmid:""},g.value=!0}async function z(){const t={...d.value};if(!t.hostname||!t.ip||!t.os_type){k.warning("请填写必填项");return}t.id?await ve(t.id,t):await fe(t),k.success("保存成功"),g.value=!1,C()}async function G(){try{const t=await ye(),e=new Blob([t.data]),a=window.URL.createObjectURL(e),n=document.createElement("a");n.href=a,n.download=`lan-manager-backup-${new Date().toISOString().slice(0,10)}.json`,document.body.appendChild(n),n.click(),document.body.removeChild(n),window.URL.revokeObjectURL(a),k.success("导出成功")}catch{k.error("导出失败")}}function K(){var t;(t=N.value)==null||t.click()}async function q(t){var n;const e=(n=t.target.files)==null?void 0:n[0];if(!e)return;const a=new FormData;a.append("file",e),a.append("mode","overwrite");try{await pe(a),k.success("导入成功,页面即将刷新"),setTimeout(()=>location.reload(),800)}catch{k.error("导入失败")}t.target.value=""}function x(t){if(!t)return 0;const e=t.match(/\((\d+)%\)/)||t.match(/(\d+(?:\.\d+)?)%/);if(e){const a=parseFloat(e[1]);return isNaN(a)?0:Math.min(100,Math.max(0,Math.round(a)))}return 0}function P(t){if(!t)return"";const e=t.match(/\((\d+)\s*cores\)/);if(e)return e[1]+" cores";let a=t.replace(/\s*\(\d+(?:\.\d+)?%\)\s*/g,"").trim();return a.includes(",")&&(a=a.split(",")[0].trim()),a=a.replace(/^\/\s+/,"").trim(),/^\d+\.?\d*\/\d+\.?\d*$/.test(a)&&(a+="G"),a}function J(t){return t>=90?"#f87171":t>=70?"#fbbf24":"#34d399"}function Q(t){return t>=90?"#f87171":t>=80?"#fbbf24":"#60a5fa"}function Y(t){if(!t)return[];const e=[],a=/(\S+)\s+([\d\.]+[KMGT]?\/[\d\.]+[KMGT]?)\s+\((\d+)%\)/g;let n;for(;(n=a.exec(t))!==null;)e.push({mount:n[1],detail:n[2],percent:parseInt(n[3],10)});if(e.length>0)return e;const _=x(t),w=P(t);return w?[{mount:"",detail:w,percent:_}]:[]}function S(t){return Y(t).find(n=>n.mount==="/")||null}function X(t){return{Linux:"os-linux",Windows:"os-windows",macOS:"os-macos"}[t]||"os-other"}function Z(t){if(!t)return"-";const e=new Date(t);if(isNaN(e.getTime()))return t;const a=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${a(e.getMonth()+1)}-${a(e.getDate())} ${a(e.getHours())}:${a(e.getMinutes())}:${a(e.getSeconds())}`}return(t,e)=>{const a=m("el-icon"),n=m("el-input"),_=m("el-option"),w=m("el-select"),M=m("el-button"),A=m("el-tag"),ee=m("el-empty"),v=m("el-form-item"),H=m("el-divider"),le=m("el-input-number"),te=m("el-form"),se=m("el-dialog");return u(),r("div",be,[o("div",Ve,[o("div",we,[s(a,{class:"search-icon"},{default:i(()=>[s(f(me))]),_:1}),s(n,{modelValue:L.value,"onUpdate:modelValue":e[0]||(e[0]=l=>L.value=l),placeholder:"搜索主机名",clearable:"",onChange:C},null,8,["modelValue"])]),s(w,{modelValue:O.value,"onUpdate:modelValue":e[1]||(e[1]=l=>O.value=l),placeholder:"系统类型",clearable:"",onChange:C,class:"os-select"},{default:i(()=>[s(_,{label:"Linux",value:"Linux"}),s(_,{label:"Windows",value:"Windows"}),s(_,{label:"macOS",value:"macOS"}),s(_,{label:"Other",value:"Other"})]),_:1},8,["modelValue"]),f(h)?(u(),b(M,{key:0,type:"primary",icon:f(ue),onClick:e[2]||(e[2]=l=>j())},{default:i(()=>[...e[16]||(e[16]=[y("添加机器",-1)])]),_:1},8,["icon"])):p("",!0),f(h)?(u(),b(M,{key:1,type:"success",onClick:G},{default:i(()=>[...e[17]||(e[17]=[y("导出数据",-1)])]),_:1})):p("",!0),f(h)?(u(),b(M,{key:2,type:"warning",onClick:K},{default:i(()=>[...e[18]||(e[18]=[y("导入数据",-1)])]),_:1})):p("",!0),o("input",{ref_key:"importFileRef",ref:N,type:"file",accept:".json",style:{display:"none"},onChange:q},null,544)]),o("div",ke,[(u(!0),r($,null,F(D.value,l=>(u(),r("div",{key:l.id,class:U(["server-card",[{"guest-card":!f(h),"offline-card":!l.is_online}]]),onClick:I=>f(h)&&W(l.id)},[o("div",Ce,[o("div",xe,[o("span",{class:U(["os-dot",X(l.os_type)]),title:l.os_type},null,10,Me),o("span",Se,c(l.hostname),1),o("span",{class:U(["status-badge",l.is_online?"online":"offline"])},c(l.is_online?"在线":"离线"),3),l.service_count?(u(),b(A,{key:0,size:"small",effect:"plain",class:"svc-tag",round:""},{default:i(()=>[y("服务 "+c(l.service_count),1)]),_:2},1024)):p("",!0)]),o("div",Ue,[f(h)?(u(),r("span",De,c(l.ip),1)):p("",!0),o("span",Le,c(l.os_type),1),l.os_version?(u(),r("span",Oe,c(l.os_version),1)):p("",!0),l.uptime?(u(),r("span",Ee,c(l.uptime),1)):p("",!0),f(h)&&l.pve_host_id&&l.pve_vmid?(u(),r("span",Ie,[o("span",{class:U(["vm-status",l.pve_vm_status])},c(l.pve_vm_status==="running"?"🟢 VM运行中":"🔴 VM已停止"),3)])):p("",!0)])]),l.cpu_info||l.memory_info||l.disk_info?(u(),r("div",$e,[l.cpu_info?(u(),r("div",Fe,[e[20]||(e[20]=o("div",{class:"pill-icon cpu"},"C",-1)),o("div",Re,[e[19]||(e[19]=o("div",{class:"pill-label"},"CPU",-1)),o("div",Be,[o("div",{class:"pill-fill",style:R({width:x(l.cpu_info)+"%"})},null,4)])]),o("div",Ne,c(x(l.cpu_info))+"%",1)])):p("",!0),l.memory_info?(u(),r("div",Pe,[e[22]||(e[22]=o("div",{class:"pill-icon mem"},"M",-1)),o("div",Ae,[e[21]||(e[21]=o("div",{class:"pill-label"},"RAM",-1)),o("div",He,[o("div",{class:"pill-fill",style:R({width:x(l.memory_info)+"%",background:J(x(l.memory_info))})},null,4)])]),o("div",Te,c(P(l.memory_info)),1)])):p("",!0),S(l.disk_info)?(u(),r("div",We,[e[24]||(e[24]=o("div",{class:"pill-icon disk"},"D",-1)),o("div",je,[e[23]||(e[23]=o("div",{class:"pill-label"},"DISK",-1)),o("div",ze,[o("div",{class:"pill-fill",style:R({width:S(l.disk_info).percent+"%",background:Q(S(l.disk_info).percent)})},null,4)])]),o("div",Ge,c(S(l.disk_info).detail),1)])):p("",!0)])):p("",!0),l.listen_ports?(u(),r("div",Ke,[(u(!0),r($,null,F(l.listen_ports.split(",").slice(0,6),I=>(u(),b(A,{key:I,size:"small",effect:"plain",round:"",class:"port-tag"},{default:i(()=>[y(c(I.trim()),1)]),_:2},1024))),128)),l.listen_ports.split(",").length>6?(u(),r("span",qe,"+"+c(l.listen_ports.split(",").length-6),1)):p("",!0)])):p("",!0),l.ssh_synced_at?(u(),r("div",Je," 同步于 "+c(Z(l.ssh_synced_at)),1)):p("",!0)],10,ge))),128))]),D.value.length?p("",!0):(u(),b(ee,{key:0,description:"暂无机器"})),s(se,{modelValue:g.value,"onUpdate:modelValue":e[15]||(e[15]=l=>g.value=l),title:d.value.id?"编辑机器":"添加机器",width:"480px",class:"modern-dialog","destroy-on-close":""},{footer:i(()=>[s(M,{onClick:e[14]||(e[14]=l=>g.value=!1)},{default:i(()=>[...e[27]||(e[27]=[y("取消",-1)])]),_:1}),s(M,{type:"primary",onClick:z},{default:i(()=>[...e[28]||(e[28]=[y("保存",-1)])]),_:1})]),default:i(()=>[s(te,{model:d.value,"label-width":"90px"},{default:i(()=>[s(v,{label:"主机名",required:""},{default:i(()=>[s(n,{modelValue:d.value.hostname,"onUpdate:modelValue":e[3]||(e[3]=l=>d.value.hostname=l),placeholder:"如 web-server-01"},null,8,["modelValue"])]),_:1}),s(v,{label:"IP",required:""},{default:i(()=>[s(n,{modelValue:d.value.ip,"onUpdate:modelValue":e[4]||(e[4]=l=>d.value.ip=l),placeholder:"192.168.1.100"},null,8,["modelValue"])]),_:1}),s(v,{label:"MAC"},{default:i(()=>[s(n,{modelValue:d.value.mac,"onUpdate:modelValue":e[5]||(e[5]=l=>d.value.mac=l),placeholder:"AA:BB:CC:DD:EE:FF"},null,8,["modelValue"])]),_:1}),s(v,{label:"系统",required:""},{default:i(()=>[s(w,{modelValue:d.value.os_type,"onUpdate:modelValue":e[6]||(e[6]=l=>d.value.os_type=l),style:{width:"100%"}},{default:i(()=>[s(_,{label:"Linux",value:"Linux"}),s(_,{label:"Windows",value:"Windows"}),s(_,{label:"macOS",value:"macOS"}),s(_,{label:"Other",value:"Other"})]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"系统版本"},{default:i(()=>[s(n,{modelValue:d.value.os_version,"onUpdate:modelValue":e[7]||(e[7]=l=>d.value.os_version=l),placeholder:"Ubuntu 22.04"},null,8,["modelValue"])]),_:1}),s(H,{"content-position":"left"},{default:i(()=>[...e[25]||(e[25]=[y("SSH 配置",-1)])]),_:1}),s(v,{label:"SSH 端口"},{default:i(()=>[s(le,{modelValue:d.value.ssh_port,"onUpdate:modelValue":e[8]||(e[8]=l=>d.value.ssh_port=l),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),s(v,{label:"SSH 用户"},{default:i(()=>[s(n,{modelValue:d.value.ssh_username,"onUpdate:modelValue":e[9]||(e[9]=l=>d.value.ssh_username=l),placeholder:"root"},null,8,["modelValue"])]),_:1}),s(v,{label:"SSH 密码"},{default:i(()=>[s(n,{modelValue:d.value.ssh_password,"onUpdate:modelValue":e[10]||(e[10]=l=>d.value.ssh_password=l),type:"password","show-password":"",placeholder:"输入则更新密码,留空保持不变"},null,8,["modelValue"])]),_:1}),s(v,{label:"备注"},{default:i(()=>[s(n,{modelValue:d.value.notes,"onUpdate:modelValue":e[11]||(e[11]=l=>d.value.notes=l),type:"textarea",rows:3,placeholder:"记录用途、负责人等信息"},null,8,["modelValue"])]),_:1}),s(H,{"content-position":"left"},{default:i(()=>[...e[26]||(e[26]=[y("PVE 配置(可选)",-1)])]),_:1}),s(v,{label:"PVE 主机"},{default:i(()=>[s(w,{modelValue:d.value.pve_host_id,"onUpdate:modelValue":e[12]||(e[12]=l=>d.value.pve_host_id=l),placeholder:"选择 PVE 主机",clearable:"",style:{width:"100%"}},{default:i(()=>[(u(!0),r($,null,F(B.value,l=>(u(),b(_,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(v,{label:"虚拟机 ID"},{default:i(()=>[s(n,{modelValue:d.value.pve_vmid,"onUpdate:modelValue":e[13]||(e[13]=l=>d.value.pve_vmid=l),placeholder:"如 101"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},el=he(Qe,[["__scopeId","data-v-cae8dc77"]]);export{el as default}; diff --git a/web/dist/assets/MainLayout-Cavyx6zq.js b/web/dist/assets/MainLayout-BtA_qQWv.js similarity index 97% rename from web/dist/assets/MainLayout-Cavyx6zq.js rename to web/dist/assets/MainLayout-BtA_qQWv.js index d91c91f..f27e46b 100644 --- a/web/dist/assets/MainLayout-Cavyx6zq.js +++ b/web/dist/assets/MainLayout-BtA_qQWv.js @@ -1 +1 @@ -import{k as h,o as i,c as m,a as s,b as e,w as t,m as d,n as r,t as v,p as C,r as x,q as w,d as _,u as E,e as l,v as L,x as M,y as A,z as B,A as D,B as N,C as V,f as z,D as I,F as S,E as q,G as F,H as G}from"./index-BFjouPFU.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={class:"layout"},R={key:0,class:"sidebar"},T={class:"nav"},$={class:"sidebar-footer"},j={class:"user-info"},J={class:"user-name"},K={class:"main-inner"},O={__name:"MainLayout",setup(Q){const f=E(),u=w(()=>F().is_admin),o=x(!1);h(()=>{o.value=document.documentElement.classList.contains("dark")});function p(){o.value=!o.value,document.documentElement.classList.toggle("dark",o.value),localStorage.setItem("theme",o.value?"dark":"light")}async function g(){try{await S()}catch{}G(),q.success("已退出"),f.push("/login")}return(k,a)=>{const n=_("el-icon"),c=_("router-link"),y=_("el-button"),b=_("router-view");return i(),m("div",P,[u.value?(i(),m("aside",R,[a[5]||(a[5]=s("div",{class:"brand"},[s("div",{class:"brand-logo"},"LM"),s("div",{class:"brand-text"},"LAN Manager")],-1)),s("nav",T,[e(c,{to:"/machines",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(L))]),_:1}),a[0]||(a[0]=s("span",null,"机器列表",-1))]),_:1}),u.value?(i(),d(c,{key:0,to:"/topology",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(M))]),_:1}),a[1]||(a[1]=s("span",null,"拓扑图",-1))]),_:1})):r("",!0),u.value?(i(),d(c,{key:1,to:"/logs",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(A))]),_:1}),a[2]||(a[2]=s("span",null,"操作日志",-1))]),_:1})):r("",!0),u.value?(i(),d(c,{key:2,to:"/pve-hosts",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(B))]),_:1}),a[3]||(a[3]=s("span",null,"PVE 主机",-1))]),_:1})):r("",!0)]),s("div",{class:"theme-toggle",onClick:p},[e(n,{class:"theme-icon"},{default:t(()=>[(i(),d(D(o.value?l(N):l(V))))]),_:1}),s("span",null,v(o.value?"浅色模式":"深色模式"),1)]),s("div",$,[s("div",j,[e(n,{class:"user-icon"},{default:t(()=>[e(l(z))]),_:1}),s("span",J,v(u.value?"管理员":"访客"),1)]),e(y,{text:"",class:"logout-btn",onClick:g},{default:t(()=>[e(n,null,{default:t(()=>[e(l(I))]),_:1}),a[4]||(a[4]=s("span",null,"退出",-1))]),_:1})])])):r("",!0),s("main",{class:C(["main",{"no-sidebar":!u.value}])},[s("div",K,[e(b)])],2)])}}},X=H(O,[["__scopeId","data-v-dac2493b"]]);export{X as default}; +import{k as h,o as i,c as m,a as s,b as e,w as t,m as d,n as r,t as v,p as C,r as x,q as w,d as _,u as E,e as l,v as L,x as M,y as A,z as B,A as D,B as N,C as V,f as z,D as I,F as S,E as q,G as F,H as G}from"./index-lpjSKhQ-.js";import{_ as H}from"./_plugin-vue_export-helper-DlAUqK2U.js";const P={class:"layout"},R={key:0,class:"sidebar"},T={class:"nav"},$={class:"sidebar-footer"},j={class:"user-info"},J={class:"user-name"},K={class:"main-inner"},O={__name:"MainLayout",setup(Q){const f=E(),u=w(()=>F().is_admin),o=x(!1);h(()=>{o.value=document.documentElement.classList.contains("dark")});function p(){o.value=!o.value,document.documentElement.classList.toggle("dark",o.value),localStorage.setItem("theme",o.value?"dark":"light")}async function g(){try{await S()}catch{}G(),q.success("已退出"),f.push("/login")}return(k,a)=>{const n=_("el-icon"),c=_("router-link"),y=_("el-button"),b=_("router-view");return i(),m("div",P,[u.value?(i(),m("aside",R,[a[5]||(a[5]=s("div",{class:"brand"},[s("div",{class:"brand-logo"},"LM"),s("div",{class:"brand-text"},"LAN Manager")],-1)),s("nav",T,[e(c,{to:"/machines",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(L))]),_:1}),a[0]||(a[0]=s("span",null,"机器列表",-1))]),_:1}),u.value?(i(),d(c,{key:0,to:"/topology",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(M))]),_:1}),a[1]||(a[1]=s("span",null,"拓扑图",-1))]),_:1})):r("",!0),u.value?(i(),d(c,{key:1,to:"/logs",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(A))]),_:1}),a[2]||(a[2]=s("span",null,"操作日志",-1))]),_:1})):r("",!0),u.value?(i(),d(c,{key:2,to:"/pve-hosts",class:"nav-item","active-class":"active"},{default:t(()=>[e(n,null,{default:t(()=>[e(l(B))]),_:1}),a[3]||(a[3]=s("span",null,"PVE 主机",-1))]),_:1})):r("",!0)]),s("div",{class:"theme-toggle",onClick:p},[e(n,{class:"theme-icon"},{default:t(()=>[(i(),d(D(o.value?l(N):l(V))))]),_:1}),s("span",null,v(o.value?"浅色模式":"深色模式"),1)]),s("div",$,[s("div",j,[e(n,{class:"user-icon"},{default:t(()=>[e(l(z))]),_:1}),s("span",J,v(u.value?"管理员":"访客"),1)]),e(y,{text:"",class:"logout-btn",onClick:g},{default:t(()=>[e(n,null,{default:t(()=>[e(l(I))]),_:1}),a[4]||(a[4]=s("span",null,"退出",-1))]),_:1})])])):r("",!0),s("main",{class:C(["main",{"no-sidebar":!u.value}])},[s("div",K,[e(b)])],2)])}}},X=H(O,[["__scopeId","data-v-dac2493b"]]);export{X as default}; diff --git a/web/dist/assets/PVEHosts-BMDl3QRA.css b/web/dist/assets/PVEHosts-BMDl3QRA.css deleted file mode 100644 index 19f9f20..0000000 --- a/web/dist/assets/PVEHosts-BMDl3QRA.css +++ /dev/null @@ -1 +0,0 @@ -.toolbar[data-v-c935d190]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-c935d190]{margin:0;font-size:20px;font-weight:600}.hosts-grid[data-v-c935d190]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.host-card[data-v-c935d190]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.host-header[data-v-c935d190]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.host-icon[data-v-c935d190]{font-size:20px;color:var(--el-color-primary)}.host-name[data-v-c935d190]{font-size:16px;font-weight:600}.host-info[data-v-c935d190]{margin-bottom:12px}.info-row[data-v-c935d190]{display:flex;font-size:13px;margin-bottom:4px}.info-row .label[data-v-c935d190]{color:var(--text-secondary);width:50px}.info-row .value[data-v-c935d190]{color:var(--text)}.host-actions[data-v-c935d190]{display:flex;gap:8px} diff --git a/web/dist/assets/PVEHosts-Bv16iTgA.css b/web/dist/assets/PVEHosts-Bv16iTgA.css new file mode 100644 index 0000000..9258633 --- /dev/null +++ b/web/dist/assets/PVEHosts-Bv16iTgA.css @@ -0,0 +1 @@ +.toolbar[data-v-bd0711be]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-title[data-v-bd0711be]{margin:0;font-size:20px;font-weight:600}.hosts-grid[data-v-bd0711be]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.host-card[data-v-bd0711be]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.host-header[data-v-bd0711be]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.host-icon[data-v-bd0711be]{font-size:20px;color:var(--el-color-primary)}.host-name[data-v-bd0711be]{font-size:16px;font-weight:600}.host-info[data-v-bd0711be]{margin-bottom:12px}.info-row[data-v-bd0711be]{display:flex;font-size:13px;margin-bottom:4px}.info-row .label[data-v-bd0711be]{color:var(--text-secondary);width:50px}.info-row .value[data-v-bd0711be]{color:var(--text)}.host-actions[data-v-bd0711be]{display:flex;gap:8px} diff --git a/web/dist/assets/PVEHosts-Ch6D9CK9.js b/web/dist/assets/PVEHosts-Ch6D9CK9.js deleted file mode 100644 index 90a072f..0000000 --- a/web/dist/assets/PVEHosts-Ch6D9CK9.js +++ /dev/null @@ -1 +0,0 @@ -import{k as N,Q as $,o as m,c as f,a as t,b as s,w as o,e as b,M,m as S,n as k,N as z,O as D,r as y,d,h as p,v as L,t as c,a8 as F,as as I,E as V,at as O,au as Q}from"./index-BFjouPFU.js";import{_ as T}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"page"},A={class:"toolbar"},G={key:1,class:"hosts-grid"},J={class:"host-header"},K={class:"host-name"},R={class:"host-info"},W={class:"info-row"},X={class:"value"},Y={class:"info-row"},Z={class:"value"},ee={class:"host-actions"},le={__name:"PVEHosts",setup(ae){const v=y([]),i=y(!1),l=y({name:"",hostname:"",port:8006,username:"",password:"",verify_ssl:!1});N(()=>{w()});async function w(){const n=await $();v.value=n.data}function g(n){l.value=n?{...n,password:""}:{name:"",hostname:"",port:8006,username:"",password:"",verify_ssl:!1},i.value=!0}async function E(){if(!l.value.name||!l.value.hostname||!l.value.username){V.warning("请填写必填项");return}if(!l.value.id&&!l.value.password){V.warning("请填写密码");return}try{l.value.id?await O(l.value.id,l.value):await Q(l.value),V.success("保存成功"),i.value=!1,w()}catch{}}async function C(n){try{await F.confirm(`确定要删除主机 "${n.name}" 吗?`,"确认删除",{type:"warning"}),await I(n.id),V.success("删除成功"),w()}catch{}}return(n,e)=>{const r=d("el-button"),x=d("el-empty"),P=d("el-icon"),_=d("el-input"),u=d("el-form-item"),H=d("el-input-number"),U=d("el-switch"),h=d("el-form"),q=d("el-dialog");return m(),f("div",j,[t("div",A,[e[10]||(e[10]=t("h2",{class:"page-title"},"PVE 主机管理",-1)),s(r,{type:"primary",icon:b(M),onClick:e[0]||(e[0]=a=>g())},{default:o(()=>[...e[9]||(e[9]=[p("添加主机",-1)])]),_:1},8,["icon"])]),v.value.length?k("",!0):(m(),S(x,{key:0,description:"暂无 PVE 主机"})),v.value.length?(m(),f("div",G,[(m(!0),f(z,null,D(v.value,a=>(m(),f("div",{key:a.id,class:"host-card"},[t("div",J,[s(P,{class:"host-icon"},{default:o(()=>[s(b(L))]),_:1}),t("span",K,c(a.name),1)]),t("div",R,[t("div",W,[e[11]||(e[11]=t("span",{class:"label"},"地址:",-1)),t("span",X,c(a.hostname)+":"+c(a.port),1)]),t("div",Y,[e[12]||(e[12]=t("span",{class:"label"},"用户:",-1)),t("span",Z,c(a.username),1)])]),t("div",ee,[s(r,{size:"small",onClick:B=>g(a)},{default:o(()=>[...e[13]||(e[13]=[p("编辑",-1)])]),_:1},8,["onClick"]),s(r,{size:"small",type:"danger",onClick:B=>C(a)},{default:o(()=>[...e[14]||(e[14]=[p("删除",-1)])]),_:1},8,["onClick"])])]))),128))])):k("",!0),s(q,{modelValue:i.value,"onUpdate:modelValue":e[8]||(e[8]=a=>i.value=a),title:l.value.id?"编辑主机":"添加主机",width:"480px",class:"modern-dialog","destroy-on-close":""},{footer:o(()=>[s(r,{onClick:e[7]||(e[7]=a=>i.value=!1)},{default:o(()=>[...e[15]||(e[15]=[p("取消",-1)])]),_:1}),s(r,{type:"primary",onClick:E},{default:o(()=>[...e[16]||(e[16]=[p("保存",-1)])]),_:1})]),default:o(()=>[s(h,{model:l.value,"label-width":"90px"},{default:o(()=>[s(u,{label:"名称",required:""},{default:o(()=>[s(_,{modelValue:l.value.name,"onUpdate:modelValue":e[1]||(e[1]=a=>l.value.name=a),placeholder:"如 PVE-01"},null,8,["modelValue"])]),_:1}),s(u,{label:"地址",required:""},{default:o(()=>[s(_,{modelValue:l.value.hostname,"onUpdate:modelValue":e[2]||(e[2]=a=>l.value.hostname=a),placeholder:"192.168.1.100"},null,8,["modelValue"])]),_:1}),s(u,{label:"端口"},{default:o(()=>[s(H,{modelValue:l.value.port,"onUpdate:modelValue":e[3]||(e[3]=a=>l.value.port=a),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),s(u,{label:"用户名",required:""},{default:o(()=>[s(_,{modelValue:l.value.username,"onUpdate:modelValue":e[4]||(e[4]=a=>l.value.username=a),placeholder:"root@pam 或 root@vmbr0"},null,8,["modelValue"])]),_:1}),s(u,{label:"密码",required:!l.value.id},{default:o(()=>[s(_,{modelValue:l.value.password,"onUpdate:modelValue":e[5]||(e[5]=a=>l.value.password=a),type:"password","show-password":"",placeholder:l.value.id?"留空保持不变":"必填"},null,8,["modelValue","placeholder"])]),_:1},8,["required"]),s(u,{label:"SSL 验证"},{default:o(()=>[s(U,{modelValue:l.value.verify_ssl,"onUpdate:modelValue":e[6]||(e[6]=a=>l.value.verify_ssl=a)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},te=T(le,[["__scopeId","data-v-c935d190"]]);export{te as default}; diff --git a/web/dist/assets/PVEHosts-DgnxRMDp.js b/web/dist/assets/PVEHosts-DgnxRMDp.js new file mode 100644 index 0000000..a5f48dc --- /dev/null +++ b/web/dist/assets/PVEHosts-DgnxRMDp.js @@ -0,0 +1 @@ +import{k as N,Q as $,o as p,c as f,a as t,b as o,w as s,e as g,M,m as S,n as k,N as z,O as D,r as y,d,h as v,v as L,t as c,a8 as F,as as I,E as V,at as O,au as Q}from"./index-lpjSKhQ-.js";import{_ as T}from"./_plugin-vue_export-helper-DlAUqK2U.js";const j={class:"page"},A={class:"toolbar"},G={key:1,class:"hosts-grid"},J={class:"host-header"},K={class:"host-name"},R={class:"host-info"},W={class:"info-row"},X={class:"value"},Y={class:"info-row"},Z={class:"value"},ee={class:"host-actions"},le={__name:"PVEHosts",setup(ae){const _=y([]),i=y(!1),l=y({name:"",hostname:"",port:8006,node_name:"pve",username:"",password:"",verify_ssl:!1});N(()=>{w()});async function w(){const n=await $();_.value=n.data}function b(n){l.value=n?{...n,password:""}:{name:"",hostname:"",port:8006,node_name:"pve",username:"",password:"",verify_ssl:!1},i.value=!0}async function E(){if(!l.value.name||!l.value.hostname||!l.value.username){V.warning("请填写必填项");return}if(!l.value.id&&!l.value.password){V.warning("请填写密码");return}try{l.value.id?await O(l.value.id,l.value):await Q(l.value),V.success("保存成功"),i.value=!1,w()}catch{}}async function C(n){try{await F.confirm(`确定要删除主机 "${n.name}" 吗?`,"确认删除",{type:"warning"}),await I(n.id),V.success("删除成功"),w()}catch{}}return(n,e)=>{const r=d("el-button"),x=d("el-empty"),P=d("el-icon"),m=d("el-input"),u=d("el-form-item"),U=d("el-input-number"),H=d("el-switch"),h=d("el-form"),q=d("el-dialog");return p(),f("div",j,[t("div",A,[e[11]||(e[11]=t("h2",{class:"page-title"},"PVE 主机管理",-1)),o(r,{type:"primary",icon:g(M),onClick:e[0]||(e[0]=a=>b())},{default:s(()=>[...e[10]||(e[10]=[v("添加主机",-1)])]),_:1},8,["icon"])]),_.value.length?k("",!0):(p(),S(x,{key:0,description:"暂无 PVE 主机"})),_.value.length?(p(),f("div",G,[(p(!0),f(z,null,D(_.value,a=>(p(),f("div",{key:a.id,class:"host-card"},[t("div",J,[o(P,{class:"host-icon"},{default:s(()=>[o(g(L))]),_:1}),t("span",K,c(a.name),1)]),t("div",R,[t("div",W,[e[12]||(e[12]=t("span",{class:"label"},"地址:",-1)),t("span",X,c(a.hostname)+":"+c(a.port),1)]),t("div",Y,[e[13]||(e[13]=t("span",{class:"label"},"用户:",-1)),t("span",Z,c(a.username),1)])]),t("div",ee,[o(r,{size:"small",onClick:B=>b(a)},{default:s(()=>[...e[14]||(e[14]=[v("编辑",-1)])]),_:1},8,["onClick"]),o(r,{size:"small",type:"danger",onClick:B=>C(a)},{default:s(()=>[...e[15]||(e[15]=[v("删除",-1)])]),_:1},8,["onClick"])])]))),128))])):k("",!0),o(q,{modelValue:i.value,"onUpdate:modelValue":e[9]||(e[9]=a=>i.value=a),title:l.value.id?"编辑主机":"添加主机",width:"480px",class:"modern-dialog","destroy-on-close":""},{footer:s(()=>[o(r,{onClick:e[8]||(e[8]=a=>i.value=!1)},{default:s(()=>[...e[16]||(e[16]=[v("取消",-1)])]),_:1}),o(r,{type:"primary",onClick:E},{default:s(()=>[...e[17]||(e[17]=[v("保存",-1)])]),_:1})]),default:s(()=>[o(h,{model:l.value,"label-width":"90px"},{default:s(()=>[o(u,{label:"名称",required:""},{default:s(()=>[o(m,{modelValue:l.value.name,"onUpdate:modelValue":e[1]||(e[1]=a=>l.value.name=a),placeholder:"如 PVE-01"},null,8,["modelValue"])]),_:1}),o(u,{label:"地址",required:""},{default:s(()=>[o(m,{modelValue:l.value.hostname,"onUpdate:modelValue":e[2]||(e[2]=a=>l.value.hostname=a),placeholder:"192.168.1.100"},null,8,["modelValue"])]),_:1}),o(u,{label:"节点名"},{default:s(()=>[o(m,{modelValue:l.value.node_name,"onUpdate:modelValue":e[3]||(e[3]=a=>l.value.node_name=a),placeholder:"pve(默认)"},null,8,["modelValue"])]),_:1}),o(u,{label:"端口"},{default:s(()=>[o(U,{modelValue:l.value.port,"onUpdate:modelValue":e[4]||(e[4]=a=>l.value.port=a),min:1,max:65535,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),o(u,{label:"用户名",required:""},{default:s(()=>[o(m,{modelValue:l.value.username,"onUpdate:modelValue":e[5]||(e[5]=a=>l.value.username=a),placeholder:"root@pam 或 root@vmbr0"},null,8,["modelValue"])]),_:1}),o(u,{label:"密码",required:!l.value.id},{default:s(()=>[o(m,{modelValue:l.value.password,"onUpdate:modelValue":e[6]||(e[6]=a=>l.value.password=a),type:"password","show-password":"",placeholder:l.value.id?"留空保持不变":"必填"},null,8,["modelValue","placeholder"])]),_:1},8,["required"]),o(u,{label:"SSL 验证"},{default:s(()=>[o(H,{modelValue:l.value.verify_ssl,"onUpdate:modelValue":e[7]||(e[7]=a=>l.value.verify_ssl=a)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},te=T(le,[["__scopeId","data-v-bd0711be"]]);export{te as default}; diff --git a/web/dist/assets/Topology-BoCWnE97.js b/web/dist/assets/Topology-DtU27Fr5.js similarity index 99% rename from web/dist/assets/Topology-BoCWnE97.js rename to web/dist/assets/Topology-DtU27Fr5.js index 9efd641..dfc87c8 100644 --- a/web/dist/assets/Topology-BoCWnE97.js +++ b/web/dist/assets/Topology-DtU27Fr5.js @@ -1,4 +1,4 @@ -import{ak as Ka,al as bi,am as me,k as EP,L as _P,an as SP,a3 as MP,K as AP,o as iw,c as CP,a as rc,e as ow,m as TP,w as IP,M as kP,n as NP,ao as OP,G as LP,d as DP,h as PP}from"./index-BFjouPFU.js";import{_ as RP}from"./_plugin-vue_export-helper-DlAUqK2U.js";function FP(t,e){for(var r=0;rn[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}const ty=Object.freeze(Object.defineProperty({__proto__:null,get Base(){return Ea},get Circle(){return b9},get Ellipse(){return w9},get Image(){return x9},get Line(){return E9},get Marker(){return S9},get Path(){return Ky},get Polygon(){return N9},get Polyline(){return O9},get Rect(){return P9},get Text(){return R9}},Symbol.toStringTag,{value:"Module"})),ry=Object.freeze(Object.defineProperty({__proto__:null,get Base(){return aa},get Circle(){return z9},get Dom(){return j9},get Ellipse(){return U9},get Image(){return $9},get Line(){return X9},get Marker(){return W9},get Path(){return V9},get Polygon(){return Y9},get Polyline(){return q9},get Rect(){return Z9},get Text(){return e7}},Symbol.toStringTag,{value:"Module"}));var b0=function(t,e){return b0=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])},b0(t,e)};function jt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");b0(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var P=function(){return P=Object.assign||function(e){for(var r,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(a<3?o(i):a>3?o(e,r,i):o(e,r))||i);return a>3&&i&&Object.defineProperty(e,r,i),i}function vS(t,e){return function(r,n){e(r,n,t)}}function pS(t,e,r,n,a,i){function o(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var s=n.kind,u=s==="getter"?"get":s==="setter"?"set":"value",f=!e&&t?n.static?t:t.prototype:null,l=e||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),c,h=!1,d=r.length-1;d>=0;d--){var v={};for(var p in n)v[p]=p==="access"?{}:n[p];for(var p in n.access)v.access[p]=n.access[p];v.addInitializer=function(y){if(h)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(y||null))};var g=(0,r[d])(s==="accessor"?{get:l.get,set:l.set}:l[u],v);if(s==="accessor"){if(g===void 0)continue;if(g===null||typeof g!="object")throw new TypeError("Object expected");(c=o(g.get))&&(l.get=c),(c=o(g.set))&&(l.set=c),(c=o(g.init))&&a.unshift(c)}else(c=o(g))&&(s==="field"?a.unshift(c):l[u]=c)}f&&Object.defineProperty(f,n.name,l),h=!0}function gS(t,e,r){for(var n=arguments.length>2,a=0;a0&&i[i.length-1])&&(f[0]===6||f[0]===2)){r=0;continue}if(f[0]===3&&(!i||f[1]>i[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ny(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=n.next()).done;)i.push(a.value)}catch(s){o={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return i}function xS(){for(var t=[],e=0;e1||u(d,p)})},v&&(a[d]=v(a[d])))}function u(d,v){try{f(n[d](v))}catch(p){h(i[0][3],p)}}function f(d){d.value instanceof Hs?Promise.resolve(d.value.v).then(l,c):h(i[0][2],d)}function l(d){u("next",d)}function c(d){u("throw",d)}function h(d,v){d(v),i.shift(),i.length&&u(i[0][0],i[0][1])}}function _S(t){var e,r;return e={},n("next"),n("throw",function(a){throw a}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(a,i){e[a]=t[a]?function(o){return(r=!r)?{value:Hs(t[a](o)),done:!1}:i?i(o):o}:i}}function SS(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof _h=="function"?_h(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=t[i]&&function(o){return new Promise(function(s,u){o=t[i](o),a(s,u,o.done,o.value)})}}function a(i,o,s,u){Promise.resolve(u).then(function(f){i({value:f,done:s})},o)}}function MS(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var BP=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},w0=function(t){return w0=Object.getOwnPropertyNames||function(e){var r=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[r.length]=n);return r},w0(t)};function AS(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r=w0(t),n=0;n-1:!1},DS=function(t,e){if(!On(t))return t;for(var r=[],n=0;n-1;)HP.call(t,i,1);return t},QP=Array.prototype.splice,GS=function(e,r){if(!On(e))return[];for(var n=e?r.length:0,a=n-1;n--;){var i=void 0,o=r[n];(n===a||o!==i)&&(i=o,QP.call(e,o,1))}return e},zS=function(t,e,r){if(!bt(t)&&!ln(t))return t;var n=r;return _e(t,function(a,i){n=e(n,a,i)}),n},JP=function(t,e){var r=[];if(!On(t))return r;for(var n=-1,a=[],i=t.length;++ni[s])return 1;if(a[s]r?r:t},pR=function(t,e){var r=e.toString(),n=r.indexOf(".");if(n===-1)return Math.round(t);var a=r.substr(n+1).length;return a>20&&(a=20),parseFloat(t.toFixed(a))},Ot=function(t){return xa(t,"Number")},gR=function(t){return Ot(t)&&t%1!==0},yR=function(t){return Ot(t)&&t%2===0},mR=Number.isInteger?Number.isInteger:function(t){return Ot(t)&&t%1===0},bR=function(t){return Ot(t)&&t<0},wR=1e-5;function US(t,e,r){return r===void 0&&(r=wR),Math.abs(t-e)0};const _R=function(t,e){if(bt(t)){for(var r,n=-1/0,a=0;an&&(r=i,n=o)}return r}},SR=function(t,e){if(bt(t)){for(var r,n=1/0,a=0;ae?(n&&(clearTimeout(n),n=null),s=l,o=t.apply(a,i),n||(a=i=null)):!n&&r.trailing!==!1&&(n=setTimeout(u,c)),o};return f.cancel=function(){clearTimeout(n),s=0,n=a=i=null},f},ZS=function(t){return On(t)?Array.prototype.slice.call(t):[]};var nc={};const Ji=function(t){return t=t||"g",nc[t]?nc[t]+=1:nc[t]=1,t+nc[t]},sf=function(){},a3=function(t){return t};function i3(t){return Zt(t)?0:On(t)?t.length:Object.keys(t).length}var ac;const uf=YS(function(t,e){e===void 0&&(e={});var r=e.fontSize,n=e.fontFamily,a=e.fontWeight,i=e.fontStyle,o=e.fontVariant;return ac||(ac=document.createElement("canvas").getContext("2d")),ac.font=[i,o,a,r+"px",n].join(" "),ac.measureText(Ye(t)?t:"").width},function(t,e){return e===void 0&&(e={}),ay([t],iy(e)).join("")}),o3=function(t,e,r,n){n===void 0&&(n="...");var a=16,i=uf(n,r),o=Ye(t)?t:vu(t),s=e,u=[],f,l;if(uf(t,r)<=e)return t;for(;f=o.substr(0,a),l=uf(f,r),!(l+i>s&&l>s);)if(u.push(f),s-=l,o=o.substr(a),!o)return u.join("");for(;f=o.substr(0,1),l=uf(f,r),!(l+i>s);)if(u.push(f),s-=l,o=o.substr(1),!o)return u.join("");return""+u.join("")+n};var s3=function(){function t(){this.map={}}return t.prototype.has=function(e){return this.map[e]!==void 0},t.prototype.get=function(e,r){var n=this.map[e];return n===void 0?r:n},t.prototype.set=function(e,r){this.map[e]=r},t.prototype.clear=function(){this.map={}},t.prototype.delete=function(e){delete this.map[e]},t.prototype.size=function(){return Object.keys(this.map).length},t}();const u3=Object.freeze(Object.defineProperty({__proto__:null,Cache:s3,assign:Et,augment:XR,clamp:vR,clearAnimationFrame:VS,clone:rr,contains:Sh,debounce:oy,deepMix:_r,difference:UP,each:_e,endsWith:oR,every:sR,extend:VR,filter:DS,find:XP,findIndex:WP,firstValue:VP,fixedBase:pR,flatten:YP,flattenDeep:FS,forIn:_e,get:HS,getEllipsisText:o3,getRange:qP,getType:$S,getWrapBehavior:cR,group:lR,groupBy:Ah,groupToMap:jS,has:uw,hasKey:uw,hasValue:IR,head:nR,identity:a3,includes:Sh,indexOf:YR,isArguments:PR,isArray:bt,isArrayLike:On,isBoolean:Qf,isDate:RR,isDecimal:gR,isElement:$R,isEmpty:HR,isEqual:jo,isEqualWith:ZR,isError:FR,isEven:yR,isFinite:BR,isFunction:Tr,isInteger:mR,isMatch:RS,isNegative:bR,isNil:Zt,isNull:GR,isNumber:Ot,isNumberEqual:US,isObject:gn,isObjectLike:Mh,isOdd:xR,isPlainObject:ln,isPositive:ER,isPrototype:XS,isRegExp:jR,isString:Ye,isType:xa,isUndefined:UR,keys:PS,last:aR,lowerCase:kR,lowerFirst:NR,map:KR,mapValues:JR,max:qa,maxBy:_R,measureTextWidth:uf,memoize:YS,min:Ha,minBy:SR,mix:Et,mod:gd,noop:sf,number2color:hR,omit:n3,parseRadius:dR,pick:r3,pull:KP,pullAt:GS,reduce:zS,remove:JP,requestAnimationFrame:WS,set:e3,size:i3,some:uR,sortBy:eR,startsWith:iR,substitute:OR,throttle:Ch,toArray:ZS,toDegree:AR,toInteger:CR,toRadian:yd,toString:vu,union:tR,uniq:kf,uniqueId:Ji,upperCase:LR,upperFirst:Zs,values:iy,valuesOfKey:rR,wrapBehavior:Bs},Symbol.toStringTag,{value:"Module"})),f3={getDefaultCfg:function(){return{}},getEvents:function(){return{}},updateCfg:function(e){return Object.assign(this,e),!0},shouldBegin:function(){return!0},shouldUpdate:function(){return!0},shouldEnd:function(){return!0},bind:function(e){var r=this,n=this.events;this.graph=e,(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!0),_e(n,function(a,i){e.on(i,a)}),document.addEventListener("visibilitychange",function(){r.keydown=!1})},unbind:function(e){var r=this.events,n=e.get("canvas").get("draggable");(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!1),_e(r,function(a,i){e.off(i,a)}),e.get("canvas").set("draggable",n)},get:function(e){return this[e]},set:function(e,r){return this[e]=r,this}};var sy=function(){function t(){}return t.registerBehavior=function(e,r){if(!r)throw new Error("please specify handler for this behavior: ".concat(e));var n=rr(f3);Object.assign(n,r);var a=function(o){var s=this;Object.assign(this,this.getDefaultCfg(),o);var u=this.getEvents();this.events=null;var f={};u&&(_e(u,function(l,c){f[c]=Bs(s,l)}),this.events=f)};a.prototype=n,t.types[e]=a},t.hasBehavior=function(e){return!!t.types[e]},t.getBehavior=function(e){return t.types[e]},t.types={},t}(),l3="*",KS=function(){function t(){this._events={}}return t.prototype.on=function(e,r,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:r,once:!!n}),this},t.prototype.once=function(e,r){return this.on(e,r,!0)},t.prototype.emit=function(e){for(var r=this,n=[],a=1;a=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}function c3(t){qt=t}var h3=Math.PI/180,d3=180/Math.PI;function v3(t){return t*h3}function p3(t){return t*d3}function g3(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:pt;return Math.abs(t-e)<=r*Math.max(1,Math.abs(t),Math.abs(e))}const y3=Object.freeze(Object.defineProperty({__proto__:null,ANGLE_ORDER:QS,get ARRAY_TYPE(){return qt},EPSILON:pt,RANDOM:ya,equals:g3,round:Ba,setMatrixArrayType:c3,toDegree:p3,toRadian:v3},Symbol.toStringTag,{value:"Module"}));function m3(){var t=new qt(4);return qt!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}function b3(t){var e=new qt(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function w3(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function x3(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t}function E3(t,e,r,n){var a=new qt(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}function _3(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}function S3(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t}function M3(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*i-a*n;return o?(o=1/o,t[0]=i*o,t[1]=-n*o,t[2]=-a*o,t[3]=r*o,t):null}function A3(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t}function C3(t){return t[0]*t[3]-t[2]*t[1]}function JS(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1],f=r[2],l=r[3];return t[0]=n*s+i*u,t[1]=a*s+o*u,t[2]=n*f+i*l,t[3]=a*f+o*l,t}function T3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+i*s,t[1]=a*u+o*s,t[2]=n*-s+i*u,t[3]=a*-s+o*u,t}function I3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1];return t[0]=n*s,t[1]=a*s,t[2]=i*u,t[3]=o*u,t}function k3(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t}function N3(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t}function O3(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function L3(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3])}function D3(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]}function P3(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function eM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}function R3(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function F3(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=e[0],s=e[1],u=e[2],f=e[3];return Math.abs(r-o)<=pt*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=pt*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=pt*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-f)<=pt*Math.max(1,Math.abs(i),Math.abs(f))}function B3(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function G3(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}var z3=JS,j3=eM;const U3=Object.freeze(Object.defineProperty({__proto__:null,LDU:D3,add:P3,adjoint:A3,clone:b3,copy:w3,create:m3,determinant:C3,equals:F3,exactEquals:R3,frob:L3,fromRotation:k3,fromScaling:N3,fromValues:E3,identity:x3,invert:M3,mul:z3,multiply:JS,multiplyScalar:B3,multiplyScalarAndAdd:G3,rotate:T3,scale:I3,set:_3,str:O3,sub:j3,subtract:eM,transpose:S3},Symbol.toStringTag,{value:"Module"}));function $3(){var t=new qt(6);return qt!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t}function X3(t){var e=new qt(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function W3(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function V3(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function Y3(t,e,r,n,a,i){var o=new qt(6);return o[0]=t,o[1]=e,o[2]=r,o[3]=n,o[4]=a,o[5]=i,o}function q3(t,e,r,n,a,i,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t}function H3(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=r*i-n*a;return u?(u=1/u,t[0]=i*u,t[1]=-n*u,t[2]=-a*u,t[3]=r*u,t[4]=(a*s-i*o)*u,t[5]=(n*o-r*s)*u,t):null}function Z3(t){return t[0]*t[3]-t[1]*t[2]}function tM(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=r[0],l=r[1],c=r[2],h=r[3],d=r[4],v=r[5];return t[0]=n*f+i*l,t[1]=a*f+o*l,t[2]=n*c+i*h,t[3]=a*c+o*h,t[4]=n*d+i*v+s,t[5]=a*d+o*v+u,t}function K3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*f,t[1]=a*l+o*f,t[2]=n*-f+i*l,t[3]=a*-f+o*l,t[4]=s,t[5]=u,t}function Q3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=r[0],l=r[1];return t[0]=n*f,t[1]=a*f,t[2]=i*l,t[3]=o*l,t[4]=s,t[5]=u,t}function J3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=r[0],l=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=n*f+i*l+s,t[5]=a*f+o*l+u,t}function e5(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t}function t5(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t}function r5(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t}function n5(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"}function a5(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+1)}function i5(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t}function rM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t}function o5(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t}function s5(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t}function u5(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]}function f5(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=e[0],f=e[1],l=e[2],c=e[3],h=e[4],d=e[5];return Math.abs(r-u)<=pt*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-f)<=pt*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(a-l)<=pt*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(i-c)<=pt*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(o-h)<=pt*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(s-d)<=pt*Math.max(1,Math.abs(s),Math.abs(d))}var l5=tM,c5=rM;const h5=Object.freeze(Object.defineProperty({__proto__:null,add:i5,clone:X3,copy:W3,create:$3,determinant:Z3,equals:f5,exactEquals:u5,frob:a5,fromRotation:e5,fromScaling:t5,fromTranslation:r5,fromValues:Y3,identity:V3,invert:H3,mul:l5,multiply:tM,multiplyScalar:o5,multiplyScalarAndAdd:s5,rotate:K3,scale:Q3,set:q3,str:n5,sub:c5,subtract:rM,translate:J3},Symbol.toStringTag,{value:"Module"}));function nM(){var t=new qt(9);return qt!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function d5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function v5(t){var e=new qt(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function p5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function g5(t,e,r,n,a,i,o,s,u){var f=new qt(9);return f[0]=t,f[1]=e,f[2]=r,f[3]=n,f[4]=a,f[5]=i,f[6]=o,f[7]=s,f[8]=u,f}function y5(t,e,r,n,a,i,o,s,u,f){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=u,t[8]=f,t}function m5(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function b5(t,e){if(t===e){var r=e[1],n=e[2],a=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=a}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function aM(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=l*o-s*f,h=-l*i+s*u,d=f*i-o*u,v=r*c+n*h+a*d;return v?(v=1/v,t[0]=c*v,t[1]=(-l*n+a*f)*v,t[2]=(s*n-a*o)*v,t[3]=h*v,t[4]=(l*r-a*u)*v,t[5]=(-s*r+a*i)*v,t[6]=d*v,t[7]=(-f*r+n*u)*v,t[8]=(o*r-n*i)*v,t):null}function w5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8];return t[0]=o*l-s*f,t[1]=a*f-n*l,t[2]=n*s-a*o,t[3]=s*u-i*l,t[4]=r*l-a*u,t[5]=a*i-r*s,t[6]=i*f-o*u,t[7]=n*u-r*f,t[8]=r*o-n*i,t}function x5(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],u=t[7],f=t[8];return e*(f*i-o*u)+r*(-f*a+o*s)+n*(u*a-i*s)}function Qa(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=r[0],d=r[1],v=r[2],p=r[3],g=r[4],y=r[5],m=r[6],b=r[7],w=r[8];return t[0]=h*n+d*o+v*f,t[1]=h*a+d*s+v*l,t[2]=h*i+d*u+v*c,t[3]=p*n+g*o+y*f,t[4]=p*a+g*s+y*l,t[5]=p*i+g*u+y*c,t[6]=m*n+b*o+w*f,t[7]=m*a+b*s+w*l,t[8]=m*i+b*u+w*c,t}function E5(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=u,t[6]=h*n+d*o+f,t[7]=h*a+d*s+l,t[8]=h*i+d*u+c,t}function _5(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*a+h*s,t[2]=d*i+h*u,t[3]=d*o-h*n,t[4]=d*s-h*a,t[5]=d*u-h*i,t[6]=f,t[7]=l,t[8]=c,t}function S5(t,e,r){var n=r[0],a=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=a*e[3],t[4]=a*e[4],t[5]=a*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function uy(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function fy(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function ly(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function M5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function A5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,u=a+a,f=r*o,l=n*o,c=n*s,h=a*o,d=a*s,v=a*u,p=i*o,g=i*s,y=i*u;return t[0]=1-c-v,t[3]=l-y,t[6]=h+g,t[1]=l+y,t[4]=1-f-v,t[7]=d-p,t[2]=h-g,t[5]=d+p,t[8]=1-f-c,t}function C5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=e[9],h=e[10],d=e[11],v=e[12],p=e[13],g=e[14],y=e[15],m=r*s-n*o,b=r*u-a*o,w=r*f-i*o,x=n*u-a*s,E=n*f-i*s,_=a*f-i*u,S=l*p-c*v,A=l*g-h*v,M=l*y-d*v,C=c*g-h*p,I=c*y-d*p,k=h*y-d*g,O=m*k-b*I+w*C+x*M-E*A+_*S;return O?(O=1/O,t[0]=(s*k-u*I+f*C)*O,t[1]=(u*M-o*k-f*A)*O,t[2]=(o*I-s*M+f*S)*O,t[3]=(a*I-n*k-i*C)*O,t[4]=(r*k-a*M+i*A)*O,t[5]=(n*M-r*I-i*S)*O,t[6]=(p*_-g*E+y*x)*O,t[7]=(g*w-v*_-y*b)*O,t[8]=(v*E-p*w+y*m)*O,t):null}function T5(t,e,r){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function I5(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function k5(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8])}function N5(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t}function iM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t}function O5(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t}function L5(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t}function D5(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function P5(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],f=t[7],l=t[8],c=e[0],h=e[1],d=e[2],v=e[3],p=e[4],g=e[5],y=e[6],m=e[7],b=e[8];return Math.abs(r-c)<=pt*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(n-h)<=pt*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(a-d)<=pt*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(i-v)<=pt*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(o-p)<=pt*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(s-g)<=pt*Math.max(1,Math.abs(s),Math.abs(g))&&Math.abs(u-y)<=pt*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(f-m)<=pt*Math.max(1,Math.abs(f),Math.abs(m))&&Math.abs(l-b)<=pt*Math.max(1,Math.abs(l),Math.abs(b))}var R5=Qa,F5=iM;const oM=Object.freeze(Object.defineProperty({__proto__:null,add:N5,adjoint:w5,clone:v5,copy:p5,create:nM,determinant:x5,equals:P5,exactEquals:D5,frob:k5,fromMat2d:M5,fromMat4:d5,fromQuat:A5,fromRotation:fy,fromScaling:ly,fromTranslation:uy,fromValues:g5,identity:m5,invert:aM,mul:R5,multiply:Qa,multiplyScalar:O5,multiplyScalarAndAdd:L5,normalFromMat4:C5,projection:T5,rotate:_5,scale:S5,set:y5,str:I5,sub:F5,subtract:iM,translate:E5,transpose:b5},Symbol.toStringTag,{value:"Module"}));function B5(){var t=new qt(16);return qt!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function G5(t){var e=new qt(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function z5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function j5(t,e,r,n,a,i,o,s,u,f,l,c,h,d,v,p){var g=new qt(16);return g[0]=t,g[1]=e,g[2]=r,g[3]=n,g[4]=a,g[5]=i,g[6]=o,g[7]=s,g[8]=u,g[9]=f,g[10]=l,g[11]=c,g[12]=h,g[13]=d,g[14]=v,g[15]=p,g}function U5(t,e,r,n,a,i,o,s,u,f,l,c,h,d,v,p,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=u,t[8]=f,t[9]=l,t[10]=c,t[11]=h,t[12]=d,t[13]=v,t[14]=p,t[15]=g,t}function sM(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function $5(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function X5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=e[9],h=e[10],d=e[11],v=e[12],p=e[13],g=e[14],y=e[15],m=r*s-n*o,b=r*u-a*o,w=r*f-i*o,x=n*u-a*s,E=n*f-i*s,_=a*f-i*u,S=l*p-c*v,A=l*g-h*v,M=l*y-d*v,C=c*g-h*p,I=c*y-d*p,k=h*y-d*g,O=m*k-b*I+w*C+x*M-E*A+_*S;return O?(O=1/O,t[0]=(s*k-u*I+f*C)*O,t[1]=(a*I-n*k-i*C)*O,t[2]=(p*_-g*E+y*x)*O,t[3]=(h*E-c*_-d*x)*O,t[4]=(u*M-o*k-f*A)*O,t[5]=(r*k-a*M+i*A)*O,t[6]=(g*w-v*_-y*b)*O,t[7]=(l*_-h*w+d*b)*O,t[8]=(o*I-s*M+f*S)*O,t[9]=(n*M-r*I-i*S)*O,t[10]=(v*E-p*w+y*m)*O,t[11]=(c*w-l*E-d*m)*O,t[12]=(s*A-o*C-u*S)*O,t[13]=(r*C-n*A+a*S)*O,t[14]=(p*b-v*x-g*m)*O,t[15]=(l*x-c*b+h*m)*O,t):null}function W5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=e[9],h=e[10],d=e[11],v=e[12],p=e[13],g=e[14],y=e[15],m=r*s-n*o,b=r*u-a*o,w=r*f-i*o,x=n*u-a*s,E=n*f-i*s,_=a*f-i*u,S=l*p-c*v,A=l*g-h*v,M=l*y-d*v,C=c*g-h*p,I=c*y-d*p,k=h*y-d*g;return t[0]=s*k-u*I+f*C,t[1]=a*I-n*k-i*C,t[2]=p*_-g*E+y*x,t[3]=h*E-c*_-d*x,t[4]=u*M-o*k-f*A,t[5]=r*k-a*M+i*A,t[6]=g*w-v*_-y*b,t[7]=l*_-h*w+d*b,t[8]=o*I-s*M+f*S,t[9]=n*M-r*I-i*S,t[10]=v*E-p*w+y*m,t[11]=c*w-l*E-d*m,t[12]=s*A-o*C-u*S,t[13]=r*C-n*A+a*S,t[14]=p*b-v*x-g*m,t[15]=l*x-c*b+h*m,t}function V5(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],u=t[7],f=t[8],l=t[9],c=t[10],h=t[11],d=t[12],v=t[13],p=t[14],g=t[15],y=e*o-r*i,m=e*s-n*i,b=r*s-n*o,w=f*v-l*d,x=f*p-c*d,E=l*p-c*v,_=e*E-r*x+n*w,S=i*E-o*x+s*w,A=f*b-l*m+c*y,M=d*b-v*m+p*y;return u*_-a*S+g*A-h*M}function uM(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=e[9],d=e[10],v=e[11],p=e[12],g=e[13],y=e[14],m=e[15],b=r[0],w=r[1],x=r[2],E=r[3];return t[0]=b*n+w*s+x*c+E*p,t[1]=b*a+w*u+x*h+E*g,t[2]=b*i+w*f+x*d+E*y,t[3]=b*o+w*l+x*v+E*m,b=r[4],w=r[5],x=r[6],E=r[7],t[4]=b*n+w*s+x*c+E*p,t[5]=b*a+w*u+x*h+E*g,t[6]=b*i+w*f+x*d+E*y,t[7]=b*o+w*l+x*v+E*m,b=r[8],w=r[9],x=r[10],E=r[11],t[8]=b*n+w*s+x*c+E*p,t[9]=b*a+w*u+x*h+E*g,t[10]=b*i+w*f+x*d+E*y,t[11]=b*o+w*l+x*v+E*m,b=r[12],w=r[13],x=r[14],E=r[15],t[12]=b*n+w*s+x*c+E*p,t[13]=b*a+w*u+x*h+E*g,t[14]=b*i+w*f+x*d+E*y,t[15]=b*o+w*l+x*v+E*m,t}function Y5(t,e,r){var n=r[0],a=r[1],i=r[2],o,s,u,f,l,c,h,d,v,p,g,y;return e===t?(t[12]=e[0]*n+e[4]*a+e[8]*i+e[12],t[13]=e[1]*n+e[5]*a+e[9]*i+e[13],t[14]=e[2]*n+e[6]*a+e[10]*i+e[14],t[15]=e[3]*n+e[7]*a+e[11]*i+e[15]):(o=e[0],s=e[1],u=e[2],f=e[3],l=e[4],c=e[5],h=e[6],d=e[7],v=e[8],p=e[9],g=e[10],y=e[11],t[0]=o,t[1]=s,t[2]=u,t[3]=f,t[4]=l,t[5]=c,t[6]=h,t[7]=d,t[8]=v,t[9]=p,t[10]=g,t[11]=y,t[12]=o*n+l*a+v*i+e[12],t[13]=s*n+c*a+p*i+e[13],t[14]=u*n+h*a+g*i+e[14],t[15]=f*n+d*a+y*i+e[15]),t}function q5(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function H5(t,e,r,n){var a=n[0],i=n[1],o=n[2],s=Math.sqrt(a*a+i*i+o*o),u,f,l,c,h,d,v,p,g,y,m,b,w,x,E,_,S,A,M,C,I,k,O,B;return s0?(r[0]=(s*o+l*n+u*i-f*a)*2/c,r[1]=(u*o+l*a+f*n-s*i)*2/c,r[2]=(f*o+l*i+s*a-u*n)*2/c):(r[0]=(s*o+l*n+u*i-f*a)*2,r[1]=(u*o+l*a+f*n-s*i)*2,r[2]=(f*o+l*i+s*a-u*n)*2),fM(t,e,r),t}function lM(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function cM(t,e){var r=e[0],n=e[1],a=e[2],i=e[4],o=e[5],s=e[6],u=e[8],f=e[9],l=e[10];return t[0]=Math.sqrt(r*r+n*n+a*a),t[1]=Math.sqrt(i*i+o*o+s*s),t[2]=Math.sqrt(u*u+f*f+l*l),t}function hM(t,e){var r=new qt(3);cM(r,e);var n=1/r[0],a=1/r[1],i=1/r[2],o=e[0]*n,s=e[1]*a,u=e[2]*i,f=e[4]*n,l=e[5]*a,c=e[6]*i,h=e[8]*n,d=e[9]*a,v=e[10]*i,p=o+l+v,g=0;return p>0?(g=Math.sqrt(p+1)*2,t[3]=.25*g,t[0]=(c-d)/g,t[1]=(h-u)/g,t[2]=(s-f)/g):o>l&&o>v?(g=Math.sqrt(1+o-l-v)*2,t[3]=(c-d)/g,t[0]=.25*g,t[1]=(s+f)/g,t[2]=(h+u)/g):l>v?(g=Math.sqrt(1+l-o-v)*2,t[3]=(h-u)/g,t[0]=(s+f)/g,t[1]=.25*g,t[2]=(c+d)/g):(g=Math.sqrt(1+v-o-l)*2,t[3]=(s-f)/g,t[0]=(h+u)/g,t[1]=(c+d)/g,t[2]=.25*g),t}function oF(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];var a=n[0],i=n[1],o=n[2],s=n[4],u=n[5],f=n[6],l=n[8],c=n[9],h=n[10];r[0]=Math.sqrt(a*a+i*i+o*o),r[1]=Math.sqrt(s*s+u*u+f*f),r[2]=Math.sqrt(l*l+c*c+h*h);var d=1/r[0],v=1/r[1],p=1/r[2],g=a*d,y=i*v,m=o*p,b=s*d,w=u*v,x=f*p,E=l*d,_=c*v,S=h*p,A=g+w+S,M=0;return A>0?(M=Math.sqrt(A+1)*2,t[3]=.25*M,t[0]=(x-_)/M,t[1]=(E-m)/M,t[2]=(y-b)/M):g>w&&g>S?(M=Math.sqrt(1+g-w-S)*2,t[3]=(x-_)/M,t[0]=.25*M,t[1]=(y+b)/M,t[2]=(E+m)/M):w>S?(M=Math.sqrt(1+w-g-S)*2,t[3]=(E-m)/M,t[0]=(y+b)/M,t[1]=.25*M,t[2]=(x+_)/M):(M=Math.sqrt(1+S-g-w)*2,t[3]=(y-b)/M,t[0]=(E+m)/M,t[1]=(x+_)/M,t[2]=.25*M),t}function sF(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3],u=a+a,f=i+i,l=o+o,c=a*u,h=a*f,d=a*l,v=i*f,p=i*l,g=o*l,y=s*u,m=s*f,b=s*l,w=n[0],x=n[1],E=n[2];return t[0]=(1-(v+g))*w,t[1]=(h+b)*w,t[2]=(d-m)*w,t[3]=0,t[4]=(h-b)*x,t[5]=(1-(c+g))*x,t[6]=(p+y)*x,t[7]=0,t[8]=(d+m)*E,t[9]=(p-y)*E,t[10]=(1-(c+v))*E,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function uF(t,e,r,n,a){var i=e[0],o=e[1],s=e[2],u=e[3],f=i+i,l=o+o,c=s+s,h=i*f,d=i*l,v=i*c,p=o*l,g=o*c,y=s*c,m=u*f,b=u*l,w=u*c,x=n[0],E=n[1],_=n[2],S=a[0],A=a[1],M=a[2],C=(1-(p+y))*x,I=(d+w)*x,k=(v-b)*x,O=(d-w)*E,B=(1-(h+y))*E,L=(g+m)*E,z=(v+b)*_,X=(g-m)*_,R=(1-(h+p))*_;return t[0]=C,t[1]=I,t[2]=k,t[3]=0,t[4]=O,t[5]=B,t[6]=L,t[7]=0,t[8]=z,t[9]=X,t[10]=R,t[11]=0,t[12]=r[0]+S-(C*S+O*A+z*M),t[13]=r[1]+A-(I*S+B*A+X*M),t[14]=r[2]+M-(k*S+L*A+R*M),t[15]=1,t}function fF(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,u=a+a,f=r*o,l=n*o,c=n*s,h=a*o,d=a*s,v=a*u,p=i*o,g=i*s,y=i*u;return t[0]=1-c-v,t[1]=l+y,t[2]=h-g,t[3]=0,t[4]=l-y,t[5]=1-f-v,t[6]=d+p,t[7]=0,t[8]=h+g,t[9]=d-p,t[10]=1-f-c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function lF(t,e,r,n,a,i,o){var s=1/(r-e),u=1/(a-n),f=1/(i-o);return t[0]=i*2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i*2*u,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(a+n)*u,t[10]=(o+i)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*i*2*f,t[15]=0,t}function dM(t,e,r,n,a){var i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,a!=null&&a!==1/0){var o=1/(n-a);t[10]=(a+n)*o,t[14]=2*a*n*o}else t[10]=-1,t[14]=-2*n;return t}var cF=dM;function hF(t,e,r,n,a){var i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,a!=null&&a!==1/0){var o=1/(n-a);t[10]=a*o,t[14]=a*n*o}else t[10]=-1,t[14]=-n;return t}function dF(t,e,r,n){var a=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),u=2/(o+s),f=2/(a+i);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-s)*u*.5),t[9]=(a-i)*f*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function vM(t,e,r,n,a,i,o){var s=1/(e-r),u=1/(n-a),f=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*u,t[14]=(o+i)*f,t[15]=1,t}var vF=vM;function pF(t,e,r,n,a,i,o){var s=1/(e-r),u=1/(n-a),f=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=f,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*u,t[14]=i*f,t[15]=1,t}function gF(t,e,r,n){var a,i,o,s,u,f,l,c,h,d,v=e[0],p=e[1],g=e[2],y=n[0],m=n[1],b=n[2],w=r[0],x=r[1],E=r[2];return Math.abs(v-w)0&&(d=1/Math.sqrt(d),l*=d,c*=d,h*=d);var v=u*h-f*c,p=f*l-s*h,g=s*c-u*l;return d=v*v+p*p+g*g,d>0&&(d=1/Math.sqrt(d),v*=d,p*=d,g*=d),t[0]=v,t[1]=p,t[2]=g,t[3]=0,t[4]=c*g-h*p,t[5]=h*v-l*g,t[6]=l*p-c*v,t[7]=0,t[8]=l,t[9]=c,t[10]=h,t[11]=0,t[12]=a,t[13]=i,t[14]=o,t[15]=1,t}function mF(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function bF(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function wF(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function pM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function xF(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function EF(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function _F(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function SF(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],f=t[7],l=t[8],c=t[9],h=t[10],d=t[11],v=t[12],p=t[13],g=t[14],y=t[15],m=e[0],b=e[1],w=e[2],x=e[3],E=e[4],_=e[5],S=e[6],A=e[7],M=e[8],C=e[9],I=e[10],k=e[11],O=e[12],B=e[13],L=e[14],z=e[15];return Math.abs(r-m)<=pt*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(n-b)<=pt*Math.max(1,Math.abs(n),Math.abs(b))&&Math.abs(a-w)<=pt*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(i-x)<=pt*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-E)<=pt*Math.max(1,Math.abs(o),Math.abs(E))&&Math.abs(s-_)<=pt*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(u-S)<=pt*Math.max(1,Math.abs(u),Math.abs(S))&&Math.abs(f-A)<=pt*Math.max(1,Math.abs(f),Math.abs(A))&&Math.abs(l-M)<=pt*Math.max(1,Math.abs(l),Math.abs(M))&&Math.abs(c-C)<=pt*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(h-I)<=pt*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(d-k)<=pt*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(v-O)<=pt*Math.max(1,Math.abs(v),Math.abs(O))&&Math.abs(p-B)<=pt*Math.max(1,Math.abs(p),Math.abs(B))&&Math.abs(g-L)<=pt*Math.max(1,Math.abs(g),Math.abs(L))&&Math.abs(y-z)<=pt*Math.max(1,Math.abs(y),Math.abs(z))}var MF=uM,AF=pM;const CF=Object.freeze(Object.defineProperty({__proto__:null,add:wF,adjoint:W5,clone:G5,copy:z5,create:B5,decompose:oF,determinant:V5,equals:SF,exactEquals:_F,frob:bF,fromQuat:fF,fromQuat2:iF,fromRotation:tF,fromRotationTranslation:fM,fromRotationTranslationScale:sF,fromRotationTranslationScaleOrigin:uF,fromScaling:eF,fromTranslation:J5,fromValues:j5,fromXRotation:rF,fromYRotation:nF,fromZRotation:aF,frustum:lF,getRotation:hM,getScaling:cM,getTranslation:lM,identity:sM,invert:X5,lookAt:gF,mul:MF,multiply:uM,multiplyScalar:xF,multiplyScalarAndAdd:EF,ortho:vF,orthoNO:vM,orthoZO:pF,perspective:cF,perspectiveFromFieldOfView:dF,perspectiveNO:dM,perspectiveZO:hF,rotate:H5,rotateX:Z5,rotateY:K5,rotateZ:Q5,scale:q5,set:U5,str:mF,sub:AF,subtract:pM,targetTo:yF,translate:Y5,transpose:$5},Symbol.toStringTag,{value:"Module"}));function cy(){var t=new qt(3);return qt!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function TF(t){var e=new qt(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function gM(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function x0(t,e,r){var n=new qt(3);return n[0]=t,n[1]=e,n[2]=r,n}function IF(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function kF(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function NF(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function yM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function mM(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function bM(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function OF(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function LF(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function DF(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function PF(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function RF(t,e){return t[0]=Ba(e[0]),t[1]=Ba(e[1]),t[2]=Ba(e[2]),t}function FF(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function BF(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function wM(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}function xM(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}function EM(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function GF(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function zF(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function _M(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function md(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function eh(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],u=r[2];return t[0]=a*u-i*s,t[1]=i*o-n*u,t[2]=n*s-a*o,t}function jF(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}function UF(t,e,r,n){var a=Math.acos(Math.min(Math.max(md(e,r),-1),1)),i=Math.sin(a),o=Math.sin((1-n)*a)/i,s=Math.sin(n*a)/i;return t[0]=o*e[0]+s*r[0],t[1]=o*e[1]+s*r[1],t[2]=o*e[2]+s*r[2],t}function $F(t,e,r,n,a,i){var o=i*i,s=o*(2*i-3)+1,u=o*(i-2)+i,f=o*(i-1),l=o*(3-2*i);return t[0]=e[0]*s+r[0]*u+n[0]*f+a[0]*l,t[1]=e[1]*s+r[1]*u+n[1]*f+a[1]*l,t[2]=e[2]*s+r[2]*u+n[2]*f+a[2]*l,t}function XF(t,e,r,n,a,i){var o=1-i,s=o*o,u=i*i,f=s*o,l=3*i*s,c=3*u*o,h=u*i;return t[0]=e[0]*f+r[0]*l+n[0]*c+a[0]*h,t[1]=e[1]*f+r[1]*l+n[1]*c+a[1]*h,t[2]=e[2]*f+r[2]*l+n[2]*c+a[2]*h,t}function WF(t,e){e=e===void 0?1:e;var r=ya()*2*Math.PI,n=ya()*2-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}function VF(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}function bd(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}function YF(t,e,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=e[0],u=e[1],f=e[2],l=a*f-i*u,c=i*s-n*f,h=n*u-a*s;return l=l+l,c=c+c,h=h+h,t[0]=s+o*l+a*h-i*c,t[1]=u+o*c+i*l-n*h,t[2]=f+o*h+n*c-a*l,t}function qF(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function HF(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function ZF(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function KF(t,e){var r=t[0],n=t[1],a=t[2],i=e[0],o=e[1],s=e[2],u=Math.sqrt((r*r+n*n+a*a)*(i*i+o*o+s*s)),f=u&&md(t,e)/u;return Math.acos(Math.min(Math.max(f,-1),1))}function QF(t){return t[0]=0,t[1]=0,t[2]=0,t}function JF(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function eB(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function tB(t,e){var r=t[0],n=t[1],a=t[2],i=e[0],o=e[1],s=e[2];return Math.abs(r-i)<=pt*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=pt*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-s)<=pt*Math.max(1,Math.abs(a),Math.abs(s))}var rB=yM,nB=mM,aB=bM,iB=wM,oB=xM,SM=gM,sB=EM,uB=function(){var t=cy();return function(e,r,n,a,i,o){var s,u;for(r||(r=3),n||(n=0),a?u=Math.min(a*r+n,e.length):u=e.length,s=n;s0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o,t}function vy(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function mB(t,e,r,n){var a=r[0]*n[1]-r[1]*n[0],i=r[0]*n[2]-r[2]*n[0],o=r[0]*n[3]-r[3]*n[0],s=r[1]*n[2]-r[2]*n[1],u=r[1]*n[3]-r[3]*n[1],f=r[2]*n[3]-r[3]*n[2],l=e[0],c=e[1],h=e[2],d=e[3];return t[0]=c*f-h*u+d*s,t[1]=-(l*f)+h*o-d*i,t[2]=l*u-c*o+d*a,t[3]=-(l*s)+c*i-h*a,t}function BM(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}function bB(t,e){e=e===void 0?1:e;var r,n,a,i,o,s,u;u=ya(),r=u*2-1,n=(4*ya()-2)*Math.sqrt(u*-u+u),o=r*r+n*n,u=ya(),a=u*2-1,i=(4*ya()-2)*Math.sqrt(u*-u+u),s=a*a+i*i;var f=Math.sqrt((1-o)/s);return t[0]=e*r,t[1]=e*n,t[2]=e*a*f,t[3]=e*i*f,t}function wB(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}function xB(t,e,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=e[0],u=e[1],f=e[2],l=a*f-i*u,c=i*s-n*f,h=n*u-a*s;return l=l+l,c=c+c,h=h+h,t[0]=s+o*l+a*h-i*c,t[1]=u+o*c+i*l-n*h,t[2]=f+o*h+n*c-a*l,t[3]=e[3],t}function EB(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}function _B(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function GM(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function SB(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=e[0],s=e[1],u=e[2],f=e[3];return Math.abs(r-o)<=pt*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=pt*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=pt*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-f)<=pt*Math.max(1,Math.abs(i),Math.abs(f))}var MB=NM,AB=OM,CB=LM,TB=PM,IB=RM,kB=hy,NB=dy,OB=function(){var t=MM();return function(e,r,n,a,i,o){var s,u;for(r||(r=4),n||(n=0),a?u=Math.min(a*r+n,e.length):u=e.length,s=n;spt?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r}function RB(t,e){var r=gy(t,e);return Math.acos(2*r*r-1)}function jM(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1],f=r[2],l=r[3];return t[0]=n*l+o*s+a*f-i*u,t[1]=a*l+o*u+i*s-n*f,t[2]=i*l+o*f+n*u-a*s,t[3]=o*l-n*s-a*u-i*f,t}function UM(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+o*s,t[1]=a*u+i*s,t[2]=i*u-a*s,t[3]=o*u-n*s,t}function $M(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u-i*s,t[1]=a*u+o*s,t[2]=i*u+n*s,t[3]=o*u-a*s,t}function XM(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*s,t[1]=a*u-n*s,t[2]=i*u+o*s,t[3]=o*u-i*s,t}function FB(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t}function WM(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=Math.sqrt(r*r+n*n+a*a),s=Math.exp(i),u=o>0?s*Math.sin(o)/o:0;return t[0]=r*u,t[1]=n*u,t[2]=a*u,t[3]=s*Math.cos(o),t}function VM(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=Math.sqrt(r*r+n*n+a*a),s=o>0?Math.atan2(o,i)/o:0;return t[0]=r*s,t[1]=n*s,t[2]=a*s,t[3]=.5*Math.log(r*r+n*n+a*a+i*i),t}function BB(t,e,r){return VM(t,e),qM(t,t,r),WM(t,t),t}function th(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3],u=r[0],f=r[1],l=r[2],c=r[3],h,d,v,p,g;return d=a*u+i*f+o*l+s*c,d<0&&(d=-d,u=-u,f=-f,l=-l,c=-c),1-d>pt?(h=Math.acos(d),v=Math.sin(h),p=Math.sin((1-n)*h)/v,g=Math.sin(n*h)/v):(p=1-n,g=n),t[0]=p*a+g*u,t[1]=p*i+g*f,t[2]=p*o+g*l,t[3]=p*s+g*c,t}function GB(t){var e=ya(),r=ya(),n=ya(),a=Math.sqrt(1-e),i=Math.sqrt(e);return t[0]=a*Math.sin(2*Math.PI*r),t[1]=a*Math.cos(2*Math.PI*r),t[2]=i*Math.sin(2*Math.PI*n),t[3]=i*Math.cos(2*Math.PI*n),t}function zB(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-a*s,t[3]=i*s,t}function jB(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function YM(t,e){var r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[a*3+a]&&(a=2);var i=(a+1)%3,o=(a+2)%3;n=Math.sqrt(e[a*3+a]-e[i*3+i]-e[o*3+o]+1),t[a]=.5*n,n=.5/n,t[3]=(e[i*3+o]-e[o*3+i])*n,t[i]=(e[i*3+a]+e[a*3+i])*n,t[o]=(e[o*3+a]+e[a*3+o])*n}return t}function UB(t,e,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:QS,i=Math.PI/360;e*=i,n*=i,r*=i;var o=Math.sin(e),s=Math.cos(e),u=Math.sin(r),f=Math.cos(r),l=Math.sin(n),c=Math.cos(n);switch(a){case"xyz":t[0]=o*f*c+s*u*l,t[1]=s*u*c-o*f*l,t[2]=s*f*l+o*u*c,t[3]=s*f*c-o*u*l;break;case"xzy":t[0]=o*f*c-s*u*l,t[1]=s*u*c-o*f*l,t[2]=s*f*l+o*u*c,t[3]=s*f*c+o*u*l;break;case"yxz":t[0]=o*f*c+s*u*l,t[1]=s*u*c-o*f*l,t[2]=s*f*l-o*u*c,t[3]=s*f*c+o*u*l;break;case"yzx":t[0]=o*f*c+s*u*l,t[1]=s*u*c+o*f*l,t[2]=s*f*l-o*u*c,t[3]=s*f*c-o*u*l;break;case"zxy":t[0]=o*f*c-s*u*l,t[1]=s*u*c+o*f*l,t[2]=s*f*l+o*u*c,t[3]=s*f*c-o*u*l;break;case"zyx":t[0]=o*f*c-s*u*l,t[1]=s*u*c+o*f*l,t[2]=s*f*l-o*u*c,t[3]=s*f*c+o*u*l;break;default:throw new Error("Unknown angle order "+a)}return t}function $B(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}var XB=AM,WB=CM,py=TM,VB=IM,YB=kM,qB=jM,qM=DM,gy=vy,HB=BM,yy=hy,ZB=yy,my=dy,KB=my,by=FM,QB=GM;function JB(t,e){return Math.abs(vy(t,e))>=1-pt}var e4=function(){var t=cy(),e=x0(1,0,0),r=x0(0,1,0);return function(n,a,i){var o=md(a,i);return o<-.999999?(eh(t,e,a),SM(t)<1e-6&&eh(t,r,a),_M(t,t),zM(n,t,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(eh(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+o,by(n,n))}}(),t4=function(){var t=Th(),e=Th();return function(r,n,a,i,o,s){return th(t,n,o,s),th(e,a,i,s),th(r,t,e,2*s*(1-s)),r}}(),r4=function(){var t=nM();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],by(e,YM(e,t))}}();const n4=Object.freeze(Object.defineProperty({__proto__:null,add:YB,calculateW:FB,clone:XB,conjugate:jB,copy:py,create:Th,dot:gy,equals:JB,exactEquals:QB,exp:WM,fromEuler:UB,fromMat3:YM,fromValues:WB,getAngle:RB,getAxisAngle:PB,identity:DB,invert:zB,len:ZB,length:yy,lerp:HB,ln:VM,mul:qB,multiply:jM,normalize:by,pow:BB,random:GB,rotateX:UM,rotateY:$M,rotateZ:XM,rotationTo:e4,scale:qM,set:VB,setAxes:r4,setAxisAngle:zM,slerp:th,sqlerp:t4,sqrLen:KB,squaredLength:my,str:$B},Symbol.toStringTag,{value:"Module"}));function a4(){var t=new qt(8);return qt!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t}function i4(t){var e=new qt(8);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e}function o4(t,e,r,n,a,i,o,s){var u=new qt(8);return u[0]=t,u[1]=e,u[2]=r,u[3]=n,u[4]=a,u[5]=i,u[6]=o,u[7]=s,u}function s4(t,e,r,n,a,i,o){var s=new qt(8);s[0]=t,s[1]=e,s[2]=r,s[3]=n;var u=a*.5,f=i*.5,l=o*.5;return s[4]=u*n+f*r-l*e,s[5]=f*n+l*t-u*r,s[6]=l*n+u*e-f*t,s[7]=-u*t-f*e-l*r,s}function HM(t,e,r){var n=r[0]*.5,a=r[1]*.5,i=r[2]*.5,o=e[0],s=e[1],u=e[2],f=e[3];return t[0]=o,t[1]=s,t[2]=u,t[3]=f,t[4]=n*f+a*u-i*s,t[5]=a*f+i*o-n*u,t[6]=i*f+n*s-a*o,t[7]=-n*o-a*s-i*u,t}function u4(t,e){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0]*.5,t[5]=e[1]*.5,t[6]=e[2]*.5,t[7]=0,t}function f4(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t}function l4(t,e){var r=Th();hM(r,e);var n=new qt(3);return lM(n,e),HM(t,r,n),t}function ZM(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function c4(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t}function h4(t,e,r,n,a,i,o,s,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=u,t}var d4=py;function v4(t,e){return t[0]=e[4],t[1]=e[5],t[2]=e[6],t[3]=e[7],t}var p4=py;function g4(t,e){return t[4]=e[0],t[5]=e[1],t[6]=e[2],t[7]=e[3],t}function y4(t,e){var r=e[4],n=e[5],a=e[6],i=e[7],o=-e[0],s=-e[1],u=-e[2],f=e[3];return t[0]=(r*f+i*o+n*u-a*s)*2,t[1]=(n*f+i*s+a*o-r*u)*2,t[2]=(a*f+i*u+r*s-n*o)*2,t}function m4(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0]*.5,u=r[1]*.5,f=r[2]*.5,l=e[4],c=e[5],h=e[6],d=e[7];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=o*s+a*f-i*u+l,t[5]=o*u+i*s-n*f+c,t[6]=o*f+n*u-a*s+h,t[7]=-n*s-a*u-i*f+d,t}function b4(t,e,r){var n=-e[0],a=-e[1],i=-e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=s*o+l*n+u*i-f*a,h=u*o+l*a+f*n-s*i,d=f*o+l*i+s*a-u*n,v=l*o-s*n-u*a-f*i;return UM(t,e,r),n=t[0],a=t[1],i=t[2],o=t[3],t[4]=c*o+v*n+h*i-d*a,t[5]=h*o+v*a+d*n-c*i,t[6]=d*o+v*i+c*a-h*n,t[7]=v*o-c*n-h*a-d*i,t}function w4(t,e,r){var n=-e[0],a=-e[1],i=-e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=s*o+l*n+u*i-f*a,h=u*o+l*a+f*n-s*i,d=f*o+l*i+s*a-u*n,v=l*o-s*n-u*a-f*i;return $M(t,e,r),n=t[0],a=t[1],i=t[2],o=t[3],t[4]=c*o+v*n+h*i-d*a,t[5]=h*o+v*a+d*n-c*i,t[6]=d*o+v*i+c*a-h*n,t[7]=v*o-c*n-h*a-d*i,t}function x4(t,e,r){var n=-e[0],a=-e[1],i=-e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=s*o+l*n+u*i-f*a,h=u*o+l*a+f*n-s*i,d=f*o+l*i+s*a-u*n,v=l*o-s*n-u*a-f*i;return XM(t,e,r),n=t[0],a=t[1],i=t[2],o=t[3],t[4]=c*o+v*n+h*i-d*a,t[5]=h*o+v*a+d*n-c*i,t[6]=d*o+v*i+c*a-h*n,t[7]=v*o-c*n-h*a-d*i,t}function E4(t,e,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=e[0],u=e[1],f=e[2],l=e[3];return t[0]=s*o+l*n+u*i-f*a,t[1]=u*o+l*a+f*n-s*i,t[2]=f*o+l*i+s*a-u*n,t[3]=l*o-s*n-u*a-f*i,s=e[4],u=e[5],f=e[6],l=e[7],t[4]=s*o+l*n+u*i-f*a,t[5]=u*o+l*a+f*n-s*i,t[6]=f*o+l*i+s*a-u*n,t[7]=l*o-s*n-u*a-f*i,t}function _4(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1],f=r[2],l=r[3];return t[0]=n*l+o*s+a*f-i*u,t[1]=a*l+o*u+i*s-n*f,t[2]=i*l+o*f+n*u-a*s,t[3]=o*l-n*s-a*u-i*f,s=r[4],u=r[5],f=r[6],l=r[7],t[4]=n*l+o*s+a*f-i*u,t[5]=a*l+o*u+i*s-n*f,t[6]=i*l+o*f+n*u-a*s,t[7]=o*l-n*s-a*u-i*f,t}function S4(t,e,r,n){if(Math.abs(n)0){r=Math.sqrt(r);var n=e[0]/r,a=e[1]/r,i=e[2]/r,o=e[3]/r,s=e[4],u=e[5],f=e[6],l=e[7],c=n*s+a*u+i*f+o*l;t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=(s-n*c)/r,t[5]=(u-a*c)/r,t[6]=(f-i*c)/r,t[7]=(l-o*c)/r}return t}function D4(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"}function P4(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]}function R4(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],f=t[7],l=e[0],c=e[1],h=e[2],d=e[3],v=e[4],p=e[5],g=e[6],y=e[7];return Math.abs(r-l)<=pt*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(n-c)<=pt*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(a-h)<=pt*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(i-d)<=pt*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(o-v)<=pt*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(s-p)<=pt*Math.max(1,Math.abs(s),Math.abs(p))&&Math.abs(u-g)<=pt*Math.max(1,Math.abs(u),Math.abs(g))&&Math.abs(f-y)<=pt*Math.max(1,Math.abs(f),Math.abs(y))}const F4=Object.freeze(Object.defineProperty({__proto__:null,add:M4,clone:i4,conjugate:k4,copy:ZM,create:a4,dot:QM,equals:R4,exactEquals:P4,fromMat4:l4,fromRotation:f4,fromRotationTranslation:HM,fromRotationTranslationValues:s4,fromTranslation:u4,fromValues:o4,getDual:v4,getReal:d4,getTranslation:y4,identity:c4,invert:I4,len:N4,length:JM,lerp:T4,mul:A4,multiply:KM,normalize:L4,rotateAroundAxis:S4,rotateByQuatAppend:E4,rotateByQuatPrepend:_4,rotateX:b4,rotateY:w4,rotateZ:x4,scale:C4,set:h4,setDual:g4,setReal:p4,sqrLen:O4,squaredLength:wd,str:D4,translate:m4},Symbol.toStringTag,{value:"Module"}));function eA(){var t=new qt(2);return qt!=Float32Array&&(t[0]=0,t[1]=0),t}function B4(t){var e=new qt(2);return e[0]=t[0],e[1]=t[1],e}function G4(t,e){var r=new qt(2);return r[0]=t,r[1]=e,r}function z4(t,e){return t[0]=e[0],t[1]=e[1],t}function j4(t,e,r){return t[0]=e,t[1]=r,t}function fn(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function tA(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function rA(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function nA(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function U4(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t}function $4(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t}function Pi(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t}function Ri(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}function X4(t,e){return t[0]=Ba(e[0]),t[1]=Ba(e[1]),t}function wn(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function W4(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function Ih(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function aA(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function iA(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function oA(t){var e=t[0],r=t[1];return e*e+r*r}function V4(t,e){return t[0]=-e[0],t[1]=-e[1],t}function Y4(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function Wi(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t}function wy(t,e){return t[0]*e[0]+t[1]*e[1]}function q4(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t}function H4(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t}function Z4(t,e){e=e===void 0?1:e;var r=ya()*2*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t}function K4(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t}function Q4(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t}function J4(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t}function eG(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t}function tG(t,e,r,n){var a=e[0]-r[0],i=e[1]-r[1],o=Math.sin(n),s=Math.cos(n);return t[0]=a*s-i*o+r[0],t[1]=a*o+i*s+r[1],t}function sA(t,e){var r=t[0],n=t[1],a=e[0],i=e[1];return Math.abs(Math.atan2(n*a-r*i,r*a+n*i))}function rG(t,e){var r=t[0],n=t[1],a=e[0],i=e[1];return Math.atan2(r*i-n*a,r*a+n*i)}function nG(t){return t[0]=0,t[1]=0,t}function aG(t){return"vec2("+t[0]+", "+t[1]+")"}function xy(t,e){return t[0]===e[0]&&t[1]===e[1]}function iG(t,e){var r=t[0],n=t[1],a=e[0],i=e[1];return Math.abs(r-a)<=pt*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-i)<=pt*Math.max(1,Math.abs(n),Math.abs(i))}var oG=iA,rh=tA,sG=rA,uG=nA,fG=Ih,lG=aA,cG=oA,hG=function(){var t=eA();return function(e,r,n,a,i,o){var s,u;for(r||(r=2),n||(n=0),a?u=Math.min(a*r+n,e.length):u=e.length,s=n;s0&&d(x[0])}},y=0;y0;)h.push(u.pop());o.push(h)}}return o},cA=function(e){for(var r=e.nodes,n=r===void 0?[]:r,a=e.edges,i=a===void 0?[]:a,o=[],s={},u={},f={},l=[],c=0,h=function g(y){u[y.id]=c,f[y.id]=c,c+=1,o.push(y),s[y.id]=!0;for(var m=Un(y.id,i,"target").filter(function(_){return n.map(function(S){return S.id}).indexOf(_)>-1}),b=function(S){var A=m[S];if(!u[A]&&u[A]!==0){var M=n.filter(function(C){return C.id===A});M.length>0&&g(M[0]),f[y.id]=Math.min(f[y.id],f[A])}else s[A]&&(f[y.id]=Math.min(f[y.id],u[A]))},w=0;w0;){var E=o.pop();if(s[E.id]=!1,x.push(E),E===y)break}x.length>0&&l.push(x)}},d=0,v=n;d0;)for(var g=d.pop(),y=g.id,m=Un(y,e.edges),b=function(E){var _,S=m[E],A=e.nodes.find(function(B){return B.id===S});if(S===y)o.push((_={},_[S]=g,_));else if(!(S in p))v[S]=g,d.push(A),p[S]=new Set([g]);else if(!p[y].has(A)){for(var M=!0,C=[A,g],I=v[y];p[S].size&&!p[S].has(I)&&(C.push(I),I!==v[I.id]);)I=v[I.id];if(C.push(I),r&&n?(M=!1,C.findIndex(function(B){return r.indexOf(B.id)>-1})>-1&&(M=!0)):r&&!n&&C.findIndex(function(B){return r.indexOf(B.id)>-1})>-1&&(M=!1),M){for(var k={},O=1;O0;){var O=k.pop();i.has(O)&&(i.delete(O),o[O.id].forEach(function(B){k.push(B)}),o[O.id].clear())}},c=function C(I,k,O){var B=!1;if(r&&n===!1&&r.indexOf(I.id)>-1)return B;a.push(I),i.add(I);for(var L=O[I.id],z=0;z-1});le-1)?s.push((k={},k[ce.id]=ce,k)):he[ce.id].push(f[Ie])}}return{component:V,adjList:he,minIdx:B}},b=0;b=b}),x=cA({nodes:w,edges:e.edges}).filter(function(C){return C.length>1});if(x.length===0)break;var E=m(x),_=E.minIdx,S=E.adjList,A=E.component;if(A.length>1){A.forEach(function(C){o[C.id]=new Set});var M=u[_];if(r&&n&&r.indexOf(M.id)===-1)return s;c(M,M,S),b=_+1}else break}return s},pA=function(e,r,n,a){return a===void 0&&(a=!0),r?Ay(e,n,a):My(e,n,a)},MG=function(e,r,n){for(var a=1/0,i,o=0;ol[w.id]+C?(l[M]=l[w.id]+C,c[M]=[w.id]):l[M]===l[w.id]+C&&c[M].push(w.id)})},v=0;v0&&l.length>0;){var d=l[l.length-1];if(d.length){var v=d.shift();v&&(u.push(v),f[v]=!0,h=a?Un(v,s,"target"):Un(v,s),l.push(h.filter(function(y){return!f[y]})))}else{var p=u.pop();f[p]=!1,l.pop();continue}if(u[u.length-1]===n){var g=u.map(function(m){return m});c.push(g);var p=u.pop();f[p]=!1,l.pop()}}return c},Of=function(e,r){for(var n=Uo(e,r),a=[],i=n.length,o=0;oa[o][u]+a[u][s]&&(a[o][s]=a[o][u]+a[u][s]);return a},bA=function(e,r,n,a){r===void 0&&(r=!1),n===void 0&&(n="weight"),a===void 0&&(a=1e3);var i=e.nodes,o=i===void 0?[]:i,s=e.edges,u=s===void 0?[]:s,f={},l={};o.forEach(function(b,w){var x=fA();b.clusterId=x,f[x]={id:x,nodes:[b]},l[b.id]={node:b,idx:w}});var c=Uo(e,r),h={};c.forEach(function(b,w){var x=o[w].id;h[x]={},b.forEach(function(E,_){if(E){var S=o[_].id;h[x][S]=E}})});for(var d=0,v=function(){var w=!1;if(o.forEach(function(x){var E={};Object.keys(h[x.id]).forEach(function(O){var B=h[x.id][O],L=l[O].node,z=L.clusterId;E[z]||(E[z]=0),E[z]+=B});var _=-1/0,S=[];if(Object.keys(E).forEach(function(O){_=0&&S.splice(A,1),S&&S.length){w=!0;var M=f[x.clusterId],C=M.nodes.indexOf(x);M.nodes.splice(C,1);var I=Math.floor(Math.random()*S.length),k=f[S[I]];k.nodes.push(x),x.clusterId=k.id}}}),!w)return"break";d++};d0&&S>A&&S-AA&&(C=c.map(function(R){return{node:R,clusterId:R.clusterId}}),I=rr(m),A=S),k||M>100)break;M++,Object.keys(m).forEach(function(R){var V=0;d.forEach(function(he){var ce=he.source,le=he.target,ie=b[ce].node.clusterId,Ie=b[le].node.clusterId;(ie===R&&Ie!==R||Ie===R&&ie!==R)&&(V=V+(he[n]||1))}),m[R].sumTot=V}),c.forEach(function(R,V){var he=m[R.clusterId],ce=0,le,ie=x[V]/(2*_),Ie=0,qe=he.nodes;qe.forEach(function(Wt){var vr=b[Wt.id].idx;Ie+=w[V][vr]||0});var Ve=Ie-he.sumTot*ie,it=qe.filter(function(Wt){return Wt.id!==R.id});it.forEach(function(Wt,vr){v[Wt.originIndex]});var dt=fp(it,v)*f,st=E[R.id];if(Object.keys(st).forEach(function(Wt){var vr=b[Wt].node,cr=vr.clusterId;if(cr!==R.clusterId){var $t=m[cr],sr=$t.nodes;if(!(!sr||!sr.length)){var tn=0;sr.forEach(function(Fe){var ge=b[Fe.id].idx;tn+=w[V][ge]||0});var tt=tn-$t.sumTot*ie,te=sr.concat([R]);te.forEach(function(Fe,ge){v[Fe.originIndex]});var N=fp(te,v)*f,Se=tt-Ve;i&&(Se=tt+N-(Ve+dt)),Se>ce&&(ce=Se,le=$t)}}}),ce>0){le.nodes.push(R);var Tt=R.clusterId;R.clusterId=le.id;var _t=he.nodes.indexOf(R);he.nodes.splice(_t,1);var lr=0,Bt=0;d.forEach(function(Wt){var vr=Wt.source,cr=Wt.target,$t=b[vr].node.clusterId,sr=b[cr].node.clusterId;($t===le.id&&sr!==le.id||sr===le.id&&$t!==le.id)&&(lr=lr+(Wt[n]||1)),($t===Tt&&sr!==Tt||sr===Tt&&$t!==Tt)&&(Bt=Bt+(Wt[n]||1))}),le.sumTot=lr,he.sumTot=Bt}})}var O={},B=0;Object.keys(I).forEach(function(R){var V=I[R];if(!V.nodes||!V.nodes.length){delete I[R];return}var he=String(B+1);he!==R&&(V.id=he,V.nodes=V.nodes.map(function(ce){return{id:ce.id,clusterId:he}}),I[he]=V,O[R]=he,delete I[R],B++)}),C.forEach(function(R){var V=R.node,he=R.clusterId;V&&(V.clusterId=he,V.clusterId&&O[V.clusterId]&&(V.clusterId=O[V.clusterId]))});var L=[],z={};d.forEach(function(R){var V=R.source,he=R.target,ce=R[n]||1,le=b[V].node.clusterId,ie=b[he].node.clusterId;if(!(!le||!ie)){var Ie="".concat(le,"---").concat(ie);if(z[Ie])z[Ie].weight+=ce,z[Ie].count++;else{var qe={source:le,target:ie,weight:ce,count:1};z[Ie]=qe,L.push(qe)}}});var X=[];return Object.keys(I).forEach(function(R){X.push(I[R])}),{clusters:X,clusterEdges:L}},wA=function(e,r,n,a,i,o,s,u){return r===void 0&&(r=!1),n===void 0&&(n="weight"),a===void 0&&(a=1e-4),i===void 0&&(i=void 0),o===void 0&&(o=[]),s===void 0&&(s=["id"]),u===void 0&&(u=1),Iy(e,r,n,a,!0,i,o,s,u)},xA=function(e,r){var n;r===void 0&&(r=1);for(var a=rr(e),i=a.nodes,o=i===void 0?[]:i,s=a.edges,u=s===void 0?[]:s,f=function(){var h=yi({nodes:o,edges:u}),d=Object.keys(h);d.sort(function(g,y){var m,b;return((m=h[g])===null||m===void 0?void 0:m.degree)-((b=h[y])===null||b===void 0?void 0:b.degree)});var v=d[0];if(!o.length||((n=h[v])===null||n===void 0?void 0:n.degree)>=r)return"break";var p=o.findIndex(function(g){return g.id===v});o.splice(p,1),u=u.filter(function(g){return!(g.source===v||g.target===v)})};;){var l=f();if(l==="break")break}return{nodes:o,edges:u}},hw=function(e,r,n){var a=[];switch(e){case pa.EuclideanDistance:a=r[n];break;default:a=[];break}return a},EA=function(e,r,n,a,i,o){r===void 0&&(r=3),n===void 0&&(n=void 0),a===void 0&&(a=[]),i===void 0&&(i=["id"]),o===void 0&&(o=pa.EuclideanDistance);var s=e.nodes,u=s===void 0?[]:s,f=e.edges,l=f===void 0?[]:f,c={clusters:[{id:"0",nodes:u}],clusterEdges:[]};if(o===pa.EuclideanDistance&&!u.every(function(he){return he.hasOwnProperty(n)}))return c;var h=[],d=[];if(o===pa.EuclideanDistance&&(h=Cy(u,n),d=Ty(h,a,i)),!d.length)return c;for(var v=kf(d.map(function(he){return he.join("")})),p=Math.min(r,u.length,v.length),g=0;gx&&!y.find(function(it){return jo(it,hw(o,d,u[le].originIndex))})&&(x=Ve,E=le)}},S=0;S=0;O--)b[Number(u[g].clusterId)][O].id===u[g].id&&b[Number(u[g].clusterId)].splice(O,1);u[g].clusterId=String(M),b[M].push(u[g])}}for(var B=!1,g=0;g=1e3)break}var R=[],V={};return l.forEach(function(he){var ce,le,ie=he.source,Ie=he.target,qe=(ce=u.find(function(st){return st.id===ie}))===null||ce===void 0?void 0:ce.clusterId,Ve=(le=u.find(function(st){return st.id===Ie}))===null||le===void 0?void 0:le.clusterId,it="".concat(qe,"---").concat(Ve);if(V[it])V[it].count++;else{var dt={source:qe,target:Ve,count:1};V[it]=dt,R.push(dt)}}),{clusters:b,clusterEdges:R}},ky=function(e,r){var n=new ta(r),a=n.norm2(),i=new ta(e),o=i.norm2(),s=n.dot(i),u=a*o,f=u?s/u:0;return f},_A=function(e,r,n,a,i){e===void 0&&(e=[]),n===void 0&&(n=void 0),a===void 0&&(a=[]),i===void 0&&(i=[]);var o=rr(e.filter(function(h){return h.id!==r.id})),s=e.findIndex(function(h){return h.id===r.id}),u=Cy(e,n),f=Ty(u,a,i),l=f[s],c=[];return o.forEach(function(h,d){if(h.id!==r.id){var v=f[d],p=ky(v,l);c.push(p),h.cosineSimilarity=p}}),o.sort(function(h,d){return d.cosineSimilarity-h.cosineSimilarity}),{allCosineSimilarity:c,similarNodes:o}},CG=function(){function t(e){this.count=e.length,this.parent={};for(var r=0,n=e;r0&&(this.list[0]=r,this.moveDown(0)),e},t.prototype.insert=function(e){if(e!==null){this.list.push(e);var r=this.list.length-1;return this.moveUp(r),!0}return!1},t.prototype.moveUp=function(e){for(var r=this.getParent(e);e&&e>0&&this.compareFn(this.list[r],this.list[e])>0;){var n=this.list[r];this.list[r]=this.list[e],this.list[e]=n,e=r,r=this.getParent(e)}},t.prototype.moveDown=function(e){var r,n=e,a=this.getLeft(e),i=this.getRight(e),o=this.list.length;a!==null&&a0?n=a:i!==null&&i0&&(n=i),e!==n&&(r=[this.list[n],this.list[e]],this.list[e]=r[0],this.list[n]=r[1],this.moveDown(n))},t}(),kG=function(e,r){var n=[],a=e.nodes,i=a===void 0?[]:a,o=e.edges,s=o===void 0?[]:o;if(i.length===0)return n;var u=i[0],f=new Set;f.add(u);var l=function(g,y){return r?g.weight-y.weight:0},c=new IG(l);for(nh(u.id,s).forEach(function(p){c.insert(p)});!c.isEmpty();){var h=c.delMin(),d=h.source,v=h.target;f.has(d)&&f.has(v)||(n.push(h),f.has(d)||(f.add(d),nh(d,s).forEach(function(p){c.insert(p)})),f.has(v)||(f.add(v),nh(v,s).forEach(function(p){c.insert(p)})))}return n},dw=function(e,r){var n=[],a=e.nodes,i=a===void 0?[]:a,o=e.edges,s=o===void 0?[]:o;if(i.length===0)return n;var u=s.map(function(d){return d});r&&u.sort(function(d,v){return d.weight-v.weight});for(var f=new CG(i.map(function(d){return d.id}));u.length>0;){var l=u.shift(),c=l.source,h=l.target;f.connected(c,h)||(n.push(l),f.union(c,h))}return n},SA=function(e,r,n){var a={prim:kG,kruskal:dw};return n?a[n](e,r):dw(e,r)},MA=function(e,r,n){typeof r!="number"&&(r=1e-6),typeof n!="number"&&(n=.85);for(var a=1,i=0,o=1e3,s=e.nodes,u=s===void 0?[]:s,f=e.edges,l=f===void 0?[]:f,c=u.length,h,d={},v={},p=0;p0&&a>r;){i=0;for(var p=0;p0&&(h+=v[x]/E)}d[y]=n*h,i+=d[y]}}i=(1-i)/c,a=0;for(var p=0;p=0;n--){var a=this.dfsEdgeList[n],i=a.fromNode,o=a.toNode;id||a.hasNode(o[h.to])||(r.labelb;x--){var E=w(x);if(E==="break")break}if(y){var _=e.findMinLabel(g);o.dfsEdgeList.push(new ko(p,m,Ga,_.edgeLabel,Ga));var S=o.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[S]!==o.dfsEdgeList[S]?!1:c(g[_.edgeLabel].projected)}var A={};y=!1;var M=0;h.forEach(function(L){var z=new ic(L),X=e.findForwardPureEdges(a,z.edges[d[0]],v,z);X.length>0&&(y=!0,M=p,X.forEach(function(R){var V="".concat(R.label,"-").concat(i[R.to].label);A[V]||(A[V]={projected:[],edgeLabel:R.label,nodeLabel2:i[R.to].label}),A[V].projected.push({graphId:a.id,edge:R,preNode:L})}))});for(var C=d.length,I=function(z){if(y)return"break";var X=d[z];h.forEach(function(R){var V=new ic(R),he=e.findForwardRmpathEdges(a,V.edges[X],v,V);he.length>0&&(y=!0,M=o.dfsEdgeList[X].fromNode,he.forEach(function(ce){var le="".concat(ce.label,"-").concat(i[ce.to].label);A[le]||(A[le]={projected:[],edgeLabel:ce.label,nodeLabel2:i[ce.to].label}),A[le].projected.push({graphId:a.id,edge:ce,preNode:R})}))})},x=0;x=0;v--){var p=r.findBackwardEdge(c,d.edges[i[v]],d.edges[i[0]],d);if(p){var g="".concat(r.dfsCode.dfsEdgeList[i[v]].fromNode,"-").concat(p.label);f[g]||(f[g]={projected:[],toNodeId:r.dfsCode.dfsEdgeList[i[v]].fromNode,edgeLabel:p.label}),f[g].projected.push({graphId:l.graphId,edge:p,preNode:l})}}if(!(a>=r.maxNodeNum)){var y=r.findForwardPureEdges(c,d.edges[i[0]],s,d);y.forEach(function(b){var w="".concat(o,"-").concat(b.label,"-").concat(h[b.to].label);u[w]||(u[w]={projected:[],fromNodeId:o,edgeLabel:b.label,nodeLabel2:h[b.to].label}),u[w].projected.push({graphId:l.graphId,edge:b,preNode:l})});for(var m=function(w){var x=r.findForwardRmpathEdges(c,d.edges[i[w]],s,d);x.forEach(function(E){var _="".concat(r.dfsCode.dfsEdgeList[i[w]].fromNode,"-").concat(E.label,"-").concat(h[E.to].label);u[_]||(u[_]={projected:[],fromNodeId:r.dfsCode.dfsEdgeList[i[w]].fromNode,edgeLabel:E.label,nodeLabel2:h[E.to].label}),u[_].projected.push({graphId:l.graphId,edge:E,preNode:l})})},v=0;vm){var b=m;m=y,y=b}var w=g.label,x="".concat(y,"-").concat(w,"-").concat(m);if(!o[x]){var E=o[x]||0;E++,o[x]=E}})})}),Object.keys(i).forEach(function(u){var f=i[u];if(!(f2*r)););if(g<2*r&&(s["".concat(l,"-").concat(p)]={start:l,end:p,distance:i[l][p]},c++,u++,u>=n))return s;if(h++,h>2*r)break}if(ch&&(u=h);var d=n[c.id].inDegree;f>d&&(f=d);var v=n[c.id].outDegree;l>v&&(l=v)}),e[r]={degree:u,inDegree:f,outDegree:l}),{minPatternNodeLabelDegree:u,minPatternNodeLabelInDegree:f,minPatternNodeLabelOutDegree:l}},kA=function(e,r,n,a,i,o,s){var u;if(n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),!(!e||!e.nodes)){var f=e.nodes.length;if(f){var l=Of(e,n),c=Of(r,n),h=ww(e.nodes,l,n),d=ww(r.nodes,c,n),v=mw(e.nodes,o),p=v.nodeMap,g=v.nodeLabelMap,y=mw(r.nodes,o),m=y.nodeMap,b=y.nodeLabelMap;bw(e.edges,s,p);var w=bw(r.edges,s,m).edgeLabelMap,x=[];c==null||c.forEach(function(tt){x=x.concat(tt)}),i||(i=Math.max.apply(Math,Xn(Xn([],x,!1),[2],!1))),a||(a=i);var E=yw(e,l,o,a),_=yw(r,c,o,a),S=Math.min(100,f*(f-1)/2),A=FG(a,f,S,E,l),M=ah(A,E,e),C=10,I=1,k=1,O=4,B={graphs:M,nodeLabelProp:o,edgeLabelProp:s,minSupport:I,minNodeNum:k,maxNodeNum:O,directed:n},L=RG(B).slice(0,C),z=L.length,X=[];L.forEach(function(tt,te){X[te]={},Object.keys(M).forEach(function(N){var Se=M[N],Fe=ih(Se,tt,o,s);X[te][N]=Fe})});var R=BG(X,z,L),V=R.structure,he=R.structureCountMap,ce=r.nodes[0],le=[],ie=(u=r.nodes[0])===null||u===void 0?void 0:u[o],Ie=-1/0;r.nodes.forEach(function(tt){var te=tt[o],N=g[te];(N==null?void 0:N.length)>Ie&&(Ie=N.length,le=N,ie=te,ce=tt)});var qe={},Ve={},it={},dt={},st={},Tt={};Object.keys(b).forEach(function(tt,te){st[tt]=[],n&&(Tt[tt]=[]);var N=b[tt],Se={};N.forEach(function(Ze){var Je=d["".concat(ce.id,"-").concat(Ze.id)];if(Je&&st[tt].push(Je),Se["".concat(ce.id,"-").concat(Ze.id)]={start:0,end:m[Ze.id].idx,distance:Je},n){var ht=d["".concat(Ze.id,"-").concat(ce.id)];ht&&Tt[tt].push(ht)}}),st[tt]=st[tt].sort(function(Ze,Je){return Ze-Je}),n&&(Tt[tt]=Tt[tt].sort(function(Ze,Je){return Ze-Je})),Ve=ah(Se,_,r,Ve);var Fe=[];if(Object.keys(Se).forEach(function(Ze){if(it[Ze]){Fe.push(it[Ze]);return}var Je=Ve[Ze];it[Ze]=ih(Je,V,o,s),Fe.push(it[Ze])}),Fe=Fe.sort(function(Ze,Je){return Je-Ze}),dt["".concat(ce.id,"-").concat(tt)]=Fe,tt!==ie)for(var ge=(le==null?void 0:le.length)||0,Ue=function(Je){var ht=le[Je],Lt=E[p[ht.id].idx],ur=Lt.nodeLabelCountMap[tt],Dt=b[tt].length;if(!ur||ur.countst[tt][or]){fr=!0;break}if(fr)return le.splice(Je,1),"continue";var gr={};Lt.neighbors.forEach(function(nr){var Fr=h["".concat(ht.id,"-").concat(nr.id)];gr["".concat(ht.id,"-").concat(nr.id)]={start:p[ht.id].idx,end:p[nr.id].idx,distance:Fr}}),M=ah(gr,E,e,M);var hr=[];Object.keys(gr).forEach(function(nr){if(he[nr]){hr.push(he[nr]);return}var Fr=M[nr];he[nr]=ih(Fr,V,o,s),hr.push(he[nr])}),hr=hr.sort(function(nr,Fr){return Fr-nr});for(var hn=!1,or=0;or=0;$e--)Ue($e)});var _t=[];le==null||le.forEach(function(tt){for(var te=p[tt.id].idx,N=IA(e.nodes,l[te],te,o,i),Se=N.neighbors,Fe=Se.length,ge=!1,Ue=Fe-1;Ue>=0;Ue--){if(Se.length+1ur){Se.splice(Ue,1);continue}if(n){var Dt="".concat($e.id,"-").concat(tt.id),fr=h[Dt];Lt=Tt[Ze].length-1;var or=Tt[Ze][Lt];if(fr>or){Se.splice(Ue,1);continue}}var gr=he[Je]?he[Je]:GG(e,tt,$e,p,ht,E,V,o,s,he,M),hr="".concat(ce.id,"-").concat(Ze),hn=dt[hr][dt[hr].length-1];if(gr=0;ht--){var or=fr(ht);if(or==="break")break}if(Dt)return _t.splice(te,1),"continue";N.edges=Ue;var gr=Nf(N,N.nodes[0].id,!1).length;if(Object.keys(gr).reverse().forEach(function(St){if(!(St===N.nodes[0].id||Dt)){if(gr[St]===1/0){var dr=ge[St].node[o];if(Fe[dr]--,Fe[dr]Bt[Sr][Bt[Sr].length-1]){var dr=ge[St].node[o];if(Fe[dr]--,Fe[dr]=0;oa--){var Ur=N.nodes[oa],Mi=ge[Ur.id].degree,xu=ge[Ur.id].inDegree,Eu=ge[Ur.id].outDegree,rn=Ur[o],ti=xw(qe,rn,m,b),uo=ti.minPatternNodeLabelDegree,_u=ti.minPatternNodeLabelInDegree,Su=ti.minPatternNodeLabelOutDegree,Mu=n?Mi=0;sa--){var Br=Ue[sa];if(!ge[Br.source]||!ge[Br.target]){Ue.splice(sa,1);var ua=Br[s];if($e[ua]--,ge[Br.source]&&(ge[Br.source].degree--,ge[Br.source].outDegree--),ge[Br.target]&&(ge[Br.target].degree--,ge[Br.target].inDegree--),w[ua]&&$e[ua]=0;cr--){var $t=vr(cr);if($t==="break")break}for(var sr=_t.length,tn=function(te){var N=_t[te],Se={};N.edges.forEach(function(Ue){var $e="".concat(Ue.source,"-").concat(Ue.target,"-").concat(Ue.label);Se[$e]?Se[$e]++:Se[$e]=1});for(var Fe=function($e){var Ze=_t[$e],Je={};Ze.edges.forEach(function(Lt){var ur="".concat(Lt.source,"-").concat(Lt.target,"-").concat(Lt.label);Je[ur]?Je[ur]++:Je[ur]=1});var ht=!0;Object.keys(Je).length!==Object.keys(Se).length?ht=!1:Object.keys(Se).forEach(function(Lt){Je[Lt]!==Se[Lt]&&(ht=!1)}),ht&&_t.splice($e,1)},ge=sr-1;ge>te;ge--)Fe(ge);sr=_t.length},cr=0;cr<=sr-1;cr++)tn(cr);return _t}}},Gs=function(){function t(e){e===void 0&&(e=10),this.linkedList=new uA,this.maxStep=e}return Object.defineProperty(t.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),t.prototype.isEmpty=function(){return!this.linkedList.head},t.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},t.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},t.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},t.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},t.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},t.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},t}(),NA=Sy;const zG={getAdjMatrix:Uo,breadthFirstSearch:lA,connectedComponent:Ey,getDegree:yi,getInDegree:hA,getOutDegree:dA,detectCycle:Sy,detectDirectedCycle:NA,detectAllCycles:pA,detectAllDirectedCycle:Ay,detectAllUndirectedCycle:My,depthFirstSearch:_y,dijkstra:Nf,findAllPath:mA,findShortestPath:yA,floydWarshall:Of,labelPropagation:bA,louvain:Iy,iLouvain:wA,kCore:xA,kMeans:EA,cosineSimilarity:ky,nodesCosineSimilarity:_A,minimumSpanningTree:SA,pageRank:MA,getNeighbors:Un,Stack:Gs,GADDI:kA},jG=Object.freeze(Object.defineProperty({__proto__:null,GADDI:kA,Stack:Gs,breadthFirstSearch:lA,connectedComponent:Ey,cosineSimilarity:ky,default:zG,depthFirstSearch:_y,detectAllCycles:pA,detectAllDirectedCycle:Ay,detectAllUndirectedCycle:My,detectCycle:Sy,detectDirectedCycle:NA,dijkstra:Nf,findAllPath:mA,findShortestPath:yA,floydWarshall:Of,getAdjMatrix:Uo,getDegree:yi,getInDegree:hA,getNeighbors:Un,getOutDegree:dA,iLouvain:wA,kCore:xA,kMeans:EA,labelPropagation:bA,louvain:Iy,minimumSpanningTree:SA,nodesCosineSimilarity:_A,pageRank:MA},Symbol.toStringTag,{value:"Module"}));var Nh=eo,UG=function(e){return function(r,n){return r[e]-n[e]}},Ew=function(e,r,n){return e>=r&&e<=n},xd=function(e,r,n,a){var i=1e-4,o={x:n.x-e.x,y:n.y-e.y},s={x:r.x-e.x,y:r.y-e.y},u={x:a.x-n.x,y:a.y-n.y},f=s.x*u.y-s.y*u.x,l=f*f,c=1/f,h=s.x*s.x+s.y*s.y,d=u.x*u.x+u.y*u.y;if(l>i*h*d){var v=(o.x*u.y-o.y*u.x)*c,p=(o.x*s.y-o.y*s.x)*c;return!Ew(v,0,1)||!Ew(p,0,1)?null:{x:e.x+v*s.x,y:e.y+v*s.y}}return null},OA=function(e,r){var n=e.x,a=e.y,i=e.width,o=e.height,s=n+i/2,u=a+o/2,f=[],l={x:s,y:u};f.push({x:n,y:a}),f.push({x:n+i,y:a}),f.push({x:n+i,y:a+o}),f.push({x:n,y:a+o}),f.push({x:n,y:a});for(var c=null,h=1;hr[a][o]+r[o][i]&&(r[a][i]=r[a][o]+r[o][i]);return r},WG=function(e,r){var n=e.nodes,a=e.edges,i=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,u){o[s.id]=u;var f=[];i.push(f)}),a&&a.forEach(function(s){var u=s.source,f=s.target,l=o[u],c=o[f];i[l][c]=1,r||(i[c][l]=1)}),i},RA=function(e,r){e.translate(r.x,r.y)},_0=function(e,r,n,a){a===void 0&&(a={duration:500});var i=e.getMatrix();i||(i=[1,0,0,0,1,0,0,0,1]);var o=e.getCanvasBBox(),s=r.x-o.minX,u=r.y-o.minY;if(n){var f=s*i[0],l=u*i[4],c=0,h=0,d=0,v=0;e.animate(function(g){return d=f*g,v=l*g,i=Nh(i,[["t",d-c,v-h]]),c=d,h=v,{matrix:i}},a)}else{var p=Nh(i,[["t",s,u]]);e.setMatrix(p)}},VG=function(e,r){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]);var a=r;bt(r)||(a=[r,r]),bt(r)&&r.length===1&&(a=[r[0],r[0]]),n=Nh(n,[["s",a[0],a[1]]]),e.setMatrix(n)},YG=function(e,r){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]),n=Nh(n,[["r",r]]),e.setMatrix(n)},qG=function(e,r,n){for(var a=[],i=0;i0!=s(l[1]-n)>0&&s(r-(n-f[1])*(f[0]-l[0])/(f[1]-l[1])-f[0])<0&&(a=!a)}return a},FA=function(e,r){return!(r.minX>e.maxX||r.maxXe.maxY||r.maxY1){var m=h[0],b=h[v-1];d.push({from:{x:b[0],y:b[1]},to:{x:m[0],y:m[1]}})}return d};if(e.length<2||r.length<2)return!1;var i=n(e),o=n(r);if(!FA(i,o))return!1;var s=!1;if(_e(r,function(c){if(Lf(e,c[0],c[1]))return s=!0,!1}),s||(_e(e,function(c){if(Lf(r,c[0],c[1]))return s=!0,!1}),s))return!0;var u=a(e),f=a(r),l=!1;return _e(f,function(c){if(ZG(u,c))return l=!0,!1}),l},$o=function(){function t(e,r,n,a){this.x1=e,this.y1=r,this.x2=n,this.y2=a}return t.prototype.getBBox=function(){var e=Math.min(this.x1,this.x2),r=Math.min(this.y1,this.y2),n=Math.max(this.x1,this.x2),a=Math.max(this.y1,this.y2),i={x:e,y:r,minX:e,minY:r,maxX:n,maxY:a,width:n-e,height:a-r};return i},t}(),Ny=function(e,r){var n={top:[e.minX,e.minY,e.maxX,e.minY],left:[e.minX,e.minY,e.minX,e.maxY],bottom:[e.minX,e.maxY,e.maxX,e.maxY],right:[e.maxX,e.minY,e.maxX,e.maxY]};return n[r]},KG=function(e,r){var n=(r.x2-r.x1)*(e.y1-r.y1)-(r.y2-r.y1)*(e.x1-r.x1),a=(e.x2-e.x1)*(e.y1-r.y1)-(e.y2-e.y1)*(e.x1-r.x1),i=(r.y2-r.y1)*(e.x2-e.x1)-(r.x2-r.x1)*(e.y2-e.y1);if(i){var o=n/i,s=a/i;if(o>=0&&o<=1&&s>=0&&s<=1)return o}return Number.POSITIVE_INFINITY},GA=function(e,r){for(var n=["top","left","bottom","right"],a=e.getBBox(),i=0,o=[],s=0;s<4;s++){var u=Ny(a,n[s]),f=u[0],l=u[1],c=u[2],h=u[3];o[s]=xd({x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:f,y:l},{x:c,y:h}),o[s]&&(i+=1)}return[o,i]},Oy=function(e,r){for(var n=["top","left","bottom","right"],a=e.getBBox(),i=Number.POSITIVE_INFINITY,o=0,s=0;s<4;s++){var u=Ny(a,n[s]),f=u[0],l=u[1],c=u[2],h=u[3],d=KG(r,new $o(f,l,c,h));d=Math.abs(d-.5),d>=0&&d<=1&&(o+=1,i=d0){for(var a=0,i=e;ar.x+r.width,i=e.y>r.y+r.height,o=e.y":.604998779296875,"/":.5,"?":.53699951171875};var Pa=Math.PI,A0=Math.sin,C0=Math.cos,sn=A0(Pa/8),un=C0(Pa/8),Dh=function(e,r){var n=e.getBBox(),a={x:n.minX,y:n.minY},i={x:n.maxX,y:n.maxY};if(r){var o=r.getMatrix();o||(o=[1,0,0,0,1,0,0,0,1]),a=Us(a,o),i=Us(i,o)}var s=a.x,u=a.y,f=i.x,l=i.y;return{x:s,y:u,minX:s,minY:u,maxX:f,maxY:l,width:f-s,height:l-u}},$A=function(e){var r=e.sourceNode||e.targetNode,n=r.get("group"),a=n.getMatrix();a||(a=[1,0,0,0,1,0,0,0,1]);var i=r.getKeyShape(),o=i.getBBox(),s=e.loopCfg||{},u=s.dist||Math.max(o.width,o.height)*2,f=s.position||ft.defaultLoopPosition,l=[(o.minX+o.maxX)/2+a[6],(o.minY+o.maxY)/2+a[7]],c=[e.startPoint.x,e.startPoint.y],h=[e.endPoint.x,e.endPoint.y],d=o.height/2,v=o.width/2,p=d,g=d,y=p*sn,m=p*un,b=g*sn,w=g*un,x=i.get("type"),E=Math.min(d/2,v/2),_=Math.min(d,v),S=s!=null&&s.pointPadding?Math.min(_,s==null?void 0:s.pointPadding):E;if(c[0]===h[0]&&c[1]===h[1]){switch(f){case"top":x==="circle"?(c=[l[0]-y,l[1]-m],h=[l[0]+b,l[1]-w]):(c=[l[0]-S,l[1]-d],h=[l[0]+S,l[1]-d]);break;case"top-right":p=d,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+y,l[1]-m],h=[l[0]+w,l[1]-b]):(c=[l[0]+v-S,l[1]-d],h=[l[0]+v,l[1]-d+S]);break;case"right":p=v,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+m,l[1]-y],h=[l[0]+w,l[1]+b]):(c=[l[0]+v,l[1]-S],h=[l[0]+v,l[1]+S]);break;case"bottom-right":p=v,g=d,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+m,l[1]+y],h=[l[0]+b,l[1]+w]):(c=[l[0]+v,l[1]+d-S],h=[l[0]+v-S,l[1]+d]);break;case"bottom":p=d,g=d,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+y,l[1]+m],h=[l[0]-b,l[1]+w]):(c=[l[0]-S,l[1]+d],h=[l[0]+S,l[1]+d]);break;case"bottom-left":p=d,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-y,l[1]+m],h=[l[0]-w,l[1]+b]):(c=[l[0]-v,l[1]+d-S],h=[l[0]-v+S,l[1]+d]);break;case"left":p=v,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-m,l[1]+y],h=[l[0]-w,l[1]-b]):(c=[l[0]-v,l[1]-S],h=[l[0]-v,l[1]+S]);break;case"top-left":p=v,g=d,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-m,l[1]-y],h=[l[0]-b,l[1]-w]):(c=[l[0]-v+S,l[1]-d],h=[l[0]-v,l[1]-d+S]);break;default:p=v,g=v,y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-y,l[1]-m],h=[l[0]+b,l[1]-w]}if(s.clockwise===!1){var A=[c[0],c[1]];c=[h[0],h[1]],h=[A[0],A[1]]}}var M=[c[0]-l[0],c[1]-l[1]],C=(p+u)/p,I=(g+u)/g;s.clockwise===!1&&(C=(g+u)/g,I=(p+u)/p);var k=wn([0,0],M,C),O=[l[0]+k[0],l[1]+k[1]],B=[h[0]-l[0],h[1]-l[1]],L=wn([0,0],B,I),z=[l[0]+L[0],l[1]+L[1]];return e.startPoint={x:c[0],y:c[1]},e.endPoint={x:h[0],y:h[1]},e.controlPoints=[{x:O[0],y:O[1]},{x:z[0],y:z[1]}],e},XA=function(e,r,n,a,i){var o=1e-4,s=[],u=e==null?void 0:e.getPoint(r);if(!u)return{x:0,y:0,angle:0};if(r1-o)s=e.getEndTangent();else{var f=e==null?void 0:e.getPoint(r+o);s.push([u.x,u.y]),s.push([f.x,f.y])}var l=Math.atan2(s[1][1]-s[0][1],s[1][0]-s[0][0]);if(l<0&&(l+=Pa*2),n&&(u.x+=C0(l)*n,u.y+=A0(l)*n),a){var c=l-Pa/2;l>1/2*Pa&&l<3*1/2*Pa&&(c-=Pa),u.x+=C0(c)*a,u.y+=A0(c)*a}var h={x:u.x,y:u.y,angle:l};return i?(l>.5*Pa&&l<1.5*Pa&&(l-=Pa),P({rotate:l},h)):h},oz=function t(e,r,n,a){if(a(e,r,n)===!1)return!1;if(e&&e.children){for(var i=e.children.length-1;i>=0;i--)if(!t(e.children[i],e,i,a))return!1}return!0},sz=function t(e,r,n,a){if(e&&e.children){for(var i=e.children.length-1;i>=0;i--)if(!t(e.children[i],e,i,a))return}return a(e,r,n)!==!1},bn=function(e,r){typeof r=="function"&&oz(e,null,-1,r)},Ra=function(e,r){typeof r=="function"&&sz(e,null,-1,r)},WA=function(e,r){return r*(iz[e]||1)},VA=function(e,r){var n=0,a=new RegExp("[一-龥]+");return e.split("").forEach(function(i){a.test(i)?n+=r:n+=WA(i,r)}),[n,r]},YA=function(e,r){return typeof r!="number"||r<=0||r>=e.length?e:e.substring(0,r)+"..."},T0=function(e,r){var n=[],a={},i={};e.forEach(function(u){i[u.id]=u}),e.forEach(function(u,f){var l=rr(u);l.itemType="combo",l.children=void 0,l.parentId===l.id?(console.warn("The parentId for combo ".concat(l.id," can not be the same as the combo's id")),delete l.parentId):l.parentId&&!i[l.parentId]&&(console.warn("The parent combo for combo ".concat(l.id," does not exist!")),delete l.parentId);var c=a[l.id];if(c){if(l.children=c.children,a[l.id]=l,c=l,!c.parentId){n.push(c);return}var h=a[c.parentId];if(h)h.children?h.children.push(l):h.children=[l];else{var d={id:c.parentId,children:[c]};a[c.parentId]=d,a[l.id]=l}return}if(Ye(u.parentId)){var v=a[u.parentId];if(v)v.children?v.children.push(l):v.children=[l],a[l.id]=l;else{var p={id:u.parentId,children:[l]};a[p.id]=p,a[l.id]=l}}else n.push(l),a[l.id]=l});var o={};(r||[]).forEach(function(u){o[u.id]=u;var f=a[u.comboId];if(f){var l={id:u.id,comboId:u.comboId};f.children?f.children.push(l):f.children=[l],l.itemType="node",a[u.id]=l}});var s=0;return n.forEach(function(u){u.depth=s+10,bn(u,function(f){var l,c=a[f.id].itemType;c==="node"?l=a[f.comboId]:l=a[f.parentId],l&&c==="node"?f.depth=s+1:f.depth=s+10,s-1&&i.splice(l,1),u||(o={id:r,itemType:"node",comboId:n},s[r]={children:void 0}),r){var c=!1;if(n){var h=0;(e||[]).forEach(function(v){c||bn(v,function(p){return n===p.id?(c=!0,p.children?p.children.push(o):p.children=[o],h=p.depth,o.itemType==="node"?o.depth=h+2:o.depth=h+1,!1):!0})})}else(!n||!c)&&o.itemType!=="node"&&e.push(o);var d=o.depth;bn(o,function(v){return v.itemType==="node"?d+=2:d+=1,v.depth=d,!0})}return e},oh=function(e,r,n){var a={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,x:void 0,y:void 0,width:void 0,height:void 0,centerX:void 0,centerY:void 0};if(!e||e.length===0){var i=n==null?void 0:n.getModel(),o=i||{},s=o.x,u=o.y,f=o.fixSize,l=o.collapsed,c=o.fixCollapseSize,h=l?c:f,d=bt(h)?h:[h,h],v=d[0],p=d[1],g=[v/2,p/2];return{minX:s-g[0],minY:u-g[1],maxX:s+g[0],maxY:u+g[1],x:s,y:u,width:v,height:p}}return e.forEach(function(y){var m=r.findById(y.id);if(!(!m||!m.isVisible())){m.set("bboxCanvasCache",void 0);var b=m.getCanvasBBox();b.x&&a.minX>b.minX&&(a.minX=b.minX),b.y&&a.minY>b.minY&&(a.minY=b.minY),b.x&&a.maxXn[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}const ty=Object.freeze(Object.defineProperty({__proto__:null,get Base(){return Ea},get Circle(){return b9},get Ellipse(){return w9},get Image(){return x9},get Line(){return E9},get Marker(){return S9},get Path(){return Ky},get Polygon(){return N9},get Polyline(){return O9},get Rect(){return P9},get Text(){return R9}},Symbol.toStringTag,{value:"Module"})),ry=Object.freeze(Object.defineProperty({__proto__:null,get Base(){return aa},get Circle(){return z9},get Dom(){return j9},get Ellipse(){return U9},get Image(){return $9},get Line(){return X9},get Marker(){return W9},get Path(){return V9},get Polygon(){return Y9},get Polyline(){return q9},get Rect(){return Z9},get Text(){return e7}},Symbol.toStringTag,{value:"Module"}));var b0=function(t,e){return b0=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(r[a]=n[a])},b0(t,e)};function jt(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");b0(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var P=function(){return P=Object.assign||function(e){for(var r,n=1,a=arguments.length;n=0;s--)(o=t[s])&&(i=(a<3?o(i):a>3?o(e,r,i):o(e,r))||i);return a>3&&i&&Object.defineProperty(e,r,i),i}function vS(t,e){return function(r,n){e(r,n,t)}}function pS(t,e,r,n,a,i){function o(y){if(y!==void 0&&typeof y!="function")throw new TypeError("Function expected");return y}for(var s=n.kind,u=s==="getter"?"get":s==="setter"?"set":"value",f=!e&&t?n.static?t:t.prototype:null,l=e||(f?Object.getOwnPropertyDescriptor(f,n.name):{}),c,h=!1,d=r.length-1;d>=0;d--){var v={};for(var p in n)v[p]=p==="access"?{}:n[p];for(var p in n.access)v.access[p]=n.access[p];v.addInitializer=function(y){if(h)throw new TypeError("Cannot add initializers after decoration has completed");i.push(o(y||null))};var g=(0,r[d])(s==="accessor"?{get:l.get,set:l.set}:l[u],v);if(s==="accessor"){if(g===void 0)continue;if(g===null||typeof g!="object")throw new TypeError("Object expected");(c=o(g.get))&&(l.get=c),(c=o(g.set))&&(l.set=c),(c=o(g.init))&&a.unshift(c)}else(c=o(g))&&(s==="field"?a.unshift(c):l[u]=c)}f&&Object.defineProperty(f,n.name,l),h=!0}function gS(t,e,r){for(var n=arguments.length>2,a=0;a0&&i[i.length-1])&&(f[0]===6||f[0]===2)){r=0;continue}if(f[0]===3&&(!i||f[1]>i[0]&&f[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ny(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=n.next()).done;)i.push(a.value)}catch(s){o={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return i}function xS(){for(var t=[],e=0;e1||u(d,p)})},v&&(a[d]=v(a[d])))}function u(d,v){try{f(n[d](v))}catch(p){h(i[0][3],p)}}function f(d){d.value instanceof Hs?Promise.resolve(d.value.v).then(l,c):h(i[0][2],d)}function l(d){u("next",d)}function c(d){u("throw",d)}function h(d,v){d(v),i.shift(),i.length&&u(i[0][0],i[0][1])}}function _S(t){var e,r;return e={},n("next"),n("throw",function(a){throw a}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(a,i){e[a]=t[a]?function(o){return(r=!r)?{value:Hs(t[a](o)),done:!1}:i?i(o):o}:i}}function SS(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof _h=="function"?_h(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=t[i]&&function(o){return new Promise(function(s,u){o=t[i](o),a(s,u,o.done,o.value)})}}function a(i,o,s,u){Promise.resolve(u).then(function(f){i({value:f,done:s})},o)}}function MS(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var BP=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e},w0=function(t){return w0=Object.getOwnPropertyNames||function(e){var r=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[r.length]=n);return r},w0(t)};function AS(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r=w0(t),n=0;n-1:!1},DS=function(t,e){if(!On(t))return t;for(var r=[],n=0;n-1;)HP.call(t,i,1);return t},QP=Array.prototype.splice,GS=function(e,r){if(!On(e))return[];for(var n=e?r.length:0,a=n-1;n--;){var i=void 0,o=r[n];(n===a||o!==i)&&(i=o,QP.call(e,o,1))}return e},zS=function(t,e,r){if(!bt(t)&&!ln(t))return t;var n=r;return _e(t,function(a,i){n=e(n,a,i)}),n},JP=function(t,e){var r=[];if(!On(t))return r;for(var n=-1,a=[],i=t.length;++ni[s])return 1;if(a[s]r?r:t},pR=function(t,e){var r=e.toString(),n=r.indexOf(".");if(n===-1)return Math.round(t);var a=r.substr(n+1).length;return a>20&&(a=20),parseFloat(t.toFixed(a))},Ot=function(t){return xa(t,"Number")},gR=function(t){return Ot(t)&&t%1!==0},yR=function(t){return Ot(t)&&t%2===0},mR=Number.isInteger?Number.isInteger:function(t){return Ot(t)&&t%1===0},bR=function(t){return Ot(t)&&t<0},wR=1e-5;function US(t,e,r){return r===void 0&&(r=wR),Math.abs(t-e)0};const _R=function(t,e){if(bt(t)){for(var r,n=-1/0,a=0;an&&(r=i,n=o)}return r}},SR=function(t,e){if(bt(t)){for(var r,n=1/0,a=0;ae?(n&&(clearTimeout(n),n=null),s=l,o=t.apply(a,i),n||(a=i=null)):!n&&r.trailing!==!1&&(n=setTimeout(u,c)),o};return f.cancel=function(){clearTimeout(n),s=0,n=a=i=null},f},ZS=function(t){return On(t)?Array.prototype.slice.call(t):[]};var nc={};const Ji=function(t){return t=t||"g",nc[t]?nc[t]+=1:nc[t]=1,t+nc[t]},sf=function(){},a3=function(t){return t};function i3(t){return Zt(t)?0:On(t)?t.length:Object.keys(t).length}var ac;const uf=YS(function(t,e){e===void 0&&(e={});var r=e.fontSize,n=e.fontFamily,a=e.fontWeight,i=e.fontStyle,o=e.fontVariant;return ac||(ac=document.createElement("canvas").getContext("2d")),ac.font=[i,o,a,r+"px",n].join(" "),ac.measureText(Ye(t)?t:"").width},function(t,e){return e===void 0&&(e={}),ay([t],iy(e)).join("")}),o3=function(t,e,r,n){n===void 0&&(n="...");var a=16,i=uf(n,r),o=Ye(t)?t:vu(t),s=e,u=[],f,l;if(uf(t,r)<=e)return t;for(;f=o.substr(0,a),l=uf(f,r),!(l+i>s&&l>s);)if(u.push(f),s-=l,o=o.substr(a),!o)return u.join("");for(;f=o.substr(0,1),l=uf(f,r),!(l+i>s);)if(u.push(f),s-=l,o=o.substr(1),!o)return u.join("");return""+u.join("")+n};var s3=function(){function t(){this.map={}}return t.prototype.has=function(e){return this.map[e]!==void 0},t.prototype.get=function(e,r){var n=this.map[e];return n===void 0?r:n},t.prototype.set=function(e,r){this.map[e]=r},t.prototype.clear=function(){this.map={}},t.prototype.delete=function(e){delete this.map[e]},t.prototype.size=function(){return Object.keys(this.map).length},t}();const u3=Object.freeze(Object.defineProperty({__proto__:null,Cache:s3,assign:Et,augment:XR,clamp:vR,clearAnimationFrame:VS,clone:rr,contains:Sh,debounce:oy,deepMix:_r,difference:UP,each:_e,endsWith:oR,every:sR,extend:VR,filter:DS,find:XP,findIndex:WP,firstValue:VP,fixedBase:pR,flatten:YP,flattenDeep:FS,forIn:_e,get:HS,getEllipsisText:o3,getRange:qP,getType:$S,getWrapBehavior:cR,group:lR,groupBy:Ah,groupToMap:jS,has:uw,hasKey:uw,hasValue:IR,head:nR,identity:a3,includes:Sh,indexOf:YR,isArguments:PR,isArray:bt,isArrayLike:On,isBoolean:Qf,isDate:RR,isDecimal:gR,isElement:$R,isEmpty:HR,isEqual:jo,isEqualWith:ZR,isError:FR,isEven:yR,isFinite:BR,isFunction:Tr,isInteger:mR,isMatch:RS,isNegative:bR,isNil:Zt,isNull:GR,isNumber:Ot,isNumberEqual:US,isObject:gn,isObjectLike:Mh,isOdd:xR,isPlainObject:ln,isPositive:ER,isPrototype:XS,isRegExp:jR,isString:Ye,isType:xa,isUndefined:UR,keys:PS,last:aR,lowerCase:kR,lowerFirst:NR,map:KR,mapValues:JR,max:qa,maxBy:_R,measureTextWidth:uf,memoize:YS,min:Ha,minBy:SR,mix:Et,mod:gd,noop:sf,number2color:hR,omit:n3,parseRadius:dR,pick:r3,pull:KP,pullAt:GS,reduce:zS,remove:JP,requestAnimationFrame:WS,set:e3,size:i3,some:uR,sortBy:eR,startsWith:iR,substitute:OR,throttle:Ch,toArray:ZS,toDegree:AR,toInteger:CR,toRadian:yd,toString:vu,union:tR,uniq:kf,uniqueId:Ji,upperCase:LR,upperFirst:Zs,values:iy,valuesOfKey:rR,wrapBehavior:Bs},Symbol.toStringTag,{value:"Module"})),f3={getDefaultCfg:function(){return{}},getEvents:function(){return{}},updateCfg:function(e){return Object.assign(this,e),!0},shouldBegin:function(){return!0},shouldUpdate:function(){return!0},shouldEnd:function(){return!0},bind:function(e){var r=this,n=this.events;this.graph=e,(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!0),_e(n,function(a,i){e.on(i,a)}),document.addEventListener("visibilitychange",function(){r.keydown=!1})},unbind:function(e){var r=this.events,n=e.get("canvas").get("draggable");(this.type==="drag-canvas"||this.type==="brush-select"||this.type==="lasso-select")&&e.get("canvas").set("draggable",!1),_e(r,function(a,i){e.off(i,a)}),e.get("canvas").set("draggable",n)},get:function(e){return this[e]},set:function(e,r){return this[e]=r,this}};var sy=function(){function t(){}return t.registerBehavior=function(e,r){if(!r)throw new Error("please specify handler for this behavior: ".concat(e));var n=rr(f3);Object.assign(n,r);var a=function(o){var s=this;Object.assign(this,this.getDefaultCfg(),o);var u=this.getEvents();this.events=null;var f={};u&&(_e(u,function(l,c){f[c]=Bs(s,l)}),this.events=f)};a.prototype=n,t.types[e]=a},t.hasBehavior=function(e){return!!t.types[e]},t.getBehavior=function(e){return t.types[e]},t.types={},t}(),l3="*",KS=function(){function t(){this._events={}}return t.prototype.on=function(e,r,n){return this._events[e]||(this._events[e]=[]),this._events[e].push({callback:r,once:!!n}),this},t.prototype.once=function(e,r){return this.on(e,r,!0)},t.prototype.emit=function(e){for(var r=this,n=[],a=1;a=0?Math.round(t):t%.5===0?Math.floor(t):Math.round(t)}function c3(t){qt=t}var h3=Math.PI/180,d3=180/Math.PI;function v3(t){return t*h3}function p3(t){return t*d3}function g3(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:pt;return Math.abs(t-e)<=r*Math.max(1,Math.abs(t),Math.abs(e))}const y3=Object.freeze(Object.defineProperty({__proto__:null,ANGLE_ORDER:QS,get ARRAY_TYPE(){return qt},EPSILON:pt,RANDOM:ya,equals:g3,round:Ba,setMatrixArrayType:c3,toDegree:p3,toRadian:v3},Symbol.toStringTag,{value:"Module"}));function m3(){var t=new qt(4);return qt!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}function b3(t){var e=new qt(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function w3(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function x3(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t}function E3(t,e,r,n){var a=new qt(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}function _3(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}function S3(t,e){if(t===e){var r=e[1];t[1]=e[2],t[2]=r}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t}function M3(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*i-a*n;return o?(o=1/o,t[0]=i*o,t[1]=-n*o,t[2]=-a*o,t[3]=r*o,t):null}function A3(t,e){var r=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=r,t}function C3(t){return t[0]*t[3]-t[2]*t[1]}function JS(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1],f=r[2],l=r[3];return t[0]=n*s+i*u,t[1]=a*s+o*u,t[2]=n*f+i*l,t[3]=a*f+o*l,t}function T3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+i*s,t[1]=a*u+o*s,t[2]=n*-s+i*u,t[3]=a*-s+o*u,t}function I3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1];return t[0]=n*s,t[1]=a*s,t[2]=i*u,t[3]=o*u,t}function k3(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t}function N3(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t}function O3(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function L3(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3])}function D3(t,e,r,n){return t[2]=n[2]/n[0],r[0]=n[0],r[1]=n[1],r[3]=n[3]-t[2]*r[1],[t,e,r]}function P3(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}function eM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}function R3(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function F3(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=e[0],s=e[1],u=e[2],f=e[3];return Math.abs(r-o)<=pt*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=pt*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=pt*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-f)<=pt*Math.max(1,Math.abs(i),Math.abs(f))}function B3(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}function G3(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}var z3=JS,j3=eM;const U3=Object.freeze(Object.defineProperty({__proto__:null,LDU:D3,add:P3,adjoint:A3,clone:b3,copy:w3,create:m3,determinant:C3,equals:F3,exactEquals:R3,frob:L3,fromRotation:k3,fromScaling:N3,fromValues:E3,identity:x3,invert:M3,mul:z3,multiply:JS,multiplyScalar:B3,multiplyScalarAndAdd:G3,rotate:T3,scale:I3,set:_3,str:O3,sub:j3,subtract:eM,transpose:S3},Symbol.toStringTag,{value:"Module"}));function $3(){var t=new qt(6);return qt!=Float32Array&&(t[1]=0,t[2]=0,t[4]=0,t[5]=0),t[0]=1,t[3]=1,t}function X3(t){var e=new qt(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function W3(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function V3(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function Y3(t,e,r,n,a,i){var o=new qt(6);return o[0]=t,o[1]=e,o[2]=r,o[3]=n,o[4]=a,o[5]=i,o}function q3(t,e,r,n,a,i,o){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t}function H3(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=r*i-n*a;return u?(u=1/u,t[0]=i*u,t[1]=-n*u,t[2]=-a*u,t[3]=r*u,t[4]=(a*s-i*o)*u,t[5]=(n*o-r*s)*u,t):null}function Z3(t){return t[0]*t[3]-t[1]*t[2]}function tM(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=r[0],l=r[1],c=r[2],h=r[3],d=r[4],v=r[5];return t[0]=n*f+i*l,t[1]=a*f+o*l,t[2]=n*c+i*h,t[3]=a*c+o*h,t[4]=n*d+i*v+s,t[5]=a*d+o*v+u,t}function K3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*f,t[1]=a*l+o*f,t[2]=n*-f+i*l,t[3]=a*-f+o*l,t[4]=s,t[5]=u,t}function Q3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=r[0],l=r[1];return t[0]=n*f,t[1]=a*f,t[2]=i*l,t[3]=o*l,t[4]=s,t[5]=u,t}function J3(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=r[0],l=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=n*f+i*l+s,t[5]=a*f+o*l+u,t}function e5(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=-r,t[3]=n,t[4]=0,t[5]=0,t}function t5(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t}function r5(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t}function n5(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"}function a5(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+1)}function i5(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t}function rM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t}function o5(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t}function s5(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t}function u5(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]}function f5(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=e[0],f=e[1],l=e[2],c=e[3],h=e[4],d=e[5];return Math.abs(r-u)<=pt*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-f)<=pt*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(a-l)<=pt*Math.max(1,Math.abs(a),Math.abs(l))&&Math.abs(i-c)<=pt*Math.max(1,Math.abs(i),Math.abs(c))&&Math.abs(o-h)<=pt*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(s-d)<=pt*Math.max(1,Math.abs(s),Math.abs(d))}var l5=tM,c5=rM;const h5=Object.freeze(Object.defineProperty({__proto__:null,add:i5,clone:X3,copy:W3,create:$3,determinant:Z3,equals:f5,exactEquals:u5,frob:a5,fromRotation:e5,fromScaling:t5,fromTranslation:r5,fromValues:Y3,identity:V3,invert:H3,mul:l5,multiply:tM,multiplyScalar:o5,multiplyScalarAndAdd:s5,rotate:K3,scale:Q3,set:q3,str:n5,sub:c5,subtract:rM,translate:J3},Symbol.toStringTag,{value:"Module"}));function nM(){var t=new qt(9);return qt!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function d5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function v5(t){var e=new qt(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function p5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function g5(t,e,r,n,a,i,o,s,u){var f=new qt(9);return f[0]=t,f[1]=e,f[2]=r,f[3]=n,f[4]=a,f[5]=i,f[6]=o,f[7]=s,f[8]=u,f}function y5(t,e,r,n,a,i,o,s,u,f){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=u,t[8]=f,t}function m5(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function b5(t,e){if(t===e){var r=e[1],n=e[2],a=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=a}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function aM(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=l*o-s*f,h=-l*i+s*u,d=f*i-o*u,v=r*c+n*h+a*d;return v?(v=1/v,t[0]=c*v,t[1]=(-l*n+a*f)*v,t[2]=(s*n-a*o)*v,t[3]=h*v,t[4]=(l*r-a*u)*v,t[5]=(-s*r+a*i)*v,t[6]=d*v,t[7]=(-f*r+n*u)*v,t[8]=(o*r-n*i)*v,t):null}function w5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8];return t[0]=o*l-s*f,t[1]=a*f-n*l,t[2]=n*s-a*o,t[3]=s*u-i*l,t[4]=r*l-a*u,t[5]=a*i-r*s,t[6]=i*f-o*u,t[7]=n*u-r*f,t[8]=r*o-n*i,t}function x5(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],u=t[7],f=t[8];return e*(f*i-o*u)+r*(-f*a+o*s)+n*(u*a-i*s)}function Qa(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=r[0],d=r[1],v=r[2],p=r[3],g=r[4],y=r[5],m=r[6],b=r[7],w=r[8];return t[0]=h*n+d*o+v*f,t[1]=h*a+d*s+v*l,t[2]=h*i+d*u+v*c,t[3]=p*n+g*o+y*f,t[4]=p*a+g*s+y*l,t[5]=p*i+g*u+y*c,t[6]=m*n+b*o+w*f,t[7]=m*a+b*s+w*l,t[8]=m*i+b*u+w*c,t}function E5(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=r[0],d=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=u,t[6]=h*n+d*o+f,t[7]=h*a+d*s+l,t[8]=h*i+d*u+c,t}function _5(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=Math.sin(r),d=Math.cos(r);return t[0]=d*n+h*o,t[1]=d*a+h*s,t[2]=d*i+h*u,t[3]=d*o-h*n,t[4]=d*s-h*a,t[5]=d*u-h*i,t[6]=f,t[7]=l,t[8]=c,t}function S5(t,e,r){var n=r[0],a=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=a*e[3],t[4]=a*e[4],t[5]=a*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function uy(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function fy(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function ly(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function M5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function A5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,u=a+a,f=r*o,l=n*o,c=n*s,h=a*o,d=a*s,v=a*u,p=i*o,g=i*s,y=i*u;return t[0]=1-c-v,t[3]=l-y,t[6]=h+g,t[1]=l+y,t[4]=1-f-v,t[7]=d-p,t[2]=h-g,t[5]=d+p,t[8]=1-f-c,t}function C5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=e[9],h=e[10],d=e[11],v=e[12],p=e[13],g=e[14],y=e[15],m=r*s-n*o,b=r*u-a*o,w=r*f-i*o,x=n*u-a*s,E=n*f-i*s,_=a*f-i*u,S=l*p-c*v,A=l*g-h*v,M=l*y-d*v,C=c*g-h*p,I=c*y-d*p,k=h*y-d*g,O=m*k-b*I+w*C+x*M-E*A+_*S;return O?(O=1/O,t[0]=(s*k-u*I+f*C)*O,t[1]=(u*M-o*k-f*A)*O,t[2]=(o*I-s*M+f*S)*O,t[3]=(a*I-n*k-i*C)*O,t[4]=(r*k-a*M+i*A)*O,t[5]=(n*M-r*I-i*S)*O,t[6]=(p*_-g*E+y*x)*O,t[7]=(g*w-v*_-y*b)*O,t[8]=(v*E-p*w+y*m)*O,t):null}function T5(t,e,r){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function I5(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function k5(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8])}function N5(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t}function iM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t}function O5(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t}function L5(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t}function D5(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function P5(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],f=t[7],l=t[8],c=e[0],h=e[1],d=e[2],v=e[3],p=e[4],g=e[5],y=e[6],m=e[7],b=e[8];return Math.abs(r-c)<=pt*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(n-h)<=pt*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(a-d)<=pt*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(i-v)<=pt*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(o-p)<=pt*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(s-g)<=pt*Math.max(1,Math.abs(s),Math.abs(g))&&Math.abs(u-y)<=pt*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(f-m)<=pt*Math.max(1,Math.abs(f),Math.abs(m))&&Math.abs(l-b)<=pt*Math.max(1,Math.abs(l),Math.abs(b))}var R5=Qa,F5=iM;const oM=Object.freeze(Object.defineProperty({__proto__:null,add:N5,adjoint:w5,clone:v5,copy:p5,create:nM,determinant:x5,equals:P5,exactEquals:D5,frob:k5,fromMat2d:M5,fromMat4:d5,fromQuat:A5,fromRotation:fy,fromScaling:ly,fromTranslation:uy,fromValues:g5,identity:m5,invert:aM,mul:R5,multiply:Qa,multiplyScalar:O5,multiplyScalarAndAdd:L5,normalFromMat4:C5,projection:T5,rotate:_5,scale:S5,set:y5,str:I5,sub:F5,subtract:iM,translate:E5,transpose:b5},Symbol.toStringTag,{value:"Module"}));function B5(){var t=new qt(16);return qt!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function G5(t){var e=new qt(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function z5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function j5(t,e,r,n,a,i,o,s,u,f,l,c,h,d,v,p){var g=new qt(16);return g[0]=t,g[1]=e,g[2]=r,g[3]=n,g[4]=a,g[5]=i,g[6]=o,g[7]=s,g[8]=u,g[9]=f,g[10]=l,g[11]=c,g[12]=h,g[13]=d,g[14]=v,g[15]=p,g}function U5(t,e,r,n,a,i,o,s,u,f,l,c,h,d,v,p,g){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=u,t[8]=f,t[9]=l,t[10]=c,t[11]=h,t[12]=d,t[13]=v,t[14]=p,t[15]=g,t}function sM(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function $5(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function X5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=e[9],h=e[10],d=e[11],v=e[12],p=e[13],g=e[14],y=e[15],m=r*s-n*o,b=r*u-a*o,w=r*f-i*o,x=n*u-a*s,E=n*f-i*s,_=a*f-i*u,S=l*p-c*v,A=l*g-h*v,M=l*y-d*v,C=c*g-h*p,I=c*y-d*p,k=h*y-d*g,O=m*k-b*I+w*C+x*M-E*A+_*S;return O?(O=1/O,t[0]=(s*k-u*I+f*C)*O,t[1]=(a*I-n*k-i*C)*O,t[2]=(p*_-g*E+y*x)*O,t[3]=(h*E-c*_-d*x)*O,t[4]=(u*M-o*k-f*A)*O,t[5]=(r*k-a*M+i*A)*O,t[6]=(g*w-v*_-y*b)*O,t[7]=(l*_-h*w+d*b)*O,t[8]=(o*I-s*M+f*S)*O,t[9]=(n*M-r*I-i*S)*O,t[10]=(v*E-p*w+y*m)*O,t[11]=(c*w-l*E-d*m)*O,t[12]=(s*A-o*C-u*S)*O,t[13]=(r*C-n*A+a*S)*O,t[14]=(p*b-v*x-g*m)*O,t[15]=(l*x-c*b+h*m)*O,t):null}function W5(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],u=e[6],f=e[7],l=e[8],c=e[9],h=e[10],d=e[11],v=e[12],p=e[13],g=e[14],y=e[15],m=r*s-n*o,b=r*u-a*o,w=r*f-i*o,x=n*u-a*s,E=n*f-i*s,_=a*f-i*u,S=l*p-c*v,A=l*g-h*v,M=l*y-d*v,C=c*g-h*p,I=c*y-d*p,k=h*y-d*g;return t[0]=s*k-u*I+f*C,t[1]=a*I-n*k-i*C,t[2]=p*_-g*E+y*x,t[3]=h*E-c*_-d*x,t[4]=u*M-o*k-f*A,t[5]=r*k-a*M+i*A,t[6]=g*w-v*_-y*b,t[7]=l*_-h*w+d*b,t[8]=o*I-s*M+f*S,t[9]=n*M-r*I-i*S,t[10]=v*E-p*w+y*m,t[11]=c*w-l*E-d*m,t[12]=s*A-o*C-u*S,t[13]=r*C-n*A+a*S,t[14]=p*b-v*x-g*m,t[15]=l*x-c*b+h*m,t}function V5(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],u=t[7],f=t[8],l=t[9],c=t[10],h=t[11],d=t[12],v=t[13],p=t[14],g=t[15],y=e*o-r*i,m=e*s-n*i,b=r*s-n*o,w=f*v-l*d,x=f*p-c*d,E=l*p-c*v,_=e*E-r*x+n*w,S=i*E-o*x+s*w,A=f*b-l*m+c*y,M=d*b-v*m+p*y;return u*_-a*S+g*A-h*M}function uM(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=e[8],h=e[9],d=e[10],v=e[11],p=e[12],g=e[13],y=e[14],m=e[15],b=r[0],w=r[1],x=r[2],E=r[3];return t[0]=b*n+w*s+x*c+E*p,t[1]=b*a+w*u+x*h+E*g,t[2]=b*i+w*f+x*d+E*y,t[3]=b*o+w*l+x*v+E*m,b=r[4],w=r[5],x=r[6],E=r[7],t[4]=b*n+w*s+x*c+E*p,t[5]=b*a+w*u+x*h+E*g,t[6]=b*i+w*f+x*d+E*y,t[7]=b*o+w*l+x*v+E*m,b=r[8],w=r[9],x=r[10],E=r[11],t[8]=b*n+w*s+x*c+E*p,t[9]=b*a+w*u+x*h+E*g,t[10]=b*i+w*f+x*d+E*y,t[11]=b*o+w*l+x*v+E*m,b=r[12],w=r[13],x=r[14],E=r[15],t[12]=b*n+w*s+x*c+E*p,t[13]=b*a+w*u+x*h+E*g,t[14]=b*i+w*f+x*d+E*y,t[15]=b*o+w*l+x*v+E*m,t}function Y5(t,e,r){var n=r[0],a=r[1],i=r[2],o,s,u,f,l,c,h,d,v,p,g,y;return e===t?(t[12]=e[0]*n+e[4]*a+e[8]*i+e[12],t[13]=e[1]*n+e[5]*a+e[9]*i+e[13],t[14]=e[2]*n+e[6]*a+e[10]*i+e[14],t[15]=e[3]*n+e[7]*a+e[11]*i+e[15]):(o=e[0],s=e[1],u=e[2],f=e[3],l=e[4],c=e[5],h=e[6],d=e[7],v=e[8],p=e[9],g=e[10],y=e[11],t[0]=o,t[1]=s,t[2]=u,t[3]=f,t[4]=l,t[5]=c,t[6]=h,t[7]=d,t[8]=v,t[9]=p,t[10]=g,t[11]=y,t[12]=o*n+l*a+v*i+e[12],t[13]=s*n+c*a+p*i+e[13],t[14]=u*n+h*a+g*i+e[14],t[15]=f*n+d*a+y*i+e[15]),t}function q5(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function H5(t,e,r,n){var a=n[0],i=n[1],o=n[2],s=Math.sqrt(a*a+i*i+o*o),u,f,l,c,h,d,v,p,g,y,m,b,w,x,E,_,S,A,M,C,I,k,O,B;return s0?(r[0]=(s*o+l*n+u*i-f*a)*2/c,r[1]=(u*o+l*a+f*n-s*i)*2/c,r[2]=(f*o+l*i+s*a-u*n)*2/c):(r[0]=(s*o+l*n+u*i-f*a)*2,r[1]=(u*o+l*a+f*n-s*i)*2,r[2]=(f*o+l*i+s*a-u*n)*2),fM(t,e,r),t}function lM(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function cM(t,e){var r=e[0],n=e[1],a=e[2],i=e[4],o=e[5],s=e[6],u=e[8],f=e[9],l=e[10];return t[0]=Math.sqrt(r*r+n*n+a*a),t[1]=Math.sqrt(i*i+o*o+s*s),t[2]=Math.sqrt(u*u+f*f+l*l),t}function hM(t,e){var r=new qt(3);cM(r,e);var n=1/r[0],a=1/r[1],i=1/r[2],o=e[0]*n,s=e[1]*a,u=e[2]*i,f=e[4]*n,l=e[5]*a,c=e[6]*i,h=e[8]*n,d=e[9]*a,v=e[10]*i,p=o+l+v,g=0;return p>0?(g=Math.sqrt(p+1)*2,t[3]=.25*g,t[0]=(c-d)/g,t[1]=(h-u)/g,t[2]=(s-f)/g):o>l&&o>v?(g=Math.sqrt(1+o-l-v)*2,t[3]=(c-d)/g,t[0]=.25*g,t[1]=(s+f)/g,t[2]=(h+u)/g):l>v?(g=Math.sqrt(1+l-o-v)*2,t[3]=(h-u)/g,t[0]=(s+f)/g,t[1]=.25*g,t[2]=(c+d)/g):(g=Math.sqrt(1+v-o-l)*2,t[3]=(s-f)/g,t[0]=(h+u)/g,t[1]=(c+d)/g,t[2]=.25*g),t}function oF(t,e,r,n){e[0]=n[12],e[1]=n[13],e[2]=n[14];var a=n[0],i=n[1],o=n[2],s=n[4],u=n[5],f=n[6],l=n[8],c=n[9],h=n[10];r[0]=Math.sqrt(a*a+i*i+o*o),r[1]=Math.sqrt(s*s+u*u+f*f),r[2]=Math.sqrt(l*l+c*c+h*h);var d=1/r[0],v=1/r[1],p=1/r[2],g=a*d,y=i*v,m=o*p,b=s*d,w=u*v,x=f*p,E=l*d,_=c*v,S=h*p,A=g+w+S,M=0;return A>0?(M=Math.sqrt(A+1)*2,t[3]=.25*M,t[0]=(x-_)/M,t[1]=(E-m)/M,t[2]=(y-b)/M):g>w&&g>S?(M=Math.sqrt(1+g-w-S)*2,t[3]=(x-_)/M,t[0]=.25*M,t[1]=(y+b)/M,t[2]=(E+m)/M):w>S?(M=Math.sqrt(1+w-g-S)*2,t[3]=(E-m)/M,t[0]=(y+b)/M,t[1]=.25*M,t[2]=(x+_)/M):(M=Math.sqrt(1+S-g-w)*2,t[3]=(y-b)/M,t[0]=(E+m)/M,t[1]=(x+_)/M,t[2]=.25*M),t}function sF(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3],u=a+a,f=i+i,l=o+o,c=a*u,h=a*f,d=a*l,v=i*f,p=i*l,g=o*l,y=s*u,m=s*f,b=s*l,w=n[0],x=n[1],E=n[2];return t[0]=(1-(v+g))*w,t[1]=(h+b)*w,t[2]=(d-m)*w,t[3]=0,t[4]=(h-b)*x,t[5]=(1-(c+g))*x,t[6]=(p+y)*x,t[7]=0,t[8]=(d+m)*E,t[9]=(p-y)*E,t[10]=(1-(c+v))*E,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function uF(t,e,r,n,a){var i=e[0],o=e[1],s=e[2],u=e[3],f=i+i,l=o+o,c=s+s,h=i*f,d=i*l,v=i*c,p=o*l,g=o*c,y=s*c,m=u*f,b=u*l,w=u*c,x=n[0],E=n[1],_=n[2],S=a[0],A=a[1],M=a[2],C=(1-(p+y))*x,I=(d+w)*x,k=(v-b)*x,O=(d-w)*E,B=(1-(h+y))*E,L=(g+m)*E,z=(v+b)*_,X=(g-m)*_,R=(1-(h+p))*_;return t[0]=C,t[1]=I,t[2]=k,t[3]=0,t[4]=O,t[5]=B,t[6]=L,t[7]=0,t[8]=z,t[9]=X,t[10]=R,t[11]=0,t[12]=r[0]+S-(C*S+O*A+z*M),t[13]=r[1]+A-(I*S+B*A+X*M),t[14]=r[2]+M-(k*S+L*A+R*M),t[15]=1,t}function fF(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,u=a+a,f=r*o,l=n*o,c=n*s,h=a*o,d=a*s,v=a*u,p=i*o,g=i*s,y=i*u;return t[0]=1-c-v,t[1]=l+y,t[2]=h-g,t[3]=0,t[4]=l-y,t[5]=1-f-v,t[6]=d+p,t[7]=0,t[8]=h+g,t[9]=d-p,t[10]=1-f-c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function lF(t,e,r,n,a,i,o){var s=1/(r-e),u=1/(a-n),f=1/(i-o);return t[0]=i*2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i*2*u,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(a+n)*u,t[10]=(o+i)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*i*2*f,t[15]=0,t}function dM(t,e,r,n,a){var i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,a!=null&&a!==1/0){var o=1/(n-a);t[10]=(a+n)*o,t[14]=2*a*n*o}else t[10]=-1,t[14]=-2*n;return t}var cF=dM;function hF(t,e,r,n,a){var i=1/Math.tan(e/2);if(t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,a!=null&&a!==1/0){var o=1/(n-a);t[10]=a*o,t[14]=a*n*o}else t[10]=-1,t[14]=-n;return t}function dF(t,e,r,n){var a=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),u=2/(o+s),f=2/(a+i);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-s)*u*.5),t[9]=(a-i)*f*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function vM(t,e,r,n,a,i,o){var s=1/(e-r),u=1/(n-a),f=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*u,t[14]=(o+i)*f,t[15]=1,t}var vF=vM;function pF(t,e,r,n,a,i,o){var s=1/(e-r),u=1/(n-a),f=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=f,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*u,t[14]=i*f,t[15]=1,t}function gF(t,e,r,n){var a,i,o,s,u,f,l,c,h,d,v=e[0],p=e[1],g=e[2],y=n[0],m=n[1],b=n[2],w=r[0],x=r[1],E=r[2];return Math.abs(v-w)0&&(d=1/Math.sqrt(d),l*=d,c*=d,h*=d);var v=u*h-f*c,p=f*l-s*h,g=s*c-u*l;return d=v*v+p*p+g*g,d>0&&(d=1/Math.sqrt(d),v*=d,p*=d,g*=d),t[0]=v,t[1]=p,t[2]=g,t[3]=0,t[4]=c*g-h*p,t[5]=h*v-l*g,t[6]=l*p-c*v,t[7]=0,t[8]=l,t[9]=c,t[10]=h,t[11]=0,t[12]=a,t[13]=i,t[14]=o,t[15]=1,t}function mF(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function bF(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]+t[3]*t[3]+t[4]*t[4]+t[5]*t[5]+t[6]*t[6]+t[7]*t[7]+t[8]*t[8]+t[9]*t[9]+t[10]*t[10]+t[11]*t[11]+t[12]*t[12]+t[13]*t[13]+t[14]*t[14]+t[15]*t[15])}function wF(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function pM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function xF(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function EF(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function _F(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function SF(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],f=t[7],l=t[8],c=t[9],h=t[10],d=t[11],v=t[12],p=t[13],g=t[14],y=t[15],m=e[0],b=e[1],w=e[2],x=e[3],E=e[4],_=e[5],S=e[6],A=e[7],M=e[8],C=e[9],I=e[10],k=e[11],O=e[12],B=e[13],L=e[14],z=e[15];return Math.abs(r-m)<=pt*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(n-b)<=pt*Math.max(1,Math.abs(n),Math.abs(b))&&Math.abs(a-w)<=pt*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(i-x)<=pt*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-E)<=pt*Math.max(1,Math.abs(o),Math.abs(E))&&Math.abs(s-_)<=pt*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(u-S)<=pt*Math.max(1,Math.abs(u),Math.abs(S))&&Math.abs(f-A)<=pt*Math.max(1,Math.abs(f),Math.abs(A))&&Math.abs(l-M)<=pt*Math.max(1,Math.abs(l),Math.abs(M))&&Math.abs(c-C)<=pt*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(h-I)<=pt*Math.max(1,Math.abs(h),Math.abs(I))&&Math.abs(d-k)<=pt*Math.max(1,Math.abs(d),Math.abs(k))&&Math.abs(v-O)<=pt*Math.max(1,Math.abs(v),Math.abs(O))&&Math.abs(p-B)<=pt*Math.max(1,Math.abs(p),Math.abs(B))&&Math.abs(g-L)<=pt*Math.max(1,Math.abs(g),Math.abs(L))&&Math.abs(y-z)<=pt*Math.max(1,Math.abs(y),Math.abs(z))}var MF=uM,AF=pM;const CF=Object.freeze(Object.defineProperty({__proto__:null,add:wF,adjoint:W5,clone:G5,copy:z5,create:B5,decompose:oF,determinant:V5,equals:SF,exactEquals:_F,frob:bF,fromQuat:fF,fromQuat2:iF,fromRotation:tF,fromRotationTranslation:fM,fromRotationTranslationScale:sF,fromRotationTranslationScaleOrigin:uF,fromScaling:eF,fromTranslation:J5,fromValues:j5,fromXRotation:rF,fromYRotation:nF,fromZRotation:aF,frustum:lF,getRotation:hM,getScaling:cM,getTranslation:lM,identity:sM,invert:X5,lookAt:gF,mul:MF,multiply:uM,multiplyScalar:xF,multiplyScalarAndAdd:EF,ortho:vF,orthoNO:vM,orthoZO:pF,perspective:cF,perspectiveFromFieldOfView:dF,perspectiveNO:dM,perspectiveZO:hF,rotate:H5,rotateX:Z5,rotateY:K5,rotateZ:Q5,scale:q5,set:U5,str:mF,sub:AF,subtract:pM,targetTo:yF,translate:Y5,transpose:$5},Symbol.toStringTag,{value:"Module"}));function cy(){var t=new qt(3);return qt!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function TF(t){var e=new qt(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function gM(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}function x0(t,e,r){var n=new qt(3);return n[0]=t,n[1]=e,n[2]=r,n}function IF(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function kF(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function NF(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function yM(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function mM(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function bM(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function OF(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function LF(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function DF(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function PF(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function RF(t,e){return t[0]=Ba(e[0]),t[1]=Ba(e[1]),t[2]=Ba(e[2]),t}function FF(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function BF(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function wM(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}function xM(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}function EM(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}function GF(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function zF(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function _M(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function md(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function eh(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],u=r[2];return t[0]=a*u-i*s,t[1]=i*o-n*u,t[2]=n*s-a*o,t}function jF(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}function UF(t,e,r,n){var a=Math.acos(Math.min(Math.max(md(e,r),-1),1)),i=Math.sin(a),o=Math.sin((1-n)*a)/i,s=Math.sin(n*a)/i;return t[0]=o*e[0]+s*r[0],t[1]=o*e[1]+s*r[1],t[2]=o*e[2]+s*r[2],t}function $F(t,e,r,n,a,i){var o=i*i,s=o*(2*i-3)+1,u=o*(i-2)+i,f=o*(i-1),l=o*(3-2*i);return t[0]=e[0]*s+r[0]*u+n[0]*f+a[0]*l,t[1]=e[1]*s+r[1]*u+n[1]*f+a[1]*l,t[2]=e[2]*s+r[2]*u+n[2]*f+a[2]*l,t}function XF(t,e,r,n,a,i){var o=1-i,s=o*o,u=i*i,f=s*o,l=3*i*s,c=3*u*o,h=u*i;return t[0]=e[0]*f+r[0]*l+n[0]*c+a[0]*h,t[1]=e[1]*f+r[1]*l+n[1]*c+a[1]*h,t[2]=e[2]*f+r[2]*l+n[2]*c+a[2]*h,t}function WF(t,e){e=e===void 0?1:e;var r=ya()*2*Math.PI,n=ya()*2-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}function VF(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}function bd(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}function YF(t,e,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=e[0],u=e[1],f=e[2],l=a*f-i*u,c=i*s-n*f,h=n*u-a*s;return l=l+l,c=c+c,h=h+h,t[0]=s+o*l+a*h-i*c,t[1]=u+o*c+i*l-n*h,t[2]=f+o*h+n*c-a*l,t}function qF(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function HF(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function ZF(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t}function KF(t,e){var r=t[0],n=t[1],a=t[2],i=e[0],o=e[1],s=e[2],u=Math.sqrt((r*r+n*n+a*a)*(i*i+o*o+s*s)),f=u&&md(t,e)/u;return Math.acos(Math.min(Math.max(f,-1),1))}function QF(t){return t[0]=0,t[1]=0,t[2]=0,t}function JF(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function eB(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function tB(t,e){var r=t[0],n=t[1],a=t[2],i=e[0],o=e[1],s=e[2];return Math.abs(r-i)<=pt*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-o)<=pt*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(a-s)<=pt*Math.max(1,Math.abs(a),Math.abs(s))}var rB=yM,nB=mM,aB=bM,iB=wM,oB=xM,SM=gM,sB=EM,uB=function(){var t=cy();return function(e,r,n,a,i,o){var s,u;for(r||(r=3),n||(n=0),a?u=Math.min(a*r+n,e.length):u=e.length,s=n;s0&&(o=1/Math.sqrt(o)),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o,t}function vy(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function mB(t,e,r,n){var a=r[0]*n[1]-r[1]*n[0],i=r[0]*n[2]-r[2]*n[0],o=r[0]*n[3]-r[3]*n[0],s=r[1]*n[2]-r[2]*n[1],u=r[1]*n[3]-r[3]*n[1],f=r[2]*n[3]-r[3]*n[2],l=e[0],c=e[1],h=e[2],d=e[3];return t[0]=c*f-h*u+d*s,t[1]=-(l*f)+h*o-d*i,t[2]=l*u-c*o+d*a,t[3]=-(l*s)+c*i-h*a,t}function BM(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}function bB(t,e){e=e===void 0?1:e;var r,n,a,i,o,s,u;u=ya(),r=u*2-1,n=(4*ya()-2)*Math.sqrt(u*-u+u),o=r*r+n*n,u=ya(),a=u*2-1,i=(4*ya()-2)*Math.sqrt(u*-u+u),s=a*a+i*i;var f=Math.sqrt((1-o)/s);return t[0]=e*r,t[1]=e*n,t[2]=e*a*f,t[3]=e*i*f,t}function wB(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}function xB(t,e,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=e[0],u=e[1],f=e[2],l=a*f-i*u,c=i*s-n*f,h=n*u-a*s;return l=l+l,c=c+c,h=h+h,t[0]=s+o*l+a*h-i*c,t[1]=u+o*c+i*l-n*h,t[2]=f+o*h+n*c-a*l,t[3]=e[3],t}function EB(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}function _B(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function GM(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]}function SB(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=e[0],s=e[1],u=e[2],f=e[3];return Math.abs(r-o)<=pt*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-s)<=pt*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-u)<=pt*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(i-f)<=pt*Math.max(1,Math.abs(i),Math.abs(f))}var MB=NM,AB=OM,CB=LM,TB=PM,IB=RM,kB=hy,NB=dy,OB=function(){var t=MM();return function(e,r,n,a,i,o){var s,u;for(r||(r=4),n||(n=0),a?u=Math.min(a*r+n,e.length):u=e.length,s=n;spt?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r}function RB(t,e){var r=gy(t,e);return Math.acos(2*r*r-1)}function jM(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1],f=r[2],l=r[3];return t[0]=n*l+o*s+a*f-i*u,t[1]=a*l+o*u+i*s-n*f,t[2]=i*l+o*f+n*u-a*s,t[3]=o*l-n*s-a*u-i*f,t}function UM(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+o*s,t[1]=a*u+i*s,t[2]=i*u-a*s,t[3]=o*u-n*s,t}function $M(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u-i*s,t[1]=a*u+o*s,t[2]=i*u+n*s,t[3]=o*u-a*s,t}function XM(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*s,t[1]=a*u-n*s,t[2]=i*u+o*s,t[3]=o*u-i*s,t}function FB(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t}function WM(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=Math.sqrt(r*r+n*n+a*a),s=Math.exp(i),u=o>0?s*Math.sin(o)/o:0;return t[0]=r*u,t[1]=n*u,t[2]=a*u,t[3]=s*Math.cos(o),t}function VM(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=Math.sqrt(r*r+n*n+a*a),s=o>0?Math.atan2(o,i)/o:0;return t[0]=r*s,t[1]=n*s,t[2]=a*s,t[3]=.5*Math.log(r*r+n*n+a*a+i*i),t}function BB(t,e,r){return VM(t,e),qM(t,t,r),WM(t,t),t}function th(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3],u=r[0],f=r[1],l=r[2],c=r[3],h,d,v,p,g;return d=a*u+i*f+o*l+s*c,d<0&&(d=-d,u=-u,f=-f,l=-l,c=-c),1-d>pt?(h=Math.acos(d),v=Math.sin(h),p=Math.sin((1-n)*h)/v,g=Math.sin(n*h)/v):(p=1-n,g=n),t[0]=p*a+g*u,t[1]=p*i+g*f,t[2]=p*o+g*l,t[3]=p*s+g*c,t}function GB(t){var e=ya(),r=ya(),n=ya(),a=Math.sqrt(1-e),i=Math.sqrt(e);return t[0]=a*Math.sin(2*Math.PI*r),t[1]=a*Math.cos(2*Math.PI*r),t[2]=i*Math.sin(2*Math.PI*n),t[3]=i*Math.cos(2*Math.PI*n),t}function zB(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i,s=o?1/o:0;return t[0]=-r*s,t[1]=-n*s,t[2]=-a*s,t[3]=i*s,t}function jB(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function YM(t,e){var r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[a*3+a]&&(a=2);var i=(a+1)%3,o=(a+2)%3;n=Math.sqrt(e[a*3+a]-e[i*3+i]-e[o*3+o]+1),t[a]=.5*n,n=.5/n,t[3]=(e[i*3+o]-e[o*3+i])*n,t[i]=(e[i*3+a]+e[a*3+i])*n,t[o]=(e[o*3+a]+e[a*3+o])*n}return t}function UB(t,e,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:QS,i=Math.PI/360;e*=i,n*=i,r*=i;var o=Math.sin(e),s=Math.cos(e),u=Math.sin(r),f=Math.cos(r),l=Math.sin(n),c=Math.cos(n);switch(a){case"xyz":t[0]=o*f*c+s*u*l,t[1]=s*u*c-o*f*l,t[2]=s*f*l+o*u*c,t[3]=s*f*c-o*u*l;break;case"xzy":t[0]=o*f*c-s*u*l,t[1]=s*u*c-o*f*l,t[2]=s*f*l+o*u*c,t[3]=s*f*c+o*u*l;break;case"yxz":t[0]=o*f*c+s*u*l,t[1]=s*u*c-o*f*l,t[2]=s*f*l-o*u*c,t[3]=s*f*c+o*u*l;break;case"yzx":t[0]=o*f*c+s*u*l,t[1]=s*u*c+o*f*l,t[2]=s*f*l-o*u*c,t[3]=s*f*c-o*u*l;break;case"zxy":t[0]=o*f*c-s*u*l,t[1]=s*u*c+o*f*l,t[2]=s*f*l+o*u*c,t[3]=s*f*c-o*u*l;break;case"zyx":t[0]=o*f*c-s*u*l,t[1]=s*u*c+o*f*l,t[2]=s*f*l-o*u*c,t[3]=s*f*c+o*u*l;break;default:throw new Error("Unknown angle order "+a)}return t}function $B(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}var XB=AM,WB=CM,py=TM,VB=IM,YB=kM,qB=jM,qM=DM,gy=vy,HB=BM,yy=hy,ZB=yy,my=dy,KB=my,by=FM,QB=GM;function JB(t,e){return Math.abs(vy(t,e))>=1-pt}var e4=function(){var t=cy(),e=x0(1,0,0),r=x0(0,1,0);return function(n,a,i){var o=md(a,i);return o<-.999999?(eh(t,e,a),SM(t)<1e-6&&eh(t,r,a),_M(t,t),zM(n,t,Math.PI),n):o>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(eh(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+o,by(n,n))}}(),t4=function(){var t=Th(),e=Th();return function(r,n,a,i,o,s){return th(t,n,o,s),th(e,a,i,s),th(r,t,e,2*s*(1-s)),r}}(),r4=function(){var t=nM();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],by(e,YM(e,t))}}();const n4=Object.freeze(Object.defineProperty({__proto__:null,add:YB,calculateW:FB,clone:XB,conjugate:jB,copy:py,create:Th,dot:gy,equals:JB,exactEquals:QB,exp:WM,fromEuler:UB,fromMat3:YM,fromValues:WB,getAngle:RB,getAxisAngle:PB,identity:DB,invert:zB,len:ZB,length:yy,lerp:HB,ln:VM,mul:qB,multiply:jM,normalize:by,pow:BB,random:GB,rotateX:UM,rotateY:$M,rotateZ:XM,rotationTo:e4,scale:qM,set:VB,setAxes:r4,setAxisAngle:zM,slerp:th,sqlerp:t4,sqrLen:KB,squaredLength:my,str:$B},Symbol.toStringTag,{value:"Module"}));function a4(){var t=new qt(8);return qt!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0),t[3]=1,t}function i4(t){var e=new qt(8);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e}function o4(t,e,r,n,a,i,o,s){var u=new qt(8);return u[0]=t,u[1]=e,u[2]=r,u[3]=n,u[4]=a,u[5]=i,u[6]=o,u[7]=s,u}function s4(t,e,r,n,a,i,o){var s=new qt(8);s[0]=t,s[1]=e,s[2]=r,s[3]=n;var u=a*.5,f=i*.5,l=o*.5;return s[4]=u*n+f*r-l*e,s[5]=f*n+l*t-u*r,s[6]=l*n+u*e-f*t,s[7]=-u*t-f*e-l*r,s}function HM(t,e,r){var n=r[0]*.5,a=r[1]*.5,i=r[2]*.5,o=e[0],s=e[1],u=e[2],f=e[3];return t[0]=o,t[1]=s,t[2]=u,t[3]=f,t[4]=n*f+a*u-i*s,t[5]=a*f+i*o-n*u,t[6]=i*f+n*s-a*o,t[7]=-n*o-a*s-i*u,t}function u4(t,e){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0]*.5,t[5]=e[1]*.5,t[6]=e[2]*.5,t[7]=0,t}function f4(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=0,t[5]=0,t[6]=0,t[7]=0,t}function l4(t,e){var r=Th();hM(r,e);var n=new qt(3);return lM(n,e),HM(t,r,n),t}function ZM(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t}function c4(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t}function h4(t,e,r,n,a,i,o,s,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=o,t[6]=s,t[7]=u,t}var d4=py;function v4(t,e){return t[0]=e[4],t[1]=e[5],t[2]=e[6],t[3]=e[7],t}var p4=py;function g4(t,e){return t[4]=e[0],t[5]=e[1],t[6]=e[2],t[7]=e[3],t}function y4(t,e){var r=e[4],n=e[5],a=e[6],i=e[7],o=-e[0],s=-e[1],u=-e[2],f=e[3];return t[0]=(r*f+i*o+n*u-a*s)*2,t[1]=(n*f+i*s+a*o-r*u)*2,t[2]=(a*f+i*u+r*s-n*o)*2,t}function m4(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0]*.5,u=r[1]*.5,f=r[2]*.5,l=e[4],c=e[5],h=e[6],d=e[7];return t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=o*s+a*f-i*u+l,t[5]=o*u+i*s-n*f+c,t[6]=o*f+n*u-a*s+h,t[7]=-n*s-a*u-i*f+d,t}function b4(t,e,r){var n=-e[0],a=-e[1],i=-e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=s*o+l*n+u*i-f*a,h=u*o+l*a+f*n-s*i,d=f*o+l*i+s*a-u*n,v=l*o-s*n-u*a-f*i;return UM(t,e,r),n=t[0],a=t[1],i=t[2],o=t[3],t[4]=c*o+v*n+h*i-d*a,t[5]=h*o+v*a+d*n-c*i,t[6]=d*o+v*i+c*a-h*n,t[7]=v*o-c*n-h*a-d*i,t}function w4(t,e,r){var n=-e[0],a=-e[1],i=-e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=s*o+l*n+u*i-f*a,h=u*o+l*a+f*n-s*i,d=f*o+l*i+s*a-u*n,v=l*o-s*n-u*a-f*i;return $M(t,e,r),n=t[0],a=t[1],i=t[2],o=t[3],t[4]=c*o+v*n+h*i-d*a,t[5]=h*o+v*a+d*n-c*i,t[6]=d*o+v*i+c*a-h*n,t[7]=v*o-c*n-h*a-d*i,t}function x4(t,e,r){var n=-e[0],a=-e[1],i=-e[2],o=e[3],s=e[4],u=e[5],f=e[6],l=e[7],c=s*o+l*n+u*i-f*a,h=u*o+l*a+f*n-s*i,d=f*o+l*i+s*a-u*n,v=l*o-s*n-u*a-f*i;return XM(t,e,r),n=t[0],a=t[1],i=t[2],o=t[3],t[4]=c*o+v*n+h*i-d*a,t[5]=h*o+v*a+d*n-c*i,t[6]=d*o+v*i+c*a-h*n,t[7]=v*o-c*n-h*a-d*i,t}function E4(t,e,r){var n=r[0],a=r[1],i=r[2],o=r[3],s=e[0],u=e[1],f=e[2],l=e[3];return t[0]=s*o+l*n+u*i-f*a,t[1]=u*o+l*a+f*n-s*i,t[2]=f*o+l*i+s*a-u*n,t[3]=l*o-s*n-u*a-f*i,s=e[4],u=e[5],f=e[6],l=e[7],t[4]=s*o+l*n+u*i-f*a,t[5]=u*o+l*a+f*n-s*i,t[6]=f*o+l*i+s*a-u*n,t[7]=l*o-s*n-u*a-f*i,t}function _4(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=r[0],u=r[1],f=r[2],l=r[3];return t[0]=n*l+o*s+a*f-i*u,t[1]=a*l+o*u+i*s-n*f,t[2]=i*l+o*f+n*u-a*s,t[3]=o*l-n*s-a*u-i*f,s=r[4],u=r[5],f=r[6],l=r[7],t[4]=n*l+o*s+a*f-i*u,t[5]=a*l+o*u+i*s-n*f,t[6]=i*l+o*f+n*u-a*s,t[7]=o*l-n*s-a*u-i*f,t}function S4(t,e,r,n){if(Math.abs(n)0){r=Math.sqrt(r);var n=e[0]/r,a=e[1]/r,i=e[2]/r,o=e[3]/r,s=e[4],u=e[5],f=e[6],l=e[7],c=n*s+a*u+i*f+o*l;t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=(s-n*c)/r,t[5]=(u-a*c)/r,t[6]=(f-i*c)/r,t[7]=(l-o*c)/r}return t}function D4(t){return"quat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+")"}function P4(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]}function R4(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],o=t[4],s=t[5],u=t[6],f=t[7],l=e[0],c=e[1],h=e[2],d=e[3],v=e[4],p=e[5],g=e[6],y=e[7];return Math.abs(r-l)<=pt*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(n-c)<=pt*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(a-h)<=pt*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(i-d)<=pt*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(o-v)<=pt*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(s-p)<=pt*Math.max(1,Math.abs(s),Math.abs(p))&&Math.abs(u-g)<=pt*Math.max(1,Math.abs(u),Math.abs(g))&&Math.abs(f-y)<=pt*Math.max(1,Math.abs(f),Math.abs(y))}const F4=Object.freeze(Object.defineProperty({__proto__:null,add:M4,clone:i4,conjugate:k4,copy:ZM,create:a4,dot:QM,equals:R4,exactEquals:P4,fromMat4:l4,fromRotation:f4,fromRotationTranslation:HM,fromRotationTranslationValues:s4,fromTranslation:u4,fromValues:o4,getDual:v4,getReal:d4,getTranslation:y4,identity:c4,invert:I4,len:N4,length:JM,lerp:T4,mul:A4,multiply:KM,normalize:L4,rotateAroundAxis:S4,rotateByQuatAppend:E4,rotateByQuatPrepend:_4,rotateX:b4,rotateY:w4,rotateZ:x4,scale:C4,set:h4,setDual:g4,setReal:p4,sqrLen:O4,squaredLength:wd,str:D4,translate:m4},Symbol.toStringTag,{value:"Module"}));function eA(){var t=new qt(2);return qt!=Float32Array&&(t[0]=0,t[1]=0),t}function B4(t){var e=new qt(2);return e[0]=t[0],e[1]=t[1],e}function G4(t,e){var r=new qt(2);return r[0]=t,r[1]=e,r}function z4(t,e){return t[0]=e[0],t[1]=e[1],t}function j4(t,e,r){return t[0]=e,t[1]=r,t}function fn(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function tA(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function rA(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t}function nA(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t}function U4(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t}function $4(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t}function Pi(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t}function Ri(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t}function X4(t,e){return t[0]=Ba(e[0]),t[1]=Ba(e[1]),t}function wn(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function W4(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function Ih(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)}function aA(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n}function iA(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)}function oA(t){var e=t[0],r=t[1];return e*e+r*r}function V4(t,e){return t[0]=-e[0],t[1]=-e[1],t}function Y4(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function Wi(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t}function wy(t,e){return t[0]*e[0]+t[1]*e[1]}function q4(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t}function H4(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t}function Z4(t,e){e=e===void 0?1:e;var r=ya()*2*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t}function K4(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t}function Q4(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t}function J4(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t}function eG(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t}function tG(t,e,r,n){var a=e[0]-r[0],i=e[1]-r[1],o=Math.sin(n),s=Math.cos(n);return t[0]=a*s-i*o+r[0],t[1]=a*o+i*s+r[1],t}function sA(t,e){var r=t[0],n=t[1],a=e[0],i=e[1];return Math.abs(Math.atan2(n*a-r*i,r*a+n*i))}function rG(t,e){var r=t[0],n=t[1],a=e[0],i=e[1];return Math.atan2(r*i-n*a,r*a+n*i)}function nG(t){return t[0]=0,t[1]=0,t}function aG(t){return"vec2("+t[0]+", "+t[1]+")"}function xy(t,e){return t[0]===e[0]&&t[1]===e[1]}function iG(t,e){var r=t[0],n=t[1],a=e[0],i=e[1];return Math.abs(r-a)<=pt*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-i)<=pt*Math.max(1,Math.abs(n),Math.abs(i))}var oG=iA,rh=tA,sG=rA,uG=nA,fG=Ih,lG=aA,cG=oA,hG=function(){var t=eA();return function(e,r,n,a,i,o){var s,u;for(r||(r=2),n||(n=0),a?u=Math.min(a*r+n,e.length):u=e.length,s=n;s0&&d(x[0])}},y=0;y0;)h.push(u.pop());o.push(h)}}return o},cA=function(e){for(var r=e.nodes,n=r===void 0?[]:r,a=e.edges,i=a===void 0?[]:a,o=[],s={},u={},f={},l=[],c=0,h=function g(y){u[y.id]=c,f[y.id]=c,c+=1,o.push(y),s[y.id]=!0;for(var m=Un(y.id,i,"target").filter(function(_){return n.map(function(S){return S.id}).indexOf(_)>-1}),b=function(S){var A=m[S];if(!u[A]&&u[A]!==0){var M=n.filter(function(C){return C.id===A});M.length>0&&g(M[0]),f[y.id]=Math.min(f[y.id],f[A])}else s[A]&&(f[y.id]=Math.min(f[y.id],u[A]))},w=0;w0;){var E=o.pop();if(s[E.id]=!1,x.push(E),E===y)break}x.length>0&&l.push(x)}},d=0,v=n;d0;)for(var g=d.pop(),y=g.id,m=Un(y,e.edges),b=function(E){var _,S=m[E],A=e.nodes.find(function(B){return B.id===S});if(S===y)o.push((_={},_[S]=g,_));else if(!(S in p))v[S]=g,d.push(A),p[S]=new Set([g]);else if(!p[y].has(A)){for(var M=!0,C=[A,g],I=v[y];p[S].size&&!p[S].has(I)&&(C.push(I),I!==v[I.id]);)I=v[I.id];if(C.push(I),r&&n?(M=!1,C.findIndex(function(B){return r.indexOf(B.id)>-1})>-1&&(M=!0)):r&&!n&&C.findIndex(function(B){return r.indexOf(B.id)>-1})>-1&&(M=!1),M){for(var k={},O=1;O0;){var O=k.pop();i.has(O)&&(i.delete(O),o[O.id].forEach(function(B){k.push(B)}),o[O.id].clear())}},c=function C(I,k,O){var B=!1;if(r&&n===!1&&r.indexOf(I.id)>-1)return B;a.push(I),i.add(I);for(var L=O[I.id],z=0;z-1});le-1)?s.push((k={},k[ce.id]=ce,k)):he[ce.id].push(f[Ie])}}return{component:V,adjList:he,minIdx:B}},b=0;b=b}),x=cA({nodes:w,edges:e.edges}).filter(function(C){return C.length>1});if(x.length===0)break;var E=m(x),_=E.minIdx,S=E.adjList,A=E.component;if(A.length>1){A.forEach(function(C){o[C.id]=new Set});var M=u[_];if(r&&n&&r.indexOf(M.id)===-1)return s;c(M,M,S),b=_+1}else break}return s},pA=function(e,r,n,a){return a===void 0&&(a=!0),r?Ay(e,n,a):My(e,n,a)},MG=function(e,r,n){for(var a=1/0,i,o=0;ol[w.id]+C?(l[M]=l[w.id]+C,c[M]=[w.id]):l[M]===l[w.id]+C&&c[M].push(w.id)})},v=0;v0&&l.length>0;){var d=l[l.length-1];if(d.length){var v=d.shift();v&&(u.push(v),f[v]=!0,h=a?Un(v,s,"target"):Un(v,s),l.push(h.filter(function(y){return!f[y]})))}else{var p=u.pop();f[p]=!1,l.pop();continue}if(u[u.length-1]===n){var g=u.map(function(m){return m});c.push(g);var p=u.pop();f[p]=!1,l.pop()}}return c},Of=function(e,r){for(var n=Uo(e,r),a=[],i=n.length,o=0;oa[o][u]+a[u][s]&&(a[o][s]=a[o][u]+a[u][s]);return a},bA=function(e,r,n,a){r===void 0&&(r=!1),n===void 0&&(n="weight"),a===void 0&&(a=1e3);var i=e.nodes,o=i===void 0?[]:i,s=e.edges,u=s===void 0?[]:s,f={},l={};o.forEach(function(b,w){var x=fA();b.clusterId=x,f[x]={id:x,nodes:[b]},l[b.id]={node:b,idx:w}});var c=Uo(e,r),h={};c.forEach(function(b,w){var x=o[w].id;h[x]={},b.forEach(function(E,_){if(E){var S=o[_].id;h[x][S]=E}})});for(var d=0,v=function(){var w=!1;if(o.forEach(function(x){var E={};Object.keys(h[x.id]).forEach(function(O){var B=h[x.id][O],L=l[O].node,z=L.clusterId;E[z]||(E[z]=0),E[z]+=B});var _=-1/0,S=[];if(Object.keys(E).forEach(function(O){_=0&&S.splice(A,1),S&&S.length){w=!0;var M=f[x.clusterId],C=M.nodes.indexOf(x);M.nodes.splice(C,1);var I=Math.floor(Math.random()*S.length),k=f[S[I]];k.nodes.push(x),x.clusterId=k.id}}}),!w)return"break";d++};d0&&S>A&&S-AA&&(C=c.map(function(R){return{node:R,clusterId:R.clusterId}}),I=rr(m),A=S),k||M>100)break;M++,Object.keys(m).forEach(function(R){var V=0;d.forEach(function(he){var ce=he.source,le=he.target,ie=b[ce].node.clusterId,Ie=b[le].node.clusterId;(ie===R&&Ie!==R||Ie===R&&ie!==R)&&(V=V+(he[n]||1))}),m[R].sumTot=V}),c.forEach(function(R,V){var he=m[R.clusterId],ce=0,le,ie=x[V]/(2*_),Ie=0,qe=he.nodes;qe.forEach(function(Wt){var vr=b[Wt.id].idx;Ie+=w[V][vr]||0});var Ve=Ie-he.sumTot*ie,it=qe.filter(function(Wt){return Wt.id!==R.id});it.forEach(function(Wt,vr){v[Wt.originIndex]});var dt=fp(it,v)*f,st=E[R.id];if(Object.keys(st).forEach(function(Wt){var vr=b[Wt].node,cr=vr.clusterId;if(cr!==R.clusterId){var $t=m[cr],sr=$t.nodes;if(!(!sr||!sr.length)){var tn=0;sr.forEach(function(Fe){var ge=b[Fe.id].idx;tn+=w[V][ge]||0});var tt=tn-$t.sumTot*ie,te=sr.concat([R]);te.forEach(function(Fe,ge){v[Fe.originIndex]});var N=fp(te,v)*f,Se=tt-Ve;i&&(Se=tt+N-(Ve+dt)),Se>ce&&(ce=Se,le=$t)}}}),ce>0){le.nodes.push(R);var Tt=R.clusterId;R.clusterId=le.id;var _t=he.nodes.indexOf(R);he.nodes.splice(_t,1);var lr=0,Bt=0;d.forEach(function(Wt){var vr=Wt.source,cr=Wt.target,$t=b[vr].node.clusterId,sr=b[cr].node.clusterId;($t===le.id&&sr!==le.id||sr===le.id&&$t!==le.id)&&(lr=lr+(Wt[n]||1)),($t===Tt&&sr!==Tt||sr===Tt&&$t!==Tt)&&(Bt=Bt+(Wt[n]||1))}),le.sumTot=lr,he.sumTot=Bt}})}var O={},B=0;Object.keys(I).forEach(function(R){var V=I[R];if(!V.nodes||!V.nodes.length){delete I[R];return}var he=String(B+1);he!==R&&(V.id=he,V.nodes=V.nodes.map(function(ce){return{id:ce.id,clusterId:he}}),I[he]=V,O[R]=he,delete I[R],B++)}),C.forEach(function(R){var V=R.node,he=R.clusterId;V&&(V.clusterId=he,V.clusterId&&O[V.clusterId]&&(V.clusterId=O[V.clusterId]))});var L=[],z={};d.forEach(function(R){var V=R.source,he=R.target,ce=R[n]||1,le=b[V].node.clusterId,ie=b[he].node.clusterId;if(!(!le||!ie)){var Ie="".concat(le,"---").concat(ie);if(z[Ie])z[Ie].weight+=ce,z[Ie].count++;else{var qe={source:le,target:ie,weight:ce,count:1};z[Ie]=qe,L.push(qe)}}});var X=[];return Object.keys(I).forEach(function(R){X.push(I[R])}),{clusters:X,clusterEdges:L}},wA=function(e,r,n,a,i,o,s,u){return r===void 0&&(r=!1),n===void 0&&(n="weight"),a===void 0&&(a=1e-4),i===void 0&&(i=void 0),o===void 0&&(o=[]),s===void 0&&(s=["id"]),u===void 0&&(u=1),Iy(e,r,n,a,!0,i,o,s,u)},xA=function(e,r){var n;r===void 0&&(r=1);for(var a=rr(e),i=a.nodes,o=i===void 0?[]:i,s=a.edges,u=s===void 0?[]:s,f=function(){var h=yi({nodes:o,edges:u}),d=Object.keys(h);d.sort(function(g,y){var m,b;return((m=h[g])===null||m===void 0?void 0:m.degree)-((b=h[y])===null||b===void 0?void 0:b.degree)});var v=d[0];if(!o.length||((n=h[v])===null||n===void 0?void 0:n.degree)>=r)return"break";var p=o.findIndex(function(g){return g.id===v});o.splice(p,1),u=u.filter(function(g){return!(g.source===v||g.target===v)})};;){var l=f();if(l==="break")break}return{nodes:o,edges:u}},hw=function(e,r,n){var a=[];switch(e){case pa.EuclideanDistance:a=r[n];break;default:a=[];break}return a},EA=function(e,r,n,a,i,o){r===void 0&&(r=3),n===void 0&&(n=void 0),a===void 0&&(a=[]),i===void 0&&(i=["id"]),o===void 0&&(o=pa.EuclideanDistance);var s=e.nodes,u=s===void 0?[]:s,f=e.edges,l=f===void 0?[]:f,c={clusters:[{id:"0",nodes:u}],clusterEdges:[]};if(o===pa.EuclideanDistance&&!u.every(function(he){return he.hasOwnProperty(n)}))return c;var h=[],d=[];if(o===pa.EuclideanDistance&&(h=Cy(u,n),d=Ty(h,a,i)),!d.length)return c;for(var v=kf(d.map(function(he){return he.join("")})),p=Math.min(r,u.length,v.length),g=0;gx&&!y.find(function(it){return jo(it,hw(o,d,u[le].originIndex))})&&(x=Ve,E=le)}},S=0;S=0;O--)b[Number(u[g].clusterId)][O].id===u[g].id&&b[Number(u[g].clusterId)].splice(O,1);u[g].clusterId=String(M),b[M].push(u[g])}}for(var B=!1,g=0;g=1e3)break}var R=[],V={};return l.forEach(function(he){var ce,le,ie=he.source,Ie=he.target,qe=(ce=u.find(function(st){return st.id===ie}))===null||ce===void 0?void 0:ce.clusterId,Ve=(le=u.find(function(st){return st.id===Ie}))===null||le===void 0?void 0:le.clusterId,it="".concat(qe,"---").concat(Ve);if(V[it])V[it].count++;else{var dt={source:qe,target:Ve,count:1};V[it]=dt,R.push(dt)}}),{clusters:b,clusterEdges:R}},ky=function(e,r){var n=new ta(r),a=n.norm2(),i=new ta(e),o=i.norm2(),s=n.dot(i),u=a*o,f=u?s/u:0;return f},_A=function(e,r,n,a,i){e===void 0&&(e=[]),n===void 0&&(n=void 0),a===void 0&&(a=[]),i===void 0&&(i=[]);var o=rr(e.filter(function(h){return h.id!==r.id})),s=e.findIndex(function(h){return h.id===r.id}),u=Cy(e,n),f=Ty(u,a,i),l=f[s],c=[];return o.forEach(function(h,d){if(h.id!==r.id){var v=f[d],p=ky(v,l);c.push(p),h.cosineSimilarity=p}}),o.sort(function(h,d){return d.cosineSimilarity-h.cosineSimilarity}),{allCosineSimilarity:c,similarNodes:o}},CG=function(){function t(e){this.count=e.length,this.parent={};for(var r=0,n=e;r0&&(this.list[0]=r,this.moveDown(0)),e},t.prototype.insert=function(e){if(e!==null){this.list.push(e);var r=this.list.length-1;return this.moveUp(r),!0}return!1},t.prototype.moveUp=function(e){for(var r=this.getParent(e);e&&e>0&&this.compareFn(this.list[r],this.list[e])>0;){var n=this.list[r];this.list[r]=this.list[e],this.list[e]=n,e=r,r=this.getParent(e)}},t.prototype.moveDown=function(e){var r,n=e,a=this.getLeft(e),i=this.getRight(e),o=this.list.length;a!==null&&a0?n=a:i!==null&&i0&&(n=i),e!==n&&(r=[this.list[n],this.list[e]],this.list[e]=r[0],this.list[n]=r[1],this.moveDown(n))},t}(),kG=function(e,r){var n=[],a=e.nodes,i=a===void 0?[]:a,o=e.edges,s=o===void 0?[]:o;if(i.length===0)return n;var u=i[0],f=new Set;f.add(u);var l=function(g,y){return r?g.weight-y.weight:0},c=new IG(l);for(nh(u.id,s).forEach(function(p){c.insert(p)});!c.isEmpty();){var h=c.delMin(),d=h.source,v=h.target;f.has(d)&&f.has(v)||(n.push(h),f.has(d)||(f.add(d),nh(d,s).forEach(function(p){c.insert(p)})),f.has(v)||(f.add(v),nh(v,s).forEach(function(p){c.insert(p)})))}return n},dw=function(e,r){var n=[],a=e.nodes,i=a===void 0?[]:a,o=e.edges,s=o===void 0?[]:o;if(i.length===0)return n;var u=s.map(function(d){return d});r&&u.sort(function(d,v){return d.weight-v.weight});for(var f=new CG(i.map(function(d){return d.id}));u.length>0;){var l=u.shift(),c=l.source,h=l.target;f.connected(c,h)||(n.push(l),f.union(c,h))}return n},SA=function(e,r,n){var a={prim:kG,kruskal:dw};return n?a[n](e,r):dw(e,r)},MA=function(e,r,n){typeof r!="number"&&(r=1e-6),typeof n!="number"&&(n=.85);for(var a=1,i=0,o=1e3,s=e.nodes,u=s===void 0?[]:s,f=e.edges,l=f===void 0?[]:f,c=u.length,h,d={},v={},p=0;p0&&a>r;){i=0;for(var p=0;p0&&(h+=v[x]/E)}d[y]=n*h,i+=d[y]}}i=(1-i)/c,a=0;for(var p=0;p=0;n--){var a=this.dfsEdgeList[n],i=a.fromNode,o=a.toNode;id||a.hasNode(o[h.to])||(r.labelb;x--){var E=w(x);if(E==="break")break}if(y){var _=e.findMinLabel(g);o.dfsEdgeList.push(new ko(p,m,Ga,_.edgeLabel,Ga));var S=o.dfsEdgeList.length-1;return e.dfsCode.dfsEdgeList[S]!==o.dfsEdgeList[S]?!1:c(g[_.edgeLabel].projected)}var A={};y=!1;var M=0;h.forEach(function(L){var z=new ic(L),X=e.findForwardPureEdges(a,z.edges[d[0]],v,z);X.length>0&&(y=!0,M=p,X.forEach(function(R){var V="".concat(R.label,"-").concat(i[R.to].label);A[V]||(A[V]={projected:[],edgeLabel:R.label,nodeLabel2:i[R.to].label}),A[V].projected.push({graphId:a.id,edge:R,preNode:L})}))});for(var C=d.length,I=function(z){if(y)return"break";var X=d[z];h.forEach(function(R){var V=new ic(R),he=e.findForwardRmpathEdges(a,V.edges[X],v,V);he.length>0&&(y=!0,M=o.dfsEdgeList[X].fromNode,he.forEach(function(ce){var le="".concat(ce.label,"-").concat(i[ce.to].label);A[le]||(A[le]={projected:[],edgeLabel:ce.label,nodeLabel2:i[ce.to].label}),A[le].projected.push({graphId:a.id,edge:ce,preNode:R})}))})},x=0;x=0;v--){var p=r.findBackwardEdge(c,d.edges[i[v]],d.edges[i[0]],d);if(p){var g="".concat(r.dfsCode.dfsEdgeList[i[v]].fromNode,"-").concat(p.label);f[g]||(f[g]={projected:[],toNodeId:r.dfsCode.dfsEdgeList[i[v]].fromNode,edgeLabel:p.label}),f[g].projected.push({graphId:l.graphId,edge:p,preNode:l})}}if(!(a>=r.maxNodeNum)){var y=r.findForwardPureEdges(c,d.edges[i[0]],s,d);y.forEach(function(b){var w="".concat(o,"-").concat(b.label,"-").concat(h[b.to].label);u[w]||(u[w]={projected:[],fromNodeId:o,edgeLabel:b.label,nodeLabel2:h[b.to].label}),u[w].projected.push({graphId:l.graphId,edge:b,preNode:l})});for(var m=function(w){var x=r.findForwardRmpathEdges(c,d.edges[i[w]],s,d);x.forEach(function(E){var _="".concat(r.dfsCode.dfsEdgeList[i[w]].fromNode,"-").concat(E.label,"-").concat(h[E.to].label);u[_]||(u[_]={projected:[],fromNodeId:r.dfsCode.dfsEdgeList[i[w]].fromNode,edgeLabel:E.label,nodeLabel2:h[E.to].label}),u[_].projected.push({graphId:l.graphId,edge:E,preNode:l})})},v=0;vm){var b=m;m=y,y=b}var w=g.label,x="".concat(y,"-").concat(w,"-").concat(m);if(!o[x]){var E=o[x]||0;E++,o[x]=E}})})}),Object.keys(i).forEach(function(u){var f=i[u];if(!(f2*r)););if(g<2*r&&(s["".concat(l,"-").concat(p)]={start:l,end:p,distance:i[l][p]},c++,u++,u>=n))return s;if(h++,h>2*r)break}if(ch&&(u=h);var d=n[c.id].inDegree;f>d&&(f=d);var v=n[c.id].outDegree;l>v&&(l=v)}),e[r]={degree:u,inDegree:f,outDegree:l}),{minPatternNodeLabelDegree:u,minPatternNodeLabelInDegree:f,minPatternNodeLabelOutDegree:l}},kA=function(e,r,n,a,i,o,s){var u;if(n===void 0&&(n=!1),o===void 0&&(o="cluster"),s===void 0&&(s="cluster"),!(!e||!e.nodes)){var f=e.nodes.length;if(f){var l=Of(e,n),c=Of(r,n),h=ww(e.nodes,l,n),d=ww(r.nodes,c,n),v=mw(e.nodes,o),p=v.nodeMap,g=v.nodeLabelMap,y=mw(r.nodes,o),m=y.nodeMap,b=y.nodeLabelMap;bw(e.edges,s,p);var w=bw(r.edges,s,m).edgeLabelMap,x=[];c==null||c.forEach(function(tt){x=x.concat(tt)}),i||(i=Math.max.apply(Math,Xn(Xn([],x,!1),[2],!1))),a||(a=i);var E=yw(e,l,o,a),_=yw(r,c,o,a),S=Math.min(100,f*(f-1)/2),A=FG(a,f,S,E,l),M=ah(A,E,e),C=10,I=1,k=1,O=4,B={graphs:M,nodeLabelProp:o,edgeLabelProp:s,minSupport:I,minNodeNum:k,maxNodeNum:O,directed:n},L=RG(B).slice(0,C),z=L.length,X=[];L.forEach(function(tt,te){X[te]={},Object.keys(M).forEach(function(N){var Se=M[N],Fe=ih(Se,tt,o,s);X[te][N]=Fe})});var R=BG(X,z,L),V=R.structure,he=R.structureCountMap,ce=r.nodes[0],le=[],ie=(u=r.nodes[0])===null||u===void 0?void 0:u[o],Ie=-1/0;r.nodes.forEach(function(tt){var te=tt[o],N=g[te];(N==null?void 0:N.length)>Ie&&(Ie=N.length,le=N,ie=te,ce=tt)});var qe={},Ve={},it={},dt={},st={},Tt={};Object.keys(b).forEach(function(tt,te){st[tt]=[],n&&(Tt[tt]=[]);var N=b[tt],Se={};N.forEach(function(Ze){var Je=d["".concat(ce.id,"-").concat(Ze.id)];if(Je&&st[tt].push(Je),Se["".concat(ce.id,"-").concat(Ze.id)]={start:0,end:m[Ze.id].idx,distance:Je},n){var ht=d["".concat(Ze.id,"-").concat(ce.id)];ht&&Tt[tt].push(ht)}}),st[tt]=st[tt].sort(function(Ze,Je){return Ze-Je}),n&&(Tt[tt]=Tt[tt].sort(function(Ze,Je){return Ze-Je})),Ve=ah(Se,_,r,Ve);var Fe=[];if(Object.keys(Se).forEach(function(Ze){if(it[Ze]){Fe.push(it[Ze]);return}var Je=Ve[Ze];it[Ze]=ih(Je,V,o,s),Fe.push(it[Ze])}),Fe=Fe.sort(function(Ze,Je){return Je-Ze}),dt["".concat(ce.id,"-").concat(tt)]=Fe,tt!==ie)for(var ge=(le==null?void 0:le.length)||0,Ue=function(Je){var ht=le[Je],Lt=E[p[ht.id].idx],ur=Lt.nodeLabelCountMap[tt],Dt=b[tt].length;if(!ur||ur.countst[tt][or]){fr=!0;break}if(fr)return le.splice(Je,1),"continue";var gr={};Lt.neighbors.forEach(function(nr){var Fr=h["".concat(ht.id,"-").concat(nr.id)];gr["".concat(ht.id,"-").concat(nr.id)]={start:p[ht.id].idx,end:p[nr.id].idx,distance:Fr}}),M=ah(gr,E,e,M);var hr=[];Object.keys(gr).forEach(function(nr){if(he[nr]){hr.push(he[nr]);return}var Fr=M[nr];he[nr]=ih(Fr,V,o,s),hr.push(he[nr])}),hr=hr.sort(function(nr,Fr){return Fr-nr});for(var hn=!1,or=0;or=0;$e--)Ue($e)});var _t=[];le==null||le.forEach(function(tt){for(var te=p[tt.id].idx,N=IA(e.nodes,l[te],te,o,i),Se=N.neighbors,Fe=Se.length,ge=!1,Ue=Fe-1;Ue>=0;Ue--){if(Se.length+1ur){Se.splice(Ue,1);continue}if(n){var Dt="".concat($e.id,"-").concat(tt.id),fr=h[Dt];Lt=Tt[Ze].length-1;var or=Tt[Ze][Lt];if(fr>or){Se.splice(Ue,1);continue}}var gr=he[Je]?he[Je]:GG(e,tt,$e,p,ht,E,V,o,s,he,M),hr="".concat(ce.id,"-").concat(Ze),hn=dt[hr][dt[hr].length-1];if(gr=0;ht--){var or=fr(ht);if(or==="break")break}if(Dt)return _t.splice(te,1),"continue";N.edges=Ue;var gr=Nf(N,N.nodes[0].id,!1).length;if(Object.keys(gr).reverse().forEach(function(St){if(!(St===N.nodes[0].id||Dt)){if(gr[St]===1/0){var dr=ge[St].node[o];if(Fe[dr]--,Fe[dr]Bt[Sr][Bt[Sr].length-1]){var dr=ge[St].node[o];if(Fe[dr]--,Fe[dr]=0;oa--){var Ur=N.nodes[oa],Mi=ge[Ur.id].degree,xu=ge[Ur.id].inDegree,Eu=ge[Ur.id].outDegree,rn=Ur[o],ti=xw(qe,rn,m,b),uo=ti.minPatternNodeLabelDegree,_u=ti.minPatternNodeLabelInDegree,Su=ti.minPatternNodeLabelOutDegree,Mu=n?Mi=0;sa--){var Br=Ue[sa];if(!ge[Br.source]||!ge[Br.target]){Ue.splice(sa,1);var ua=Br[s];if($e[ua]--,ge[Br.source]&&(ge[Br.source].degree--,ge[Br.source].outDegree--),ge[Br.target]&&(ge[Br.target].degree--,ge[Br.target].inDegree--),w[ua]&&$e[ua]=0;cr--){var $t=vr(cr);if($t==="break")break}for(var sr=_t.length,tn=function(te){var N=_t[te],Se={};N.edges.forEach(function(Ue){var $e="".concat(Ue.source,"-").concat(Ue.target,"-").concat(Ue.label);Se[$e]?Se[$e]++:Se[$e]=1});for(var Fe=function($e){var Ze=_t[$e],Je={};Ze.edges.forEach(function(Lt){var ur="".concat(Lt.source,"-").concat(Lt.target,"-").concat(Lt.label);Je[ur]?Je[ur]++:Je[ur]=1});var ht=!0;Object.keys(Je).length!==Object.keys(Se).length?ht=!1:Object.keys(Se).forEach(function(Lt){Je[Lt]!==Se[Lt]&&(ht=!1)}),ht&&_t.splice($e,1)},ge=sr-1;ge>te;ge--)Fe(ge);sr=_t.length},cr=0;cr<=sr-1;cr++)tn(cr);return _t}}},Gs=function(){function t(e){e===void 0&&(e=10),this.linkedList=new uA,this.maxStep=e}return Object.defineProperty(t.prototype,"length",{get:function(){return this.linkedList.toArray().length},enumerable:!1,configurable:!0}),t.prototype.isEmpty=function(){return!this.linkedList.head},t.prototype.isMaxStack=function(){return this.toArray().length>=this.maxStep},t.prototype.peek=function(){return this.isEmpty()?null:this.linkedList.head.value},t.prototype.push=function(e){this.linkedList.prepend(e),this.length>this.maxStep&&this.linkedList.deleteTail()},t.prototype.pop=function(){var e=this.linkedList.deleteHead();return e?e.value:null},t.prototype.toArray=function(){return this.linkedList.toArray().map(function(e){return e.value})},t.prototype.clear=function(){for(;!this.isEmpty();)this.pop()},t}(),NA=Sy;const zG={getAdjMatrix:Uo,breadthFirstSearch:lA,connectedComponent:Ey,getDegree:yi,getInDegree:hA,getOutDegree:dA,detectCycle:Sy,detectDirectedCycle:NA,detectAllCycles:pA,detectAllDirectedCycle:Ay,detectAllUndirectedCycle:My,depthFirstSearch:_y,dijkstra:Nf,findAllPath:mA,findShortestPath:yA,floydWarshall:Of,labelPropagation:bA,louvain:Iy,iLouvain:wA,kCore:xA,kMeans:EA,cosineSimilarity:ky,nodesCosineSimilarity:_A,minimumSpanningTree:SA,pageRank:MA,getNeighbors:Un,Stack:Gs,GADDI:kA},jG=Object.freeze(Object.defineProperty({__proto__:null,GADDI:kA,Stack:Gs,breadthFirstSearch:lA,connectedComponent:Ey,cosineSimilarity:ky,default:zG,depthFirstSearch:_y,detectAllCycles:pA,detectAllDirectedCycle:Ay,detectAllUndirectedCycle:My,detectCycle:Sy,detectDirectedCycle:NA,dijkstra:Nf,findAllPath:mA,findShortestPath:yA,floydWarshall:Of,getAdjMatrix:Uo,getDegree:yi,getInDegree:hA,getNeighbors:Un,getOutDegree:dA,iLouvain:wA,kCore:xA,kMeans:EA,labelPropagation:bA,louvain:Iy,minimumSpanningTree:SA,nodesCosineSimilarity:_A,pageRank:MA},Symbol.toStringTag,{value:"Module"}));var Nh=eo,UG=function(e){return function(r,n){return r[e]-n[e]}},Ew=function(e,r,n){return e>=r&&e<=n},xd=function(e,r,n,a){var i=1e-4,o={x:n.x-e.x,y:n.y-e.y},s={x:r.x-e.x,y:r.y-e.y},u={x:a.x-n.x,y:a.y-n.y},f=s.x*u.y-s.y*u.x,l=f*f,c=1/f,h=s.x*s.x+s.y*s.y,d=u.x*u.x+u.y*u.y;if(l>i*h*d){var v=(o.x*u.y-o.y*u.x)*c,p=(o.x*s.y-o.y*s.x)*c;return!Ew(v,0,1)||!Ew(p,0,1)?null:{x:e.x+v*s.x,y:e.y+v*s.y}}return null},OA=function(e,r){var n=e.x,a=e.y,i=e.width,o=e.height,s=n+i/2,u=a+o/2,f=[],l={x:s,y:u};f.push({x:n,y:a}),f.push({x:n+i,y:a}),f.push({x:n+i,y:a+o}),f.push({x:n,y:a+o}),f.push({x:n,y:a});for(var c=null,h=1;hr[a][o]+r[o][i]&&(r[a][i]=r[a][o]+r[o][i]);return r},WG=function(e,r){var n=e.nodes,a=e.edges,i=[],o={};if(!n)throw new Error("invalid nodes data!");return n&&n.forEach(function(s,u){o[s.id]=u;var f=[];i.push(f)}),a&&a.forEach(function(s){var u=s.source,f=s.target,l=o[u],c=o[f];i[l][c]=1,r||(i[c][l]=1)}),i},RA=function(e,r){e.translate(r.x,r.y)},_0=function(e,r,n,a){a===void 0&&(a={duration:500});var i=e.getMatrix();i||(i=[1,0,0,0,1,0,0,0,1]);var o=e.getCanvasBBox(),s=r.x-o.minX,u=r.y-o.minY;if(n){var f=s*i[0],l=u*i[4],c=0,h=0,d=0,v=0;e.animate(function(g){return d=f*g,v=l*g,i=Nh(i,[["t",d-c,v-h]]),c=d,h=v,{matrix:i}},a)}else{var p=Nh(i,[["t",s,u]]);e.setMatrix(p)}},VG=function(e,r){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]);var a=r;bt(r)||(a=[r,r]),bt(r)&&r.length===1&&(a=[r[0],r[0]]),n=Nh(n,[["s",a[0],a[1]]]),e.setMatrix(n)},YG=function(e,r){var n=e.getMatrix();n||(n=[1,0,0,0,1,0,0,0,1]),n=Nh(n,[["r",r]]),e.setMatrix(n)},qG=function(e,r,n){for(var a=[],i=0;i0!=s(l[1]-n)>0&&s(r-(n-f[1])*(f[0]-l[0])/(f[1]-l[1])-f[0])<0&&(a=!a)}return a},FA=function(e,r){return!(r.minX>e.maxX||r.maxXe.maxY||r.maxY1){var m=h[0],b=h[v-1];d.push({from:{x:b[0],y:b[1]},to:{x:m[0],y:m[1]}})}return d};if(e.length<2||r.length<2)return!1;var i=n(e),o=n(r);if(!FA(i,o))return!1;var s=!1;if(_e(r,function(c){if(Lf(e,c[0],c[1]))return s=!0,!1}),s||(_e(e,function(c){if(Lf(r,c[0],c[1]))return s=!0,!1}),s))return!0;var u=a(e),f=a(r),l=!1;return _e(f,function(c){if(ZG(u,c))return l=!0,!1}),l},$o=function(){function t(e,r,n,a){this.x1=e,this.y1=r,this.x2=n,this.y2=a}return t.prototype.getBBox=function(){var e=Math.min(this.x1,this.x2),r=Math.min(this.y1,this.y2),n=Math.max(this.x1,this.x2),a=Math.max(this.y1,this.y2),i={x:e,y:r,minX:e,minY:r,maxX:n,maxY:a,width:n-e,height:a-r};return i},t}(),Ny=function(e,r){var n={top:[e.minX,e.minY,e.maxX,e.minY],left:[e.minX,e.minY,e.minX,e.maxY],bottom:[e.minX,e.maxY,e.maxX,e.maxY],right:[e.maxX,e.minY,e.maxX,e.maxY]};return n[r]},KG=function(e,r){var n=(r.x2-r.x1)*(e.y1-r.y1)-(r.y2-r.y1)*(e.x1-r.x1),a=(e.x2-e.x1)*(e.y1-r.y1)-(e.y2-e.y1)*(e.x1-r.x1),i=(r.y2-r.y1)*(e.x2-e.x1)-(r.x2-r.x1)*(e.y2-e.y1);if(i){var o=n/i,s=a/i;if(o>=0&&o<=1&&s>=0&&s<=1)return o}return Number.POSITIVE_INFINITY},GA=function(e,r){for(var n=["top","left","bottom","right"],a=e.getBBox(),i=0,o=[],s=0;s<4;s++){var u=Ny(a,n[s]),f=u[0],l=u[1],c=u[2],h=u[3];o[s]=xd({x:r.x1,y:r.y1},{x:r.x2,y:r.y2},{x:f,y:l},{x:c,y:h}),o[s]&&(i+=1)}return[o,i]},Oy=function(e,r){for(var n=["top","left","bottom","right"],a=e.getBBox(),i=Number.POSITIVE_INFINITY,o=0,s=0;s<4;s++){var u=Ny(a,n[s]),f=u[0],l=u[1],c=u[2],h=u[3],d=KG(r,new $o(f,l,c,h));d=Math.abs(d-.5),d>=0&&d<=1&&(o+=1,i=d0){for(var a=0,i=e;ar.x+r.width,i=e.y>r.y+r.height,o=e.y":.604998779296875,"/":.5,"?":.53699951171875};var Pa=Math.PI,A0=Math.sin,C0=Math.cos,sn=A0(Pa/8),un=C0(Pa/8),Dh=function(e,r){var n=e.getBBox(),a={x:n.minX,y:n.minY},i={x:n.maxX,y:n.maxY};if(r){var o=r.getMatrix();o||(o=[1,0,0,0,1,0,0,0,1]),a=Us(a,o),i=Us(i,o)}var s=a.x,u=a.y,f=i.x,l=i.y;return{x:s,y:u,minX:s,minY:u,maxX:f,maxY:l,width:f-s,height:l-u}},$A=function(e){var r=e.sourceNode||e.targetNode,n=r.get("group"),a=n.getMatrix();a||(a=[1,0,0,0,1,0,0,0,1]);var i=r.getKeyShape(),o=i.getBBox(),s=e.loopCfg||{},u=s.dist||Math.max(o.width,o.height)*2,f=s.position||ft.defaultLoopPosition,l=[(o.minX+o.maxX)/2+a[6],(o.minY+o.maxY)/2+a[7]],c=[e.startPoint.x,e.startPoint.y],h=[e.endPoint.x,e.endPoint.y],d=o.height/2,v=o.width/2,p=d,g=d,y=p*sn,m=p*un,b=g*sn,w=g*un,x=i.get("type"),E=Math.min(d/2,v/2),_=Math.min(d,v),S=s!=null&&s.pointPadding?Math.min(_,s==null?void 0:s.pointPadding):E;if(c[0]===h[0]&&c[1]===h[1]){switch(f){case"top":x==="circle"?(c=[l[0]-y,l[1]-m],h=[l[0]+b,l[1]-w]):(c=[l[0]-S,l[1]-d],h=[l[0]+S,l[1]-d]);break;case"top-right":p=d,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+y,l[1]-m],h=[l[0]+w,l[1]-b]):(c=[l[0]+v-S,l[1]-d],h=[l[0]+v,l[1]-d+S]);break;case"right":p=v,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+m,l[1]-y],h=[l[0]+w,l[1]+b]):(c=[l[0]+v,l[1]-S],h=[l[0]+v,l[1]+S]);break;case"bottom-right":p=v,g=d,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+m,l[1]+y],h=[l[0]+b,l[1]+w]):(c=[l[0]+v,l[1]+d-S],h=[l[0]+v-S,l[1]+d]);break;case"bottom":p=d,g=d,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]+y,l[1]+m],h=[l[0]-b,l[1]+w]):(c=[l[0]-S,l[1]+d],h=[l[0]+S,l[1]+d]);break;case"bottom-left":p=d,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-y,l[1]+m],h=[l[0]-w,l[1]+b]):(c=[l[0]-v,l[1]+d-S],h=[l[0]-v+S,l[1]+d]);break;case"left":p=v,g=v,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-m,l[1]+y],h=[l[0]-w,l[1]-b]):(c=[l[0]-v,l[1]-S],h=[l[0]-v,l[1]+S]);break;case"top-left":p=v,g=d,x==="circle"?(y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-m,l[1]-y],h=[l[0]-b,l[1]-w]):(c=[l[0]-v+S,l[1]-d],h=[l[0]-v,l[1]-d+S]);break;default:p=v,g=v,y=p*sn,m=p*un,b=g*sn,w=g*un,c=[l[0]-y,l[1]-m],h=[l[0]+b,l[1]-w]}if(s.clockwise===!1){var A=[c[0],c[1]];c=[h[0],h[1]],h=[A[0],A[1]]}}var M=[c[0]-l[0],c[1]-l[1]],C=(p+u)/p,I=(g+u)/g;s.clockwise===!1&&(C=(g+u)/g,I=(p+u)/p);var k=wn([0,0],M,C),O=[l[0]+k[0],l[1]+k[1]],B=[h[0]-l[0],h[1]-l[1]],L=wn([0,0],B,I),z=[l[0]+L[0],l[1]+L[1]];return e.startPoint={x:c[0],y:c[1]},e.endPoint={x:h[0],y:h[1]},e.controlPoints=[{x:O[0],y:O[1]},{x:z[0],y:z[1]}],e},XA=function(e,r,n,a,i){var o=1e-4,s=[],u=e==null?void 0:e.getPoint(r);if(!u)return{x:0,y:0,angle:0};if(r1-o)s=e.getEndTangent();else{var f=e==null?void 0:e.getPoint(r+o);s.push([u.x,u.y]),s.push([f.x,f.y])}var l=Math.atan2(s[1][1]-s[0][1],s[1][0]-s[0][0]);if(l<0&&(l+=Pa*2),n&&(u.x+=C0(l)*n,u.y+=A0(l)*n),a){var c=l-Pa/2;l>1/2*Pa&&l<3*1/2*Pa&&(c-=Pa),u.x+=C0(c)*a,u.y+=A0(c)*a}var h={x:u.x,y:u.y,angle:l};return i?(l>.5*Pa&&l<1.5*Pa&&(l-=Pa),P({rotate:l},h)):h},oz=function t(e,r,n,a){if(a(e,r,n)===!1)return!1;if(e&&e.children){for(var i=e.children.length-1;i>=0;i--)if(!t(e.children[i],e,i,a))return!1}return!0},sz=function t(e,r,n,a){if(e&&e.children){for(var i=e.children.length-1;i>=0;i--)if(!t(e.children[i],e,i,a))return}return a(e,r,n)!==!1},bn=function(e,r){typeof r=="function"&&oz(e,null,-1,r)},Ra=function(e,r){typeof r=="function"&&sz(e,null,-1,r)},WA=function(e,r){return r*(iz[e]||1)},VA=function(e,r){var n=0,a=new RegExp("[一-龥]+");return e.split("").forEach(function(i){a.test(i)?n+=r:n+=WA(i,r)}),[n,r]},YA=function(e,r){return typeof r!="number"||r<=0||r>=e.length?e:e.substring(0,r)+"..."},T0=function(e,r){var n=[],a={},i={};e.forEach(function(u){i[u.id]=u}),e.forEach(function(u,f){var l=rr(u);l.itemType="combo",l.children=void 0,l.parentId===l.id?(console.warn("The parentId for combo ".concat(l.id," can not be the same as the combo's id")),delete l.parentId):l.parentId&&!i[l.parentId]&&(console.warn("The parent combo for combo ".concat(l.id," does not exist!")),delete l.parentId);var c=a[l.id];if(c){if(l.children=c.children,a[l.id]=l,c=l,!c.parentId){n.push(c);return}var h=a[c.parentId];if(h)h.children?h.children.push(l):h.children=[l];else{var d={id:c.parentId,children:[c]};a[c.parentId]=d,a[l.id]=l}return}if(Ye(u.parentId)){var v=a[u.parentId];if(v)v.children?v.children.push(l):v.children=[l],a[l.id]=l;else{var p={id:u.parentId,children:[l]};a[p.id]=p,a[l.id]=l}}else n.push(l),a[l.id]=l});var o={};(r||[]).forEach(function(u){o[u.id]=u;var f=a[u.comboId];if(f){var l={id:u.id,comboId:u.comboId};f.children?f.children.push(l):f.children=[l],l.itemType="node",a[u.id]=l}});var s=0;return n.forEach(function(u){u.depth=s+10,bn(u,function(f){var l,c=a[f.id].itemType;c==="node"?l=a[f.comboId]:l=a[f.parentId],l&&c==="node"?f.depth=s+1:f.depth=s+10,s-1&&i.splice(l,1),u||(o={id:r,itemType:"node",comboId:n},s[r]={children:void 0}),r){var c=!1;if(n){var h=0;(e||[]).forEach(function(v){c||bn(v,function(p){return n===p.id?(c=!0,p.children?p.children.push(o):p.children=[o],h=p.depth,o.itemType==="node"?o.depth=h+2:o.depth=h+1,!1):!0})})}else(!n||!c)&&o.itemType!=="node"&&e.push(o);var d=o.depth;bn(o,function(v){return v.itemType==="node"?d+=2:d+=1,v.depth=d,!0})}return e},oh=function(e,r,n){var a={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0,x:void 0,y:void 0,width:void 0,height:void 0,centerX:void 0,centerY:void 0};if(!e||e.length===0){var i=n==null?void 0:n.getModel(),o=i||{},s=o.x,u=o.y,f=o.fixSize,l=o.collapsed,c=o.fixCollapseSize,h=l?c:f,d=bt(h)?h:[h,h],v=d[0],p=d[1],g=[v/2,p/2];return{minX:s-g[0],minY:u-g[1],maxX:s+g[0],maxY:u+g[1],x:s,y:u,width:v,height:p}}return e.forEach(function(y){var m=r.findById(y.id);if(!(!m||!m.isVisible())){m.set("bboxCanvasCache",void 0);var b=m.getCanvasBBox();b.x&&a.minX>b.minX&&(a.minX=b.minX),b.y&&a.minY>b.minY&&(a.minY=b.minY),b.x&&a.maxX2&&(r.push([a].concat(o.splice(0,2))),s="l",a=a==="m"?"l":"L"),s==="o"&&o.length===1&&r.push([a,o[0]]),s==="r")r.push([a].concat(o));else for(;o.length>=e[s]&&(r.push([a].concat(o.splice(0,e[s]))),!!e[s]););return t}),r},k0=function(t,e){for(var r=[],n=0,a=t.length;a-2*!e>n;n+=2){var i=[{x:+t[n-2],y:+t[n-1]},{x:+t[n],y:+t[n+1]},{x:+t[n+2],y:+t[n+3]},{x:+t[n+4],y:+t[n+5]}];e?n?a-4===n?i[3]={x:+t[0],y:+t[1]}:a-2===n&&(i[2]={x:+t[0],y:+t[1]},i[3]={x:+t[2],y:+t[3]}):i[0]={x:+t[a-2],y:+t[a-1]}:a-4===n?i[3]=i[2]:n||(i[0]={x:+t[n],y:+t[n+1]}),r.push(["C",(-i[0].x+6*i[1].x+i[2].x)/6,(-i[0].y+6*i[1].y+i[2].y)/6,(i[1].x+6*i[2].x-i[3].x)/6,(i[1].y+6*i[2].y-i[3].y)/6,i[2].x,i[2].y])}return r},uc=function(t,e,r,n,a){var i=[];if(a===null&&n===null&&(n=r),t=+t,e=+e,r=+r,n=+n,a!==null){var o=Math.PI/180,s=t+r*Math.cos(-n*o),u=t+r*Math.cos(-a*o),f=e+r*Math.sin(-n*o),l=e+r*Math.sin(-a*o);i=[["M",s,f],["A",r,r,0,+(a-n>180),0,u,l]]}else i=[["M",t,e],["m",0,-n],["a",r,n,0,1,1,0,2*n],["a",r,n,0,1,1,0,-2*n],["z"]];return i},N0=function(t){if(t=zs(t),!t||!t.length)return[["M",0,0]];var e=[],r=0,n=0,a=0,i=0,o=0,s,u;t[0][0]==="M"&&(r=+t[0][1],n=+t[0][2],a=r,i=n,o++,e[0]=["M",r,n]);for(var f=t.length===3&&t[0][0]==="M"&&t[1][0].toUpperCase()==="R"&&t[2][0].toUpperCase()==="Z",l=void 0,c=void 0,h=o,d=t.length;h1&&(x=Math.sqrt(x),r=x*r,n=x*n);var E=r*r,_=n*n,S=(i===o?-1:1)*Math.sqrt(Math.abs((E*_-E*w*w-_*b*b)/(E*w*w+_*b*b)));g=S*r*w/n+(t+s)/2,y=S*-n*b/r+(e+u)/2,v=Math.asin(((e-y)/n).toFixed(9)),p=Math.asin(((u-y)/n).toFixed(9)),v=tp&&(v=v-Math.PI*2),!o&&p>v&&(p=p-Math.PI*2)}var A=p-v;if(Math.abs(A)>l){var M=p,C=s,I=u;p=v+l*(o&&p>v?1:-1),s=g+r*Math.cos(p),u=y+n*Math.sin(p),h=qA(s,u,r,n,a,0,o,C,I,[p,M,g,y])}A=p-v;var k=Math.cos(v),O=Math.sin(v),B=Math.cos(p),L=Math.sin(p),z=Math.tan(A/4),X=4/3*r*z,R=4/3*n*z,V=[t,e],he=[t+X*O,e-R*k],ce=[s+X*L,u-R*B],le=[s,u];if(he[0]=2*V[0]-he[0],he[1]=2*V[1]-he[1],f)return[he,ce,le].concat(h);h=[he,ce,le].concat(h).join().split(",");for(var ie=[],Ie=0,qe=h.length;Ie7){b[w].shift();for(var x=b[w];x.length;)o[w]="A",n&&(s[w]="A"),b.splice(w++,0,["C"].concat(x.splice(0,6)));b.splice(w,1),l=Math.max(r.length,n&&n.length||0)}},d=function(b,w,x,E,_){b&&w&&b[_][0]==="M"&&w[_][0]!=="M"&&(w.splice(_,0,["M",E.x,E.y]),x.bx=0,x.by=0,x.x=b[_][1],x.y=b[_][2],l=Math.max(r.length,n&&n.length||0))};l=Math.max(r.length,n&&n.length||0);for(var v=0;v1?1:u<0?0:u;for(var f=u/2,l=12,c=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],h=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],d=0,v=0;v0&&d<1&&u.push(d);continue}var p=c*c-4*h*l,g=Math.sqrt(p);if(!(p<0)){var y=(-c+g)/(2*l);y>0&&y<1&&u.push(y);var m=(-c-g)/(2*l);m>0&&m<1&&u.push(m)}}for(var b=u.length,w=b,x;b--;)d=u[b],x=1-d,f[0][b]=x*x*x*t+3*x*x*d*r+3*x*d*d*a+d*d*d*o,f[1][b]=x*x*x*e+3*x*x*d*n+3*x*d*d*i+d*d*d*s;return f[0][w]=t,f[1][w]=e,f[0][w+1]=o,f[1][w+1]=s,f[0].length=f[1].length=w+2,{min:{x:Math.min.apply(0,f[0]),y:Math.min.apply(0,f[1])},max:{x:Math.max.apply(0,f[0]),y:Math.max.apply(0,f[1])}}},gz=function(t,e,r,n,a,i,o,s){if(!(Math.max(t,r)Math.max(a,o)||Math.max(e,n)Math.max(i,s))){var u=(t*n-e*r)*(a-o)-(t-r)*(a*s-i*o),f=(t*n-e*r)*(i-s)-(e-n)*(a*s-i*o),l=(t-r)*(i-s)-(e-n)*(a-o);if(l){var c=u/l,h=f/l,d=+c.toFixed(2),v=+h.toFixed(2);if(!(d<+Math.min(t,r).toFixed(2)||d>+Math.max(t,r).toFixed(2)||d<+Math.min(a,o).toFixed(2)||d>+Math.max(a,o).toFixed(2)||v<+Math.min(e,n).toFixed(2)||v>+Math.max(e,n).toFixed(2)||v<+Math.min(i,s).toFixed(2)||v>+Math.max(i,s).toFixed(2)))return{x:c,y:h}}}},Oi=function(t,e,r){return e>=t.x&&e<=t.x+t.width&&r>=t.y&&r<=t.y+t.height},ZA=function(t,e,r,n,a){if(a)return[["M",+t+ +a,e],["l",r-a*2,0],["a",a,a,0,0,1,a,a],["l",0,n-a*2],["a",a,a,0,0,1,-a,a],["l",a*2-r,0],["a",a,a,0,0,1,-a,-a],["l",0,a*2-n],["a",a,a,0,0,1,a,-a],["z"]];var i=[["M",t,e],["l",r,0],["l",0,n],["l",-r,0],["z"]];return i.parsePathArray=HA,i},L0=function(t,e,r,n){return t===null&&(t=e=r=n=0),e===null&&(e=t.y,r=t.width,n=t.height,t=t.x),{x:t,y:e,width:r,w:r,height:n,h:n,x2:t+r,y2:e+n,cx:t+r/2,cy:e+n/2,r1:Math.min(r,n)/2,r2:Math.max(r,n)/2,r0:Math.sqrt(r*r+n*n)/2,path:ZA(t,e,r,n),vb:[t,e,r,n].join(" ")}},yz=function(t,e){return t=L0(t),e=L0(e),Oi(e,t.x,t.y)||Oi(e,t.x2,t.y)||Oi(e,t.x,t.y2)||Oi(e,t.x2,t.y2)||Oi(t,e.x,e.y)||Oi(t,e.x2,e.y)||Oi(t,e.x,e.y2)||Oi(t,e.x2,e.y2)||(t.xe.x||e.xt.x)&&(t.ye.y||e.yt.y)},Nw=function(t,e,r,n,a,i,o,s){bt(t)||(t=[t,e,r,n,a,i,o,s]);var u=pz.apply(null,t);return L0(u.min.x,u.min.y,u.max.x-u.min.x,u.max.y-u.min.y)},Ow=function(t,e,r,n,a,i,o,s,u){var f=1-u,l=Math.pow(f,3),c=Math.pow(f,2),h=u*u,d=h*u,v=l*t+c*3*u*r+f*3*u*u*a+d*o,p=l*e+c*3*u*n+f*3*u*u*i+d*s,g=t+2*u*(r-t)+h*(a-2*r+t),y=e+2*u*(n-e)+h*(i-2*n+e),m=r+2*u*(a-r)+h*(o-2*a+r),b=n+2*u*(i-n)+h*(s-2*i+n),w=f*t+u*r,x=f*e+u*n,E=f*a+u*o,_=f*i+u*s,S=90-Math.atan2(g-m,y-b)*180/Math.PI;return{x:v,y:p,m:{x:g,y},n:{x:m,y:b},start:{x:w,y:x},end:{x:E,y:_},alpha:S}},mz=function(t,e,r){var n=Nw(t),a=Nw(e);if(!yz(n,a))return[];for(var i=kw.apply(0,t),o=kw.apply(0,e),s=~~(i/8),u=~~(o/8),f=[],l=[],c={},h=[],d=0;d=0&&_<=1&&S>=0&&S<=1&&h.push({x:E.x,y:E.y,t1:_,t2:S})}}return h},bz=function(t,e,r){t=O0(t),e=O0(e);for(var n,a,i,o,s,u,f,l,c,h,d=r?0:[],v=0,p=t.length;v=3&&(c.length===3&&h.push("Q"),h=h.concat(c[1])),c.length===2&&h.push("L"),h=h.concat(c[c.length-1]),h});return l}var _z=function(t,e,r){if(r===1)return[[].concat(t)];var n=[];if(e[0]==="L"||e[0]==="C"||e[0]==="Q")n=n.concat(Ez(t,e,r));else{var a=[].concat(t);a[0]==="M"&&(a[0]="L");for(var i=0;i<=r-1;i++)n.push(a)}return n},Sz=function(t,e){if(t.length===1)return t;var r=t.length-1,n=e.length-1,a=r/n,i=[];if(t.length===1&&t[0][0]==="M"){for(var o=0;o=0;u--)o=i[u].index,i[u].type==="add"?t.splice(o,0,[].concat(t[o])):t.splice(o,1)}n=t.length;var c=a-n;if(n0)r=cp(r,t[n-1],1);else{t[n]=e[n];break}t[n]=["Q"].concat(r.reduce(function(a,i){return a.concat(i)},[]));break;case"T":t[n]=["T"].concat(r[0]);break;case"C":if(r.length<3)if(n>0)r=cp(r,t[n-1],2);else{t[n]=e[n];break}t[n]=["C"].concat(r.reduce(function(a,i){return a.concat(i)},[]));break;case"S":if(r.length<2)if(n>0)r=cp(r,t[n-1],1);else{t[n]=e[n];break}t[n]=["S"].concat(r.reduce(function(a,i){return a.concat(i)},[]));break;default:t[n]=e[n]}return t};const Tz=Object.freeze(Object.defineProperty({__proto__:null,catmullRomToBezier:k0,fillPath:Sz,fillPathByDiff:KA,formatPath:D0,intersection:wz,parsePathArray:HA,parsePathString:zs,pathToAbsolute:N0,pathToCurve:O0,rectPath:ZA},Symbol.toStringTag,{value:"Module"}));var JA=function(){function t(e,r){this.bubbles=!0,this.target=null,this.currentTarget=null,this.delegateTarget=null,this.delegateObject=null,this.defaultPrevented=!1,this.propagationStopped=!1,this.shape=null,this.fromShape=null,this.toShape=null,this.propagationPath=[],this.type=e,this.name=e,this.originalEvent=r,this.timeStamp=r.timeStamp}return t.prototype.preventDefault=function(){this.defaultPrevented=!0,this.originalEvent.preventDefault&&this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.propagationStopped=!0},t.prototype.toString=function(){var e=this.type;return"[Event (type="+e+")]"},t.prototype.save=function(){},t.prototype.restore=function(){},t}();function eC(t,e){var r=t.indexOf(e);r!==-1&&t.splice(r,1)}var Lw=typeof window<"u"&&typeof window.document<"u";function tC(t,e){if(t.isCanvas())return!0;for(var r=e.getParent(),n=!1;r;){if(r===t){n=!0;break}r=r.getParent()}return n}function P0(t){return t.cfg.visible&&t.cfg.capture}var Iz=function(t){jt(e,t);function e(r){var n=t.call(this)||this;n.destroyed=!1;var a=n.getDefaultCfg();return n.cfg=Et(a,r),n}return e.prototype.getDefaultCfg=function(){return{}},e.prototype.get=function(r){return this.cfg[r]},e.prototype.set=function(r,n){this.cfg[r]=n},e.prototype.destroy=function(){this.cfg={destroyed:!0},this.off(),this.destroyed=!0},e}(KS),Dw=function(t,e,r){if(r||arguments.length===2)for(var n=0,a=e.length,i;n"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Dz:typeof navigator<"u"?Gz(navigator.userAgent):jz()}function Bz(t){return t!==""&&Fz.reduce(function(e,r){var n=r[0],a=r[1];if(e)return e;var i=a.exec(t);return!!i&&[n,i]},!1)}function Gz(t){var e=Bz(t);if(!e)return null;var r=e[0],n=e[1];if(r==="searchbot")return new Lz;var a=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);a?a.lengtho.delay&&_e(e.toAttrs,function(s,u){i.call(o.toAttrs,u)&&(delete o.toAttrs[u],delete o.fromAttrs[u])})}),t}var aC=function(t){jt(e,t);function e(r){var n=t.call(this,r)||this;n.attrs={};var a=n.getDefaultAttrs();return Et(a,r.attrs),n.attrs=a,n.initAttrs(a),n.initAnimate(),n}return e.prototype.getDefaultCfg=function(){return{visible:!0,capture:!0,zIndex:0}},e.prototype.getDefaultAttrs=function(){return{matrix:this.getDefaultMatrix(),opacity:1}},e.prototype.onCanvasChange=function(r){},e.prototype.initAttrs=function(r){},e.prototype.initAnimate=function(){this.set("animable",!0),this.set("animating",!1)},e.prototype.isGroup=function(){return!1},e.prototype.getParent=function(){return this.get("parent")},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.attr=function(){for(var r,n=[],a=0;a0?i=Zz(i,w):a.addAnimator(this),i.push(w),this.set("animations",i),this.set("_pause",{isPaused:!1})}},e.prototype.stopAnimate=function(r){var n=this;r===void 0&&(r=!0);var a=this.get("animations");_e(a,function(i){r&&(i.onFrame?n.attr(i.onFrame(1)):n.attr(i.toAttrs)),i.callback&&i.callback()}),this.set("animating",!1),this.set("animations",[])},e.prototype.pauseAnimate=function(){var r=this.get("timeline"),n=this.get("animations"),a=r.getTime();return _e(n,function(i){i._paused=!0,i._pauseTime=a,i.pauseCallback&&i.pauseCallback()}),this.set("_pause",{isPaused:!0,pauseTime:a}),this},e.prototype.resumeAnimate=function(){var r=this.get("timeline"),n=r.getTime(),a=this.get("animations"),i=this.get("_pause").pauseTime;return _e(a,function(o){o.startTime=o.startTime+(n-i),o._paused=!1,o._pauseTime=null,o.resumeCallback&&o.resumeCallback()}),this.set("_pause",{isPaused:!1}),this.set("animations",a),this},e.prototype.emitDelegation=function(r,n){var a=this,i=n.propagationPath;this.getEvents();var o;r==="mouseenter"?o=n.fromShape:r==="mouseleave"&&(o=n.toShape);for(var s=function(c){var h=i[c],d=h.get("name");if(d){if((h.isGroup()||h.isCanvas&&h.isCanvas())&&o&&tC(h,o))return"break";bt(d)?_e(d,function(v){a.emitDelegateEvent(h,v,n)}):u.emitDelegateEvent(h,d,n)}},u=this,f=0;f0)});o.length>0?_e(o,function(u){var f=u.getBBox(),l=f.minX,c=f.maxX,h=f.minY,d=f.maxY;ln&&(n=c),hi&&(i=d)}):(r=0,n=0,a=0,i=0);var s={x:r,y:a,minX:r,minY:a,maxX:n,maxY:i,width:n-r,height:i-a};return s},e.prototype.getCanvasBBox=function(){var r=1/0,n=-1/0,a=1/0,i=-1/0,o=this.getChildren().filter(function(u){return u.get("visible")&&(!u.isGroup()||u.isGroup()&&u.getChildren().length>0)});o.length>0?_e(o,function(u){var f=u.getCanvasBBox(),l=f.minX,c=f.maxX,h=f.minY,d=f.maxY;ln&&(n=c),hi&&(i=d)}):(r=0,n=0,a=0,i=0);var s={x:r,y:a,minX:r,minY:a,maxX:n,maxY:i,width:n-r,height:i-a};return s},e.prototype.getDefaultCfg=function(){var r=t.prototype.getDefaultCfg.call(this);return r.children=[],r},e.prototype.onAttrChange=function(r,n,a){if(t.prototype.onAttrChange.call(this,r,n,a),r==="matrix"){var i=this.getTotalMatrix();this._applyChildrenMarix(i)}},e.prototype.applyMatrix=function(r){var n=this.getTotalMatrix();t.prototype.applyMatrix.call(this,r);var a=this.getTotalMatrix();a!==n&&this._applyChildrenMarix(a)},e.prototype._applyChildrenMarix=function(r){var n=this.getChildren();_e(n,function(a){a.applyMatrix(r)})},e.prototype.addShape=function(){for(var r=[],n=0;n=0;s--){var u=r[s];if(P0(u)&&(u.isGroup()?o=u.getShape(n,a,i):u.isHit(n,a)&&(o=u)),o)break}return o},e.prototype.add=function(r){var n=this.getCanvas(),a=this.getChildren(),i=this.get("timeline"),o=r.getParent();o&&Kz(o,r),r.set("parent",this),n&&iC(r,n),i&&oC(r,i),a.push(r),r.onCanvasChange("add"),this._applyElementMatrix(r)},e.prototype._applyElementMatrix=function(r){var n=this.getTotalMatrix();n&&r.applyMatrix(n)},e.prototype.getChildren=function(){return this.get("children")||[]},e.prototype.sort=function(){var r=this.getChildren();_e(r,function(n,a){return n[R0]=a,n}),r.sort(Qz(function(n,a){return n.get("zIndex")-a.get("zIndex")})),this.onCanvasChange("sort")},e.prototype.clear=function(){if(this.set("clearing",!0),!this.destroyed){for(var r=this.getChildren(),n=r.length-1;n>=0;n--)r[n].destroy();this.set("children",[]),this.onCanvasChange("clear"),this.set("clearing",!1)}},e.prototype.destroy=function(){this.get("destroyed")||(this.clear(),t.prototype.destroy.call(this))},e.prototype.getFirst=function(){return this.getChildByIndex(0)},e.prototype.getLast=function(){var r=this.getChildren();return this.getChildByIndex(r.length-1)},e.prototype.getChildByIndex=function(r){var n=this.getChildren();return n[r]},e.prototype.getCount=function(){var r=this.getChildren();return r.length},e.prototype.contain=function(r){var n=this.getChildren();return n.indexOf(r)>-1},e.prototype.removeChild=function(r,n){n===void 0&&(n=!0),this.contain(r)&&r.remove(n)},e.prototype.findAll=function(r){var n=[],a=this.getChildren();return _e(a,function(i){r(i)&&n.push(i),i.isGroup()&&(n=n.concat(i.findAll(r)))}),n},e.prototype.find=function(r){var n=null,a=this.getChildren();return _e(a,function(i){if(r(i)?n=i:i.isGroup()&&(n=i.find(r)),n)return!1}),n},e.prototype.findById=function(r){return this.find(function(n){return n.get("id")===r})},e.prototype.findByClassName=function(r){return this.find(function(n){return n.get("className")===r})},e.prototype.findAllByName=function(r){return this.findAll(function(n){return n.get("name")===r})},e}(aC),Ks=0,ff=0,Xu=0,uC=1e3,Ph,lf,Rh=0,Xo=0,Ed=0,Pf=typeof performance=="object"&&performance.now?performance:Date,fC=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function lC(){return Xo||(fC(Jz),Xo=Pf.now()+Ed)}function Jz(){Xo=0}function F0(){this._call=this._time=this._next=null}F0.prototype=cC.prototype={constructor:F0,restart:function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?lC():+r)+(e==null?0:+e),!this._next&&lf!==this&&(lf?lf._next=this:Ph=this,lf=this),this._call=t,this._time=r,B0()},stop:function(){this._call&&(this._call=null,this._time=1/0,B0())}};function cC(t,e,r){var n=new F0;return n.restart(t,e,r),n}function e6(){lC(),++Ks;for(var t=Ph,e;t;)(e=Xo-t._time)>=0&&t._call.call(null,e),t=t._next;--Ks}function Gw(){Xo=(Rh=Pf.now())+Ed,Ks=ff=0;try{e6()}finally{Ks=0,r6(),Xo=0}}function t6(){var t=Pf.now(),e=t-Rh;e>uC&&(Ed-=e,Rh=t)}function r6(){for(var t,e=Ph,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:Ph=r);lf=t,B0(n)}function B0(t){if(!Ks){ff&&(ff=clearTimeout(ff));var e=t-Xo;e>24?(t<1/0&&(ff=setTimeout(Gw,t-Pf.now()-Ed)),Xu&&(Xu=clearInterval(Xu))):(Xu||(Rh=Pf.now(),Xu=setInterval(t6,uC)),Ks=1,fC(Gw))}}function Dy(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function hC(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Jf(){}var Rf=.7,Fh=1/Rf,$s="\\s*([+-]?\\d+)\\s*",Ff="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Va="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",n6=/^#([0-9a-f]{3,8})$/,a6=new RegExp(`^rgb\\(${$s},${$s},${$s}\\)$`),i6=new RegExp(`^rgb\\(${Va},${Va},${Va}\\)$`),o6=new RegExp(`^rgba\\(${$s},${$s},${$s},${Ff}\\)$`),s6=new RegExp(`^rgba\\(${Va},${Va},${Va},${Ff}\\)$`),u6=new RegExp(`^hsl\\(${Ff},${Va},${Va}\\)$`),f6=new RegExp(`^hsla\\(${Ff},${Va},${Va},${Ff}\\)$`),zw={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Dy(Jf,Bf,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:jw,formatHex:jw,formatHex8:l6,formatHsl:c6,formatRgb:Uw,toString:Uw});function jw(){return this.rgb().formatHex()}function l6(){return this.rgb().formatHex8()}function c6(){return dC(this).formatHsl()}function Uw(){return this.rgb().formatRgb()}function Bf(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=n6.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?$w(e):r===3?new Nn(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?lc(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?lc(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=a6.exec(t))?new Nn(e[1],e[2],e[3],1):(e=i6.exec(t))?new Nn(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=o6.exec(t))?lc(e[1],e[2],e[3],e[4]):(e=s6.exec(t))?lc(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=u6.exec(t))?Vw(e[1],e[2]/100,e[3]/100,1):(e=f6.exec(t))?Vw(e[1],e[2]/100,e[3]/100,e[4]):zw.hasOwnProperty(t)?$w(zw[t]):t==="transparent"?new Nn(NaN,NaN,NaN,0):null}function $w(t){return new Nn(t>>16&255,t>>8&255,t&255,1)}function lc(t,e,r,n){return n<=0&&(t=e=r=NaN),new Nn(t,e,r,n)}function h6(t){return t instanceof Jf||(t=Bf(t)),t?(t=t.rgb(),new Nn(t.r,t.g,t.b,t.opacity)):new Nn}function G0(t,e,r,n){return arguments.length===1?h6(t):new Nn(t,e,r,n??1)}function Nn(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Dy(Nn,G0,hC(Jf,{brighter(t){return t=t==null?Fh:Math.pow(Fh,t),new Nn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Rf:Math.pow(Rf,t),new Nn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Nn(Bo(this.r),Bo(this.g),Bo(this.b),Bh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Xw,formatHex:Xw,formatHex8:d6,formatRgb:Ww,toString:Ww}));function Xw(){return`#${Po(this.r)}${Po(this.g)}${Po(this.b)}`}function d6(){return`#${Po(this.r)}${Po(this.g)}${Po(this.b)}${Po((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ww(){const t=Bh(this.opacity);return`${t===1?"rgb(":"rgba("}${Bo(this.r)}, ${Bo(this.g)}, ${Bo(this.b)}${t===1?")":`, ${t})`}`}function Bh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Bo(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Po(t){return t=Bo(t),(t<16?"0":"")+t.toString(16)}function Vw(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new ga(t,e,r,n)}function dC(t){if(t instanceof ga)return new ga(t.h,t.s,t.l,t.opacity);if(t instanceof Jf||(t=Bf(t)),!t)return new ga;if(t instanceof ga)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,a=Math.min(e,r,n),i=Math.max(e,r,n),o=NaN,s=i-a,u=(i+a)/2;return s?(e===i?o=(r-n)/s+(r0&&u<1?0:o,new ga(o,s,u,t.opacity)}function v6(t,e,r,n){return arguments.length===1?dC(t):new ga(t,e,r,n??1)}function ga(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Dy(ga,v6,hC(Jf,{brighter(t){return t=t==null?Fh:Math.pow(Fh,t),new ga(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Rf:Math.pow(Rf,t),new ga(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new Nn(dp(t>=240?t-240:t+120,a,n),dp(t,a,n),dp(t<120?t+240:t-120,a,n),this.opacity)},clamp(){return new ga(Yw(this.h),cc(this.s),cc(this.l),Bh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Bh(this.opacity);return`${t===1?"hsl(":"hsla("}${Yw(this.h)}, ${cc(this.s)*100}%, ${cc(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Yw(t){return t=(t||0)%360,t<0?t+360:t}function cc(t){return Math.max(0,Math.min(1,t||0))}function dp(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const Py=t=>()=>t;function p6(t,e){return function(r){return t+r*e}}function g6(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function y6(t){return(t=+t)==1?vC:function(e,r){return r-e?g6(e,r,t):Py(isNaN(e)?r:e)}}function vC(t,e){var r=e-t;return r?p6(t,r):Py(isNaN(t)?e:t)}const qw=function t(e){var r=y6(e);function n(a,i){var o=r((a=G0(a)).r,(i=G0(i)).r),s=r(a.g,i.g),u=r(a.b,i.b),f=vC(a.opacity,i.opacity);return function(l){return a.r=o(l),a.g=s(l),a.b=u(l),a.opacity=f(l),a+""}}return n.gamma=t,n}(1);function pC(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),a;return function(i){for(a=0;ar&&(i=e.slice(r,i),s[o]?s[o]+=i:s[++o]=i),(n=n[0])===(a=a[0])?s[o]?s[o]+=a:s[++o]=a:(s[++o]=null,u.push({i:o,x:z0(n,a)})),r=vp.lastIndex;return rf.length?(u=zs(i[s]),f=zs(a[s]),f=KA(f,u),f=D0(f,u),e.fromAttrs.path=f,e.toAttrs.path=u):e.pathFormatted||(u=zs(i[s]),f=zs(a[s]),f=D0(f,u),e.fromAttrs.path=f,e.toAttrs.path=u,e.pathFormatted=!0),n[s]=[];for(var l=0;l0){for(var s=e.animators.length-1;s>=0;s--){if(n=e.animators[s],n.destroyed){e.removeAnimator(s);continue}if(!n.isAnimatePaused()){a=n.get("animations");for(var u=a.length-1;u>=0;u--)i=a[u],r=nj(n,i,o),r&&(a.splice(u,1),r=!1,i.callback&&i.callback())}a.length===0&&e.removeAnimator(s)}var f=e.canvas.get("autoDraw");f||e.canvas.draw()}})},t.prototype.addAnimator=function(e){this.animators.push(e)},t.prototype.removeAnimator=function(e){this.animators.splice(e,1)},t.prototype.isAnimating=function(){return!!this.animators.length},t.prototype.stop=function(){this.timer&&this.timer.stop()},t.prototype.stopAllAnimations=function(e){e===void 0&&(e=!0),this.animators.forEach(function(r){r.stopAnimate(e)}),this.animators=[],this.canvas.draw()},t.prototype.getTime=function(){return this.current},t}(),ij=40,ax=0,ix=["mousedown","mouseup","dblclick","mouseout","mouseover","mousemove","mouseleave","mouseenter","touchstart","touchmove","touchend","dragenter","dragover","dragleave","drop","contextmenu","mousewheel"];function ox(t,e,r){r.name=e,r.target=t,r.currentTarget=t,r.delegateTarget=t,t.emit(e,r)}function oj(t,e,r){if(r.bubbles){var n=void 0,a=!1;if(e==="mouseenter"?(n=r.fromShape,a=!0):e==="mouseleave"&&(a=!0,n=r.toShape),t.isCanvas()&&a)return;if(n&&tC(t,n)){r.bubbles=!1;return}r.name=e,r.currentTarget=t,r.delegateTarget=t,t.emit(e,r)}}var sj=function(){function t(e){var r=this;this.draggingShape=null,this.dragging=!1,this.currentShape=null,this.mousedownShape=null,this.mousedownPoint=null,this._eventCallback=function(n){var a=n.type;r._triggerEvent(a,n)},this._onDocumentMove=function(n){var a=r.canvas,i=a.get("el");if(i!==n.target&&(r.dragging||r.currentShape)){var o=r._getPointInfo(n);r.dragging&&r._emitEvent("drag",n,o,r.draggingShape)}},this._onDocumentMouseUp=function(n){var a=r.canvas,i=a.get("el");if(i!==n.target&&r.dragging){var o=r._getPointInfo(n);r.draggingShape&&r._emitEvent("drop",n,o,null),r._emitEvent("dragend",n,o,r.draggingShape),r._afterDrag(r.draggingShape,o,n)}},this.canvas=e.canvas}return t.prototype.init=function(){this._bindEvents()},t.prototype._bindEvents=function(){var e=this,r=this.canvas.get("el");_e(ix,function(n){r.addEventListener(n,e._eventCallback)}),document&&(document.addEventListener("mousemove",this._onDocumentMove),document.addEventListener("mouseup",this._onDocumentMouseUp))},t.prototype._clearEvents=function(){var e=this,r=this.canvas.get("el");_e(ix,function(n){r.removeEventListener(n,e._eventCallback)}),document&&(document.removeEventListener("mousemove",this._onDocumentMove),document.removeEventListener("mouseup",this._onDocumentMouseUp))},t.prototype._getEventObj=function(e,r,n,a,i,o){var s=new JA(e,r);return s.fromShape=i,s.toShape=o,s.x=n.x,s.y=n.y,s.clientX=n.clientX,s.clientY=n.clientY,s.propagationPath.push(a),s},t.prototype._getShape=function(e,r){return this.canvas.getShape(e.x,e.y,r)},t.prototype._getPointInfo=function(e){var r=this.canvas,n=r.getClientByEvent(e),a=r.getPointByEvent(e);return{x:a.x,y:a.y,clientX:n.x,clientY:n.y}},t.prototype._triggerEvent=function(e,r){var n=this._getPointInfo(r),a=this._getShape(n,r),i=this["_on"+e],o=!1;if(i)i.call(this,n,a,r);else{var s=this.currentShape;e==="mouseenter"||e==="dragenter"||e==="mouseover"?(this._emitEvent(e,r,n,null,null,a),a&&this._emitEvent(e,r,n,a,null,a),e==="mouseenter"&&this.draggingShape&&this._emitEvent("dragenter",r,n,null)):e==="mouseleave"||e==="dragleave"||e==="mouseout"?(o=!0,s&&this._emitEvent(e,r,n,s,s,null),this._emitEvent(e,r,n,null,s,null),e==="mouseleave"&&this.draggingShape&&this._emitEvent("dragleave",r,n,null)):this._emitEvent(e,r,n,a,null,null)}if(o||(this.currentShape=a),a&&!a.get("destroyed")){var u=this.canvas,f=u.get("el");f.style.cursor=a.attr("cursor")||u.get("cursor")}},t.prototype._onmousedown=function(e,r,n){n.button===ax&&(this.mousedownShape=r,this.mousedownPoint=e,this.mousedownTimeStamp=n.timeStamp),this._emitEvent("mousedown",n,e,r,null,null)},t.prototype._emitMouseoverEvents=function(e,r,n,a){var i=this.canvas.get("el");n!==a&&(n&&(this._emitEvent("mouseout",e,r,n,n,a),this._emitEvent("mouseleave",e,r,n,n,a),(!a||a.get("destroyed"))&&(i.style.cursor=this.canvas.get("cursor"))),a&&(this._emitEvent("mouseover",e,r,a,n,a),this._emitEvent("mouseenter",e,r,a,n,a)))},t.prototype._emitDragoverEvents=function(e,r,n,a,i){a?(a!==n&&(n&&this._emitEvent("dragleave",e,r,n,n,a),this._emitEvent("dragenter",e,r,a,n,a)),i||this._emitEvent("dragover",e,r,a)):n&&this._emitEvent("dragleave",e,r,n,n,a),i&&this._emitEvent("dragover",e,r,a)},t.prototype._afterDrag=function(e,r,n){e&&(e.set("capture",!0),this.draggingShape=null),this.dragging=!1;var a=this._getShape(r,n);a!==e&&this._emitMouseoverEvents(n,r,e,a),this.currentShape=a},t.prototype._onmouseup=function(e,r,n){if(n.button===ax){var a=this.draggingShape;this.dragging?(a&&this._emitEvent("drop",n,e,r),this._emitEvent("dragend",n,e,a),this._afterDrag(a,e,n)):(this._emitEvent("mouseup",n,e,r),r===this.mousedownShape&&this._emitEvent("click",n,e,r),this.mousedownShape=null,this.mousedownPoint=null)}},t.prototype._ondragover=function(e,r,n){n.preventDefault();var a=this.currentShape;this._emitDragoverEvents(n,e,a,r,!0)},t.prototype._onmousemove=function(e,r,n){var a=this.canvas,i=this.currentShape,o=this.draggingShape;if(this.dragging)o&&this._emitDragoverEvents(n,e,i,r,!1),this._emitEvent("drag",n,e,o);else{var s=this.mousedownPoint;if(s){var u=this.mousedownShape,f=n.timeStamp,l=f-this.mousedownTimeStamp,c=s.clientX-e.clientX,h=s.clientY-e.clientY,d=c*c+h*h;l>120||d>ij?u&&u.get("draggable")?(o=this.mousedownShape,o.set("capture",!1),this.draggingShape=o,this.dragging=!0,this._emitEvent("dragstart",n,e,o),this.mousedownShape=null,this.mousedownPoint=null):!u&&a.get("draggable")?(this.dragging=!0,this._emitEvent("dragstart",n,e,null),this.mousedownShape=null,this.mousedownPoint=null):(this._emitMouseoverEvents(n,e,i,r),this._emitEvent("mousemove",n,e,r)):(this._emitMouseoverEvents(n,e,i,r),this._emitEvent("mousemove",n,e,r))}else this._emitMouseoverEvents(n,e,i,r),this._emitEvent("mousemove",n,e,r)}},t.prototype._emitEvent=function(e,r,n,a,i,o){var s=this._getEventObj(e,r,n,a,i,o);if(a){s.shape=a,ox(a,e,s);for(var u=a.getParent();u;)u.emitDelegation(e,s),s.propagationStopped||oj(u,e,s),s.propagationPath.push(u),u=u.getParent()}else{var f=this.canvas;ox(f,e,s)}},t.prototype.destroy=function(){this._clearEvents(),this.canvas=null,this.currentShape=null,this.draggingShape=null,this.mousedownPoint=null,this.mousedownShape=null,this.mousedownTimeStamp=null},t}(),sx="px",ux=rC(),uj=ux&&ux.name==="firefox",wC=function(t){jt(e,t);function e(r){var n=t.call(this,r)||this;return n.initContainer(),n.initDom(),n.initEvents(),n.initTimeline(),n}return e.prototype.getDefaultCfg=function(){var r=t.prototype.getDefaultCfg.call(this);return r.cursor="default",r.supportCSSTransform=!1,r},e.prototype.initContainer=function(){var r=this.get("container");Ye(r)&&(r=document.getElementById(r),this.set("container",r))},e.prototype.initDom=function(){var r=this.createDom();this.set("el",r);var n=this.get("container");n.appendChild(r),this.setDOMSize(this.get("width"),this.get("height"))},e.prototype.initEvents=function(){var r=new sj({canvas:this});r.init(),this.set("eventController",r)},e.prototype.initTimeline=function(){var r=new aj(this);this.set("timeline",r)},e.prototype.setDOMSize=function(r,n){var a=this.get("el");Lw&&(a.style.width=r+sx,a.style.height=n+sx)},e.prototype.changeSize=function(r,n){this.setDOMSize(r,n),this.set("width",r),this.set("height",n),this.onCanvasChange("changeSize")},e.prototype.getRenderer=function(){return this.get("renderer")},e.prototype.getCursor=function(){return this.get("cursor")},e.prototype.setCursor=function(r){this.set("cursor",r);var n=this.get("el");Lw&&n&&(n.style.cursor=r)},e.prototype.getPointByEvent=function(r){var n=this.get("supportCSSTransform");if(n){if(uj&&!Zt(r.layerX)&&r.layerX!==r.offsetX)return{x:r.layerX,y:r.layerY};if(!Zt(r.offsetX))return{x:r.offsetX,y:r.offsetY}}var a=this.getClientByEvent(r),i=a.x,o=a.y;return this.getPointByClient(i,o)},e.prototype.getClientByEvent=function(r){var n=r;return r.touches&&(r.type==="touchend"?n=r.changedTouches[0]:n=r.touches[0]),{x:n.clientX,y:n.clientY}},e.prototype.getPointByClient=function(r,n){var a=this.get("el"),i=a.getBoundingClientRect();return{x:r-i.left,y:n-i.top}},e.prototype.getClientByPoint=function(r,n){var a=this.get("el"),i=a.getBoundingClientRect();return{x:r+i.left,y:n+i.top}},e.prototype.draw=function(){},e.prototype.removeDom=function(){var r=this.get("el");r.parentNode.removeChild(r)},e.prototype.clearEvents=function(){var r=this.get("eventController");r.destroy()},e.prototype.isCanvas=function(){return!0},e.prototype.getParent=function(){return null},e.prototype.destroy=function(){var r=this.get("timeline");this.get("destroyed")||(this.clear(),r&&r.stop(),this.clearEvents(),this.removeDom(),t.prototype.destroy.call(this))},e}(sC),xC=function(t){jt(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.isGroup=function(){return!0},e.prototype.isEntityGroup=function(){return!1},e.prototype.clone=function(){for(var r=t.prototype.clone.call(this),n=this.getChildren(),a=0;a=r&&a.minY<=n&&a.maxY>=n},e.prototype.afterAttrsChange=function(r){t.prototype.afterAttrsChange.call(this,r),this.clearCacheBBox()},e.prototype.getBBox=function(){var r=this.cfg.bbox;return r||(r=this.calculateBBox(),this.set("bbox",r)),r},e.prototype.getCanvasBBox=function(){var r=this.cfg.canvasBBox;return r||(r=this.calculateCanvasBBox(),this.set("canvasBBox",r)),r},e.prototype.applyMatrix=function(r){t.prototype.applyMatrix.call(this,r),this.set("canvasBBox",null)},e.prototype.calculateCanvasBBox=function(){var r=this.getBBox(),n=this.getTotalMatrix(),a=r.minX,i=r.minY,o=r.maxX,s=r.maxY;if(n){var u=Do(n,[r.minX,r.minY]),f=Do(n,[r.maxX,r.minY]),l=Do(n,[r.minX,r.maxY]),c=Do(n,[r.maxX,r.maxY]);a=Math.min(u[0],f[0],l[0],c[0]),o=Math.max(u[0],f[0],l[0],c[0]),i=Math.min(u[1],f[1],l[1],c[1]),s=Math.max(u[1],f[1],l[1],c[1])}var h=this.attrs;if(h.shadowColor){var d=h.shadowBlur,v=d===void 0?0:d,p=h.shadowOffsetX,g=p===void 0?0:p,y=h.shadowOffsetY,m=y===void 0?0:y,b=a-v+g,w=o+v+g,x=i-v+m,E=s+v+m;a=Math.min(a,b),o=Math.max(o,w),i=Math.min(i,x),s=Math.max(s,E)}return{x:a,y:i,minX:a,minY:i,maxX:o,maxY:s,width:o-a,height:s-i}},e.prototype.clearCacheBBox=function(){this.set("bbox",null),this.set("canvasBBox",null)},e.prototype.isClipShape=function(){return this.get("isClipShape")},e.prototype.isInShape=function(r,n){return!1},e.prototype.isOnlyHitBox=function(){return!1},e.prototype.isHit=function(r,n){var a=this.get("startArrowShape"),i=this.get("endArrowShape"),o=[r,n,1];o=this.invertFromMatrix(o);var s=o[0],u=o[1],f=this._isInBBox(s,u);return this.isOnlyHitBox()?f:!!(f&&!this.isClipped(s,u)&&(this.isInShape(s,u)||a&&a.isHit(s,u)||i&&i.isHit(s,u)))},e}(aC),_C=new Map;function Ja(t,e){_C.set(t,e)}function SC(t){return _C.get(t)}function MC(t){var e=t.attr(),r=e.x,n=e.y,a=e.width,i=e.height;return{x:r,y:n,width:a,height:i}}function AC(t){var e=t.attr(),r=e.x,n=e.y,a=e.r;return{x:r-a,y:n-a,width:a*2,height:a*2}}function xn(t,e,r,n){var a=t-r,i=e-n;return Math.sqrt(a*a+i*i)}function uh(t,e){return Math.abs(t-e)<.001}function pu(t,e){var r=Ha(t),n=Ha(e),a=qa(t),i=qa(e);return{x:r,y:n,width:a-r,height:i-n}}function _d(t){return(t+Math.PI*2)%(Math.PI*2)}const cn={box:function(t,e,r,n){return pu([t,r],[e,n])},length:function(t,e,r,n){return xn(t,e,r,n)},pointAt:function(t,e,r,n,a){return{x:(1-a)*t+a*r,y:(1-a)*e+a*n}},pointDistance:function(t,e,r,n,a,i){var o=(r-t)*(a-t)+(n-e)*(i-e);if(o<0)return xn(t,e,a,i);var s=(r-t)*(r-t)+(n-e)*(n-e);return o>s?xn(r,n,a,i):this.pointToLine(t,e,r,n,a,i)},pointToLine:function(t,e,r,n,a,i){var o=[r-t,n-e];if(xy(o,[0,0]))return Math.sqrt((a-t)*(a-t)+(i-e)*(i-e));var s=[-o[1],o[0]];Wi(s,s);var u=[a-t,i-e];return Math.abs(wy(u,s))},tangentAngle:function(t,e,r,n){return Math.atan2(n-e,r-t)}};var fj=1e-4;function CC(t,e,r,n,a,i){var o,s=1/0,u=[r,n],f=20;i&&i>200&&(f=i/10);for(var l=1/f,c=l/10,h=0;h<=f;h++){var d=h*l,v=[a.apply(null,t.concat([d])),a.apply(null,e.concat([d]))],p=xn(u[0],u[1],v[0],v[1]);p=0&&p=0?[a]:[]}function lx(t,e,r,n){return 2*(1-n)*(e-t)+2*n*(r-e)}function TC(t,e,r,n,a,i,o){var s=Bi(t,r,a,o),u=Bi(e,n,i,o),f=cn.pointAt(t,e,r,n,o),l=cn.pointAt(r,n,a,i,o);return[[t,e,f.x,f.y,s,u],[s,u,l.x,l.y,a,i]]}function $0(t,e,r,n,a,i,o){if(o===0)return(xn(t,e,r,n)+xn(r,n,a,i)+xn(t,e,a,i))/2;var s=TC(t,e,r,n,a,i,.5),u=s[0],f=s[1];return u.push(o-1),f.push(o-1),$0.apply(null,u)+$0.apply(null,f)}const IC={box:function(t,e,r,n,a,i){var o=fx(t,r,a)[0],s=fx(e,n,i)[0],u=[t,a],f=[e,i];return o!==void 0&&u.push(Bi(t,r,a,o)),s!==void 0&&f.push(Bi(e,n,i,s)),pu(u,f)},length:function(t,e,r,n,a,i){return $0(t,e,r,n,a,i,3)},nearestPoint:function(t,e,r,n,a,i,o,s){return CC([t,r,a],[e,n,i],o,s,Bi)},pointDistance:function(t,e,r,n,a,i,o,s){var u=this.nearestPoint(t,e,r,n,a,i,o,s);return xn(u.x,u.y,o,s)},interpolationAt:Bi,pointAt:function(t,e,r,n,a,i,o){return{x:Bi(t,r,a,o),y:Bi(e,n,i,o)}},divide:function(t,e,r,n,a,i,o){return TC(t,e,r,n,a,i,o)},tangentAngle:function(t,e,r,n,a,i,o){var s=lx(t,r,a,o),u=lx(e,n,i,o),f=Math.atan2(u,s);return _d(f)}};function Gi(t,e,r,n,a){var i=1-a;return i*i*i*t+3*e*a*i*i+3*r*a*a*i+n*a*a*a}function cx(t,e,r,n,a){var i=1-a;return 3*(i*i*(e-t)+2*i*a*(r-e)+a*a*(n-r))}function pp(t,e,r,n){var a=-3*t+9*e-9*r+3*n,i=6*t-12*e+6*r,o=3*e-3*t,s=[],u,f,l;if(uh(a,0))uh(i,0)||(u=-o/i,u>=0&&u<=1&&s.push(u));else{var c=i*i-4*a*o;uh(c,0)?s.push(-i/(2*a)):c>0&&(l=Math.sqrt(c),u=(-i+l)/(2*a),f=(-i-l)/(2*a),u>=0&&u<=1&&s.push(u),f>=0&&f<=1&&s.push(f))}return s}function kC(t,e,r,n,a,i,o,s,u){var f=Gi(t,r,a,o,u),l=Gi(e,n,i,s,u),c=cn.pointAt(t,e,r,n,u),h=cn.pointAt(r,n,a,i,u),d=cn.pointAt(a,i,o,s,u),v=cn.pointAt(c.x,c.y,h.x,h.y,u),p=cn.pointAt(h.x,h.y,d.x,d.y,u);return[[t,e,c.x,c.y,v.x,v.y,f,l],[f,l,p.x,p.y,d.x,d.y,o,s]]}function X0(t,e,r,n,a,i,o,s,u){if(u===0)return lj([t,r,a,o],[e,n,i,s]);var f=kC(t,e,r,n,a,i,o,s,.5),l=f[0],c=f[1];return l.push(u-1),c.push(u-1),X0.apply(null,l)+X0.apply(null,c)}const xf={extrema:pp,box:function(t,e,r,n,a,i,o,s){for(var u=[t,o],f=[e,s],l=pp(t,r,a,o),c=pp(e,n,i,s),h=0;h0?r:r*-1}const cj={box:function(t,e,r,n){return{x:t-r,y:e-n,width:r*2,height:n*2}},length:function(t,e,r,n){return Math.PI*(3*(r+n)-Math.sqrt((3*r+n)*(r+3*n)))},nearestPoint:function(t,e,r,n,a,i){var o=r,s=n;if(o===0||s===0)return{x:t,y:e};for(var u=a-t,f=i-e,l=Math.abs(u),c=Math.abs(f),h=o*o,d=s*s,v=Math.PI/4,p,g,y=0;y<4;y++){p=o*Math.cos(v),g=s*Math.sin(v);var m=(h-d)*Math.pow(Math.cos(v),3)/o,b=(d-h)*Math.pow(Math.sin(v),3)/s,w=p-m,x=g-b,E=l-m,_=c-b,S=Math.hypot(x,w),A=Math.hypot(_,E),M=S*Math.asin((w*_-x*E)/(S*A)),C=M/Math.sqrt(h+d-p*p-g*g);v+=C,v=Math.min(Math.PI/2,Math.max(0,v))}return{x:t+hx(p,u),y:e+hx(g,f)}},pointDistance:function(t,e,r,n,a,i){var o=this.nearestPoint(t,e,r,n,a,i);return xn(o.x,o.y,a,i)},pointAt:function(t,e,r,n,a){var i=2*Math.PI*a;return{x:t+r*Math.cos(i),y:e+n*Math.sin(i)}},tangentAngle:function(t,e,r,n,a){var i=2*Math.PI*a,o=Math.atan2(n*Math.cos(i),-r*Math.sin(i));return _d(o)}};function hj(t,e,r,n,a,i,o,s){return-1*r*Math.cos(a)*Math.sin(s)-n*Math.sin(a)*Math.cos(s)}function dj(t,e,r,n,a,i,o,s){return-1*r*Math.sin(a)*Math.sin(s)+n*Math.cos(a)*Math.cos(s)}function vj(t,e,r){return Math.atan(-e/t*Math.tan(r))}function pj(t,e,r){return Math.atan(e/(t*Math.tan(r)))}function dx(t,e,r,n,a,i){return r*Math.cos(a)*Math.cos(i)-n*Math.sin(a)*Math.sin(i)+t}function vx(t,e,r,n,a,i){return r*Math.sin(a)*Math.cos(i)+n*Math.cos(a)*Math.sin(i)+e}function gj(t,e,r,n){var a=Math.atan2(n*t,r*e);return(a+Math.PI*2)%(Math.PI*2)}function px(t,e,r){return{x:t*Math.cos(r),y:e*Math.sin(r)}}function gx(t,e,r){var n=Math.cos(r),a=Math.sin(r);return[t*n-e*a,t*a+e*n]}const yj={box:function(t,e,r,n,a,i,o){for(var s=vj(r,n,a),u=1/0,f=-1/0,l=[i,o],c=-Math.PI*2;c<=Math.PI*2;c+=Math.PI){var h=s+c;if&&(f=d)}for(var v=pj(r,n,a),p=1/0,g=-1/0,y=[i,o],c=-Math.PI*2;c<=Math.PI*2;c+=Math.PI){var m=v+c;ig&&(g=b)}return{x:u,y:p,width:f-u,height:g-p}},length:function(t,e,r,n,a,i,o){},nearestPoint:function(t,e,r,n,a,i,o,s,u){var f=gx(s-t,u-e,-a),l=f[0],c=f[1],h=cj.nearestPoint(0,0,r,n,l,c),d=gj(r,n,h.x,h.y);do&&(h=px(r,n,o));var v=gx(h.x,h.y,a);return{x:v[0]+t,y:v[1]+e}},pointDistance:function(t,e,r,n,a,i,o,s,u){var f=this.nearestPoint(t,e,r,n,s,u);return xn(f.x,f.y,s,u)},pointAt:function(t,e,r,n,a,i,o,s){var u=(o-i)*s+i;return{x:dx(t,e,r,n,a,u),y:vx(t,e,r,n,a,u)}},tangentAngle:function(t,e,r,n,a,i,o,s){var u=(o-i)*s+i,f=hj(t,e,r,n,a,i,o,u),l=dj(t,e,r,n,a,i,o,u);return _d(Math.atan2(l,f))}};function NC(t){for(var e=0,r=[],n=0;n1||e<0||t.length<2)return null;var r=NC(t),n=r.segments,a=r.totalLength;if(a===0)return{x:t[0][0],y:t[0][1]};for(var i=0,o=null,s=0;s=i&&e<=i+c){var h=(e-i)/c;o=cn.pointAt(f[0],f[1],l[0],l[1],h);break}i+=c}return o}function wj(t,e){if(e>1||e<0||t.length<2)return 0;for(var r=NC(t),n=r.segments,a=r.totalLength,i=0,o=0,s=0;s=i&&e<=i+c){o=Math.atan2(l[1]-f[1],l[0]-f[0]);break}i+=c}return o}function xj(t,e,r){for(var n=1/0,a=0;a1){var a=Sj(e,r);return e*n+a*(n-1)}return e}function Sj(t,e){return e?e-t:t*.14}function Mj(t,e){var r=LC(),n=0;if(Zt(t)||t==="")return n;if(r.save(),r.font=e,Ye(t)&&t.includes(` `)){var a=t.split(` diff --git a/web/dist/assets/index-BFjouPFU.js b/web/dist/assets/index-lpjSKhQ-.js similarity index 99% rename from web/dist/assets/index-BFjouPFU.js rename to web/dist/assets/index-lpjSKhQ-.js index a645fb9..99b6df1 100644 --- a/web/dist/assets/index-BFjouPFU.js +++ b/web/dist/assets/index-lpjSKhQ-.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-BYekGeRX.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Login-QAgKDetV.css","assets/MainLayout-Cavyx6zq.js","assets/MainLayout-DQN4KPkJ.css","assets/MachineList-Dl6ycQW2.js","assets/MachineList-9XRtZKRa.css","assets/MachineDetail-PZRasqha.js","assets/MachineDetail-BRKIzc2h.css","assets/Topology-BoCWnE97.js","assets/Topology-DMH8-H8q.css","assets/Logs-DuqLZVwE.js","assets/Logs-DCJS9ser.css","assets/PVEHosts-Ch6D9CK9.js","assets/PVEHosts-BMDl3QRA.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-C8-FK7Oa.js","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/Login-QAgKDetV.css","assets/MainLayout-BtA_qQWv.js","assets/MainLayout-DQN4KPkJ.css","assets/MachineList-Cau-oDXK.js","assets/MachineList-9XRtZKRa.css","assets/MachineDetail-DmGzwGVM.js","assets/MachineDetail-GXU483Vz.css","assets/Topology-DtU27Fr5.js","assets/Topology-DMH8-H8q.css","assets/Logs-DrS0Neta.js","assets/Logs-DCJS9ser.css","assets/PVEHosts-DgnxRMDp.js","assets/PVEHosts-Bv16iTgA.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))a(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&a(r)}).observe(document,{childList:!0,subtree:!0});function n(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(o){if(o.ep)return;o.ep=!0;const l=n(o);fetch(o.href,l)}})();/** * @vue/shared v3.5.32 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -93,4 +93,4 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:a,curr `);return r===-1?"":o.stack.slice(r+1)})();try{if(!a.stack)a.stack=l;else if(l){const r=l.indexOf(` `),s=r===-1?-1:l.indexOf(` `,r+1),u=s===-1?"":l.slice(s+1);String(a.stack).endsWith(u)||(a.stack+=` -`+l)}}catch{}}throw a}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Dr(this.defaults,n);const{transitional:a,paramsSerializer:o,headers:l}=n;a!==void 0&&Wc.assertOptions(a,{silentJSONParsing:La.transitional(La.boolean),forcedJSONParsing:La.transitional(La.boolean),clarifyTimeoutError:La.transitional(La.boolean),legacyInterceptorReqResOrdering:La.transitional(La.boolean)},!1),o!=null&&(Oe.isFunction(o)?n.paramsSerializer={serialize:o}:Wc.assertOptions(o,{encode:La.function,serialize:La.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Wc.assertOptions(n,{baseUrl:La.spelling("baseURL"),withXsrfToken:La.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=l&&Oe.merge(l.common,l[n.method]);l&&Oe.forEach(["delete","get","head","post","put","patch","common"],p=>{delete l[p]}),n.headers=_a.concat(r,l);const s=[];let u=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;u=u&&v.synchronous;const m=n.transitional||Ev;m&&m.legacyInterceptorReqResOrdering?s.unshift(v.fulfilled,v.rejected):s.push(v.fulfilled,v.rejected)});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let d,f=0,h;if(!u){const p=[H4.bind(this),void 0];for(p.unshift(...s),p.push(...c),h=p.length,d=Promise.resolve(n);f{if(!a._listeners)return;let l=a._listeners.length;for(;l-- >0;)a._listeners[l](o);a._listeners=null}),this.promise.then=o=>{let l;const r=new Promise(s=>{a.subscribe(s),l=s}).then(o);return r.cancel=function(){a.unsubscribe(l)},r},t(function(l,r,s){a.reason||(a.reason=new Yu(l,r,s),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=a=>{t.abort(a)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new z9(function(o){t=o}),cancel:t}}};function ude(e){return function(n){return e.apply(null,n)}}function cde(e){return Oe.isObject(e)&&e.isAxiosError===!0}const ip={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ip).forEach(([e,t])=>{ip[t]=e});function D9(e){const t=new Er(e),n=b9(Er.prototype.request,t);return Oe.extend(n,Er.prototype,t,{allOwnKeys:!0}),Oe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return D9(Dr(e,o))},n}const Tn=D9(Uu);Tn.Axios=Er;Tn.CanceledError=Yu;Tn.CancelToken=ide;Tn.isCancel=R9;Tn.VERSION=B9;Tn.toFormData=$f;Tn.AxiosError=Ot;Tn.Cancel=Tn.CanceledError;Tn.all=function(t){return Promise.all(t)};Tn.spread=ude;Tn.isAxiosError=cde;Tn.mergeConfig=Dr;Tn.AxiosHeaders=_a;Tn.formToJSON=e=>A9(Oe.isHTMLForm(e)?new FormData(e):e);Tn.getAdapter=V9.getAdapter;Tn.HttpStatusCode=ip;Tn.default=Tn;const{Axios:_de,AxiosError:Sde,CanceledError:xde,isCancel:kde,CancelToken:Ede,VERSION:Tde,all:Mde,Cancel:Ode,isAxiosError:$de,spread:Ade,toFormData:Rde,AxiosHeaders:Nde,HttpStatusCode:Pde,formToJSON:Ide,getAdapter:Lde,mergeConfig:Vde}=Tn,Qt=Tn.create({baseURL:"/api",timeout:3e4,withCredentials:!0});Qt.interceptors.response.use(e=>e,e=>{var n,a,o;const t=((a=(n=e.response)==null?void 0:n.data)==null?void 0:a.error)||e.message||"请求失败";return((o=e.response)==null?void 0:o.status)===401?(hde(),window.location.href="/login",Promise.reject(e)):(l9.error(t),Promise.reject(e))});let dde=1e4;const fde=()=>Qt.get("/auth/me").then(e=>(e.data&&typeof e.data.ui_refresh_interval=="number"&&(dde=e.data.ui_refresh_interval),e)),Bde=e=>Qt.post("/auth/login",e),zde=()=>Qt.post("/auth/guest"),Dde=()=>Qt.post("/auth/logout"),Hde=e=>Qt.get("/machines",{params:e}),Fde=e=>Qt.get(`/machines/${e}`),Kde=e=>Qt.post("/machines",e),Wde=(e,t)=>Qt.put(`/machines/${e}`,t),jde=e=>Qt.delete(`/machines/${e}`),qde=(e,t)=>Qt.post(`/machines/${e}/ssh-info`,t),Ude=(e,t)=>Qt.post(`/machines/${e}/sync-ssh`,t),Yde=e=>Qt.get(`/machines/${e}/offline-logs`),Gde=e=>Qt.get(`/machines/${e}/services`),Xde=()=>Qt.get("/services"),Jde=(e,t)=>Qt.post(`/machines/${e}/services`,t),Zde=(e,t)=>Qt.put(`/services/${e}`,t),Qde=e=>Qt.delete(`/services/${e}`),efe=()=>Qt.get("/relationships"),tfe=e=>Qt.post("/relationships",e),nfe=(e,t)=>Qt.put(`/relationships/${e}`,t),afe=e=>Qt.delete(`/relationships/${e}`),ofe=e=>Qt.get("/logs",{params:e}),lfe=()=>Qt.get("/export",{responseType:"blob"}),rfe=e=>Qt.post("/import",e,{headers:{"Content-Type":"multipart/form-data"}}),sfe=()=>Qt.get("/pve/hosts"),ife=e=>Qt.post("/pve/hosts",e),ufe=(e,t)=>Qt.put(`/pve/hosts/${e}`,t),cfe=e=>Qt.delete(`/pve/hosts/${e}`),dfe=e=>Qt.post(`/machines/${e}/vm-start`),ffe=e=>Qt.post(`/machines/${e}/vm-stop`),pde=[{path:"/login",name:"Login",component:()=>or(()=>import("./Login-BYekGeRX.js"),__vite__mapDeps([0,1,2])),meta:{public:!0,guestOnly:!0}},{path:"/",component:()=>or(()=>import("./MainLayout-Cavyx6zq.js"),__vite__mapDeps([3,1,4])),children:[{path:"",redirect:"/machines"},{path:"machines",name:"MachineList",component:()=>or(()=>import("./MachineList-Dl6ycQW2.js"),__vite__mapDeps([5,1,6])),meta:{public:!0}},{path:"machines/:id",name:"MachineDetail",component:()=>or(()=>import("./MachineDetail-PZRasqha.js"),__vite__mapDeps([7,1,8])),meta:{public:!0}},{path:"topology",name:"Topology",component:()=>or(()=>import("./Topology-BoCWnE97.js"),__vite__mapDeps([9,1,10])),meta:{admin:!0}},{path:"logs",name:"Logs",component:()=>or(()=>import("./Logs-DuqLZVwE.js"),__vite__mapDeps([11,1,12])),meta:{admin:!0}},{path:"pve-hosts",name:"PVEHosts",component:()=>or(()=>import("./PVEHosts-Ch6D9CK9.js"),__vite__mapDeps([13,1,14])),meta:{admin:!0}}]}],H9=Oue({history:sue(),routes:pde});let up=!1,fr={is_admin:!1};H9.beforeEach(async(e,t,n)=>{if(!up){try{const{data:a}=await fde();fr=a}catch{fr={is_admin:!1}}up=!0}if(e.name==="MachineDetail"&&!fr.is_admin)return n("/machines");if(e.meta.admin&&!fr.is_admin)return n("/login?redirect="+encodeURIComponent(e.fullPath));if(e.meta.guestOnly&&fr.is_admin)return n("/");n()});function hde(){up=!1}function pfe(e){fr=e}function hfe(){return fr}const Rf=g6(Cie);for(const[e,t]of Object.entries(eH))Rf.component(e,t);Rf.use(wie);Rf.use(H9);Rf.mount("#app");export{my as $,dt as A,Az as B,UL as C,Vz as D,l9 as E,Dde as F,hfe as G,hde as H,fde as I,dde as J,Ks as K,Hde as L,gh as M,Ke as N,_t as O,rfe as P,sfe as Q,Ty as R,qe as S,Wde as T,Kde as U,lfe as V,Fde as W,Gde as X,ID as Y,ND as Z,nP as _,E as a,wB as a0,yde as a1,Yde as a2,efe as a3,zo as a4,Gz as a5,MB as a6,Je as a7,oie as a8,jde as a9,qde as aa,Ude as ab,afe as ac,Zde as ad,Jde as ae,nfe as af,tfe as ag,dfe as ah,ffe as ai,Qde as aj,mde as ak,xl as al,Sl as am,Xde as an,vde as ao,ofe as ap,ft as aq,kp as ar,cfe as as,ufe as at,ife as au,Q as b,$ as c,$t as d,i as e,kD as f,an as g,St as h,Bde as i,zde as j,gt as k,cL as l,ie as m,re as n,_ as o,R as p,x as q,V as r,pfe as s,Se as t,gde as u,KL as v,ae as w,YB as x,gy as y,cN as z}; +`+l)}}catch{}}throw a}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Dr(this.defaults,n);const{transitional:a,paramsSerializer:o,headers:l}=n;a!==void 0&&Wc.assertOptions(a,{silentJSONParsing:La.transitional(La.boolean),forcedJSONParsing:La.transitional(La.boolean),clarifyTimeoutError:La.transitional(La.boolean),legacyInterceptorReqResOrdering:La.transitional(La.boolean)},!1),o!=null&&(Oe.isFunction(o)?n.paramsSerializer={serialize:o}:Wc.assertOptions(o,{encode:La.function,serialize:La.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Wc.assertOptions(n,{baseUrl:La.spelling("baseURL"),withXsrfToken:La.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=l&&Oe.merge(l.common,l[n.method]);l&&Oe.forEach(["delete","get","head","post","put","patch","common"],p=>{delete l[p]}),n.headers=_a.concat(r,l);const s=[];let u=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;u=u&&v.synchronous;const m=n.transitional||Ev;m&&m.legacyInterceptorReqResOrdering?s.unshift(v.fulfilled,v.rejected):s.push(v.fulfilled,v.rejected)});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let d,f=0,h;if(!u){const p=[H4.bind(this),void 0];for(p.unshift(...s),p.push(...c),h=p.length,d=Promise.resolve(n);f{if(!a._listeners)return;let l=a._listeners.length;for(;l-- >0;)a._listeners[l](o);a._listeners=null}),this.promise.then=o=>{let l;const r=new Promise(s=>{a.subscribe(s),l=s}).then(o);return r.cancel=function(){a.unsubscribe(l)},r},t(function(l,r,s){a.reason||(a.reason=new Yu(l,r,s),n(a.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=a=>{t.abort(a)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new z9(function(o){t=o}),cancel:t}}};function ude(e){return function(n){return e.apply(null,n)}}function cde(e){return Oe.isObject(e)&&e.isAxiosError===!0}const ip={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ip).forEach(([e,t])=>{ip[t]=e});function D9(e){const t=new Er(e),n=b9(Er.prototype.request,t);return Oe.extend(n,Er.prototype,t,{allOwnKeys:!0}),Oe.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return D9(Dr(e,o))},n}const Tn=D9(Uu);Tn.Axios=Er;Tn.CanceledError=Yu;Tn.CancelToken=ide;Tn.isCancel=R9;Tn.VERSION=B9;Tn.toFormData=$f;Tn.AxiosError=Ot;Tn.Cancel=Tn.CanceledError;Tn.all=function(t){return Promise.all(t)};Tn.spread=ude;Tn.isAxiosError=cde;Tn.mergeConfig=Dr;Tn.AxiosHeaders=_a;Tn.formToJSON=e=>A9(Oe.isHTMLForm(e)?new FormData(e):e);Tn.getAdapter=V9.getAdapter;Tn.HttpStatusCode=ip;Tn.default=Tn;const{Axios:_de,AxiosError:Sde,CanceledError:xde,isCancel:kde,CancelToken:Ede,VERSION:Tde,all:Mde,Cancel:Ode,isAxiosError:$de,spread:Ade,toFormData:Rde,AxiosHeaders:Nde,HttpStatusCode:Pde,formToJSON:Ide,getAdapter:Lde,mergeConfig:Vde}=Tn,Qt=Tn.create({baseURL:"/api",timeout:3e4,withCredentials:!0});Qt.interceptors.response.use(e=>e,e=>{var n,a,o;const t=((a=(n=e.response)==null?void 0:n.data)==null?void 0:a.error)||e.message||"请求失败";return((o=e.response)==null?void 0:o.status)===401?(hde(),window.location.href="/login",Promise.reject(e)):(l9.error(t),Promise.reject(e))});let dde=1e4;const fde=()=>Qt.get("/auth/me").then(e=>(e.data&&typeof e.data.ui_refresh_interval=="number"&&(dde=e.data.ui_refresh_interval),e)),Bde=e=>Qt.post("/auth/login",e),zde=()=>Qt.post("/auth/guest"),Dde=()=>Qt.post("/auth/logout"),Hde=e=>Qt.get("/machines",{params:e}),Fde=e=>Qt.get(`/machines/${e}`),Kde=e=>Qt.post("/machines",e),Wde=(e,t)=>Qt.put(`/machines/${e}`,t),jde=e=>Qt.delete(`/machines/${e}`),qde=(e,t)=>Qt.post(`/machines/${e}/ssh-info`,t),Ude=(e,t)=>Qt.post(`/machines/${e}/sync-ssh`,t),Yde=e=>Qt.get(`/machines/${e}/offline-logs`),Gde=e=>Qt.get(`/machines/${e}/services`),Xde=()=>Qt.get("/services"),Jde=(e,t)=>Qt.post(`/machines/${e}/services`,t),Zde=(e,t)=>Qt.put(`/services/${e}`,t),Qde=e=>Qt.delete(`/services/${e}`),efe=()=>Qt.get("/relationships"),tfe=e=>Qt.post("/relationships",e),nfe=(e,t)=>Qt.put(`/relationships/${e}`,t),afe=e=>Qt.delete(`/relationships/${e}`),ofe=e=>Qt.get("/logs",{params:e}),lfe=()=>Qt.get("/export",{responseType:"blob"}),rfe=e=>Qt.post("/import",e,{headers:{"Content-Type":"multipart/form-data"}}),sfe=()=>Qt.get("/pve/hosts"),ife=e=>Qt.post("/pve/hosts",e),ufe=(e,t)=>Qt.put(`/pve/hosts/${e}`,t),cfe=e=>Qt.delete(`/pve/hosts/${e}`),dfe=e=>Qt.post(`/machines/${e}/vm-start`),ffe=e=>Qt.post(`/machines/${e}/vm-stop`),pde=[{path:"/login",name:"Login",component:()=>or(()=>import("./Login-C8-FK7Oa.js"),__vite__mapDeps([0,1,2])),meta:{public:!0,guestOnly:!0}},{path:"/",component:()=>or(()=>import("./MainLayout-BtA_qQWv.js"),__vite__mapDeps([3,1,4])),children:[{path:"",redirect:"/machines"},{path:"machines",name:"MachineList",component:()=>or(()=>import("./MachineList-Cau-oDXK.js"),__vite__mapDeps([5,1,6])),meta:{public:!0}},{path:"machines/:id",name:"MachineDetail",component:()=>or(()=>import("./MachineDetail-DmGzwGVM.js"),__vite__mapDeps([7,1,8])),meta:{public:!0}},{path:"topology",name:"Topology",component:()=>or(()=>import("./Topology-DtU27Fr5.js"),__vite__mapDeps([9,1,10])),meta:{admin:!0}},{path:"logs",name:"Logs",component:()=>or(()=>import("./Logs-DrS0Neta.js"),__vite__mapDeps([11,1,12])),meta:{admin:!0}},{path:"pve-hosts",name:"PVEHosts",component:()=>or(()=>import("./PVEHosts-DgnxRMDp.js"),__vite__mapDeps([13,1,14])),meta:{admin:!0}}]}],H9=Oue({history:sue(),routes:pde});let up=!1,fr={is_admin:!1};H9.beforeEach(async(e,t,n)=>{if(!up){try{const{data:a}=await fde();fr=a}catch{fr={is_admin:!1}}up=!0}if(e.name==="MachineDetail"&&!fr.is_admin)return n("/machines");if(e.meta.admin&&!fr.is_admin)return n("/login?redirect="+encodeURIComponent(e.fullPath));if(e.meta.guestOnly&&fr.is_admin)return n("/");n()});function hde(){up=!1}function pfe(e){fr=e}function hfe(){return fr}const Rf=g6(Cie);for(const[e,t]of Object.entries(eH))Rf.component(e,t);Rf.use(wie);Rf.use(H9);Rf.mount("#app");export{my as $,dt as A,Az as B,UL as C,Vz as D,l9 as E,Dde as F,hfe as G,hde as H,fde as I,dde as J,Ks as K,Hde as L,gh as M,Ke as N,_t as O,rfe as P,sfe as Q,Ty as R,qe as S,Wde as T,Kde as U,lfe as V,Fde as W,Gde as X,ID as Y,ND as Z,nP as _,E as a,wB as a0,yde as a1,Yde as a2,efe as a3,zo as a4,Gz as a5,MB as a6,Je as a7,oie as a8,jde as a9,qde as aa,Ude as ab,afe as ac,Zde as ad,Jde as ae,nfe as af,tfe as ag,dfe as ah,ffe as ai,Qde as aj,mde as ak,xl as al,Sl as am,Xde as an,vde as ao,ofe as ap,ft as aq,kp as ar,cfe as as,ufe as at,ife as au,Q as b,$ as c,$t as d,i as e,kD as f,an as g,St as h,Bde as i,zde as j,gt as k,cL as l,ie as m,re as n,_ as o,R as p,x as q,V as r,pfe as s,Se as t,gde as u,KL as v,ae as w,YB as x,gy as y,cN as z}; diff --git a/web/dist/index.html b/web/dist/index.html index c94c067..97091cc 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -5,7 +5,7 @@ 局域网机器管理后台 - + diff --git a/web/src/views/MachineDetail.vue b/web/src/views/MachineDetail.vue index 20045a9..05febf3 100644 --- a/web/src/views/MachineDetail.vue +++ b/web/src/views/MachineDetail.vue @@ -231,6 +231,15 @@ + PVE 配置(可选) + + + + + + + +