@tscircuit/schematic-trace-solver 0.0.97 → 0.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/index.d.ts +10 -0
  2. package/dist/index.js +1077 -519
  3. package/lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver.ts +19 -9
  4. package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/SchematicTraceSingleLineSolver2.ts +30 -0
  5. package/lib/solvers/SchematicTraceLinesSolver/SchematicTraceSingleLineSolver2/generateEndpointCollisionDetours.ts +84 -0
  6. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +45 -1
  7. package/lib/solvers/TraceCleanupSolver/TraceCleanupSolver.ts +55 -13
  8. package/lib/solvers/TraceCleanupSolver/alignSameNetRails.ts +66 -0
  9. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/evaluateRailGroup.ts +124 -0
  10. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/geometry.ts +108 -0
  11. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/getComponentSideRailSegments.ts +121 -0
  12. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/getRailGroups.ts +114 -0
  13. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/moveRailSegments.ts +27 -0
  14. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/preservesLabelAnchors.ts +30 -0
  15. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/scoreRailAlignment.ts +67 -0
  16. package/lib/solvers/TraceCleanupSolver/sameNetRailAlignment/types.ts +34 -0
  17. package/lib/solvers/TraceLabelOverlapAvoidanceSolver/sub-solvers/SingleOverlapSolver/SingleOverlapSolver.ts +1 -60
  18. package/lib/utils/doesPathCoincideWithTraces.ts +61 -0
  19. package/package.json +1 -1
  20. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +18 -18
  21. package/tests/bug-reports/bug-report-20260707T092615Z/__snapshots__/bug-report-20260707T092615Z.snap.svg +7 -7
  22. package/tests/bug-reports/bug-report-20260707T134549Z/__snapshots__/bug-report-20260707T134549Z.snap.svg +5 -7
  23. package/tests/bug-reports/bug-report-20260707T140410Z/__snapshots__/bug-report-20260707T140410Z.snap.svg +6 -12
  24. package/tests/bug-reports/bug-report-20260707T141025Z/__snapshots__/bug-report-20260707T141025Z.snap.svg +1 -1
  25. package/tests/examples/__snapshots__/example02.snap.svg +1 -1
  26. package/tests/examples/__snapshots__/example09.snap.svg +9 -13
  27. package/tests/examples/__snapshots__/example14.snap.svg +1 -1
  28. package/tests/examples/__snapshots__/example18.snap.svg +1 -1
  29. package/tests/examples/__snapshots__/example21.snap.svg +30 -32
  30. package/tests/examples/__snapshots__/example29.snap.svg +13 -19
  31. package/tests/examples/__snapshots__/example46.snap.svg +1 -1
  32. package/tests/repros/__snapshots__/repro-cc2340r5.snap.svg +1 -1
  33. package/tests/repros/__snapshots__/repro-rp2040-gamepad-trace-alignment.snap.svg +1 -1
  34. package/tests/repros/__snapshots__/repro129-host-custom-symbol-passives.snap.svg +60 -0
  35. package/tests/repros/__snapshots__/repro130-bq27441-fuel-gauge-trace-through-c1.snap.svg +1 -1
  36. package/tests/repros/assets/repro129-host-custom-symbol-passives.input.json +94 -0
  37. package/tests/repros/repro-rp2040-gamepad-trace-alignment.test.ts +24 -0
  38. package/tests/repros/repro129-host-custom-symbol-passives.test.ts +16 -0
  39. package/tests/solvers/MspConnectionPairSolver/msp-connection-pair-solver-direct-connection-distance.test.ts +46 -0
  40. package/tests/solvers/SchematicTraceSingleLineSolver2/generate-endpoint-collision-detours.test.ts +38 -0
  41. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-component-scope.test.ts +38 -0
  42. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-eligible-traces.test.ts +28 -0
  43. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-horizontal.test.ts +62 -0
  44. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-label-anchor.test.ts +36 -0
  45. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-label-junction.test.ts +42 -0
  46. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-obstacle.test.ts +28 -0
  47. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-pipeline-label-connector.test.ts +52 -0
  48. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-vertical.test.ts +25 -0
  49. package/tests/solvers/TraceCleanupSolver/alignSameNetRails-visible-length.test.ts +40 -0
  50. package/tests/solvers/TraceCleanupSolver/fixtures/alignSameNetRails.ts +89 -0
@@ -1,4 +1,4 @@
1
- <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.5,0.5 -4.92,0.57" data-type="line" data-label="" points="397.19404110880635,284.8877993588535 216.61700924005282,281.1917782387328" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.5,0.10000000000000009 -1.5,-0.09999999999999987" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.3,-0.44999999999999996 -6.08,0.58" data-type="line" data-label="" points="249.3531963039789,335.0480859890628 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-5.8,-0.44999999999999996 -4.3,-0.44999999999999996" data-type="line" data-label="" points="170.1527437299642,335.0480859890628 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,1.3" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,242.64755798604565" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,1.0999999999999999" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,253.20761832924762" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,0.8999999999999997" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,263.7676786724496" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -1.5,-0.09999999999999987" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,0.6999999999999997" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -6.08,0.58" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -4.3,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -5.8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 1.5,1.0999999999999999" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 555.5949462568358,253.20761832924762" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 1.5,0.8999999999999997" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 555.5949462568358,263.7676786724496" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -1.5,-0.09999999999999987" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 1.5,0.6999999999999997" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 1.5,0.8999999999999997" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 555.5949462568358,263.7676786724496" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -1.5,-0.09999999999999987" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 1.5,0.6999999999999997" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -1.5,-0.09999999999999987" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 1.5,0.6999999999999997" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 1.5,0.6999999999999997" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -6.08,0.58" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -4.3,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -5.8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.08,0.58 -8,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.08,0.58 -4.3,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.08,0.58 -5.8,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-0.44999999999999996 -4.3,-0.44999999999999996" data-type="line" data-label="" points="53.99207995474262,335.0480859890628 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-0.44999999999999996 -5.8,-0.44999999999999996" data-type="line" data-label="" points="53.99207995474262,335.0480859890628 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.3,-0.44999999999999996 -5.8,-0.44999999999999996" data-type="line" data-label="" points="249.3531963039789,335.0480859890628 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -1.5,-1.3" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 397.19404110880635,379.9283424476712" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -8,-1.55" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 53.99207995474262,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -4.3,-1.55" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 249.3531963039789,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -5.8,-1.55" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-1.3 -8,-1.55" data-type="line" data-label="" points="397.19404110880635,379.9283424476712 53.99207995474262,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-1.3 -4.3,-1.55" data-type="line" data-label="" points="397.19404110880635,379.9283424476712 249.3531963039789,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-1.3 -5.8,-1.55" data-type="line" data-label="" points="397.19404110880635,379.9283424476712 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-1.55 -4.3,-1.55" data-type="line" data-label="" points="53.99207995474262,393.1284178766736 249.3531963039789,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-1.55 -5.8,-1.55" data-type="line" data-label="" points="53.99207995474262,393.1284178766736 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.3,-1.55 -5.8,-1.55" data-type="line" data-label="" points="249.3531963039789,393.1284178766736 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.8,-0.44999999999999996 -5.8,-0.24999999999999978 -8,-0.24999999999999978 -8,-0.44999999999999996" data-type="line" data-label="" points="170.1527437299642,335.0480859890628 170.1527437299642,324.48802564586083 53.99207995474262,324.48802564586083 53.99207995474262,335.0480859890628" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.08,0.58 -6.28,0.58 -6.28,0.065 -5.8,0.065 -5.8,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 144.80859890627949,280.66377522157273 144.80859890627949,307.8559306053178 170.1527437299642,307.8559306053178 170.1527437299642,335.0480859890628" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.3,-0.44999999999999996 -4.3,-0.24999999999999978 -5.8,-0.24999999999999978 -5.8,-0.44999999999999996" data-type="line" data-label="" points="249.3531963039789,335.0480859890628 249.3531963039789,324.48802564586083 170.1527437299642,324.48802564586083 170.1527437299642,335.0480859890628" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -1.7,-0.09999999999999987 -1.7,0.10000000000000009 -1.5,0.10000000000000009" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 386.6339807656044,316.5679803884594 386.6339807656044,306.00792004525744 397.19404110880635,306.00792004525744" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,0.8999999999999997 1.7,0.8999999999999997 1.7,1.0999999999999999 1.5,1.0999999999999999" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 566.1550066000377,263.7676786724496 566.1550066000377,253.20761832924762 555.5949462568358,253.20761832924762" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,0.6999999999999997 1.7,0.6999999999999997 1.7,0.8999999999999997 1.5,0.8999999999999997" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 566.1550066000377,274.32773901565156 566.1550066000377,263.7676786724496 555.5949462568358,263.7676786724496" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,1.3 1.7,1.3 1.7,1.0999999999999999 1.5,1.0999999999999999" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 566.1550066000377,242.64755798604565 566.1550066000377,253.20761832924762 555.5949462568358,253.20761832924762" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.8,-1.55 -5.8,-1.7500000000000002 -8,-1.7500000000000002 -8,-1.55" data-type="line" data-label="" points="170.1527437299642,393.1284178766736 170.1527437299642,403.6884782198756 53.99207995474262,403.6884782198756 53.99207995474262,393.1284178766736" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.3,-1.55 -4.3,-1.7500000000000002 -5.8,-1.7500000000000002 -5.8,-1.55" data-type="line" data-label="" points="249.3531963039789,393.1284178766736 249.3531963039789,403.6884782198756 170.1527437299642,403.6884782198756 170.1527437299642,393.1284178766736" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.5,0.5 -1.65,0.5 -1.65,0.6010000000000001 -2.0500000000000003,0.6010000000000001 -2.0500000000000003,0.5 -3.21,0.5 -3.21,0.57 -4.92,0.57" data-type="line" data-label="" points="397.19404110880635,284.8877993588535 389.2739958514049,284.8877993588535 389.2739958514049,279.5549688855365 368.15387516500095,279.5549688855365 368.15387516500095,284.8877993588535 306.9055251744296,284.8877993588535 306.9055251744296,281.1917782387328 216.61700924005282,281.1917782387328" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,-0.40000000000000013 1.7000000000000002,-0.40000000000000013 1.7000000000000002,-1.7 -1.7,-1.7 -1.7,-1.3 -1.5,-1.3" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 566.1550066000377,332.40807090326234 566.1550066000377,401.04846313407506 386.6339807656044,401.04846313407506 386.6339807656044,379.9283424476712 397.19404110880635,379.9283424476712" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.7,-0.09999999999999987 -1.85,-0.09999999999999987 -1.85,-0.09899999999999987" data-type="line" data-label="" points="386.6339807656044,316.5679803884594 378.7139355082029,316.5679803884594 378.7139355082029,316.5151800867434" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="397.19404110880635" y="232.0874976428437" width="158.40090514802944" height="158.40090514802944" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-5.5" data-y="0.6" x="155.36865924948145" y="267.4636997925703" width="61.2483499905714" height="24.288138789364496" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-8" data-y="-1" x="40.00000000000003" y="335.0480859890628" width="27.984159909485186" height="58.08033188761078" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-4.3" data-y="-1" x="235.36111634923634" y="335.0480859890628" width="27.98415990948513" height="58.08033188761078" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-5.8" data-y="-1" x="156.1606637752216" y="335.0480859890628" width="27.984159909485186" height="58.08033188761078" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="netId: VDDS
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-1.5,0.5 -4.92,0.57" data-type="line" data-label="" points="397.19404110880635,284.8877993588535 216.61700924005282,281.1917782387328" fill="none" stroke="hsl(240, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.5,0.10000000000000009 -1.5,-0.09999999999999987" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(64, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.3,-0.44999999999999996 -6.08,0.58" data-type="line" data-label="" points="249.3531963039789,335.0480859890628 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-5.8,-0.44999999999999996 -4.3,-0.44999999999999996" data-type="line" data-label="" points="170.1527437299642,335.0480859890628 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(184, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,1.3" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,242.64755798604565" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,1.0999999999999999" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,253.20761832924762" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,0.8999999999999997" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,263.7676786724496" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -1.5,-0.09999999999999987" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 1.5,0.6999999999999997" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -6.08,0.58" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -4.3,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,0.10000000000000009 -5.8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,306.00792004525744 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 1.5,1.0999999999999999" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 555.5949462568358,253.20761832924762" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 1.5,0.8999999999999997" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 555.5949462568358,263.7676786724496" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -1.5,-0.09999999999999987" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 1.5,0.6999999999999997" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.3 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 1.5,0.8999999999999997" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 555.5949462568358,263.7676786724496" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -1.5,-0.09999999999999987" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 1.5,0.6999999999999997" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,1.0999999999999999 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,253.20761832924762 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -1.5,-0.09999999999999987" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 397.19404110880635,316.5679803884594" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 1.5,0.6999999999999997" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.8999999999999997 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 1.5,0.6999999999999997" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 555.5949462568358,274.32773901565156" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -6.08,0.58" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -4.3,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -5.8,-0.44999999999999996" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -6.08,0.58" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 155.36865924948142,280.66377522157273" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -4.3,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,0.6999999999999997 -5.8,-0.44999999999999996" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.08,0.58 -8,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 53.99207995474262,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.08,0.58 -4.3,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.08,0.58 -5.8,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-0.44999999999999996 -4.3,-0.44999999999999996" data-type="line" data-label="" points="53.99207995474262,335.0480859890628 249.3531963039789,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-0.44999999999999996 -5.8,-0.44999999999999996" data-type="line" data-label="" points="53.99207995474262,335.0480859890628 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.3,-0.44999999999999996 -5.8,-0.44999999999999996" data-type="line" data-label="" points="249.3531963039789,335.0480859890628 170.1527437299642,335.0480859890628" fill="none" stroke="hsl(125, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -1.5,-1.3" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 397.19404110880635,379.9283424476712" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -8,-1.55" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 53.99207995474262,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -4.3,-1.55" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 249.3531963039789,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.5,-0.40000000000000013 -5.8,-1.55" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-1.3 -8,-1.55" data-type="line" data-label="" points="397.19404110880635,379.9283424476712 53.99207995474262,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-1.3 -4.3,-1.55" data-type="line" data-label="" points="397.19404110880635,379.9283424476712 249.3531963039789,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-1.5,-1.3 -5.8,-1.55" data-type="line" data-label="" points="397.19404110880635,379.9283424476712 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-1.55 -4.3,-1.55" data-type="line" data-label="" points="53.99207995474262,393.1284178766736 249.3531963039789,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-8,-1.55 -5.8,-1.55" data-type="line" data-label="" points="53.99207995474262,393.1284178766736 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.3,-1.55 -5.8,-1.55" data-type="line" data-label="" points="249.3531963039789,393.1284178766736 170.1527437299642,393.1284178766736" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5.8,-0.44999999999999996 -5.8,-0.24999999999999978 -8,-0.24999999999999978 -8,-0.44999999999999996" data-type="line" data-label="" points="170.1527437299642,335.0480859890628 170.1527437299642,324.48802564586083 53.99207995474262,324.48802564586083 53.99207995474262,335.0480859890628" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.08,0.58 -6.28,0.58 -6.28,-0.24999999999999978 -5.8,-0.24999999999999978 -5.8,-0.44999999999999996" data-type="line" data-label="" points="155.36865924948142,280.66377522157273 144.80859890627949,280.66377522157273 144.80859890627949,324.48802564586083 170.1527437299642,324.48802564586083 170.1527437299642,335.0480859890628" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.3,-0.44999999999999996 -4.3,-0.24999999999999978 -5.8,-0.24999999999999978 -5.8,-0.44999999999999996" data-type="line" data-label="" points="249.3531963039789,335.0480859890628 249.3531963039789,324.48802564586083 170.1527437299642,324.48802564586083 170.1527437299642,335.0480859890628" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.5,-0.09999999999999987 -1.7,-0.09999999999999987 -1.7,0.10000000000000009 -1.5,0.10000000000000009" data-type="line" data-label="" points="397.19404110880635,316.5679803884594 386.6339807656044,316.5679803884594 386.6339807656044,306.00792004525744 397.19404110880635,306.00792004525744" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,0.8999999999999997 1.7,0.8999999999999997 1.7,1.0999999999999999 1.5,1.0999999999999999" data-type="line" data-label="" points="555.5949462568358,263.7676786724496 566.1550066000377,263.7676786724496 566.1550066000377,253.20761832924762 555.5949462568358,253.20761832924762" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,0.6999999999999997 1.7,0.6999999999999997 1.7,0.8999999999999997 1.5,0.8999999999999997" data-type="line" data-label="" points="555.5949462568358,274.32773901565156 566.1550066000377,274.32773901565156 566.1550066000377,263.7676786724496 555.5949462568358,263.7676786724496" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,1.3 1.7,1.3 1.7,1.0999999999999999 1.5,1.0999999999999999" data-type="line" data-label="" points="555.5949462568358,242.64755798604565 566.1550066000377,242.64755798604565 566.1550066000377,253.20761832924762 555.5949462568358,253.20761832924762" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.8,-1.55 -5.8,-1.7500000000000002 -8,-1.7500000000000002 -8,-1.55" data-type="line" data-label="" points="170.1527437299642,393.1284178766736 170.1527437299642,403.6884782198756 53.99207995474262,403.6884782198756 53.99207995474262,393.1284178766736" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.3,-1.55 -4.3,-1.7500000000000002 -5.8,-1.7500000000000002 -5.8,-1.55" data-type="line" data-label="" points="249.3531963039789,393.1284178766736 249.3531963039789,403.6884782198756 170.1527437299642,403.6884782198756 170.1527437299642,393.1284178766736" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.5,0.5 -1.65,0.5 -1.65,0.6010000000000001 -2.0500000000000003,0.6010000000000001 -2.0500000000000003,0.5 -3.21,0.5 -3.21,0.57 -4.92,0.57" data-type="line" data-label="" points="397.19404110880635,284.8877993588535 389.2739958514049,284.8877993588535 389.2739958514049,279.5549688855365 368.15387516500095,279.5549688855365 368.15387516500095,284.8877993588535 306.9055251744296,284.8877993588535 306.9055251744296,281.1917782387328 216.61700924005282,281.1917782387328" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.5,-0.40000000000000013 1.7000000000000002,-0.40000000000000013 1.7000000000000002,-1.7 -1.7,-1.7 -1.7,-1.3 -1.5,-1.3" data-type="line" data-label="" points="555.5949462568358,332.40807090326234 566.1550066000377,332.40807090326234 566.1550066000377,401.04846313407506 386.6339807656044,401.04846313407506 386.6339807656044,379.9283424476712 397.19404110880635,379.9283424476712" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.7,-0.09999999999999987 -1.85,-0.09999999999999987 -1.85,-0.09899999999999987" data-type="line" data-label="" points="386.6339807656044,316.5679803884594 378.7139355082029,316.5679803884594 378.7139355082029,316.5151800867434" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0" x="397.19404110880635" y="232.0874976428437" width="158.40090514802944" height="158.40090514802944" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-5.5" data-y="0.6" x="155.36865924948145" y="267.4636997925703" width="61.2483499905714" height="24.288138789364496" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="-8" data-y="-1" x="40.00000000000003" y="335.0480859890628" width="27.984159909485186" height="58.08033188761078" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-4.3" data-y="-1" x="235.36111634923634" y="335.0480859890628" width="27.98415990948513" height="58.08033188761078" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-5.8" data-y="-1" x="156.1606637752216" y="335.0480859890628" width="27.984159909485186" height="58.08033188761078" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="netId: VDDS
2
2
  globalConnNetId: connectivity_net1" data-x="-1.85" data-y="0.20100000000000012" x="373.4339053366019" y="284.83499905713745" width="10.560060343201997" height="31.680181029605876" fill="#ef444466" stroke="#ef4444" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="netId: VDDS
3
3
  globalConnNetId: connectivity_net1" data-x="-6.28" data-y="0.8799999999999999" x="139.52856873467852" y="248.9835941919668" width="10.56006034320194" height="31.680181029605905" fill="#ef444466" stroke="#ef4444" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="netId: VDDS
4
4
  globalConnNetId: connectivity_net1" data-x="1.7" data-y="1.6" x="560.8749764284368" y="210.96737695643975" width="10.56006034320194" height="31.680181029605905" fill="#ef444466" stroke="#ef4444" stroke-width="0.018939285714285714"/></g><g><rect data-type="rect" data-label="netId: WMCU_SWDIO
@@ -1,4 +1,4 @@
1
- <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-7.75,3.08 -5.4,3.08 -5.4,1.75" data-type="line" data-label="" points="135.9371727748691,179.05759162303664 234.36649214659684,179.05759162303664 234.36649214659684,234.76439790575915" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,1.52 -5.875,1.52 -5.875,1.95 -4,1.95 -4,1.75" data-type="line" data-label="" points="135.9371727748691,244.39790575916228 214.47120418848166,244.39790575916228 214.47120418848166,226.38743455497382 293.0052356020942,226.38743455497382 293.0052356020942,234.76439790575915" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4,0.6499999999999999 -4,0.44999999999999973 -5.4,0.44999999999999973 -5.4,0.6499999999999999" data-type="line" data-label="" points="293.0052356020942,280.83769633507853 293.0052356020942,289.21465968586386 234.36649214659684,289.21465968586386 234.36649214659684,280.83769633507853" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,0.74 -6.575,0.74 -6.575,0.4499999999999999 -5.4,0.4499999999999999 -5.4,0.6499999999999999" data-type="line" data-label="" points="135.9371727748691,277.0680628272251 185.15183246073298,277.0680628272251 185.15183246073298,289.21465968586386 234.36649214659684,289.21465968586386 234.36649214659684,280.83769633507853" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,1 -7.55,1 -7.55,0.74 -7.75,0.74" data-type="line" data-label="" points="135.9371727748691,266.1780104712042 144.31413612565444,266.1780104712042 144.31413612565444,277.0680628272251 135.9371727748691,277.0680628272251" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,3.86 -7.65,3.86 -7.65,1 -7.75,1" data-type="line" data-label="" points="135.9371727748691,146.3874345549738 140.12565445026178,146.3874345549738 140.12565445026178,266.1780104712042 135.9371727748691,266.1780104712042" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,3.6 -7.55,3.6 -7.55,1.26 -7.75,1.26" data-type="line" data-label="" points="135.9371727748691,157.27748691099475 144.31413612565444,157.27748691099475 144.31413612565444,255.28795811518324 135.9371727748691,255.28795811518324" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,2.82 -7.45,2.82 -7.45,2.3 -7.75,2.3" data-type="line" data-label="" points="135.9371727748691,189.9476439790576 148.5026178010471,189.9476439790576 148.5026178010471,211.72774869109946 135.9371727748691,211.72774869109946" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,2.56 -7.3500000000000005,2.56 -7.3500000000000005,2.04 -7.75,2.04" data-type="line" data-label="" points="135.9371727748691,200.83769633507853 152.69109947643977,200.83769633507853 152.69109947643977,222.6178010471204 135.9371727748691,222.6178010471204" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.778,-1.905 -2.179,-1.905 -2.179,-0.6890000000000001 -1.978,-0.6890000000000001 -1.978,-0.635 -1.778,-0.635" data-type="line" data-label="" points="386.0732984293194,387.85340314136124 369.27748691099475,387.85340314136124 369.27748691099475,336.9214659685864 377.69633507853405,336.9214659685864 377.69633507853405,334.65968586387436 386.0732984293194,334.65968586387436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.778,0.635 -1.978,0.635 -1.978,0.581 -2.179,0.581 -2.179,-0.635 -1.778,-0.635" data-type="line" data-label="" points="386.0732984293194,281.4659685863874 377.69633507853405,281.4659685863874 377.69633507853405,283.72774869109946 369.27748691099475,283.72774869109946 369.27748691099475,334.65968586387436 386.0732984293194,334.65968586387436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.778,1.905 -1.978,1.905 -1.978,1.8510000000000002 -2.179,1.8510000000000002 -2.179,1.5970000000000002 -2.3589999999999995,1.5970000000000002 -2.3589999999999995,0.635 -1.778,0.635" data-type="line" data-label="" points="386.0732984293194,228.2722513089005 377.69633507853405,228.2722513089005 377.69633507853405,230.53403141361255 369.27748691099475,230.53403141361255 369.27748691099475,241.17277486910993 361.738219895288,241.17277486910993 361.738219895288,281.4659685863874 386.0732984293194,281.4659685863874" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0,-6.35 0,-6.55 -1.978,-6.55 -1.978,-2.613 -2.7790000000000004,-2.613 -2.7790000000000004,-2.2129999999999996 -2.4789999999999996,-2.2129999999999996 -2.4789999999999996,-1.9589999999999996 -1.978,-1.9589999999999996 -1.978,-1.905 -1.778,-1.905" data-type="line" data-label="" points="460.5445026178011,574.0314136125655 460.5445026178011,582.4083769633507 377.69633507853405,582.4083769633507 377.69633507853405,417.5078534031414 344.14659685863876,417.5078534031414 344.14659685863876,400.75392670157066 356.7120418848168,400.75392670157066 356.7120418848168,390.1151832460733 377.69633507853405,390.1151832460733 377.69633507853405,387.85340314136124 386.0732984293194,387.85340314136124" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7780000000000005,-1.9050000000000011 2.179,-1.9050000000000011 2.179,-2.613 1.9779999999999998,-2.613 1.9779999999999998,-6.55 0,-6.55 0,-6.35" data-type="line" data-label="" points="535.0157068062828,387.8534031413613 551.8115183246074,387.8534031413613 551.8115183246074,417.5078534031414 543.3926701570681,417.5078534031414 543.3926701570681,582.4083769633507 460.5445026178011,582.4083769633507 460.5445026178011,574.0314136125655" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,-0.635 2.179,-0.635 2.179,-1.8510000000000002 1.978,-1.8510000000000002 1.978,-1.905 1.778,-1.905" data-type="line" data-label="" points="535.0157068062828,334.65968586387436 551.8115183246074,334.65968586387436 551.8115183246074,385.59162303664925 543.3926701570681,385.59162303664925 543.3926701570681,387.85340314136124 535.0157068062828,387.85340314136124" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,0.635 2.179,0.635 2.179,-0.07300000000000001 1.978,-0.07300000000000001 1.978,-0.635 1.778,-0.635" data-type="line" data-label="" points="535.0157068062828,281.4659685863874 551.8115183246074,281.4659685863874 551.8115183246074,311.12041884816756 543.3926701570681,311.12041884816756 543.3926701570681,334.65968586387436 535.0157068062828,334.65968586387436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,1.905 1.978,1.905 1.978,1.089 2.539,1.089 2.539,0.6890000000000001 1.978,0.6890000000000001 1.978,0.635 1.778,0.635" data-type="line" data-label="" points="535.0157068062828,228.2722513089005 543.3926701570681,228.2722513089005 543.3926701570681,262.4502617801047 566.890052356021,262.4502617801047 566.890052356021,279.2041884816754 543.3926701570681,279.2041884816754 543.3926701570681,281.4659685863874 535.0157068062828,281.4659685863874" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.55,3.6 -7.35,3.6 -7.35,3.601" data-type="line" data-label="" points="144.31413612565444,157.27748691099475 152.69109947643977,157.27748691099475 152.69109947643977,157.23560209424082" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,2.413 1.9789999999999999,2.413 1.9789999999999999,2.4639999999999995" data-type="line" data-label="" points="535.0157068062828,206.99476439790575 543.4345549738221,206.99476439790575 543.4345549738221,204.85863874345551" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.762,6.35 -0.762,6.3999999999999995 -2.112,6.3999999999999995 -2.112,6.2989999999999995" data-type="line" data-label="" points="428.62827225130894,42.094240837696304 428.62827225130894,40 372.08376963350787,40 372.08376963350787,44.23036649214657" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="J2" data-x="0" data-y="0" x="386.0732984293194" y="42.094240837696304" width="148.94240837696339" height="531.9371727748692" fill="hsl(184, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="USB1" data-x="-8.5" data-y="2.3" x="73.10994764397904" y="136.33507853403137" width="62.8272251308901" height="150.78534031413616" fill="hsl(133, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="R1" data-x="-5.4" data-y="1.2" x="223.89528795811518" y="234.76439790575915" width="20.94240837696333" height="46.07329842931938" fill="hsl(71, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="R2" data-x="-4" data-y="1.2" x="282.5340314136125" y="234.76439790575915" width="20.94240837696333" height="46.07329842931938" fill="hsl(72, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="netId: SDA
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-7.75,3.08 -5.4,3.08 -5.4,1.75" data-type="line" data-label="" points="135.9371727748691,179.05759162303664 234.36649214659684,179.05759162303664 234.36649214659684,234.76439790575915" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,1.52 -5.875,1.52 -5.875,1.95 -4,1.95 -4,1.75" data-type="line" data-label="" points="135.9371727748691,244.39790575916228 214.47120418848166,244.39790575916228 214.47120418848166,226.38743455497382 293.0052356020942,226.38743455497382 293.0052356020942,234.76439790575915" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4,0.6499999999999999 -4,0.44999999999999973 -5.4,0.44999999999999973 -5.4,0.6499999999999999" data-type="line" data-label="" points="293.0052356020942,280.83769633507853 293.0052356020942,289.21465968586386 234.36649214659684,289.21465968586386 234.36649214659684,280.83769633507853" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,0.74 -7.65,0.74 -7.65,0.4499999999999999 -5.4,0.4499999999999999 -5.4,0.6499999999999999" data-type="line" data-label="" points="135.9371727748691,277.0680628272251 140.12565445026178,277.0680628272251 140.12565445026178,289.21465968586386 234.36649214659684,289.21465968586386 234.36649214659684,280.83769633507853" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,1 -7.65,1 -7.65,0.74 -7.75,0.74" data-type="line" data-label="" points="135.9371727748691,266.1780104712042 140.12565445026178,266.1780104712042 140.12565445026178,277.0680628272251 135.9371727748691,277.0680628272251" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,3.86 -7.65,3.86 -7.65,1 -7.75,1" data-type="line" data-label="" points="135.9371727748691,146.3874345549738 140.12565445026178,146.3874345549738 140.12565445026178,266.1780104712042 135.9371727748691,266.1780104712042" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,3.6 -7.55,3.6 -7.55,1.26 -7.75,1.26" data-type="line" data-label="" points="135.9371727748691,157.27748691099475 144.31413612565444,157.27748691099475 144.31413612565444,255.28795811518324 135.9371727748691,255.28795811518324" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,2.82 -7.45,2.82 -7.45,2.3 -7.75,2.3" data-type="line" data-label="" points="135.9371727748691,189.9476439790576 148.5026178010471,189.9476439790576 148.5026178010471,211.72774869109946 135.9371727748691,211.72774869109946" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.75,2.56 -7.3500000000000005,2.56 -7.3500000000000005,2.04 -7.75,2.04" data-type="line" data-label="" points="135.9371727748691,200.83769633507853 152.69109947643977,200.83769633507853 152.69109947643977,222.6178010471204 135.9371727748691,222.6178010471204" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.778,-1.905 -2.7790000000000004,-1.905 -2.7790000000000004,-0.635 -1.778,-0.635" data-type="line" data-label="" points="386.0732984293194,387.85340314136124 344.14659685863876,387.85340314136124 344.14659685863876,334.65968586387436 386.0732984293194,334.65968586387436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.778,0.635 -2.7790000000000004,0.635 -2.7790000000000004,-0.635 -1.778,-0.635" data-type="line" data-label="" points="386.0732984293194,281.4659685863874 344.14659685863876,281.4659685863874 344.14659685863876,334.65968586387436 386.0732984293194,334.65968586387436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-1.778,1.905 -2.7790000000000004,1.905 -2.7790000000000004,0.635 -1.778,0.635" data-type="line" data-label="" points="386.0732984293194,228.2722513089005 344.14659685863876,228.2722513089005 344.14659685863876,281.4659685863874 386.0732984293194,281.4659685863874" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0,-6.35 0,-6.55 -2.7790000000000004,-6.55 -2.7790000000000004,-1.905 -1.778,-1.905" data-type="line" data-label="" points="460.5445026178011,574.0314136125655 460.5445026178011,582.4083769633507 344.14659685863876,582.4083769633507 344.14659685863876,387.85340314136124 386.0732984293194,387.85340314136124" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.7780000000000005,-1.9050000000000011 2.539,-1.9050000000000011 2.539,-6.55 0,-6.55 0,-6.35" data-type="line" data-label="" points="535.0157068062828,387.8534031413613 566.890052356021,387.8534031413613 566.890052356021,582.4083769633507 460.5445026178011,582.4083769633507 460.5445026178011,574.0314136125655" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,-0.635 2.539,-0.635 2.539,-1.905 1.778,-1.905" data-type="line" data-label="" points="535.0157068062828,334.65968586387436 566.890052356021,334.65968586387436 566.890052356021,387.85340314136124 535.0157068062828,387.85340314136124" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,0.635 2.539,0.635 2.539,-0.635 1.778,-0.635" data-type="line" data-label="" points="535.0157068062828,281.4659685863874 566.890052356021,281.4659685863874 566.890052356021,334.65968586387436 535.0157068062828,334.65968586387436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,1.905 2.539,1.905 2.539,0.635 1.778,0.635" data-type="line" data-label="" points="535.0157068062828,228.2722513089005 566.890052356021,228.2722513089005 566.890052356021,281.4659685863874 535.0157068062828,281.4659685863874" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.55,3.6 -7.35,3.6 -7.35,3.601" data-type="line" data-label="" points="144.31413612565444,157.27748691099475 152.69109947643977,157.27748691099475 152.69109947643977,157.23560209424082" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.778,2.413 1.9789999999999999,2.413 1.9789999999999999,2.4639999999999995" data-type="line" data-label="" points="535.0157068062828,206.99476439790575 543.4345549738221,206.99476439790575 543.4345549738221,204.85863874345551" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.762,6.35 -0.762,6.3999999999999995 -2.112,6.3999999999999995 -2.112,6.2989999999999995" data-type="line" data-label="" points="428.62827225130894,42.094240837696304 428.62827225130894,40 372.08376963350787,40 372.08376963350787,44.23036649214657" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="J2" data-x="0" data-y="0" x="386.0732984293194" y="42.094240837696304" width="148.94240837696339" height="531.9371727748692" fill="hsl(184, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="USB1" data-x="-8.5" data-y="2.3" x="73.10994764397904" y="136.33507853403137" width="62.8272251308901" height="150.78534031413616" fill="hsl(133, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="R1" data-x="-5.4" data-y="1.2" x="223.89528795811518" y="234.76439790575915" width="20.94240837696333" height="46.07329842931938" fill="hsl(71, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="R2" data-x="-4" data-y="1.2" x="282.5340314136125" y="234.76439790575915" width="20.94240837696333" height="46.07329842931938" fill="hsl(72, 100%, 50%, 0.8)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="netId: SDA
2
2
  globalConnNetId: connectivity_net6" data-x="-1.9589999999999999" data-y="2.413" x="370.9528795811519" y="202.80628272251306" width="15.078534031413596" height="8.376963350785388" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="netId: SCL
3
3
  globalConnNetId: connectivity_net7" data-x="-1.9589999999999999" data-y="2.159" x="370.9528795811519" y="213.44502617801044" width="15.078534031413596" height="8.37696335078536" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="netId: GND
4
4
  globalConnNetId: connectivity_net31" data-x="0" data-y="-6.76" x="450.4921465968587" y="582.4083769633507" width="20.104712041884795" height="17.591623036649253" fill="#00000066" stroke="#000000" stroke-width="0.023874999999999997"/></g><g><rect data-type="rect" data-label="netId: UP
@@ -0,0 +1,60 @@
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="0.9000000000000004,1.25 1.9700000000000002,1.1099999999999999" data-type="line" data-label="" points="312.06477732793525,134.84480431848863 473.7921727395411,156.00539811066136" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,0.8499999999999999 1.9000000000000004,-0.7" data-type="line" data-label="" points="312.06477732793525,195.30364372469646 463.2118758434548,429.5816464237517" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,0.44999999999999996 1.9700000000000002,0.3500000000000001" data-type="line" data-label="" points="312.06477732793525,255.76248313090423 473.7921727395411,270.87719298245617" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,-1.3000000000000003 1.9000000000000004,-1.3" data-type="line" data-label="" points="312.06477732793525,520.2699055330635 463.2118758434548,520.2699055330634" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,1.25 1.9700000000000002,1.25 1.9700000000000002,1.1099999999999999" data-type="line" data-label="" points="312.06477732793525,134.84480431848863 473.7921727395411,134.84480431848863 473.7921727395411,156.00539811066136" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,0.8499999999999999 1.2725000000000004,0.8499999999999999 1.2725000000000004,0.05000000000000007 1.9000000000000004,0.05000000000000007 1.9000000000000004,-0.7" data-type="line" data-label="" points="312.06477732793525,195.30364372469646 368.36707152496626,195.30364372469646 368.36707152496626,316.22132253711203 463.2118758434548,316.22132253711203 463.2118758434548,429.5816464237517" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,0.44999999999999996 1.4350000000000003,0.44999999999999996 1.4350000000000003,0.2500000000000001 1.9700000000000002,0.2500000000000001 1.9700000000000002,0.3500000000000001" data-type="line" data-label="" points="312.06477732793525,255.76248313090423 392.9284750337382,255.76248313090423 392.9284750337382,285.9919028340081 473.7921727395411,285.9919028340081 473.7921727395411,270.87719298245617" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.9000000000000004,-1.3000000000000003 1.9000000000000004,-1.3" data-type="line" data-label="" points="312.06477732793525,520.2699055330635 463.2118758434548,520.2699055330634" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="1.9975000000000005" data-y="-1" x="414.08906882591106" y="429.58164642375175" width="127.71929824561391" height="90.68825910931167" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00661607142857143"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="2.2250000000000005" data-y="0.73" x="424.66936572199734" y="156.00539811066136" width="175.33063427800266" height="114.8717948717948" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00661607142857143"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="0" data-y="0" x="40" y="74.3859649122808" width="272.06477732793525" height="498.78542510121446" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.00661607142857143"/></g><g><rect data-type="rect" data-label="netId: .HOST &gt; .pin2 to R1.pin1
2
+ globalConnNetId: connectivity_net1" data-x="1.2725000000000004" data-y="-0.17499999999999993" x="353.25236167341427" y="316.22132253711203" width="30.22941970310393" height="68.0161943319838" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00661607142857143"/></g><g><rect data-type="rect" data-label="netId: .HOST &gt; .pin4 to R1.pin2
3
+ globalConnNetId: connectivity_net3" data-x="1.4000000000000004" data-y="-1.0750000000000002" x="372.52361673414305" y="452.2537112010797" width="30.22941970310393" height="68.0161943319838" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00661607142857143"/></g><g><rect data-type="rect" data-label="netId: .HOST &gt; .pin1 to C1.pin1
4
+ globalConnNetId: connectivity_net0" data-x="1.9700000000000002" data-y="1.475" x="458.6774628879891" y="66.82860998650477" width="30.229419703103986" height="68.01619433198385" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00661607142857143"/></g><g><rect data-type="rect" data-label="netId: .HOST &gt; .pin3 to C1.pin2
5
+ globalConnNetId: connectivity_net2" data-x="1.4000000000000004" data-y="0.6749999999999999" x="372.52361673414305" y="187.7462887989205" width="30.22941970310393" height="68.01619433198377" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.00661607142857143"/></g><g><circle data-type="point" data-label="R1.1
6
+ y+" data-x="1.9000000000000004" data-y="-0.7" cx="463.2118758434548" cy="429.5816464237517" r="3" fill="hsl(226, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="R1.2
7
+ y-" data-x="1.9000000000000004" data-y="-1.3" cx="463.2118758434548" cy="520.2699055330634" r="3" fill="hsl(227, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.1
8
+ y+" data-x="1.9700000000000002" data-y="1.1099999999999999" cx="473.7921727395411" cy="156.00539811066136" r="3" fill="hsl(121, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="C1.2
9
+ y-" data-x="1.9700000000000002" data-y="0.3500000000000001" cx="473.7921727395411" cy="270.87719298245617" r="3" fill="hsl(122, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="HOST.pin1
10
+ x+" data-x="0.9000000000000004" data-y="1.25" cx="312.06477732793525" cy="134.84480431848863" r="3" fill="hsl(50, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="HOST.pin2
11
+ x+" data-x="0.9000000000000004" data-y="0.8499999999999999" cx="312.06477732793525" cy="195.30364372469646" r="3" fill="hsl(51, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="HOST.pin3
12
+ x+" data-x="0.9000000000000004" data-y="0.44999999999999996" cx="312.06477732793525" cy="255.76248313090423" r="3" fill="hsl(52, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="HOST.pin4
13
+ x+" data-x="0.9000000000000004" data-y="-1.3000000000000003" cx="312.06477732793525" cy="520.2699055330635" r="3" fill="hsl(53, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
14
+ orientation: y-" data-x="1.2725000000000004" data-y="0.05000000000000007" cx="368.36707152496626" cy="316.22132253711203" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
15
+ orientation: y+" data-x="1.4000000000000004" data-y="-1.3000000000000003" cx="387.63832658569504" cy="520.2699055330635" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
16
+ orientation: y+" data-x="1.9700000000000002" data-y="1.25" cx="473.7921727395411" cy="134.84480431848863" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
17
+ orientation: y+" data-x="1.4000000000000004" data-y="0.44999999999999996" cx="387.63832658569504" cy="255.76248313090423" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="640" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
18
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
19
+ const svg = e.currentTarget;
20
+ const rect = svg.getBoundingClientRect();
21
+ const x = e.clientX - rect.left;
22
+ const y = e.clientY - rect.top;
23
+ const crosshair = svg.getElementById('crosshair');
24
+ const h = svg.getElementById('crosshair-h');
25
+ const v = svg.getElementById('crosshair-v');
26
+ const coords = svg.getElementById('coordinates');
27
+
28
+ crosshair.style.display = 'block';
29
+ h.setAttribute('x1', '0');
30
+ h.setAttribute('x2', '640');
31
+ h.setAttribute('y1', y);
32
+ h.setAttribute('y2', y);
33
+ v.setAttribute('x1', x);
34
+ v.setAttribute('x2', x);
35
+ v.setAttribute('y1', '0');
36
+ v.setAttribute('y2', '640');
37
+
38
+ // Calculate real coordinates using inverse transformation
39
+ const matrix = {"a":151.14709851551953,"c":0,"e":176.03238866396762,"b":0,"d":-151.14709851551953,"f":323.778677462888};
40
+ // Manually invert and apply the affine transform
41
+ // Since we only use translate and scale, we can directly compute:
42
+ // x' = (x - tx) / sx
43
+ // y' = (y - ty) / sy
44
+ const sx = matrix.a;
45
+ const sy = matrix.d;
46
+ const tx = matrix.e;
47
+ const ty = matrix.f;
48
+ const realPoint = {
49
+ x: (x - tx) / sx,
50
+ y: (y - ty) / sy // Flip y back since we used negative scale
51
+ }
52
+
53
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
54
+ coords.setAttribute('x', (x + 5).toString());
55
+ coords.setAttribute('y', (y - 5).toString());
56
+ });
57
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
58
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
59
+ });
60
+ ]]></script></svg>
@@ -1,4 +1,4 @@
1
- <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-6.25,4.1 -5.1,4.1" data-type="line" data-label="" points="150.94205868102486,141.16802481267635 189.0266459894364,141.16802481267635" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6,4.1 7.15,4.1" data-type="line" data-label="" points="556.6257060967127,141.16802481267635 594.7102934051242,141.16802481267635" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-6.25,3 -2.6999999999999997,1.5" data-type="line" data-label="" points="150.94205868102486,177.596760498983 268.5075238504691,227.27230916212847" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-5.1,3 -2.6999999999999997,1.3" data-type="line" data-label="" points="189.0266459894364,177.596760498983 268.5075238504691,233.89571565054786" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6,3 2.6999999999999997,1.525" data-type="line" data-label="" points="556.6257060967127,177.596760498983 447.3394990377927,226.44438335107603" fill="none" stroke="hsl(72, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="7.15,3 2.6999999999999997,0.775" data-type="line" data-label="" points="594.7102934051242,177.596760498983 447.3394990377927,251.28215768264874" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.7,-0.8999999999999999 -2.6999999999999997,0.10000000000000009" data-type="line" data-label="" points="202.27345896627517,306.75318702316116 268.5075238504691,273.6361545810642" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-7.2,-4.6 -2.55,-5.1" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.55,-5.1 -2.6999999999999997,-0.3999999999999999" data-type="line" data-label="" points="273.4750787167836,445.84472327996843 268.5075238504691,290.1946708021127" fill="none" stroke="hsl(88, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.55,-5.1 3.8499999999999996,-4.8" data-type="line" data-label="" points="273.4750787167836,445.84472327996843 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.8499999999999996,-4.8 2.6999999999999997,-0.17499999999999993" data-type="line" data-label="" points="485.4240863462042,435.9096135473393 447.3394990377927,282.7433385026409" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="4.950000000000001,-4.8 2.6999999999999997,-0.42499999999999993" data-type="line" data-label="" points="521.8528220325109,435.9096135473393 447.3394990377927,291.0225966131651" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.6999999999999997,1.5 -6.25,3" data-type="line" data-label="" points="268.5075238504691,227.27230916212847 150.94205868102486,177.596760498983" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.3 -5.1,3" data-type="line" data-label="" points="268.5075238504691,233.89571565054786 189.0266459894364,177.596760498983" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 0,-1.3499999999999999" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 357.9235114441309,321.6558516221048" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 -7.2,-5" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 119.48087786103275,442.5330200357587" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 -4.7,-2" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 202.27345896627517,343.1819227094678" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 -2.55,-6.200000000000001" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.3499999999999999 -7.2,-5" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 119.48087786103275,442.5330200357587" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.3499999999999999 -4.7,-2" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 202.27345896627517,343.1819227094678" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.3499999999999999 -2.55,-6.200000000000001" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-5 -4.7,-2" data-type="line" data-label="" points="119.48087786103275,442.5330200357587 202.27345896627517,343.1819227094678" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-5 -2.55,-6.200000000000001" data-type="line" data-label="" points="119.48087786103275,442.5330200357587 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.7,-2 -2.55,-6.200000000000001" data-type="line" data-label="" points="202.27345896627517,343.1819227094678 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 2.6999999999999997,-0.17499999999999993" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 447.3394990377927,282.7433385026409" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 -7.2,-4.6" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 119.48087786103275,429.2862070589199" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 3.8499999999999996,-4.8" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 -2.55,-5.1" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 -7.2,-4.6" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 119.48087786103275,429.2862070589199" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 3.8499999999999996,-4.8" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 -2.55,-5.1" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-4.6 3.8499999999999996,-4.8" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-4.6 -2.55,-5.1" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.8499999999999996,-4.8 -2.55,-5.1" data-type="line" data-label="" points="485.4240863462042,435.9096135473393 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.42499999999999993 4.950000000000001,-4.8" data-type="line" data-label="" points="447.3394990377927,291.0225966131651 521.8528220325109,435.9096135473393" fill="none" stroke="hsl(71, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,0.775 -7.2,-4.8" data-type="line" data-label="" points="447.3394990377927,251.28215768264874 119.48087786103275,435.9096135473393" fill="none" stroke="hsl(247, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,0.775 7.15,3" data-type="line" data-label="" points="447.3394990377927,251.28215768264874 594.7102934051242,177.596760498983" fill="none" stroke="hsl(247, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-4.8 7.15,3" data-type="line" data-label="" points="119.48087786103275,435.9096135473393 594.7102934051242,177.596760498983" fill="none" stroke="hsl(247, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,1.525 6,3" data-type="line" data-label="" points="447.3394990377927,226.44438335107603 556.6257060967127,177.596760498983" fill="none" stroke="hsl(189, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.25,4.1 -6.25,4.3 -5.1,4.3 -5.1,4.1" data-type="line" data-label="" points="150.94205868102486,141.16802481267635 150.94205868102486,134.54461832425696 189.0266459894364,134.54461832425696 189.0266459894364,141.16802481267635" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6,4.1 6,4.3 7.15,4.3 7.15,4.1" data-type="line" data-label="" points="556.6257060967127,141.16802481267635 556.6257060967127,134.54461832425696 594.7102934051242,134.54461832425696 594.7102934051242,141.16802481267635" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.25,3 -6.25,1.5 -2.6999999999999997,1.5" data-type="line" data-label="" points="150.94205868102486,177.596760498983 150.94205868102486,227.27230916212847 268.5075238504691,227.27230916212847" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.1,3 -5.1,1.2999999999999998 -2.6999999999999997,1.2999999999999998" data-type="line" data-label="" points="189.0266459894364,177.596760498983 189.0266459894364,233.89571565054786 268.5075238504691,233.89571565054786" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6,3 6,1.525 2.6999999999999997,1.525" data-type="line" data-label="" points="556.6257060967127,177.596760498983 556.6257060967127,226.44438335107603 447.3394990377927,226.44438335107603" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6999999999999997,0.775 2.9,0.775 2.9,-4.8 -7.2,-4.8" data-type="line" data-label="" points="447.3394990377927,251.28215768264874 453.96290552621207,251.28215768264874 453.96290552621207,435.9096135473393 119.48087786103275,435.9096135473393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7.15,3 7.15,0.775 2.6999999999999997,0.775" data-type="line" data-label="" points="594.7102934051242,177.596760498983 594.7102934051242,251.28215768264874 447.3394990377927,251.28215768264874" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.7,-0.8999999999999999 -4.7,0.10000000000000009 -2.6999999999999997,0.10000000000000009" data-type="line" data-label="" points="202.27345896627517,306.75318702316116 202.27345896627517,273.6361545810642 268.5075238504691,273.6361545810642" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 -3,-0.3999999999999999 -3,-2.75 -2.55,-2.75 -2.55,-5.1" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 258.57241411784,290.1946708021127 258.57241411784,368.01969704104056 273.4750787167836,368.01969704104056 273.4750787167836,445.84472327996843" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.2,-4.6 -2.55,-4.6 -2.55,-5.1" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 273.4750787167836,429.2862070589199 273.4750787167836,445.84472327996843" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 3.2749999999999995,-0.17499999999999993 3.2749999999999995,-4.8 3.8499999999999996,-4.8" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 466.38179269199844,282.7433385026409 466.38179269199844,435.9096135473393 485.4240863462042,435.9096135473393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.950000000000001,-4.8 5.150000000000001,-4.8 5.150000000000001,-0.42499999999999993 2.6999999999999997,-0.42499999999999993" data-type="line" data-label="" points="521.8528220325109,435.9096135473393 528.4762285209304,435.9096135473393 528.4762285209304,291.0225966131651 447.3394990377927,291.0225966131651" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.7,1.0999999999999996 -3.7,1.0999999999999996 -3.7,-2.2 -4.7,-2.2 -4.7,-2" data-type="line" data-label="" points="268.50752385046906,240.51912213896725 235.39049140837213,240.51912213896725 235.39049140837213,349.8053291978872 202.27345896627517,349.8053291978872 202.27345896627517,343.1819227094678" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0,-1.3499999999999999 0,-1.5499999999999998 -2.8,-1.5499999999999998 -2.8,1.1 -2.6999999999999997,1.1" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 357.9235114441309,328.2792581105242 265.1958206062594,328.2792581105242 265.1958206062594,240.51912213896725 268.5075238504691,240.51912213896725" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.2,-5 -4.7,-5 -4.7,-2" data-type="line" data-label="" points="119.48087786103275,442.5330200357587 202.27345896627517,442.5330200357587 202.27345896627517,343.1819227094678" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.55,-6.200000000000001 -2.55,-6.400000000000001 -4.875,-6.400000000000001 -4.875,-5 -7.2,-5" data-type="line" data-label="" points="273.4750787167836,482.27345896627514 273.4750787167836,488.89686545469453 196.4779782889082,488.89686545469453 196.4779782889082,442.5330200357587 119.48087786103275,442.5330200357587" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0.55" x="268.5075238504691" y="195.8111283421363" width="178.83197518732356" height="125.84472327996849" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-8.4" data-y="-4.8" x="40.00000000000003" y="422.6628005705005" width="79.48087786103275" height="26.493625953677622" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="4.4" data-y="-4.8" x="485.42408634620426" y="429.46982941285" width="36.42873568630665" height="12.879568268978574" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-6.25" data-y="3.55" x="145.65235208614916" y="141.16802481267635" width="10.57941318975142" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-5.1" data-y="3.55" x="183.73693939456066" y="141.16802481267635" width="10.579413189751449" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="6" data-y="3.55" x="551.335999501837" y="141.16802481267635" width="10.579413189751335" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="7.15" data-y="3.55" x="589.4205868102484" y="141.16802481267635" width="10.579413189751449" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-4.7" data-y="-1.45" x="193.49744536911948" y="306.7531870231612" width="17.552027194311364" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="-2.55" data-y="-5.65" x="264.6990651196279" y="445.84472327996843" width="17.552027194311393" height="36.42873568630671" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="netId: SDA
1
+ <svg width="640" height="640" viewBox="0 0 640 640" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-6.25,4.1 -5.1,4.1" data-type="line" data-label="" points="150.94205868102486,141.16802481267635 189.0266459894364,141.16802481267635" fill="none" stroke="hsl(320, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6,4.1 7.15,4.1" data-type="line" data-label="" points="556.6257060967127,141.16802481267635 594.7102934051242,141.16802481267635" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-6.25,3 -2.6999999999999997,1.5" data-type="line" data-label="" points="150.94205868102486,177.596760498983 268.5075238504691,227.27230916212847" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-5.1,3 -2.6999999999999997,1.3" data-type="line" data-label="" points="189.0266459894364,177.596760498983 268.5075238504691,233.89571565054786" fill="none" stroke="hsl(336, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6,3 2.6999999999999997,1.525" data-type="line" data-label="" points="556.6257060967127,177.596760498983 447.3394990377927,226.44438335107603" fill="none" stroke="hsl(72, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="7.15,3 2.6999999999999997,0.775" data-type="line" data-label="" points="594.7102934051242,177.596760498983 447.3394990377927,251.28215768264874" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.7,-0.8999999999999999 -2.6999999999999997,0.10000000000000009" data-type="line" data-label="" points="202.27345896627517,306.75318702316116 268.5075238504691,273.6361545810642" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-7.2,-4.6 -2.55,-5.1" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.55,-5.1 -2.6999999999999997,-0.3999999999999999" data-type="line" data-label="" points="273.4750787167836,445.84472327996843 268.5075238504691,290.1946708021127" fill="none" stroke="hsl(88, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.55,-5.1 3.8499999999999996,-4.8" data-type="line" data-label="" points="273.4750787167836,445.84472327996843 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(168, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="3.8499999999999996,-4.8 2.6999999999999997,-0.17499999999999993" data-type="line" data-label="" points="485.4240863462042,435.9096135473393 447.3394990377927,282.7433385026409" fill="none" stroke="hsl(96, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="4.950000000000001,-4.8 2.6999999999999997,-0.42499999999999993" data-type="line" data-label="" points="521.8528220325109,435.9096135473393 447.3394990377927,291.0225966131651" fill="none" stroke="hsl(312, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-2.6999999999999997,1.5 -6.25,3" data-type="line" data-label="" points="268.5075238504691,227.27230916212847 150.94205868102486,177.596760498983" fill="none" stroke="hsl(216, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.3 -5.1,3" data-type="line" data-label="" points="268.5075238504691,233.89571565054786 189.0266459894364,177.596760498983" fill="none" stroke="hsl(196, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 0,-1.3499999999999999" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 357.9235114441309,321.6558516221048" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 -7.2,-5" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 119.48087786103275,442.5330200357587" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 -4.7,-2" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 202.27345896627517,343.1819227094678" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,1.1 -2.55,-6.200000000000001" data-type="line" data-label="" points="268.5075238504691,240.51912213896725 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.3499999999999999 -7.2,-5" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 119.48087786103275,442.5330200357587" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.3499999999999999 -4.7,-2" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 202.27345896627517,343.1819227094678" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0,-1.3499999999999999 -2.55,-6.200000000000001" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-5 -4.7,-2" data-type="line" data-label="" points="119.48087786103275,442.5330200357587 202.27345896627517,343.1819227094678" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-5 -2.55,-6.200000000000001" data-type="line" data-label="" points="119.48087786103275,442.5330200357587 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.7,-2 -2.55,-6.200000000000001" data-type="line" data-label="" points="202.27345896627517,343.1819227094678 273.4750787167836,482.27345896627514" fill="none" stroke="hsl(237, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 2.6999999999999997,-0.17499999999999993" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 447.3394990377927,282.7433385026409" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 -7.2,-4.6" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 119.48087786103275,429.2862070589199" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 3.8499999999999996,-4.8" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 -2.55,-5.1" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 -7.2,-4.6" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 119.48087786103275,429.2862070589199" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 3.8499999999999996,-4.8" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 -2.55,-5.1" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-4.6 3.8499999999999996,-4.8" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 485.4240863462042,435.9096135473393" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-4.6 -2.55,-5.1" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.8499999999999996,-4.8 -2.55,-5.1" data-type="line" data-label="" points="485.4240863462042,435.9096135473393 273.4750787167836,445.84472327996843" fill="none" stroke="hsl(127, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,-0.42499999999999993 4.950000000000001,-4.8" data-type="line" data-label="" points="447.3394990377927,291.0225966131651 521.8528220325109,435.9096135473393" fill="none" stroke="hsl(71, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,0.775 -7.2,-4.8" data-type="line" data-label="" points="447.3394990377927,251.28215768264874 119.48087786103275,435.9096135473393" fill="none" stroke="hsl(247, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,0.775 7.15,3" data-type="line" data-label="" points="447.3394990377927,251.28215768264874 594.7102934051242,177.596760498983" fill="none" stroke="hsl(247, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-7.2,-4.8 7.15,3" data-type="line" data-label="" points="119.48087786103275,435.9096135473393 594.7102934051242,177.596760498983" fill="none" stroke="hsl(247, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.6999999999999997,1.525 6,3" data-type="line" data-label="" points="447.3394990377927,226.44438335107603 556.6257060967127,177.596760498983" fill="none" stroke="hsl(189, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-6.25,4.1 -6.25,4.3 -5.1,4.3 -5.1,4.1" data-type="line" data-label="" points="150.94205868102486,141.16802481267635 150.94205868102486,134.54461832425696 189.0266459894364,134.54461832425696 189.0266459894364,141.16802481267635" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6,4.1 6,4.3 7.15,4.3 7.15,4.1" data-type="line" data-label="" points="556.6257060967127,141.16802481267635 556.6257060967127,134.54461832425696 594.7102934051242,134.54461832425696 594.7102934051242,141.16802481267635" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-6.25,3 -6.25,1.5 -2.6999999999999997,1.5" data-type="line" data-label="" points="150.94205868102486,177.596760498983 150.94205868102486,227.27230916212847 268.5075238504691,227.27230916212847" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.1,3 -5.1,1.2999999999999998 -2.6999999999999997,1.2999999999999998" data-type="line" data-label="" points="189.0266459894364,177.596760498983 189.0266459894364,233.89571565054786 268.5075238504691,233.89571565054786" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6,3 6,1.525 2.6999999999999997,1.525" data-type="line" data-label="" points="556.6257060967127,177.596760498983 556.6257060967127,226.44438335107603 447.3394990377927,226.44438335107603" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6999999999999997,0.775 2.9,0.775 2.9,-4.8 -7.2,-4.8" data-type="line" data-label="" points="447.3394990377927,251.28215768264874 453.96290552621207,251.28215768264874 453.96290552621207,435.9096135473393 119.48087786103275,435.9096135473393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7.15,3 7.15,0.775 2.6999999999999997,0.775" data-type="line" data-label="" points="594.7102934051242,177.596760498983 594.7102934051242,251.28215768264874 447.3394990377927,251.28215768264874" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.7,-0.8999999999999999 -4.7,0.10000000000000009 -2.6999999999999997,0.10000000000000009" data-type="line" data-label="" points="202.27345896627517,306.75318702316116 202.27345896627517,273.6361545810642 268.5075238504691,273.6361545810642" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.6999999999999997,-0.3999999999999999 -3,-0.3999999999999999 -3,-2.75 -2.55,-2.75 -2.55,-5.1" data-type="line" data-label="" points="268.5075238504691,290.1946708021127 258.57241411784,290.1946708021127 258.57241411784,368.01969704104056 273.4750787167836,368.01969704104056 273.4750787167836,445.84472327996843" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.2,-4.6 -2.55,-4.6 -2.55,-5.1" data-type="line" data-label="" points="119.48087786103275,429.2862070589199 273.4750787167836,429.2862070589199 273.4750787167836,445.84472327996843" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.6999999999999997,-0.17499999999999993 3.2749999999999995,-0.17499999999999993 3.2749999999999995,-4.8 3.8499999999999996,-4.8" data-type="line" data-label="" points="447.3394990377927,282.7433385026409 466.38179269199844,282.7433385026409 466.38179269199844,435.9096135473393 485.4240863462042,435.9096135473393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.950000000000001,-4.8 5.150000000000001,-4.8 5.150000000000001,-0.42499999999999993 2.6999999999999997,-0.42499999999999993" data-type="line" data-label="" points="521.8528220325109,435.9096135473393 528.4762285209304,435.9096135473393 528.4762285209304,291.0225966131651 447.3394990377927,291.0225966131651" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.7,1.0999999999999996 -3.7,1.0999999999999996 -3.7,-2.2 -4.7,-2.2 -4.7,-2" data-type="line" data-label="" points="268.50752385046906,240.51912213896725 235.39049140837213,240.51912213896725 235.39049140837213,349.8053291978872 202.27345896627517,349.8053291978872 202.27345896627517,343.1819227094678" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0,-1.3499999999999999 0,-1.5499999999999998 -3.7,-1.5499999999999998 -3.7,1.1 -2.6999999999999997,1.1" data-type="line" data-label="" points="357.9235114441309,321.6558516221048 357.9235114441309,328.2792581105242 235.39049140837213,328.2792581105242 235.39049140837213,240.51912213896725 268.5075238504691,240.51912213896725" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-7.2,-5 -4.7,-5 -4.7,-2" data-type="line" data-label="" points="119.48087786103275,442.5330200357587 202.27345896627517,442.5330200357587 202.27345896627517,343.1819227094678" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-2.55,-6.200000000000001 -2.55,-6.400000000000001 -4.875,-6.400000000000001 -4.875,-5 -7.2,-5" data-type="line" data-label="" points="273.4750787167836,482.27345896627514 273.4750787167836,488.89686545469453 196.4779782889082,488.89686545469453 196.4779782889082,442.5330200357587 119.48087786103275,442.5330200357587" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_0" data-x="0" data-y="0.55" x="268.5075238504691" y="195.8111283421363" width="178.83197518732356" height="125.84472327996849" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="-8.4" data-y="-4.8" x="40.00000000000003" y="422.6628005705005" width="79.48087786103275" height="26.493625953677622" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="4.4" data-y="-4.8" x="485.42408634620426" y="429.46982941285" width="36.42873568630665" height="12.879568268978574" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="-6.25" data-y="3.55" x="145.65235208614916" y="141.16802481267635" width="10.57941318975142" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="-5.1" data-y="3.55" x="183.73693939456066" y="141.16802481267635" width="10.579413189751449" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="6" data-y="3.55" x="551.335999501837" y="141.16802481267635" width="10.579413189751335" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="7.15" data-y="3.55" x="589.4205868102484" y="141.16802481267635" width="10.579413189751449" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="-4.7" data-y="-1.45" x="193.49744536911948" y="306.7531870231612" width="17.552027194311364" height="36.42873568630665" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="-2.55" data-y="-5.65" x="264.6990651196279" y="445.84472327996843" width="17.552027194311393" height="36.42873568630671" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="netId: SDA
2
2
  globalConnNetId: connectivity_net2" data-x="-6.49" data-y="2.25" x="135.04588310881832" y="199.12283158634602" width="15.896175572206545" height="6.623406488419391" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="netId: SCL
3
3
  globalConnNetId: connectivity_net3" data-x="-5.34" data-y="2.15" x="173.13047041722984" y="202.43453483055572" width="15.896175572206545" height="6.623406488419391" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="netId: PGND
4
4
  globalConnNetId: connectivity_net9" data-x="-2.55" data-y="-6.700000000000001" x="270.16337547257393" y="488.8968654546945" width="6.623406488419391" height="19.870219465258174" fill="#00000066" stroke="#000000" stroke-width="0.030195942276785723"/></g><g><rect data-type="rect" data-label="netId: C1.pin1 to U1.VDD
@@ -0,0 +1,94 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_0",
5
+ "center": { "x": 1.9975000000000005, "y": -1 },
6
+ "width": 0.845,
7
+ "height": 0.6000000000000001,
8
+ "pins": [
9
+ {
10
+ "pinId": "R1.1",
11
+ "x": 1.9000000000000004,
12
+ "y": -0.7,
13
+ "_facingDirection": "y+"
14
+ },
15
+ {
16
+ "pinId": "R1.2",
17
+ "x": 1.9000000000000004,
18
+ "y": -1.3,
19
+ "_facingDirection": "y-"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "chipId": "schematic_component_1",
25
+ "center": { "x": 2.2250000000000005, "y": 0.73 },
26
+ "width": 1.1600000000000004,
27
+ "height": 0.7599999999999998,
28
+ "pins": [
29
+ {
30
+ "pinId": "C1.1",
31
+ "x": 1.9700000000000002,
32
+ "y": 1.1099999999999999,
33
+ "_facingDirection": "y+"
34
+ },
35
+ {
36
+ "pinId": "C1.2",
37
+ "x": 1.9700000000000002,
38
+ "y": 0.3500000000000001,
39
+ "_facingDirection": "y-"
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "chipId": "schematic_component_2",
45
+ "center": { "x": 0, "y": 0 },
46
+ "width": 1.8000000000000007,
47
+ "height": 3.3,
48
+ "pins": [
49
+ {
50
+ "pinId": "HOST.pin1",
51
+ "x": 0.9000000000000004,
52
+ "y": 1.25
53
+ },
54
+ {
55
+ "pinId": "HOST.pin2",
56
+ "x": 0.9000000000000004,
57
+ "y": 0.8499999999999999
58
+ },
59
+ {
60
+ "pinId": "HOST.pin3",
61
+ "x": 0.9000000000000004,
62
+ "y": 0.44999999999999996
63
+ },
64
+ {
65
+ "pinId": "HOST.pin4",
66
+ "x": 0.9000000000000004,
67
+ "y": -1.3000000000000003
68
+ }
69
+ ]
70
+ }
71
+ ],
72
+ "directConnections": [
73
+ {
74
+ "pinIds": ["HOST.pin1", "C1.1"],
75
+ "netId": ".HOST > .pin1 to C1.pin1"
76
+ },
77
+ {
78
+ "pinIds": ["HOST.pin2", "R1.1"],
79
+ "netId": ".HOST > .pin2 to R1.pin1"
80
+ },
81
+ {
82
+ "pinIds": ["HOST.pin3", "C1.2"],
83
+ "netId": ".HOST > .pin3 to C1.pin2"
84
+ },
85
+ {
86
+ "pinIds": ["HOST.pin4", "R1.2"],
87
+ "netId": ".HOST > .pin4 to R1.pin2"
88
+ }
89
+ ],
90
+ "netConnections": [],
91
+ "textBoxes": [],
92
+ "availableNetLabelOrientations": {},
93
+ "maxMspPairDistance": 2.4
94
+ }
@@ -10,5 +10,29 @@ test("reproduces RP2040 gamepad trace routing", () => {
10
10
 
11
11
  solver.solve()
12
12
 
13
+ const finalTraces = solver
14
+ .netLabelTraceCollisionSolver!.getOutput()
15
+ .traces.filter((trace) => trace.userNetId === "GND")
16
+ const leftRailXs = new Set<number>()
17
+ const rightRailXs = new Set<number>()
18
+ for (const trace of finalTraces) {
19
+ for (let i = 0; i < trace.tracePath.length - 1; i++) {
20
+ const start = trace.tracePath[i]!
21
+ const end = trace.tracePath[i + 1]!
22
+ if (Math.abs(start.x - end.x) > 1e-6) continue
23
+ if (start.x < -1.778 - 1e-6) leftRailXs.add(start.x)
24
+ if (start.x > 1.778 + 1e-6) rightRailXs.add(start.x)
25
+ }
26
+ }
27
+
28
+ expect(leftRailXs.size).toBe(1)
29
+ expect(rightRailXs.size).toBe(1)
30
+ expect(
31
+ solver.traceCleanupSolver2!.stats.alignedRailGroupCount,
32
+ ).toBeGreaterThanOrEqual(2)
33
+ expect(
34
+ solver.traceCleanupSolver2!.stats.alignedTraceCount,
35
+ ).toBeGreaterThanOrEqual(8)
36
+
13
37
  expect(solver).toMatchSolverSnapshot(import.meta.path)
14
38
  })
@@ -0,0 +1,16 @@
1
+ import { expect, test } from "bun:test"
2
+ import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
3
+ import "tests/fixtures/matcher"
4
+ import inputProblem from "./assets/repro129-host-custom-symbol-passives.input.json"
5
+
6
+ test("repro129: HOST custom symbol routes all passive connections", () => {
7
+ const solver = new SchematicTracePipelineSolver(inputProblem as any)
8
+
9
+ solver.solve()
10
+
11
+ expect(solver.schematicTraceLinesSolver!.solvedTracePaths).toHaveLength(4)
12
+ expect(solver.schematicTraceLinesSolver!.failedConnectionPairs).toHaveLength(
13
+ 0,
14
+ )
15
+ expect(solver).toMatchSolverSnapshot(import.meta.path)
16
+ })
@@ -0,0 +1,46 @@
1
+ import { expect, test } from "bun:test"
2
+ import { MspConnectionPairSolver } from "lib/solvers/MspConnectionPairSolver/MspConnectionPairSolver"
3
+ import type { InputProblem } from "lib/types/InputProblem"
4
+
5
+ const createInputProblem = (): InputProblem => ({
6
+ chips: [
7
+ {
8
+ chipId: "U1",
9
+ center: { x: 0, y: 0 },
10
+ width: 1,
11
+ height: 1,
12
+ pins: [{ pinId: "U1.1", x: 0, y: 0, _facingDirection: "x+" }],
13
+ },
14
+ {
15
+ chipId: "U2",
16
+ center: { x: 2, y: 2 },
17
+ width: 1,
18
+ height: 1,
19
+ pins: [{ pinId: "U2.1", x: 2, y: 2, _facingDirection: "x-" }],
20
+ },
21
+ ],
22
+ directConnections: [{ pinIds: ["U1.1", "U2.1"] }],
23
+ netConnections: [],
24
+ availableNetLabelOrientations: {},
25
+ maxMspPairDistance: 3,
26
+ })
27
+
28
+ test("two-pin direct connections use Euclidean max distance", () => {
29
+ const directConnectionSolver = new MspConnectionPairSolver({
30
+ inputProblem: createInputProblem(),
31
+ })
32
+ directConnectionSolver.solve()
33
+
34
+ const netConnectionProblem = createInputProblem()
35
+ netConnectionProblem.directConnections = []
36
+ netConnectionProblem.netConnections = [
37
+ { pinIds: ["U1.1", "U2.1"], netId: "SIG" },
38
+ ]
39
+ const netConnectionSolver = new MspConnectionPairSolver({
40
+ inputProblem: netConnectionProblem,
41
+ })
42
+ netConnectionSolver.solve()
43
+
44
+ expect(directConnectionSolver.mspConnectionPairs).toHaveLength(1)
45
+ expect(netConnectionSolver.mspConnectionPairs).toHaveLength(0)
46
+ })