Files
fad_oa/ruoyi-ui/public/file-viewer/assets/EdaViewer-B296bd4C.js

8 lines
18 KiB
JavaScript

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./cfb-DgjGJYYS.js","./package-Bop5TfAT.js","./runtime-core.esm-bundler-DO-WTVbd.js","./package-OvxnQO7z.css","./__vite-browser-external-BZdVR8v7.js"])))=>i.map(i=>d[i]);
import{M as e,c as t,h as n,r,w as i}from"./package-Bop5TfAT.js";import{A as a,D as o,J as s,T as c,X as l,Y as u,_ as ee,b as d,f,i as p,l as te,o as m,r as h,s as g,t as _,y as v}from"./runtime-core.esm-bundler-DO-WTVbd.js";var y=[208,207,17,224,161,177,26,225],b=200,x=4096,S=192,C=180,w=24,T=420,E=e=>new Uint8Array(e),D=e=>y.every((t,n)=>e[n]===t),O=e=>e instanceof Uint8Array?e:new Uint8Array(e),k=e=>e.replace(/\u0000/g,``).replace(/[^\S\r\n]+/g,` `).replace(/\r\n/g,`
`).trim(),A=e=>k(e).toLowerCase(),j=e=>{let t=e.split(`/`).filter(Boolean);return t[t.length-1]||e||`/`},M=e=>e.replace(/\.[a-z0-9]+$/i,``),N=(e,t,n=1/0)=>{let r=k(t);!r||e.includes(r)||e.length>=n||e.push(r)},P=e=>{if(!e.length)return!1;let t=e.slice(0,Math.min(e.length,x)),n=0,r=0;for(let e of t)e===0&&(r+=1),(e===9||e===10||e===13||e>=32&&e<=126||e>=128)&&(n+=1);return n/t.length>.82||r/t.length>.25},F=e=>{let t=e.slice(0,Math.min(e.length,x));if(!t.length)return``;try{let e=0,n=0;for(let r=0;r<t.length;r+=1)t[r]===0&&(r%2==0?n+=1:e+=1);return k((e>t.length/5&&e>n*2?new TextDecoder(`utf-16le`,{fatal:!1}):new TextDecoder(`utf-8`,{fatal:!1})).decode(t))}catch{return``}},I=e=>{let t=e.slice(0,Math.min(e.length,S)),n=[];for(let e=0;e<t.length;e+=16){let r=t.slice(e,e+16),i=Array.from(r).map(e=>e.toString(16).padStart(2,`0`)).join(` `),a=Array.from(r).map(e=>e>=32&&e<=126?String.fromCharCode(e):`.`).join(``);n.push(`${e.toString(16).padStart(8,`0`)} ${i.padEnd(47)} ${a}`)}return n.join(`
`)},L=e=>{let t=[],n=``;for(let r of e){if(r>=32&&r<=126){n+=String.fromCharCode(r);continue}n.length>=4&&t.push(n),n=``}return n.length>=4&&t.push(n),t},R=e=>{let t=[],n=``;for(let r=0;r+1<e.length;r+=2){let i=e[r];if(e[r+1]===0&&i>=32&&i<=126){n+=String.fromCharCode(i);continue}n.length>=4&&t.push(n),n=``}return n.length>=4&&t.push(n),t},z=(e,t=C)=>{let n=new Set,r=[];return e.forEach(e=>{[...L(e),...R(e)].forEach(e=>{let i=k(e);!i||i.length<4||n.has(i)||r.length>=t||(n.add(i),r.push(i))})}),r},ne=/^\s*([A-Za-z][A-Za-z0-9_. /#-]{1,56})\s*[:=]\s*(.{1,240})\s*$/,re=/\b([A-Za-z][A-Za-z0-9_. /#-]{1,56})\s*=\s*([^;\n\r|]{1,240})/g,ie=e=>k(e).replace(/\s+/g,` `),B=(e,t,n,r,i)=>{if(e.length>=T)return;let a=ie(n),o=k(r);if(!a||!o)return;let s=`${i}\u0000${a.toLowerCase()}\u0000${o}`;t.has(s)||(t.add(s),e.push({key:a,value:o,source:i}))},V=(e,t,n)=>{let r=[],i=new Set;return[e,...t].filter(Boolean).forEach(e=>{k(e).split(/\n|[|;]/).forEach(e=>{let t=e.match(ne);t&&B(r,i,t[1],t[2],n)});for(let t of e.matchAll(re))B(r,i,t[1],t[2],n)}),r},H=(e,t)=>{let n=t.map(e=>e.toLowerCase());return e.some(e=>n.includes(e.key.toLowerCase()))},U=(e,t)=>{let n=t.map(e=>e.toLowerCase());return e.find(e=>n.includes(e.key.toLowerCase()))?.value},W=(e,t,n,r,i,a,o)=>{let s=A(`${t}\n${n}\n${r}\n${i.join(`
`)}`);if(s===`/`||t===`/`)return`root`;if(o===`storage`&&/(^|\/)(library|libraries)(\/|$)/i.test(t))return`library`;if(/(header|version|source|author|metadata|property|properties)/.test(s))return H(a,[`Name`,`Pins`,`Footprint`,`Padstack`])?`property`:`metadata`;if(e===`olb`){if(/(^|\/)(symbols?|parts?)(\/|$)/.test(s)||H(a,[`Pins`,`Footprint`,`PCB Footprint`,`Part Number`]))return`symbol`;if(/(^|\/)(library|capture|orcad)(\/|$)/.test(s))return`library`}if(e===`dra`){if(/(padstack|pad stack|thermal|antipad|drill)/.test(s)||H(a,[`Padstack`,`Drill`]))return`padstack`;if(/(footprint|package|psm|bsm|fsm|ssm|symbol)/.test(s))return`footprint`;if(/(route|net|via|ratsnest)/.test(s))return`net`;if(/(line |arc |circle|shape|outline|silk|place_bound|assembly|soldermask|pastemask)/.test(s))return`geometry`;if(/(drawing|units|layers?|constraint|allegro)/.test(s)||H(a,[`Units`,`Layers`]))return`drawing`}return a.length?`property`:o===`storage`?`library`:`unknown`},G=(e,t,n,r,i,a)=>{if(i===`storage`||!a)return{path:t,name:n,size:r,kind:i,role:W(e,t,n,``,[],[],i),strings:[],properties:[]};let o=P(a)?F(a):``,s=z([a],w),c=V(o,s,t),l=W(e,t,n,o,s,c,o?`text`:`binary`);return{path:t,name:n,size:r,kind:o?`text`:`binary`,role:l,sample:o,hex:o?void 0:I(a),strings:s,properties:c}},K=e=>{e.children.sort((e,t)=>e.children.length===t.children.length?e.name.localeCompare(t.name):t.children.length-e.children.length),e.children.forEach(K)},q=(e,t)=>{let n={id:`${t}:root`,path:`/`,name:t.toUpperCase(),kind:`storage`,role:`root`,size:0,children:[]},r=new Map([[`/`,n]]);return e.forEach(e=>{let i=e.path.split(`/`).filter(Boolean),a=n,o=``;i.forEach((n,s)=>{o+=`/${n}`;let c=s===i.length-1,l=r.get(o);l||(l={id:`${t}:${o}`,path:o,name:n,kind:c?e.kind:`storage`,role:c?e.role:W(t,o,n,``,[],[],`storage`),size:c?e.size:0,children:[]},r.set(o,l),a.children.push(l)),c&&(l.kind=e.kind,l.role=e.role,l.size=e.size),a=l})}),K(n),n.children},J=e=>{if(!e)return[];let t=[];return e.split(/[,/;| ]+/).forEach(e=>{/^[A-Za-z0-9_.+-]+$/.test(e)&&N(t,e,64)}),t},Y=(e,t)=>t===`olb`?e.role===`symbol`&&e.kind!==`storage`?`symbol`:null:e.role===`padstack`?`padstack`:e.role===`footprint`||e.role===`geometry`&&/\/footprint\//i.test(e.path)?`footprint`:e.role===`drawing`?`drawing`:null,ae=(e,t)=>t===`footprint`?e.path.match(/^(.+?\/Footprint)(?:\/|$)/i)?.[1]||e.path:t===`drawing`&&e.path.match(/^(.+?\/Drawing)(?:\/|$)/i)?.[1]||e.path,oe=(e,t,n)=>{let r=U(e.properties,[`Name`,`Part`,`Part Name`,`Symbol`,`Device`,`Footprint`,`PCB Footprint`,`Package`,`Padstack`,`Pad Stack`,`Drawing`]);if(r)return r;let i=M(j(n));return i&&i!==`/`?i:t.toUpperCase()},se=(e,t)=>{let n=[],r=`${e.path}\n${e.sample||``}\n${e.strings.join(`
`)}`.toLowerCase();return(t===`symbol`?[`pins`,`footprint`,`pspice`,`part`,`symbol`]:[`units`,`layers`,`padstack`,`drill`,`outline`,`route`,`constraint`,`shape`,`place_bound`]).forEach(e=>{r.includes(e)&&N(n,e,12)}),n},X=(e,t)=>{let n=new Set(e.map(e=>`${e.key.toLowerCase()}\u0000${e.value}`));t.forEach(t=>{let r=`${t.key.toLowerCase()}\u0000${t.value}`;n.has(r)||(n.add(r),e.push(t))})},ce=(e,t)=>{let n=new Map;return e.forEach(e=>{let r=Y(e,t);if(!r)return;let i=ae(e,r),a=`${r}:${i.toLowerCase()}`,o=n.get(a)||{id:a,name:oe(e,r,i),role:r,path:i,streamCount:0,byteLength:0,properties:[],pins:[],layers:[],keywords:[]};o.streamCount+=1,o.byteLength+=e.size,X(o.properties,e.properties),J(U(e.properties,[`Pins`,`Pin`,`Pin Numbers`])).forEach(e=>N(o.pins,e,96)),J(U(e.properties,[`Layers`,`Layer`])).forEach(e=>N(o.layers,e,64)),se(e,r).forEach(e=>N(o.keywords,e,16)),o.description||=U(o.properties,[`Description`,`Desc`]),o.footprint||=U(o.properties,[`Footprint`,`PCB Footprint`,`Package`]),n.set(a,o)}),Array.from(n.values()).sort((e,t)=>{let n={symbol:0,footprint:1,padstack:2,drawing:3};return(n[e.role]??9)-(n[t.role]??9)||e.name.localeCompare(t.name)})},le=e=>{let t=[];return e.forEach(e=>{(e.role===`metadata`||e.role===`library`||e.role===`drawing`)&&X(t,e.properties)}),t.slice(0,80)},ue=(e,t,n,r)=>{let i={textStreams:e.filter(e=>e.kind===`text`).length,binaryStreams:e.filter(e=>e.kind===`binary`).length,storageEntries:e.filter(e=>e.kind===`storage`).length,propertyCount:e.reduce((e,t)=>e+t.properties.length,0),stringCount:n.length,symbolCount:t.filter(e=>e.role===`symbol`).length,footprintCount:t.filter(e=>e.role===`footprint`).length,padstackCount:t.filter(e=>e.role===`padstack`).length,confidence:`low`};return r===`cfb`&&t.length&&i.propertyCount?i.confidence=`high`:(r===`cfb`||n.length||i.propertyCount)&&(i.confidence=`medium`),i},de=(e,t,n,r,i,a)=>{let o=a.map((e,t)=>({level:`warning`,code:`warning-${t+1}`,message:e}));o.push({level:`info`,code:`parser`,message:t===`cfb`?`已识别为 Microsoft Compound File / OLE2 复合文档容器,并在浏览器端解析目录与流。`:`未识别为 CFB 容器,已使用二进制字符串索引模式展示可读信息。`}),o.push({level:`info`,code:`coverage`,message:`已索引 ${n.length} 个条目、${i.length} 个可读字符串、${r.length} 个 EDA 结构候选。`});let s=e===`olb`&&!r.some(e=>e.role===`symbol`),c=e===`dra`&&!r.some(e=>e.role===`footprint`||e.role===`padstack`);return(s||c)&&o.push({level:`warning`,code:`domain-candidates`,message:e===`olb`?`未发现明确的元件符号候选,文件可能使用了私有二进制编码或需要专业工具导出 ASCII/XML 后再检查。`:`未发现明确的封装、图形或 padstack 候选,文件可能使用了私有二进制数据库编码。`}),o},Z=(e,t,n,r,i,a,o)=>{let s=i.reduce((e,t)=>e+t.size,0),c=ce(i,t),l=le(i),u=de(t,n,i,c,a,o);return{type:t,parser:n,title:t===`olb`?n===`cfb`?`OrCAD Capture Symbol Library`:`OLB Binary Library`:n===`cfb`?`OrCAD / Allegro Drawing Library`:`DRA Binary Drawing`,byteLength:e.byteLength,streamCount:r,totalStreamBytes:s,streams:i,tree:q(i,t),entities:c,metadata:l,strings:a,warnings:o,diagnostics:u,stats:ue(i,c,a,n)}},fe=async(t,n)=>{let i=(await r(()=>import(`./cfb-DgjGJYYS.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1,2,3,4]),import.meta.url)).parse(E(t),{type:`array`}),a=i.FileIndex.map((e,t)=>({entry:e,path:i.FullPaths[t]||e.name})).filter(e=>e.entry.type!==5&&e.path!==`/`&&e.entry.name).slice(0,b),o=[],s=a.map(({entry:e,path:t})=>{if(e.type===1)return G(n,t,e.name,e.size||0,`storage`);let r=O(e.content||[]);return o.push(r),G(n,t,e.name,e.size||r.byteLength||0,`binary`,r)}),c=a.length>=b?[`仅展示前 ${b} 个 CFB 项,完整文件仍可下载后在专业 EDA 工具中打开。`]:[];return Z(t,n,`cfb`,i.FileIndex.length,s,z(o),c)},Q=(e,t)=>{let n=E(e);return Z(e,t,`binary`,1,[G(t,`${t}.${t}`,`${t}.${t}`,e.byteLength,`binary`,n)],z([n]),[`该文件不是标准 CFB 容器,已退化为安全的二进制字符串索引预览。`])},pe=async(e,t=`olb`)=>{let n=t===`dra`?`dra`:`olb`;if(!D(E(e)))return Q(e,n);try{return await fe(e,n)}catch(t){let r=Q(e,n);return r.warnings.unshift(t instanceof Error?t.message:String(t)),r.diagnostics.unshift({level:`warning`,code:`cfb-parse-failed`,message:t instanceof Error?t.message:String(t)}),r}},me={class:`eda-viewer`},he={class:`eda-header`},ge={key:0},_e={key:0,class:`eda-body`},ve={class:`eda-sidebar`},ye={class:`eda-summary`},be={class:`eda-mini-grid`},xe={key:0,class:`eda-warning`},Se={class:`eda-stream-list`},Ce=[`onClick`],we=[`data-role`],Te={class:`eda-preview`},Ee={class:`eda-panel eda-panel--compact`},De={class:`eda-panel-head`},Oe={class:`eda-stat-grid`},ke={class:`eda-topology`},Ae={class:`eda-panel`},je={class:`eda-panel-head`},Me={class:`eda-tree`},Ne=[`onClick`],Pe={class:`eda-panel`},Fe={class:`eda-panel-head`},Ie={key:0,class:`eda-entities`},Le=[`onClick`],Re={key:0},ze={key:0},Be={key:1},Ve={key:2},He={key:3},Ue={key:1,class:`eda-empty`},We={class:`eda-panel`},Ge={class:`eda-panel-head`},Ke={key:0,class:`eda-selected-meta`},qe={key:1,class:`eda-property-grid`},Je={key:2},$={key:3,class:`eda-empty`},Ye={class:`eda-bottom`},Xe={class:`eda-panel`},Ze={class:`eda-panel-head`},Qe={class:`eda-string-grid`},$e={class:`eda-panel`},et={class:`eda-panel-head`},tt={class:`eda-diagnostics`},nt=[`data-level`],rt={key:0,class:`eda-local-strings`},it={key:1,class:`eda-state`},at={key:2,class:`eda-error`},ot=n(f({__name:`EdaViewer`,props:{data:{},type:{},filename:{}},setup(e){let n=e,r=o(null),f=o(!0),y=o(``),b=o(null),x=o(``),S={root:``,library:``,symbol:`元件符号`,footprint:`封装`,padstack:`Padstack`,drawing:`图纸`,metadata:`元数据`,property:`属性`,geometry:`几何`,net:`网络`,unknown:`未知`},C={high:``,medium:``,low:``},w=e=>S[e]||e,T=e=>e===`storage`?`目录`:e===`text`?`文本`:`二进制`,E=e=>e.replace(/^\/+/,``).toLowerCase(),D=h(()=>{if(!r.value)return[];let e=r.value.stats;return[{label:`文本流`,value:e.textStreams},{label:`二进制流`,value:e.binaryStreams},{label:`目录`,value:e.storageEntries},{label:`属性`,value:e.propertyCount},{label:`符号`,value:e.symbolCount},{label:`封装`,value:e.footprintCount},{label:`Padstack`,value:e.padstackCount},{label:`可信度`,value:C[e.confidence]}]}),O=h(()=>{let e=r.value?.entities||[],t=[{role:`symbol`,label:`元件符号`,items:[]},{role:`footprint`,label:`封装图形`,items:[]},{role:`padstack`,label:`Padstack`,items:[]},{role:`drawing`,label:`图纸信息`,items:[]}];return t.forEach(t=>{t.items=e.filter(e=>e.role===t.role)}),t.filter(e=>e.items.length)}),k=h(()=>{let e=x.value.trim().toLowerCase(),t=r.value?.streams||[];return e?t.filter(t=>{let n=t.properties.map(e=>`${e.key}=${e.value}`).join(`
`);return`${t.path}\n${t.name}\n${t.kind}\n${t.role}\n${t.sample||``}\n${t.strings.join(`
`)}\n${n}`.toLowerCase().includes(e)}):t}),A=(e,t=0)=>e.flatMap(e=>[{...e,depth:t},...A(e.children,t+1)]),j=h(()=>A(r.value?.tree||[])),M=h(()=>b.value?.properties||[]),N=h(()=>b.value?.strings||[]),P=h(()=>b.value?.sample||b.value?.hex||``),F=e=>{b.value=e},I=e=>{let t=E(e.path),n=r.value?.streams.find(e=>E(e.path)===t);n&&(b.value=n)},L=e=>{let t=E(e.path),n=r.value?.streams.find(e=>{let n=E(e.path);return n===t||n.startsWith(`${t}/`)});n&&(b.value=n)},R=async()=>{f.value=!0,y.value=``;try{let e=await pe(n.data,n.type);r.value=e,b.value=e.streams.find(e=>e.properties.length)||e.streams.find(e=>e.kind===`text`)||e.streams[0]||null}catch(e){console.error(e),y.value=e instanceof Error?e.message:String(e)}finally{f.value=!1}};return ee(()=>{R()}),(n,o)=>(v(),g(`section`,me,[p(`header`,he,[p(`div`,null,[p(`span`,null,l(r.value?.parser===`cfb`?`CFB STRUCTURE VIEWER`:`BINARY STRUCTURE VIEWER`),1),p(`h2`,null,l(e.filename),1)]),r.value?(v(),g(`dl`,ge,[p(`div`,null,[o[1]||=p(`dt`,null,`格式`,-1),p(`dd`,null,l(r.value.type.toUpperCase()),1)]),p(`div`,null,[o[2]||=p(`dt`,null,`大小`,-1),p(`dd`,null,l(a(t)(r.value.byteLength)),1)]),p(`div`,null,[o[3]||=p(`dt`,null,`条目`,-1),p(`dd`,null,l(r.value.streamCount),1)]),p(`div`,null,[o[4]||=p(`dt`,null,`可信度`,-1),p(`dd`,null,l(C[r.value.stats.confidence]),1)])])):m(``,!0)]),r.value?(v(),g(`div`,_e,[p(`aside`,ve,[p(`div`,ye,[p(`strong`,null,l(r.value.title),1),o[5]||=p(`p`,null,`OLB / DRA 属于 OrCAD / Allegro 生态的私有设计数据。预览器优先解析 CFB 结构、对象候选、属性和可读文本,并在纯前端安全退化。`,-1)]),p(`div`,be,[(v(!0),g(_,null,d(D.value.slice(0,4),e=>(v(),g(`div`,{key:e.label},[p(`span`,null,l(e.label),1),p(`strong`,null,l(e.value),1)]))),128))]),r.value.warnings.length?(v(),g(`div`,xe,[(v(!0),g(_,null,d(r.value.warnings,e=>(v(),g(`p`,{key:e},l(e),1))),128))])):m(``,!0),c(p(`input`,{"onUpdate:modelValue":o[0]||=e=>x.value=e,class:`eda-search`,type:`search`,placeholder:`筛选路径、角色、属性或文本`},null,512),[[i,x.value]]),p(`div`,Se,[(v(!0),g(_,null,d(k.value,e=>(v(),g(`button`,{key:e.path,type:`button`,class:s([`eda-stream`,{active:b.value?.path===e.path}]),onClick:t=>F(e)},[p(`span`,{"data-role":e.role},l(w(e.role)),9,we),p(`strong`,null,l(e.name||e.path),1),p(`em`,null,l(e.path),1),p(`small`,null,l(T(e.kind))+` · `+l(a(t)(e.size)),1)],10,Ce))),128))])]),p(`main`,Te,[p(`section`,Ee,[p(`div`,De,[o[6]||=p(`span`,null,`解析概览`,-1),p(`strong`,null,l(r.value.parser.toUpperCase())+` · `+l(a(t)(r.value.totalStreamBytes)),1)]),p(`div`,Oe,[(v(!0),g(_,null,d(D.value,e=>(v(),g(`div`,{key:e.label},[p(`span`,null,l(e.label),1),p(`strong`,null,l(e.value),1)]))),128))])]),p(`section`,ke,[p(`div`,Ae,[p(`div`,je,[o[7]||=p(`span`,null,`结构树`,-1),p(`strong`,null,l(j.value.length)+` 节点`,1)]),p(`div`,Me,[(v(!0),g(_,null,d(j.value,e=>(v(),g(`button`,{key:e.id,type:`button`,class:s({active:E(b.value?.path||``)===E(e.path)}),onClick:t=>I(e)},[p(`span`,{style:u({paddingLeft:`${e.depth*14}px`})},l(e.children.length?``:``),5),p(`strong`,null,l(e.name),1),p(`em`,null,l(w(e.role)),1),p(`small`,null,l(e.size?a(t)(e.size):T(e.kind)),1)],10,Ne))),128))])]),p(`div`,Pe,[p(`div`,Fe,[o[8]||=p(`span`,null,`EDA 对象`,-1),p(`strong`,null,l(r.value.entities.length)+``,1)]),O.value.length?(v(),g(`div`,Ie,[(v(!0),g(_,null,d(O.value,e=>(v(),g(`div`,{key:e.role,class:`eda-entity-group`},[p(`h3`,null,l(e.label),1),(v(!0),g(_,null,d(e.items,e=>(v(),g(`button`,{key:e.id,type:`button`,onClick:t=>L(e)},[p(`strong`,null,l(e.name),1),p(`span`,null,l(a(t)(e.byteLength))+` · `+l(e.streamCount)+` 条目`,1),e.description?(v(),g(`p`,Re,l(e.description),1)):m(``,!0),p(`dl`,null,[e.footprint?(v(),g(`div`,ze,[o[9]||=p(`dt`,null,`Footprint`,-1),p(`dd`,null,l(e.footprint),1)])):m(``,!0),e.pins.length?(v(),g(`div`,Be,[o[10]||=p(`dt`,null,`Pins`,-1),p(`dd`,null,l(e.pins.join(`, `)),1)])):m(``,!0),e.layers.length?(v(),g(`div`,Ve,[o[11]||=p(`dt`,null,`Layers`,-1),p(`dd`,null,l(e.layers.join(`, `)),1)])):m(``,!0),e.keywords.length?(v(),g(`div`,He,[o[12]||=p(`dt`,null,`Keywords`,-1),p(`dd`,null,l(e.keywords.join(`, `)),1)])):m(``,!0)])],8,Le))),128))]))),128))])):(v(),g(`div`,Ue,[...o[13]||=[p(`strong`,null,`没有明确对象候选`,-1),p(`p`,null,`仍可从结构树、属性和字符串索引中查看可读内容。`,-1)]]))])]),p(`section`,We,[p(`div`,Ge,[o[14]||=p(`span`,null,`当前条目`,-1),p(`strong`,null,l(b.value?.path||`未选择`),1)]),b.value?(v(),g(`div`,Ke,[p(`span`,null,l(w(b.value.role)),1),p(`span`,null,l(T(b.value.kind)),1),p(`span`,null,l(a(t)(b.value.size)),1)])):m(``,!0),M.value.length?(v(),g(`div`,qe,[(v(!0),g(_,null,d(M.value,e=>(v(),g(`div`,{key:`${e.source}-${e.key}-${e.value}`},[p(`span`,null,l(e.key),1),p(`strong`,null,l(e.value),1)]))),128))])):m(``,!0),P.value?(v(),g(`pre`,Je,l(P.value),1)):(v(),g(`div`,$,[...o[15]||=[p(`strong`,null,`目录条目`,-1),p(`p`,null,`该节点用于组织下级流,没有可直接展示的文本或十六进制片段。`,-1)]]))]),p(`section`,Ye,[p(`div`,Xe,[p(`div`,Ze,[o[16]||=p(`span`,null,`可读字符串`,-1),p(`strong`,null,l(r.value.strings.length)+``,1)]),p(`div`,Qe,[(v(!0),g(_,null,d(r.value.strings,(e,t)=>(v(),g(`span`,{key:`${e}-${t}`},l(e),1))),128))])]),p(`div`,$e,[p(`div`,et,[o[17]||=p(`span`,null,`诊断`,-1),p(`strong`,null,l(r.value.diagnostics.length)+``,1)]),p(`div`,tt,[(v(!0),g(_,null,d(r.value.diagnostics,e=>(v(),g(`p`,{key:`${e.code}-${e.message}`,"data-level":e.level},[p(`span`,null,l(e.level),1),te(` `+l(e.message),1)],8,nt))),128))]),N.value.length?(v(),g(`div`,rt,[o[18]||=p(`strong`,null,`当前条目字符串`,-1),(v(!0),g(_,null,d(N.value,(e,t)=>(v(),g(`span`,{key:`${e}-${t}`},l(e),1))),128))])):m(``,!0)])])])])):m(``,!0),f.value?(v(),g(`div`,it,[o[19]||=p(`span`,null,null,-1),p(`strong`,null,`正在解析 `+l(e.type.toUpperCase())+`...`,1)])):m(``,!0),y.value?(v(),g(`div`,at,[o[20]||=p(`strong`,null,`EDA 预览提示`,-1),p(`p`,null,l(y.value),1)])):m(``,!0)]))}}),[[`__scopeId`,`data-v-9eb9b927`]]);export{ot as default};