<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="drawio" version="26.0.0">
  <diagram name="Bitsmasher Lab Network Topology" style="default">
    <mxGraphModel>
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>

        <!-- Internet / WAN -->
        <mxCell id="10" value="Internet&#xa;WAN" style="shape=mxgraph.networks.cloud;fontColor=#FFFFFF;fillColor=#4D88FF;strokeColor=#3A6ED9;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;whiteSpace=wrap;container=0;outlineConnect=0;" vertex="1" parent="1">
          <mxGeometry x="540" y="20" width="90" height="50" as="geometry"/>
        </mxCell>

        <!-- Zone: DMZ -->
        <mxCell id="100" value="DMZ&#xa;192.168.86.0/24" style="rounded=1;dashed=1;fillColor=#f5f5f5;strokeColor=#666666;verticalAlign=top;fontStyle=1;container=1;" vertex="1" parent="1">
          <mxGeometry x="860" y="90" width="240" height="100" as="geometry"/>
        </mxCell>

        <!-- Zone: Lab Core (10.10.12.x) -->
        <mxCell id="101" value="Lab Core&#xa;10.10.12.0/21" style="rounded=1;dashed=1;fillColor=#e8f0fe;strokeColor=#6881B3;verticalAlign=top;fontStyle=1;container=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="340" width="1250" height="400" as="geometry"/>
        </mxCell>

        <!-- Zone: Gateway / Management (10.10.8.x) -->
        <mxCell id="102" value="Gateway / Management&#xa;10.10.8.0/21" style="rounded=1;dashed=1;fillColor=#d5e8d4;strokeColor=#82b366;verticalAlign=top;fontStyle=1;container=1;" vertex="1" parent="1">
          <mxGeometry x="30" y="790" width="750" height="120" as="geometry"/>
        </mxCell>

        <!-- Zone: Extended Lab (10.10.15.x / 10.10.16.x) -->
        <mxCell id="103" value="Extended Lab&#xa;10.10.15.x / 10.10.16.x" style="rounded=1;dashed=1;fillColor=#fff4ce;strokeColor=#d6b656;verticalAlign=top;fontStyle=1;container=1;" vertex="1" parent="1">
          <mxGeometry x="820" y="340" width="500" height="400" as="geometry"/>
        </mxCell>

        <!-- Edge Router -->
        <mxCell id="20" value="edge-t&#xa;10.10.12.4" style="shape=mxgraph.networks.router;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="470" y="130" width="100" height="30" as="geometry"/>
        </mxCell>

        <!-- Firewall -->
        <mxCell id="25" value="Firewall&#xa;Perimeter" style="shape=mxgraph.networks.firewall;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="540" y="190" width="100" height="100" as="geometry"/>
        </mxCell>

        <!-- Distribution Switch (core) -->
        <mxCell id="30" value="Distribution Switch&#xa;lab.core-switch" style="shape=mxgraph.networks.switch;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#CCCCCC;strokeColor=#6881B3;gradientColor=none;gradientDirection=north;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="470" y="305" width="100" height="30" as="geometry"/>
        </mxCell>

        <!-- DNS (gateway segment) -->
        <mxCell id="35" value="dream-machine&#xa;10.10.8.1&#xa;DNS / DHCP / Gateway" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="30" y="845" width="90" height="100" as="geometry"/>
        </mxCell>

        <!-- chonk (agent host) -->
        <mxCell id="36" value="chonk&#xa;10.10.8.60&#xa;Agent / Orchestrator" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="150" y="845" width="90" height="100" as="geometry"/>
        </mxCell>

        <!-- node90x cluster (Jetson) -->
        <mxCell id="37" value="node900&#xa;10.10.12.90&#xa;Tegra GPU" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="30" y="420" width="90" height="60" as="geometry"/>
        </mxCell>

        <mxCell id="37a" value="node901&#xa;10.10.12.91&#xa;Tegra GPU" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="130" y="420" width="90" height="60" as="geometry"/>
        </mxCell>

        <mxCell id="37b" value="node902&#xa;10.10.12.92&#xa;Tegra GPU" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="230" y="420" width="90" height="60" as="geometry"/>
        </mxCell>

        <mxCell id="37c" value="node903&#xa;10.10.12.93&#xa;Tegra GPU" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="330" y="420" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- odroid-c1 / KDC -->
        <mxCell id="38" value="odroid-c1 / kdc1&#xa;10.10.12.254&#xa;Kerberos KDC" style="shape=cylinder3;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
          <mxGeometry x="440" y="380" width="90" height="100" as="geometry"/>
        </mxCell>

        <!-- ldap -->
        <mxCell id="39" value="ldap / server3&#xa;10.10.13.1&#xa;LDAP Directory" style="shape=cylinder3;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
          <mxGeometry x="440" y="520" width="90" height="100" as="geometry"/>
        </mxCell>

        <!-- Puzzle / node1 -->
        <mxCell id="40" value="puzzle / node1&#xa;10.10.12.1" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="570" y="420" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- time -->
        <mxCell id="41" value="time&#xa;10.10.12.2&#xa;NTP / Time Server" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="570" y="520" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- blowfish -->
        <mxCell id="42" value="blowfish&#xa;10.10.12.15" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="700" y="420" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- thelio -->
        <mxCell id="43" value="thelio&#xa;10.10.12.17&#xa;Workstation" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="700" y="520" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- music (lab segment) -->
        <mxCell id="44" value="music&#xa;10.10.8.2" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="270" y="845" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- netlab1 / netlab2 -->
        <mxCell id="45" value="netlab1&#xa;10.10.8.3" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="390" y="845" width="75" height="60" as="geometry"/>
        </mxCell>

        <mxCell id="45a" value="netlab2&#xa;10.10.8.4" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="480" y="845" width="75" height="60" as="geometry"/>
        </mxCell>

        <!-- bbb1 (BigBlueButton) -->
        <mxCell id="46" value="bbb1&#xa;10.10.13.10&#xa;BigBlueButton" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#e1d5e7;strokeColor=#9673a9;" vertex="1" parent="1">
          <mxGeometry x="570" y="620" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- bbb1 gateway subnet reference -->
        <mxCell id="46a" value="bbb-gateway&#xa;10.10.13.x" style="rounded=1;dashed=1;fillColor=#f5f5f5;strokeColor=#9673a9;verticalAlign=top;fontStyle=1;container=0;" vertex="1" parent="1">
          <mxGeometry x="840" y="620" width="140" height="30" as="geometry"/>
        </mxCell>

        <!-- stargate (Ansible controller) -->
        <mxCell id="50" value="stargate&#xa;10.10.16.66&#xa;Ansible Controller" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="870" y="400" width="90" height="80" as="geometry"/>
        </mxCell>

        <!-- skynet -->
        <mxCell id="51" value="skynet&#xa;10.10.16.10" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="870" y="540" width="90" height="80" as="geometry"/>
        </mxCell>

        <!-- femputer -->
        <mxCell id="52" value="femputer&#xa;10.10.15.15&#xa;Workstation" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="870" y="360" width="90" height="40" as="geometry"/>
        </mxCell>

        <!-- pa220 (printer) -->
        <mxCell id="53" value="pa220&#xa;10.10.15.253&#xa;Printer" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="990" y="360" width="70" height="40" as="geometry"/>
        </mxCell>

        <!-- www / wonderland (public) -->
        <mxCell id="55" value="www / wonderland&#xa;178.62.60.55&#xa;Public Web" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
          <mxGeometry x="870" y="140" width="90" height="80" as="geometry"/>
        </mxCell>

        <!-- music.dmz -->
        <mxCell id="56" value="music.dmz&#xa;192.168.86.38" style="shape=mxgraph.networks.pc;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
          <mxGeometry x="970" y="130" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- node0 -->
        <mxCell id="57" value="node0&#xa;10.10.12.0&#xa;Gateway Node" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="570" y="340" width="90" height="50" as="geometry"/>
        </mxCell>

        <!-- node5 -->
        <mxCell id="58" value="node5&#xa;10.10.12.14" style="shape=mxgraph.networks.server;fontColor=#0066CC;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="700" y="520" width="90" height="60" as="geometry"/>
        </mxCell>

        <!-- ns1 (retired) -->
        <mxCell id="59" value="ns1&#xa;10.10.12.12&#xa;DNS (retired)" style="shape=mxgraph.networks.server;fontColor=#666666;verticalAlign=top;verticalLabelPosition=bottom;labelPosition=center;align=center;html=1;outlineConnect=0;fillColor=#f5f5f5;strokeColor=#cccccc;" vertex="1" parent="1">
          <mxGeometry x="830" y="420" width="75" height="60" as="geometry"/>
        </mxCell>

        <!-- Links: Internet to Firewall -->
        <mxCell id="200" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="585" y="70" as="sourcePoint"/>
            <mxPoint x="585" y="130" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: Firewall to Distribution Switch -->
        <mxCell id="201" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="590" y="290" as="sourcePoint"/>
            <mxPoint x="590" y="305" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: Distribution Switch to Core Nodes -->
        <mxCell id="210" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="470" y="320" as="sourcePoint"/>
            <mxPoint x="470" y="365" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- node90x cluster links to switch -->
        <mxCell id="211" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="520" y="365" as="sourcePoint"/>
            <mxPoint x="520" y="405" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- odroid-c1 link -->
        <mxCell id="212" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="640" y="365" as="sourcePoint"/>
            <mxPoint x="640" y="380" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: Puzzle/node1 to switch -->
        <mxCell id="213" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="640" y="420" as="sourcePoint"/>
            <mxPoint x="590" y="420" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: time to switch -->
        <mxCell id="214" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="640" y="505" as="sourcePoint"/>
            <mxPoint x="590" y="505" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: blowfish to switch -->
        <mxCell id="215" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="765" y="365" as="sourcePoint"/>
            <mxPoint x="765" y="420" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: thelio to switch -->
        <mxCell id="216" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="765" y="500" as="sourcePoint"/>
            <mxPoint x="790" y="500" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: bbb1 to switch -->
        <mxCell id="216a" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="640" y="605" as="sourcePoint"/>
            <mxPoint x="640" y="630" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: LDAP to switch -->
        <mxCell id="217" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="530" y="600" as="sourcePoint"/>
            <mxPoint x="530" y="620" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: stargate to switch -->
        <mxCell id="218" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="930" y="400" as="sourcePoint"/>
            <mxPoint x="930" y="365" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: skynet to switch -->
        <mxCell id="219" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="930" y="540" as="sourcePoint"/>
            <mxPoint x="930" y="765" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: bbb-gateway to switch -->
        <mxCell id="219a" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="840" y="635" as="sourcePoint"/>
            <mxPoint x="930" y="635" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: Gateway segment to Distribution -->
        <mxCell id="220" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="380" y="790" as="sourcePoint"/>
            <mxPoint x="380" y="640" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- dream-machine link -->
        <mxCell id="221" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="75" y="845" as="sourcePoint"/>
            <mxPoint x="130" y="845" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- chonk connection -->
        <mxCell id="222" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="240" y="845" as="sourcePoint"/>
            <mxPoint x="380" y="790" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- music link -->
        <mxCell id="223" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="355" y="845" as="sourcePoint"/>
            <mxPoint x="380" y="845" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- netlab1 / netlab2 -->
        <mxCell id="224" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="502" y="845" as="sourcePoint"/>
            <mxPoint x="530" y="845" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: www / wonderland to firewall -->
        <mxCell id="230" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="870" y="180" as="sourcePoint"/>
            <mxPoint x="640" y="190" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Links: music.dmz to firewall -->
        <mxCell id="231" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="970" y="130" as="sourcePoint"/>
            <mxPoint x="870" y="140" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- node5 link to blowfish area -->
        <mxCell id="232" style="html=1;endArrow=none;strokeWidth=2;fontSize=10;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="765" y="545" as="sourcePoint"/>
            <mxPoint x="800" y="545" as="targetPoint"/>
          </mxGeometry>
        </mxCell>

        <!-- Legend -->
        <mxCell id="900" value="Legend&#xa;&#10;■ Cold Storage Nodes (Jetson cluster)&#xa;■ Green = Production Workstations&#xa;■ Amber = Management / Admin&#xa;■ Grey = Retired / Decommissioned&#xa;■ Solid link = Direct network&#xa;■ Dashed zone border = Subnet boundary" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;align=left;fillColor=#ffffff;strokeColor=#999999;" vertex="1" parent="1">
          <mxGeometry x="870" y="640" width="360" height="130" as="geometry"/>
        </mxCell>

      </root>
    </mxGraphModel>
  </diagram>
</mxfile>