Files
git.stella-ops.org/elksharp-kinks.svg

1287 lines
64 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="5192" height="1319.394" viewBox="0 0 5192 1319.394">
<defs>
<marker id="arrow" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#51606f" />
</marker>
<marker id="arrow-failure" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#dc2626" />
</marker>
<marker id="arrow-timeout" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#d97706" />
</marker>
<marker id="arrow-repeat" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#2563eb" />
</marker>
<marker id="arrow-success" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#15803d" />
</marker>
<marker id="arrow-default-muted" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#475569" />
</marker>
<marker id="arrow-missing-condition" markerWidth="5" markerHeight="5" refX="5" refY="2.5" orient="auto" markerUnits="strokeWidth">
<path d="M 0 0 L 5 2.5 L 0 5 z" fill="#b91c1c" />
</marker>
<filter id="shadow" x="-20%" y="-20%" width="160%" height="160%">
<feGaussianBlur in="SourceAlpha" stdDeviation="3" result="blur"/>
<feOffset in="blur" dx="0" dy="3" result="offsetBlur"/>
<feFlood flood-color="#0f172a" flood-opacity="0.16" result="shadowColor"/>
<feComposite in="shadowColor" in2="offsetBlur" operator="in" result="shadow"/>
<feMerge>
<feMergeNode in="shadow"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<rect x="0" y="0" width="5192" height="1319.394" fill="#f4f7fb" />
<text x="24" y="24" font-family="'Segoe UI', sans-serif" font-size="16" font-weight="700" fill="#0f172a">DocumentProcessingWorkflow [ElkSharp]</text>
<g>
<rect x="24" y="34" rx="14" ry="14" width="1260" height="160" fill="#ffffff" fill-opacity="0.97" stroke="#cbd5e1" stroke-width="1" />
<text x="40" y="56" font-family="'Segoe UI', sans-serif" font-size="12" font-weight="800" fill="#334155">Legend</text>
<text x="40" y="78" font-family="'Segoe UI', sans-serif" font-size="11" font-weight="700" fill="#334155">Node Shapes:</text>
</g>
<rect x="118" y="62" rx="8" ry="8" width="28" height="22"
fill="#bbf7d0" stroke="#15803d" stroke-width="1.8" />
<text x="160" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Start</text>
<rect x="211.5" y="62" rx="8" ry="8" width="28" height="22"
fill="#fecaca" stroke="#b91c1c" stroke-width="1.8" />
<text x="253.5" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">End</text>
<rect x="290" y="62" rx="8" ry="8" width="28" height="22"
fill="#f7fbff" stroke="#2563eb" stroke-width="1.8" />
<rect x="303" y="64" rx="6" ry="6" width="13" height="18"
fill="#eaf2ff" stroke="none" />
<rect x="292" y="64" rx="5" ry="5" width="9" height="18"
fill="#bfdbfe" stroke="none" />
<text x="332" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Setter</text>
<rect x="391" y="62" rx="8" ry="8" width="28" height="22"
fill="#fdfbff" stroke="#6d28d9" stroke-width="1.8" />
<rect x="404" y="64" rx="6" ry="6" width="13" height="18"
fill="#f5eeff" stroke="none" />
<rect x="393" y="64" rx="5" ry="5" width="9" height="18"
fill="#ddd6fe" stroke="none" />
<text x="433" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Service Call</text>
<rect x="537" y="62" rx="8" ry="8" width="28" height="22"
fill="#f8fdff" stroke="#0369a1" stroke-width="1.8" />
<rect x="550" y="64" rx="6" ry="6" width="13" height="18"
fill="#e3f7ff" stroke="none" />
<rect x="539" y="64" rx="5" ry="5" width="9" height="18"
fill="#bae6fd" stroke="none" />
<text x="579" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Timer</text>
<polygon points="642.5,62 654.5,74 642.5,86 630.5,74"
fill="#fcd34d" stroke="#a16207" stroke-width="1.8" />
<path d="M 635.5 74 L 641 74 M 641 74 L 647.5 69.66 M 641 74 L 647.5 78.34"
fill="none" stroke="#0f172a" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="648.3" cy="69.66" r="1.12" fill="#0f172a" />
<circle cx="648.3" cy="78.34" r="1.12" fill="#0f172a" />
<text x="672.5" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Decision / Branch</text>
<polygon points="819.6,64.6 832.4,64.6 838,74 832.4,83.4 819.6,83.4 814,74"
fill="#d8b4fe" stroke="#7e22ce" stroke-width="1.8" />
<path d="M 819 74 L 833 74 M 826 67 L 826 81"
fill="none" stroke="#0f172a" stroke-width="1.4" stroke-linecap="round" />
<text x="856" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Fork / Join</text>
<rect x="952.5" y="62" rx="8" ry="8" width="28" height="22"
fill="#fff8fb" stroke="#be123c" stroke-width="1.8" />
<rect x="965.5" y="64" rx="6" ry="6" width="13" height="18"
fill="#ffe9f1" stroke="none" />
<rect x="954.5" y="64" rx="5" ry="5" width="9" height="18"
fill="#fecdd3" stroke="none" />
<text x="994.5" y="77" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">Repeat / Loop</text>
<text x="40" y="132" font-family="'Segoe UI', sans-serif" font-size="11" font-weight="700" fill="#334155">Badges:</text>
<circle cx="102" cy="128" r="10.5" fill="#ffffff" stroke="#64748b" stroke-width="1.2" />
<text x="118" y="132" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">set state</text>
<circle cx="96.2" cy="124" r="1.15" fill="#0f172a" />
<path d="M 98.6 124 L 107.8 124"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linecap="round" />
<circle cx="96.2" cy="128" r="1.15" fill="#0f172a" />
<path d="M 98.6 128 L 107.8 128"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linecap="round" />
<circle cx="96.2" cy="132" r="1.15" fill="#0f172a" />
<path d="M 98.6 132 L 107.8 132"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linecap="round" />
<circle cx="215" cy="128" r="10.5" fill="#ffffff" stroke="#64748b" stroke-width="1.2" />
<text x="231" y="132" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">business ref</text>
<path d="M 209.4 122.2 L 220.2 122.2 L 220.2 133.8 L 215 130.2 L 209.4 133.8 Z"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linejoin="round" />
<circle cx="217.2" cy="125.6" r="1.1" fill="#0f172a" />
<circle cx="349" cy="128" r="10.5" fill="#ffffff" stroke="#64748b" stroke-width="1.2" />
<text x="365" y="132" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">service call</text>
<rect x="342.6" y="124.2" rx="1.2" ry="1.2" width="4.8" height="7.6"
fill="none" stroke="#0f172a" stroke-width="1.3" />
<path d="M 348.2 128 L 355.2 128 M 351.8 124.4 L 355.2 128 L 351.8 131.6"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="483" cy="128" r="10.5" fill="#ffffff" stroke="#64748b" stroke-width="1.2" />
<text x="499" y="132" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">repeat</text>
<path d="M 486.8 122.8 A 6.8 6.8 0 1 0 487.8 132.6"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linecap="round" />
<path d="M 488.2 132.8 L 484.8 132.4 L 487.6 136"
fill="none" stroke="#0f172a" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" />
<text x="40" y="164" font-family="'Segoe UI', sans-serif" font-size="11" font-weight="700" fill="#334155">Branch Callouts:</text>
<line x1="152" y1="160" x2="186" y2="160" stroke="#15803d" stroke-width="2.1" />
<text x="194" y="164" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">when condition</text>
<line x1="296" y1="160" x2="330" y2="160" stroke="#475569" stroke-width="2.1" />
<text x="338" y="164" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">default / otherwise</text>
<line x1="475" y1="160" x2="509" y2="160" stroke="#dc2626" stroke-width="2.1" />
<text x="517" y="164" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">on failure</text>
<line x1="591" y1="160" x2="625" y2="160" stroke="#d97706" stroke-width="2.1" />
<text x="633" y="164" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">on timeout</text>
<line x1="707" y1="160" x2="741" y2="160" stroke="#2563eb" stroke-width="2.1" />
<text x="749" y="164" font-family="'Segoe UI', sans-serif" font-size="11" fill="#334155">repeat / body</text>
<path d="M 296,540.587 L 379.175,540.587"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 594,540.587 L 676.591,540.587 L 676.591,540.587"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 852.123,559.92 L 960,559.92 Q 1000,559.92 1000,599.92 L 1000,656.872 Q 1000,663.742 1006.87,663.742 L 1017.175,663.742"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 852.123,521.254 L 1389.733,521.254 Q 1410,521.254 1410,500.987 L 1410,474.257 Q 1410,470.587 1410,474.257 L 1410,479.762"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 1844,766.587 L 1898,766.587 Q 1934,766.587 1934,802.587 L 1934,853.001 Q 1934,873.001 1954,873.001 L 1977.13,873.001 Q 1984,873.001 1990.87,873.001 L 2001.175,873.001"
fill="none"
stroke="#dc2626"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-failure)" />
<path d="M 1844,744.587 L 2663.13,744.587 Q 2670,744.587 2676.87,744.587 L 2687.175,744.587"
fill="none"
stroke="#d97706"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-timeout)" />
<path d="M 1844,722.587 L 1858.4,722.587 Q 1868,722.587 1868,712.987 L 1868,664.862 Q 1868,626.379 1906.483,626.379 L 3019.413,626.379 Q 3058,626.379 3071.984,662.343 L 3092.961,716.288"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 2183.578,881.723 L 2195.831,890.602 Q 2204,896.522 2214.088,896.522 L 2315.175,896.522"
fill="none"
stroke="#15803d"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-success)" />
<path d="M 2162.16,896.761 L 2187.264,924.693 Q 2204,943.315 2229.037,943.315 L 2687.175,943.315"
fill="none"
stroke="#475569"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-default-muted)" />
<path d="M 2530,896.522 L 2544.4,896.522 Q 2554,896.522 2563.6,896.522 L 2687.175,896.522"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 2902,921.315 L 2916.4,921.315 Q 2926,921.315 2926,911.715 L 2926,857.315 Q 2926,817.315 2966,817.315 L 3014.661,817.315 Q 3042.101,817.315 3061.504,797.913 L 3090.608,768.808"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 2902,743.315 L 2967.733,743.315 Q 2976,743.315 2976,735.049 L 2976,730.915 Q 2976,722.649 2984.267,722.649 L 3088.609,722.649"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 3239.269,753.659 L 3535.758,753.659 Q 3546.731,753.659 3546.731,742.685 L 3546.731,726.224"
fill="none"
stroke="#15803d"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-success)" />
<path d="M 3099.84,719.555 L 3099.84,394.545 Q 3099.84,354.545 3059.84,354.545 L 1152,354.545"
fill="none"
stroke="#2563eb"
stroke-width="1.72"
stroke-opacity="0.84"
stroke-linecap="round"
stroke-linejoin="round" data-highway-group="start/2/branch-1/1|back|repeat" />
<path d="M 3452.731,674.086 L 3452.731,363.638 Q 3452.731,354.545 3443.639,354.545 L 3439.093,354.545 Q 3430,354.545 3420.907,354.545 L 1152,354.545"
fill="none"
stroke="#2563eb"
stroke-width="1.72"
stroke-opacity="0.84"
stroke-linecap="round"
stroke-linejoin="round" data-highway-group="start/2/branch-1/1|back|repeat" />
<path d="M 3611.269,653.399 L 3781.863,653.399 Q 3786,653.399 3786,657.536 L 3786,659.605 Q 3786,663.742 3790.137,663.742 L 3803.175,663.742"
fill="none"
stroke="#15803d"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-success)" />
<path d="M 1232,641.742 L 1393.868,641.742 Q 1410,641.742 1410,625.61 L 1410,601.412"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 1232,663.742 L 1271.6,663.742 Q 1298,663.742 1298,690.142 L 1298,737.717 Q 1298,744.587 1304.87,744.587 L 1315.175,744.587"
fill="none"
stroke="#2563eb"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-repeat)" />
<path d="M 1492.718,527.622 L 1606.814,527.622 Q 1612,527.622 1612,532.808 L 1612,535.401 Q 1612,540.587 1617.186,540.587 L 1629.175,540.587"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 3099.84,357.182 L 3099.84,367.182"
fill="none"
stroke="#f4f7fb"
stroke-width="5.72"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 3452.731,357.182 L 3452.731,367.182"
fill="none"
stroke="#f4f7fb"
stroke-width="5.72"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 1844,582.182 L 1858.4,582.182 Q 1868,582.182 1868,572.582 L 1868,402.182 Q 1868,362.182 1908,362.182 L 4880,362.182 Q 4920,362.182 4920,402.182 L 4920,710.873"
fill="none"
stroke="#dc2626"
stroke-width="1.55"
stroke-opacity="0.72"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-failure)" />
<path d="M 1868,513.587 L 1868,523.587"
fill="none"
stroke="#f4f7fb"
stroke-width="5.55"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 1844,518.587 L 1957.438,518.587 Q 1984,518.587 1984,492.025 L 1984,459.052 Q 1984,452.182 1990.87,452.182 L 2001.175,452.182"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 2606.93,744.587 L 2617.07,744.587"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2606.93,626.379 L 2617.07,626.379"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2606.93,943.315 L 2617.07,943.315"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2606.93,899.315 L 2617.07,899.315"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2449.84,494.422 L 2449.84,516.217 Q 2449.84,524.729 2458.352,524.729 L 2462.608,524.729 Q 2471.12,524.729 2479.631,524.729 L 2572,524.729 Q 2612,524.729 2612,564.729 L 2612,1095.794 Q 2612,1125.394 2641.6,1125.394 L 2679.6,1125.394 Q 2686,1125.394 2679.6,1125.394 L 2670,1125.394 L 2670,1125.394"
fill="none"
stroke="#15803d"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-success)" />
<path d="M 2517.58,354.545 L 2527.58,354.545"
fill="none"
stroke="#f4f7fb"
stroke-width="5.72"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2517.58,362.182 L 2527.58,362.182"
fill="none"
stroke="#f4f7fb"
stroke-width="5.55"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2498.58,460.2 L 2512.98,460.2 Q 2522.58,460.2 2522.58,450.6 L 2522.58,296.727 Q 2522.58,256.727 2562.58,256.727 L 5096,256.727 Q 5136,256.727 5136,296.727 L 5136,710.278"
fill="none"
stroke="#475569"
stroke-width="1.72"
stroke-opacity="0.8"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-default-muted)" />
<path d="M 2867.269,1135.737 L 3059.175,1135.737"
fill="none"
stroke="#15803d"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-success)" />
<path d="M 2848.16,1101.634 L 2873.264,1083.179 Q 2890,1070.875 2910.772,1070.875 L 3767.969,1070.875 Q 3786,1070.875 3798.75,1083.625 L 3817.874,1102.749"
fill="none"
stroke="#475569"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-default-muted)" />
<path d="M 3274,1094.493 L 3405.2,1094.493 Q 3414,1094.493 3414,1103.293 L 3414,1109.623 Q 3414,1116.493 3420.87,1116.493 L 3431.175,1116.493"
fill="none"
stroke="#dc2626"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-failure)" />
<path d="M 3292.93,1070.875 L 3303.07,1070.875"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 3292.93,1094.493 L 3303.07,1094.493"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 3274,1138.493 L 3288.4,1138.493 Q 3298,1138.493 3298,1128.893 L 3298,1046.875 Q 3298,1006.875 3338,1006.875 L 3862.581,1006.875 Q 3877.409,1006.875 3877.409,1021.703 L 3877.409,1038.42 Q 3877.409,1043.945 3880.584,1048.467 L 3885.347,1055.25"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 3646,1116.493 L 3661.733,1116.493 Q 3670,1116.493 3670,1124.759 L 3670,1128.893 Q 3670,1137.159 3678.267,1137.159 L 3832.609,1137.159"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 3989.765,1110.711 L 3999.506,1110.711 Q 4006,1110.711 4012.107,1112.918 L 4015.6,1114.18 Q 4022,1116.493 4028.805,1116.493 L 4117.175,1116.493"
fill="none"
stroke="#15803d"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-success)" />
<path d="M 3967.522,1095.093 L 3990.609,1068.562 Q 4006,1050.875 4029.446,1050.875 L 4832,1050.875 Q 4872,1050.875 4872,1010.875 L 4872,789.168 Q 4872,782.298 4878.87,782.298 L 4889.175,782.298"
fill="none"
stroke="#475569"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-default-muted)" />
<path d="M 4332,1138.493 L 4347.2,1138.493 Q 4356,1138.493 4356,1129.693 L 4356,1125.293 Q 4356,1116.493 4364.8,1116.493 L 4489.175,1116.493"
fill="none"
stroke="#dc2626"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-failure)" />
<path d="M 4332,1071.493 L 4886.4,1071.493 Q 4896,1071.493 4905.6,1071.493 L 4910.4,1071.493 Q 4920,1071.493 4920,1061.893 L 4920,855.123"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 4704,1116.493 L 5104.255,1116.493 Q 5112,1116.493 5112,1124.238 L 5112,1128.111 Q 5112,1135.856 5119.745,1135.856 L 5126.4,1135.856 Q 5136,1135.856 5136,1126.256 L 5136,855.123"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 1546,744.587 L 1629.175,744.587"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 3917,362.182 L 3927,362.182"
fill="none"
stroke="#f4f7fb"
stroke-width="5.55"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 2522.58,349.545 L 2522.58,359.545"
fill="none"
stroke="#f4f7fb"
stroke-width="5.72"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 3922,611.742 L 3922,394.545 Q 3922,354.545 3882,354.545 L 1152,354.545"
fill="none"
stroke="#2563eb"
stroke-width="1.72"
stroke-opacity="0.84"
stroke-linecap="round"
stroke-linejoin="round" data-highway-group="start/2/branch-1/1|back|repeat" />
<path d="M 2232,452.182 L 2315.175,452.182"
fill="none"
stroke="#64748b"
stroke-width="1.95"
stroke-opacity="1"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow)" />
<path d="M 1122.93,521.254 L 1133.07,521.254"
fill="none"
stroke="#f4f7fb"
stroke-width="5.95"
stroke-linecap="round"
data-bridge-gap="true" />
<path d="M 1152,354.545 L 1128,354.545 L 1128,610.817"
fill="none"
stroke="#2563eb"
stroke-width="2.55"
stroke-opacity="0.28"
stroke-linecap="round"
stroke-linejoin="round" marker-end="url(#arrow-repeat)" data-highway-group="start/2/branch-1/1|back|repeat" data-highway-collector="true" />
<rect x="32" y="474.587" rx="40" ry="40" width="264" height="132"
fill="#bbf7d0" stroke="#15803d" stroke-width="3" filter="url(#shadow)" />
<circle cx="74" cy="540.587" r="26" fill="#15803d" />
<polygon points="67,529.587 67,551.587 84,540.587"
fill="#ffffff" />
<text x="174.56" y="545.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="15"
font-weight="700"
fill="#0f172a">Start</text>
<rect x="386" y="496.587" rx="16" ry="16" width="208" height="88"
fill="#fdfbff" stroke="#7c3aed" stroke-width="3.5" filter="url(#shadow)" />
<rect x="434" y="500.587" rx="12" ry="12" width="156" height="80"
fill="#f5eeff" stroke="none" />
<rect x="388" y="498.587" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="388.5" y="499.087" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#7c3aed" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="390" y="500.587" rx="12" ry="12" width="40" height="80"
fill="#ddd6fe" stroke="none" />
<path d="M 434 500.587 L 434 580.587"
fill="none" stroke="#7c3aed" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="BusinessReference">
<circle cx="408" cy="518.587" r="13" fill="#f5f3ff" stroke="#1e293b" stroke-width="1.6" />
<path d="M 402.4 512.787 L 413.2 512.787 L 413.2 524.387 L 408 520.787 L 402.4 524.387 Z"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linejoin="round" />
<circle cx="410.2" cy="516.187" r="1.1" fill="#0f172a" />
</g>
<text x="510" y="540.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Initialize Context</text>
<polygon points="706,486.587 838,486.587 860,540.587 838,594.587 706,594.587 684,540.587"
fill="#d8b4fe" stroke="#7e22ce" stroke-width="4" />
<polygon points="706,486.587 838,486.587 860,540.587 838,594.587 706,594.587 684,540.587"
fill="none" stroke="#ffffff" stroke-opacity="0.4" stroke-width="1.15" />
<circle cx="772" cy="515.787" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#7e22ce" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 762 515.787 L 782 515.787 M 772 505.787 L 772 525.787"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" />
<text x="772" y="548.947"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Parallel</text>
<text x="772" y="566.947"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Execution</text>
<polygon points="1344,486.587 1476,486.587 1498,540.587 1476,594.587 1344,594.587 1322,540.587"
fill="#ddd6fe" stroke="#7e22ce" stroke-width="4" />
<polygon points="1344,486.587 1476,486.587 1498,540.587 1476,594.587 1344,594.587 1322,540.587"
fill="none" stroke="#ffffff" stroke-opacity="0.4" stroke-width="1.15" />
<circle cx="1410" cy="515.787" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#7e22ce" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 1400 515.787 L 1420 515.787 M 1410 505.787 L 1410 525.787"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" />
<text x="1410" y="543.787"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Parallel</text>
<text x="1410" y="561.787"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Execution</text>
<text x="1410" y="579.787"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Join</text>
<rect x="1636" y="496.587" rx="16" ry="16" width="208" height="88"
fill="#fdfbff" stroke="#6d28d9" stroke-width="3.5" filter="url(#shadow)" />
<rect x="1684" y="500.587" rx="12" ry="12" width="156" height="80"
fill="#f5eeff" stroke="none" />
<rect x="1638" y="498.587" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="1638.5" y="499.087" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#6d28d9" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="1640" y="500.587" rx="12" ry="12" width="40" height="80"
fill="#ddd6fe" stroke="none" />
<path d="M 1684 500.587 L 1684 580.587"
fill="none" stroke="#6d28d9" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="TransportCall">
<circle cx="1658" cy="518.587" r="13" fill="#f5f3ff" stroke="#1e293b" stroke-width="1.6" />
<rect x="1651.6" y="514.787" rx="1.2" ry="1.2" width="4.8" height="7.6"
fill="none" stroke="#0f172a" stroke-width="1.5" />
<path d="M 1657.2 518.587 L 1664.2 518.587 M 1660.8 514.987 L 1664.2 518.587 L 1660.8 522.187"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
</g>
<text x="1760" y="540.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Load Configuration</text>
<rect x="2008" y="400.182" rx="16" ry="16" width="224" height="104"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="2056" y="404.182" rx="12" ry="12" width="172" height="96"
fill="#eaf2ff" stroke="none" />
<rect x="2010" y="402.182" rx="14" ry="14" width="220" height="100"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="2010.5" y="402.682" rx="13.5" ry="13.5" width="219" height="99"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="2012" y="404.182" rx="12" ry="12" width="40" height="96"
fill="#bfdbfe" stroke="none" />
<path d="M 2056 404.182 L 2056 500.182"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="2030" cy="422.182" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="2024.2" cy="418.182" r="1.15" fill="#0f172a" />
<path d="M 2026.6 418.182 L 2035.8 418.182"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="2024.2" cy="422.182" r="1.15" fill="#0f172a" />
<path d="M 2026.6 422.182 L 2035.8 422.182"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="2024.2" cy="426.182" r="1.15" fill="#0f172a" />
<path d="M 2026.6 426.182 L 2035.8 426.182"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="2140" y="416.182"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Setting:</text>
<text x="2140" y="434.182"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">configParameters</text>
<text x="2140" y="452.182"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">skipInternalNotif...</text>
<text x="2140" y="470.182"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">recipientCount</text>
<text x="2140" y="488.182"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">...</text>
<polygon points="2416,386.182 2510,452.182 2416,518.182 2322,452.182"
fill="#fcd34d" stroke="#a16207" stroke-width="4" />
<polygon points="2416,386.182 2510,452.182 2416,518.182 2322,452.182"
fill="none" stroke="#ffffff" stroke-opacity="0.42" stroke-width="1.15" />
<circle cx="2416" cy="425.782" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#a16207" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 2406 425.782 L 2414.5 425.782 M 2414.5 425.782 L 2424 419.582 M 2414.5 425.782 L 2424 431.982"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="2424.8" cy="419.582" r="1.6" fill="#0f172a" />
<circle cx="2424.8" cy="431.982" r="1.6" fill="#0f172a" />
<text x="2416" y="461.662"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Evaluate</text>
<text x="2416" y="479.662"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Conditions</text>
<polygon points="2788,1059.394 2882,1125.394 2788,1191.394 2694,1125.394"
fill="#fcd34d" stroke="#a16207" stroke-width="4" />
<polygon points="2788,1059.394 2882,1125.394 2788,1191.394 2694,1125.394"
fill="none" stroke="#ffffff" stroke-opacity="0.42" stroke-width="1.15" />
<circle cx="2788" cy="1098.994" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#a16207" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 2778 1098.994 L 2786.5 1098.994 M 2786.5 1098.994 L 2796 1092.794 M 2786.5 1098.994 L 2796 1105.194"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="2796.8" cy="1092.794" r="1.6" fill="#0f172a" />
<circle cx="2796.8" cy="1105.194" r="1.6" fill="#0f172a" />
<text x="2788" y="1134.874"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Internal</text>
<text x="2788" y="1152.874"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Notification</text>
<rect x="3066" y="1072.493" rx="16" ry="16" width="208" height="88"
fill="#fdfbff" stroke="#6d28d9" stroke-width="3.5" filter="url(#shadow)" />
<rect x="3114" y="1076.493" rx="12" ry="12" width="156" height="80"
fill="#f5eeff" stroke="none" />
<rect x="3068" y="1074.493" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="3068.5" y="1074.993" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#6d28d9" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="3070" y="1076.493" rx="12" ry="12" width="40" height="80"
fill="#ddd6fe" stroke="none" />
<path d="M 3114 1076.493 L 3114 1156.493"
fill="none" stroke="#6d28d9" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="TransportCall">
<circle cx="3088" cy="1094.493" r="13" fill="#f5f3ff" stroke="#1e293b" stroke-width="1.6" />
<rect x="3081.6" y="1090.693" rx="1.2" ry="1.2" width="4.8" height="7.6"
fill="none" stroke="#0f172a" stroke-width="1.5" />
<path d="M 3087.2 1094.493 L 3094.2 1094.493 M 3090.8 1090.893 L 3094.2 1094.493 L 3090.8 1098.093"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
</g>
<text x="3190" y="1107.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Internal</text>
<text x="3190" y="1125.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Notification</text>
<rect x="3438" y="1072.493" rx="16" ry="16" width="208" height="88"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="3486" y="1076.493" rx="12" ry="12" width="156" height="80"
fill="#eaf2ff" stroke="none" />
<rect x="3440" y="1074.493" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="3440.5" y="1074.993" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="3442" y="1076.493" rx="12" ry="12" width="40" height="80"
fill="#bfdbfe" stroke="none" />
<path d="M 3486 1076.493 L 3486 1156.493"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="3460" cy="1094.493" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="3454.2" cy="1090.493" r="1.15" fill="#0f172a" />
<path d="M 3456.6 1090.493 L 3465.8 1090.493"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="3454.2" cy="1094.493" r="1.15" fill="#0f172a" />
<path d="M 3456.6 1094.493 L 3465.8 1094.493"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="3454.2" cy="1098.493" r="1.15" fill="#0f172a" />
<path d="M 3456.6 1098.493 L 3465.8 1098.493"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="3562" y="1107.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Set</text>
<text x="3562" y="1125.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">internalNotific...</text>
<polygon points="3904,1050.493 3998,1116.493 3904,1182.493 3810,1116.493"
fill="#fcd34d" stroke="#a16207" stroke-width="4" />
<polygon points="3904,1050.493 3998,1116.493 3904,1182.493 3810,1116.493"
fill="none" stroke="#ffffff" stroke-opacity="0.42" stroke-width="1.15" />
<circle cx="3904" cy="1090.093" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#a16207" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 3894 1090.093 L 3902.5 1090.093 M 3902.5 1090.093 L 3912 1083.893 M 3902.5 1090.093 L 3912 1096.293"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="3912.8" cy="1083.893" r="1.6" fill="#0f172a" />
<circle cx="3912.8" cy="1096.293" r="1.6" fill="#0f172a" />
<text x="3904" y="1134.973"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Has Recipients</text>
<rect x="4124" y="1072.493" rx="16" ry="16" width="208" height="88"
fill="#fdfbff" stroke="#6d28d9" stroke-width="3.5" filter="url(#shadow)" />
<rect x="4172" y="1076.493" rx="12" ry="12" width="156" height="80"
fill="#f5eeff" stroke="none" />
<rect x="4126" y="1074.493" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="4126.5" y="1074.993" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#6d28d9" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="4128" y="1076.493" rx="12" ry="12" width="40" height="80"
fill="#ddd6fe" stroke="none" />
<path d="M 4172 1076.493 L 4172 1156.493"
fill="none" stroke="#6d28d9" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="TransportCall">
<circle cx="4146" cy="1094.493" r="13" fill="#f5f3ff" stroke="#1e293b" stroke-width="1.6" />
<rect x="4139.6" y="1090.693" rx="1.2" ry="1.2" width="4.8" height="7.6"
fill="none" stroke="#0f172a" stroke-width="1.5" />
<path d="M 4145.2 1094.493 L 4152.2 1094.493 M 4148.8 1090.893 L 4152.2 1094.493 L 4148.8 1098.093"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
</g>
<text x="4248" y="1116.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Email Dispatch</text>
<rect x="4496" y="1072.493" rx="16" ry="16" width="208" height="88"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="4544" y="1076.493" rx="12" ry="12" width="156" height="80"
fill="#eaf2ff" stroke="none" />
<rect x="4498" y="1074.493" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="4498.5" y="1074.993" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="4500" y="1076.493" rx="12" ry="12" width="40" height="80"
fill="#bfdbfe" stroke="none" />
<path d="M 4544 1076.493 L 4544 1156.493"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="4518" cy="1094.493" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="4512.2" cy="1090.493" r="1.15" fill="#0f172a" />
<path d="M 4514.6 1090.493 L 4523.8 1090.493"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="4512.2" cy="1094.493" r="1.15" fill="#0f172a" />
<path d="M 4514.6 1094.493 L 4523.8 1094.493"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="4512.2" cy="1098.493" r="1.15" fill="#0f172a" />
<path d="M 4514.6 1098.493 L 4523.8 1098.493"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="4620" y="1107.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Set</text>
<text x="4620" y="1125.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">emailDispatchFa...</text>
<rect x="4896" y="716.298" rx="40" ry="40" width="264" height="132"
fill="#fecaca" stroke="#b91c1c" stroke-width="3" filter="url(#shadow)" />
<circle cx="4938" cy="782.298" r="26" fill="#ffffff" stroke="#b91c1c" stroke-width="3" />
<rect x="4929" y="773.298" width="18" height="18" rx="3" ry="3" fill="#b91c1c" />
<rect x="4905" y="725.298" rx="34" ry="34" width="246" height="114"
fill="none" stroke="#b91c1c" stroke-width="2.5" />
<text x="5038.56" y="787.298"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="15"
font-weight="700"
fill="#0f172a">End</text>
<rect x="1024" y="619.742" rx="16" ry="16" width="208" height="88"
fill="#fff8fb" stroke="#be123c" stroke-width="3.5" filter="url(#shadow)" />
<rect x="1072" y="623.742" rx="12" ry="12" width="156" height="80"
fill="#ffe9f1" stroke="none" />
<rect x="1026" y="621.742" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="1026.5" y="622.242" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#be123c" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="1028" y="623.742" rx="12" ry="12" width="40" height="80"
fill="#fecdd3" stroke="none" />
<path d="M 1072 623.742 L 1072 703.742"
fill="none" stroke="#be123c" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="Repeat">
<circle cx="1046" cy="641.742" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<path d="M 1049.8 636.542 A 6.8 6.8 0 1 0 1050.8 646.342"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<path d="M 1051.2 646.542 L 1047.8 646.142 L 1050.6 649.742"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
</g>
<text x="1148" y="663.742"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Process Batch</text>
<rect x="1322" y="692.587" rx="16" ry="16" width="224" height="104"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="1370" y="696.587" rx="12" ry="12" width="172" height="96"
fill="#eaf2ff" stroke="none" />
<rect x="1324" y="694.587" rx="14" ry="14" width="220" height="100"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="1324.5" y="695.087" rx="13.5" ry="13.5" width="219" height="99"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="1326" y="696.587" rx="12" ry="12" width="40" height="96"
fill="#bfdbfe" stroke="none" />
<path d="M 1370 696.587 L 1370 792.587"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="1344" cy="714.587" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="1338.2" cy="710.587" r="1.15" fill="#0f172a" />
<path d="M 1340.6 710.587 L 1349.8 710.587"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="1338.2" cy="714.587" r="1.15" fill="#0f172a" />
<path d="M 1340.6 714.587 L 1349.8 714.587"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="1338.2" cy="718.587" r="1.15" fill="#0f172a" />
<path d="M 1340.6 718.587 L 1349.8 718.587"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="1454" y="717.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Setting:</text>
<text x="1454" y="735.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">batchTimedOut</text>
<text x="1454" y="753.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">batchGenerateFailed</text>
<text x="1454" y="771.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">hasMissingItems</text>
<rect x="1636" y="700.587" rx="16" ry="16" width="208" height="88"
fill="#fdfbff" stroke="#6d28d9" stroke-width="3.5" filter="url(#shadow)" />
<rect x="1684" y="704.587" rx="12" ry="12" width="156" height="80"
fill="#f5eeff" stroke="none" />
<rect x="1638" y="702.587" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="1638.5" y="703.087" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#6d28d9" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="1640" y="704.587" rx="12" ry="12" width="40" height="80"
fill="#ddd6fe" stroke="none" />
<path d="M 1684 704.587 L 1684 784.587"
fill="none" stroke="#6d28d9" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="TransportCall">
<circle cx="1658" cy="722.587" r="13" fill="#f5f3ff" stroke="#1e293b" stroke-width="1.6" />
<rect x="1651.6" y="718.787" rx="1.2" ry="1.2" width="4.8" height="7.6"
fill="none" stroke="#0f172a" stroke-width="1.5" />
<path d="M 1657.2 722.587 L 1664.2 722.587 M 1660.8 718.987 L 1664.2 722.587 L 1660.8 726.187"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" />
</g>
<text x="1760" y="744.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Execute Batch</text>
<polygon points="2102,807.001 2196,873.001 2102,939.001 2008,873.001"
fill="#fcd34d" stroke="#a16207" stroke-width="4" />
<polygon points="2102,807.001 2196,873.001 2102,939.001 2008,873.001"
fill="none" stroke="#ffffff" stroke-opacity="0.42" stroke-width="1.15" />
<circle cx="2102" cy="846.601" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#a16207" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 2092 846.601 L 2100.5 846.601 M 2100.5 846.601 L 2110 840.401 M 2100.5 846.601 L 2110 852.801"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="2110.8" cy="840.401" r="1.6" fill="#0f172a" />
<circle cx="2110.8" cy="852.801" r="1.6" fill="#0f172a" />
<text x="2102" y="891.481"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Retry Decision</text>
<rect x="2322" y="852.522" rx="16" ry="16" width="208" height="88"
fill="#f8fdff" stroke="#0369a1" stroke-width="3.5" filter="url(#shadow)" />
<rect x="2370" y="856.522" rx="12" ry="12" width="156" height="80"
fill="#e3f7ff" stroke="none" />
<rect x="2324" y="854.522" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="2324.5" y="855.022" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#0369a1" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="2326" y="856.522" rx="12" ry="12" width="40" height="80"
fill="#bae6fd" stroke="none" />
<path d="M 2370 856.522 L 2370 936.522"
fill="none" stroke="#0369a1" stroke-opacity="0.42" stroke-width="2.5" />
<circle cx="2346" cy="896.522" r="10.5" fill="#ffffff" stroke="#0369a1" stroke-width="1.8" />
<path d="M 2346 896.522 L 2346 891.122"
fill="none" stroke="#0369a1" stroke-width="1.8" stroke-linecap="round" />
<path d="M 2346 896.522 L 2350.6 899.122"
fill="none" stroke="#0369a1" stroke-width="1.8" stroke-linecap="round" />
<text x="2446" y="896.522"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Cooldown Timer</text>
<rect x="2694" y="877.315" rx="16" ry="16" width="208" height="88"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="2742" y="881.315" rx="12" ry="12" width="156" height="80"
fill="#eaf2ff" stroke="none" />
<rect x="2696" y="879.315" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="2696.5" y="879.815" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="2698" y="881.315" rx="12" ry="12" width="40" height="80"
fill="#bfdbfe" stroke="none" />
<path d="M 2742 881.315 L 2742 961.315"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="2716" cy="899.315" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="2710.2" cy="895.315" r="1.15" fill="#0f172a" />
<path d="M 2712.6 895.315 L 2721.8 895.315"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="2710.2" cy="899.315" r="1.15" fill="#0f172a" />
<path d="M 2712.6 899.315 L 2721.8 899.315"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="2710.2" cy="903.315" r="1.15" fill="#0f172a" />
<path d="M 2712.6 903.315 L 2721.8 903.315"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="2818" y="912.315"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Set</text>
<text x="2818" y="930.315"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">batchGenerateFa...</text>
<polygon points="3160,677.315 3254,743.315 3160,809.315 3066,743.315"
fill="#fcd34d" stroke="#a16207" stroke-width="4" />
<polygon points="3160,677.315 3254,743.315 3160,809.315 3066,743.315"
fill="none" stroke="#ffffff" stroke-opacity="0.42" stroke-width="1.15" />
<circle cx="3160" cy="716.915" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#a16207" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 3150 716.915 L 3158.5 716.915 M 3158.5 716.915 L 3168 710.715 M 3158.5 716.915 L 3168 723.115"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="3168.8" cy="710.715" r="1.6" fill="#0f172a" />
<circle cx="3168.8" cy="723.115" r="1.6" fill="#0f172a" />
<text x="3160" y="761.795"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Check Result</text>
<polygon points="3532,597.742 3626,663.742 3532,729.742 3438,663.742"
fill="#fcd34d" stroke="#a16207" stroke-width="4" />
<polygon points="3532,597.742 3626,663.742 3532,729.742 3438,663.742"
fill="none" stroke="#ffffff" stroke-opacity="0.42" stroke-width="1.15" />
<circle cx="3532" cy="637.342" r="14.5"
fill="#ffffff" fill-opacity="0.72" stroke="#a16207" stroke-opacity="0.24" stroke-width="1.1" />
<path d="M 3522 637.342 L 3530.5 637.342 M 3530.5 637.342 L 3540 631.142 M 3530.5 637.342 L 3540 643.542"
fill="none" stroke="#0f172a" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" />
<circle cx="3540.8" cy="631.142" r="1.6" fill="#0f172a" />
<circle cx="3540.8" cy="643.542" r="1.6" fill="#0f172a" />
<text x="3532" y="673.222"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Validate</text>
<text x="3532" y="691.222"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="700"
fill="#0f172a">Success</text>
<rect x="3810" y="611.742" rx="16" ry="16" width="224" height="104"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="3858" y="615.742" rx="12" ry="12" width="172" height="96"
fill="#eaf2ff" stroke="none" />
<rect x="3812" y="613.742" rx="14" ry="14" width="220" height="100"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="3812.5" y="614.242" rx="13.5" ry="13.5" width="219" height="99"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="3814" y="615.742" rx="12" ry="12" width="40" height="96"
fill="#bfdbfe" stroke="none" />
<path d="M 3858 615.742 L 3858 711.742"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="3832" cy="633.742" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="3826.2" cy="629.742" r="1.15" fill="#0f172a" />
<path d="M 3828.6 629.742 L 3837.8 629.742"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="3826.2" cy="633.742" r="1.15" fill="#0f172a" />
<path d="M 3828.6 633.742 L 3837.8 633.742"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="3826.2" cy="637.742" r="1.15" fill="#0f172a" />
<path d="M 3828.6 637.742 L 3837.8 637.742"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="3942" y="627.742"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">Setting:</text>
<text x="3942" y="645.742"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">itemId</text>
<text x="3942" y="663.742"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">files</text>
<text x="3942" y="681.742"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">itemsCount</text>
<text x="3942" y="699.742"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="13"
font-weight="600"
fill="#0f172a">hasMissingItems</text>
<rect x="2694" y="699.315" rx="16" ry="16" width="208" height="88"
fill="#f7fbff" stroke="#2563eb" stroke-width="3.5" filter="url(#shadow)" />
<rect x="2742" y="703.315" rx="12" ry="12" width="156" height="80"
fill="#eaf2ff" stroke="none" />
<rect x="2696" y="701.315" rx="14" ry="14" width="204" height="84"
fill="none" stroke="#ffffff" stroke-opacity="0.46" stroke-width="1.2" />
<rect x="2696.5" y="701.815" rx="13.5" ry="13.5" width="203" height="83"
fill="none" stroke="#2563eb" stroke-opacity="0.18" stroke-width="1.2" />
<rect x="2698" y="703.315" rx="12" ry="12" width="40" height="80"
fill="#bfdbfe" stroke="none" />
<path d="M 2742 703.315 L 2742 783.315"
fill="none" stroke="#2563eb" stroke-opacity="0.42" stroke-width="2.5" />
<g data-badge-kind="SetState">
<circle cx="2716" cy="721.315" r="13" fill="#eff6ff" stroke="#1e293b" stroke-width="1.6" />
<circle cx="2710.2" cy="717.315" r="1.15" fill="#0f172a" />
<path d="M 2712.6 717.315 L 2721.8 717.315"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="2710.2" cy="721.315" r="1.15" fill="#0f172a" />
<path d="M 2712.6 721.315 L 2721.8 721.315"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
<circle cx="2710.2" cy="725.315" r="1.15" fill="#0f172a" />
<path d="M 2712.6 725.315 L 2721.8 725.315"
fill="none" stroke="#0f172a" stroke-width="1.5" stroke-linecap="round" />
</g>
<text x="2818" y="743.315"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="12"
font-weight="600"
fill="#0f172a">Set batchTimedOut</text>
<path d="M 1934 819.794 L 1874 884.794"
fill="none"
stroke="#dc2626"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="1782" y="873.794" rx="9" ry="9" width="92" height="22"
fill="#fef2f2" fill-opacity="0.54" stroke="#dc2626" stroke-opacity="0.5" stroke-width="0.9" />
<text x="1828" y="887.794"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#991b1b">on failure</text>
<path d="M 2257 744.587 L 2257 658.587"
fill="none"
stroke="#d97706"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="2211" y="636.587" rx="9" ry="9" width="92" height="22"
fill="#fff7ed" fill-opacity="0.54" stroke="#d97706" stroke-opacity="0.5" stroke-width="0.9" />
<text x="2257" y="650.587"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#9a3412">on timeout</text>
<path d="M 2263 896.522 L 2263 982.522"
fill="none"
stroke="#15803d"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="2143.7" y="982.522" rx="9" ry="9" width="238.6" height="22"
fill="#f0fdf4" fill-opacity="0.54" stroke="#15803d" stroke-opacity="0.5" stroke-width="0.9" />
<text x="2263" y="996.522"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#166534">when notstate.printInsisAttempt gt 2</text>
<path d="M 3393 753.659 L 3393 839.659"
fill="none"
stroke="#15803d"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="3283.225" y="839.659" rx="9" ry="9" width="219.55" height="22"
fill="#f0fdf4" fill-opacity="0.54" stroke="#15803d" stroke-opacity="0.5" stroke-width="0.9" />
<text x="3393" y="853.659"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#166534">when state.printTimedOut eq false</text>
<path d="M 3698.634 653.399 L 3698.634 567.399"
fill="none"
stroke="#15803d"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="3569.809" y="545.399" rx="9" ry="9" width="257.65" height="22"
fill="#f0fdf4" fill-opacity="0.54" stroke="#15803d" stroke-opacity="0.5" stroke-width="0.9" />
<text x="3698.634" y="559.399"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#166534">when state.printGenerateFailed eq false</text>
<path d="M 3394 362.182 L 3372 448.182"
fill="none"
stroke="#dc2626"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="3303.5" y="448.182" rx="9" ry="9" width="137" height="22"
fill="#fef2f2" fill-opacity="0.54" stroke="#dc2626" stroke-opacity="0.5" stroke-width="0.9" />
<text x="3372" y="462.182"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#991b1b">on failure / timeout</text>
<path d="M 2612 825.062 L 2672 825.062"
fill="none"
stroke="#15803d"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="2672" y="814.062" rx="9" ry="9" width="200.5" height="22"
fill="#f0fdf4" fill-opacity="0.54" stroke="#15803d" stroke-opacity="0.5" stroke-width="0.9" />
<text x="2772.25" y="828.062"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#166534">when state.notificationHasBody</text>
<path d="M 2966.634 1135.737 L 2966.634 1221.737"
fill="none"
stroke="#15803d"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="2828.284" y="1221.737" rx="9" ry="9" width="276.7" height="22"
fill="#f0fdf4" fill-opacity="0.54" stroke="#15803d" stroke-opacity="0.5" stroke-width="0.9" />
<text x="2966.634" y="1235.737"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#166534">when state.skipSystemNotification eq false</text>
<path d="M 3344 1094.493 L 3290 1016.413"
fill="none"
stroke="#dc2626"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="3153" y="1005.413" rx="9" ry="9" width="137" height="22"
fill="#fef2f2" fill-opacity="0.54" stroke="#dc2626" stroke-opacity="0.5" stroke-width="0.9" />
<text x="3221.5" y="1019.413"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#991b1b">on failure / timeout</text>
<path d="M 4073 1116.493 L 4073 996.493"
fill="none"
stroke="#15803d"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="3975.925" y="974.493" rx="9" ry="9" width="194.15" height="22"
fill="#f0fdf4" fill-opacity="0.54" stroke="#15803d" stroke-opacity="0.5" stroke-width="0.9" />
<text x="4073" y="988.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#166534">when state.toEmailsCount gt 0</text>
<path d="M 4426 1116.493 L 4426 1030.493"
fill="none"
stroke="#dc2626"
stroke-opacity="0.28"
stroke-width="0.72"
stroke-dasharray="2.2 4.8" />
<rect x="4357.5" y="1008.493" rx="9" ry="9" width="137" height="22"
fill="#fef2f2" fill-opacity="0.54" stroke="#dc2626" stroke-opacity="0.5" stroke-width="0.9" />
<text x="4426" y="1022.493"
text-anchor="middle"
font-family="'Segoe UI', sans-serif"
font-size="11.5"
font-weight="700"
fill="#991b1b">on failure / timeout</text>
<!-- KINK MARKERS -->
<circle cx="5112" cy="1125" r="25" fill="none" stroke="red" stroke-width="4" />
<text x="5112" y="1100" font-size="14" fill="red" font-weight="bold" text-anchor="middle">edge/33 kink here</text>
<circle cx="3990" cy="1070" r="25" fill="none" stroke="green" stroke-width="4" />
<text x="3990" y="1045" font-size="14" fill="green" font-weight="bold" text-anchor="middle">edge/30 diagonal</text>
</svg>