{
  "type": "excalidraw",
  "version": 2,
  "source": "http://localhost:5000",
  "elements": [
    {
      "id": "title-high-level",
      "type": "text",
      "x": 50,
      "y": 10,
      "width": 200,
      "height": 30,
      "text": "HIGH-LEVEL (Abstract)",
      "fontSize": 18,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#1971c2",
      "version": 2,
      "versionNonce": 327093984,
      "index": "a0",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "HIGH-LEVEL (Abstract)",
      "autoResize": true,
      "lineHeight": 1.6666666666666667
    },
    {
      "id": "component-a-box",
      "type": "rectangle",
      "x": 50,
      "y": 60,
      "width": 180,
      "height": 70,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": {
        "type": 3
      },
      "version": 2,
      "versionNonce": 853921568,
      "index": "a1",
      "isDeleted": false,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false
    },
    {
      "id": "component-a-label",
      "type": "text",
      "x": 85,
      "y": 78,
      "width": 110,
      "height": 40,
      "text": "Component\n(Source App)",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "version": 2,
      "versionNonce": 846869216,
      "index": "a2",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Component\n(Source App)",
      "autoResize": true,
      "lineHeight": 1.4285714285714286
    },
    {
      "id": "component-b-box",
      "type": "rectangle",
      "x": 550,
      "y": 60,
      "width": 180,
      "height": 70,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#a5d8ff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": {
        "type": 3
      },
      "version": 2,
      "versionNonce": 1872685856,
      "index": "a3",
      "isDeleted": false,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false
    },
    {
      "id": "component-b-label",
      "type": "text",
      "x": 580.5840530395508,
      "y": 78,
      "width": 118.83189392089844,
      "height": 40,
      "text": "Component\n(Destination App)",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "version": 17,
      "versionNonce": 1623361312,
      "index": "a4",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863977027,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Component\n(Destination App)",
      "autoResize": true,
      "lineHeight": 1.4285714285714286
    },
    {
      "id": "dependency-arrow",
      "type": "arrow",
      "x": 230,
      "y": 95,
      "width": 320,
      "height": 0,
      "points": [
        [
          0,
          0
        ],
        [
          320,
          0
        ]
      ],
      "strokeColor": "#e03131",
      "strokeWidth": 2,
      "endArrowhead": "arrow",
      "version": 2,
      "versionNonce": 1859421984,
      "index": "a5",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null
    },
    {
      "id": "dependency-label",
      "type": "text",
      "x": 330,
      "y": 72,
      "width": 120,
      "height": 20,
      "text": "Dependency",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#e03131",
      "version": 2,
      "versionNonce": 2079521504,
      "index": "a6",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Dependency",
      "autoResize": true,
      "lineHeight": 1.4285714285714286
    },
    {
      "id": "service-box",
      "type": "rectangle",
      "x": 570,
      "y": 150,
      "width": 140,
      "height": 50,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#b2f2bb",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": {
        "type": 3
      },
      "version": 2,
      "versionNonce": 754361120,
      "index": "a7",
      "isDeleted": false,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false
    },
    {
      "id": "service-label",
      "type": "text",
      "x": 590,
      "y": 162,
      "width": 100,
      "height": 30,
      "text": "Service\n(port/protocol)",
      "fontSize": 12,
      "fontFamily": 1,
      "textAlign": "center",
      "version": 2,
      "versionNonce": 1032888032,
      "index": "a8",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758430,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Service\n(port/protocol)",
      "autoResize": true,
      "lineHeight": 1.25
    },
    {
      "id": "service-arrow",
      "type": "arrow",
      "x": 640,
      "y": 130,
      "width": 0,
      "height": 20,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          20
        ]
      ],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 1,
      "endArrowhead": "arrow",
      "version": 2,
      "versionNonce": 410337056,
      "index": "a9",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null
    },
    {
      "id": "service-note",
      "type": "text",
      "x": 660,
      "y": 135,
      "width": 80,
      "height": 15,
      "text": "exposes",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#868e96",
      "version": 2,
      "versionNonce": 1138344672,
      "index": "aA",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "exposes",
      "autoResize": true,
      "lineHeight": 1.3636363636363635
    },
    {
      "id": "separator-line",
      "type": "line",
      "x": 30,
      "y": 230,
      "width": 740,
      "height": 0,
      "points": [
        [
          0,
          0
        ],
        [
          740,
          0
        ]
      ],
      "strokeColor": "#868e96",
      "strokeWidth": 1,
      "strokeStyle": "dashed",
      "version": 2,
      "versionNonce": 1371560736,
      "index": "aB",
      "isDeleted": false,
      "fillStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": null,
      "polygon": false
    },
    {
      "id": "title-instance",
      "type": "text",
      "x": 50,
      "y": 250,
      "width": 261,
      "height": 30,
      "text": "INSTANCE-LEVEL (Concrete)",
      "fontSize": 18,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#9c36b5",
      "version": 77,
      "versionNonce": 1413575456,
      "index": "aC",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863816610,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "INSTANCE-LEVEL (Concrete)",
      "autoResize": false,
      "lineHeight": 1.6666666666666667
    },
    {
      "id": "ci-a-box",
      "type": "rectangle",
      "x": 50,
      "y": 300,
      "width": 200,
      "height": 80,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": {
        "type": 3
      },
      "version": 2,
      "versionNonce": 1799878432,
      "index": "aD",
      "isDeleted": false,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false
    },
    {
      "id": "ci-a-label",
      "type": "text",
      "x": 70,
      "y": 315,
      "width": 160,
      "height": 50,
      "text": "ComponentInstance\n(Source in LZ)",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "version": 2,
      "versionNonce": 1185843936,
      "index": "aE",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "ComponentInstance\n(Source in LZ)",
      "autoResize": true,
      "lineHeight": 1.7857142857142858
    },
    {
      "id": "ci-b-box",
      "type": "rectangle",
      "x": 530,
      "y": 300,
      "width": 200,
      "height": 80,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#d0bfff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": {
        "type": 3
      },
      "version": 2,
      "versionNonce": 695997216,
      "index": "aF",
      "isDeleted": false,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false
    },
    {
      "id": "ci-b-label",
      "type": "text",
      "x": 564.0040588378906,
      "y": 315,
      "width": 131.99188232421875,
      "height": 50,
      "text": "ComponentInstance\n(Destination in LZ)",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "version": 4,
      "versionNonce": 1183868640,
      "index": "aG",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863983030,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "ComponentInstance\n(Destination in LZ)",
      "autoResize": true,
      "lineHeight": 1.7857142857142858
    },
    {
      "id": "di-arrow",
      "type": "arrow",
      "x": 250,
      "y": 340,
      "width": 280,
      "height": 0,
      "points": [
        [
          0,
          0
        ],
        [
          280,
          0
        ]
      ],
      "strokeColor": "#e03131",
      "strokeWidth": 2,
      "endArrowhead": "arrow",
      "strokeStyle": "solid",
      "version": 2,
      "versionNonce": 1120710432,
      "index": "aH",
      "isDeleted": false,
      "fillStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null
    },
    {
      "id": "di-label",
      "type": "text",
      "x": 300,
      "y": 315,
      "width": 180,
      "height": 20,
      "text": "DependencyInstance",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "strokeColor": "#e03131",
      "version": 2,
      "versionNonce": 552686304,
      "index": "aI",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "DependencyInstance",
      "autoResize": true,
      "lineHeight": 1.4285714285714286
    },
    {
      "id": "instantiates-a-arrow",
      "type": "arrow",
      "x": 140,
      "y": 130,
      "width": 0,
      "height": 170,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          170
        ]
      ],
      "strokeColor": "#868e96",
      "strokeWidth": 1,
      "strokeStyle": "dashed",
      "endArrowhead": "arrow",
      "version": 2,
      "versionNonce": 531221280,
      "index": "aJ",
      "isDeleted": false,
      "fillStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null
    },
    {
      "id": "instantiates-a-label",
      "type": "text",
      "x": 150,
      "y": 200,
      "width": 80,
      "height": 15,
      "text": "instantiates",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#868e96",
      "version": 2,
      "versionNonce": 1627649760,
      "index": "aK",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "instantiates",
      "autoResize": true,
      "lineHeight": 1.3636363636363635
    },
    {
      "id": "instantiates-b-arrow",
      "type": "arrow",
      "x": 640,
      "y": 200,
      "width": 0,
      "height": 100,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          100
        ]
      ],
      "strokeColor": "#868e96",
      "strokeWidth": 1,
      "strokeStyle": "dashed",
      "endArrowhead": "arrow",
      "version": 2,
      "versionNonce": 444819232,
      "index": "aL",
      "isDeleted": false,
      "fillStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null
    },
    {
      "id": "instantiates-b-label",
      "type": "text",
      "x": 650,
      "y": 240,
      "width": 80,
      "height": 15,
      "text": "instantiates",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#868e96",
      "version": 2,
      "versionNonce": 1327635168,
      "index": "aM",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "instantiates",
      "autoResize": true,
      "lineHeight": 1.3636363636363635
    },
    {
      "id": "output-box",
      "type": "rectangle",
      "x": 200,
      "y": 420,
      "width": 380,
      "height": 70,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "#ffc9c9",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "roundness": {
        "type": 3
      },
      "version": 2,
      "versionNonce": 1070170912,
      "index": "aN",
      "isDeleted": false,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false
    },
    {
      "id": "output-label",
      "type": "text",
      "x": 240,
      "y": 435,
      "width": 300,
      "height": 40,
      "text": "Generated Rules\n(Firewall / NSG / K8s NetworkPolicy)",
      "fontSize": 14,
      "fontFamily": 1,
      "textAlign": "center",
      "version": 2,
      "versionNonce": 500940512,
      "index": "aO",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Generated Rules\n(Firewall / NSG / K8s NetworkPolicy)",
      "autoResize": true,
      "lineHeight": 1.4285714285714286
    },
    {
      "id": "generates-arrow",
      "type": "arrow",
      "x": 390,
      "y": 380,
      "width": 0,
      "height": 40,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          40
        ]
      ],
      "strokeColor": "#1e1e1e",
      "strokeWidth": 2,
      "endArrowhead": "arrow",
      "version": 2,
      "versionNonce": 233578272,
      "index": "aP",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null
    },
    {
      "id": "generates-label",
      "type": "text",
      "x": 400,
      "y": 390,
      "width": 80,
      "height": 15,
      "text": "generates",
      "fontSize": 11,
      "fontFamily": 1,
      "textAlign": "left",
      "strokeColor": "#495057",
      "version": 2,
      "versionNonce": 767615712,
      "index": "aQ",
      "isDeleted": false,
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "backgroundColor": "transparent",
      "seed": 1,
      "groupIds": [],
      "frameId": null,
      "roundness": null,
      "boundElements": [],
      "updated": 1779863758431,
      "link": null,
      "locked": false,
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "generates",
      "autoResize": true,
      "lineHeight": 1.3636363636363635
    }
  ],
  "appState": {
    "gridSize": 20,
    "gridStep": 5,
    "gridModeEnabled": false,
    "viewBackgroundColor": "#ffffff",
    "lockedMultiSelections": {}
  },
  "files": {}
}