@tscircuit/schematic-trace-solver 0.0.121 → 0.0.123

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 (48) hide show
  1. package/dist/index.d.ts +10 -3
  2. package/dist/index.js +247 -31
  3. package/lib/solvers/RailNetLabelCornerPlacementSolver/RailNetLabelCornerPlacementSolver.ts +223 -21
  4. package/lib/solvers/RailNetLabelCornerPlacementSolver/types.ts +3 -3
  5. package/lib/solvers/SameNetJunctionAlignmentSolver/alignSameNetJunctions.ts +50 -5
  6. package/lib/solvers/SameNetJunctionAlignmentSolver/pathIntersectsAnyNetLabel.ts +29 -0
  7. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +34 -9
  8. package/package.json +1 -1
  9. package/site/bug-reports/bug-report-20260804T095800Z.page.tsx +4 -0
  10. package/site/bug-reports/bug-report-20260804T171919Z.page.tsx +4 -0
  11. package/site/bug-reports/bug-report-20260804T225912Z.page.tsx +4 -0
  12. package/tests/bug-reports/bug-report-20260706T213649Z/__snapshots__/bug-report-20260706T213649Z.snap.svg +4 -4
  13. package/tests/bug-reports/bug-report-20260706T220324Z/__snapshots__/bug-report-20260706T220324Z.snap.svg +5 -5
  14. package/tests/bug-reports/bug-report-20260717T042845Z/__snapshots__/bug-report-20260717T042845Z.snap.svg +12 -12
  15. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +2 -2
  16. package/tests/bug-reports/bug-report-20260728T144234Z/__snapshots__/bug-report-20260728T144234Z.snap.svg +2 -2
  17. package/tests/bug-reports/bug-report-20260804T095800Z/__snapshots__/bug-report-20260804T095800Z.snap.svg +135 -0
  18. package/tests/bug-reports/bug-report-20260804T095800Z/bug-report-20260804T095800Z.json +634 -0
  19. package/tests/bug-reports/bug-report-20260804T095800Z/bug-report-20260804T095800Z.test.ts +12 -0
  20. package/tests/bug-reports/bug-report-20260804T171919Z/__snapshots__/bug-report-20260804T171919Z.snap.svg +355 -0
  21. package/tests/bug-reports/bug-report-20260804T171919Z/bug-report-20260804T171919Z.json +1775 -0
  22. package/tests/bug-reports/bug-report-20260804T171919Z/bug-report-20260804T171919Z.test.ts +12 -0
  23. package/tests/bug-reports/bug-report-20260804T225912Z/__snapshots__/bug-report-20260804T225912Z.snap.svg +60 -0
  24. package/tests/bug-reports/bug-report-20260804T225912Z/bug-report-20260804T225912Z.json +148 -0
  25. package/tests/bug-reports/bug-report-20260804T225912Z/bug-report-20260804T225912Z.test.ts +12 -0
  26. package/tests/examples/__snapshots__/example12.snap.svg +2 -2
  27. package/tests/examples/__snapshots__/example13.snap.svg +4 -4
  28. package/tests/examples/__snapshots__/example14.snap.svg +36 -36
  29. package/tests/examples/__snapshots__/example31.snap.svg +6 -6
  30. package/tests/examples/__snapshots__/example43.snap.svg +2 -2
  31. package/tests/examples/__snapshots__/example44.snap.svg +2 -2
  32. package/tests/repros/__snapshots__/board-15984-same-net-junction.snap.svg +2 -2
  33. package/tests/repros/__snapshots__/bugreport-001-gnd-overlap.snap.svg +26 -26
  34. package/tests/repros/__snapshots__/netlabel-connector-through-rail-label.snap.svg +2 -2
  35. package/tests/repros/__snapshots__/repro-atmega328p-fault-pullup.snap.svg +2 -2
  36. package/tests/repros/__snapshots__/repro-atmega328p-missing-gnd-netlabel.snap.svg +2 -2
  37. package/tests/repros/__snapshots__/repro-bq25895-cross-net-trace-overlap.snap.svg +2 -2
  38. package/tests/repros/__snapshots__/repro-missing-trace-netlabel.snap.svg +18 -18
  39. package/tests/repros/__snapshots__/repro-netlabel-overlap-trace.snap.svg +3 -3
  40. package/tests/repros/__snapshots__/repro-nrf52810-clock-routing.snap.svg +82 -0
  41. package/tests/repros/__snapshots__/repro161-power-section-autolayout.snap.svg +112 -0
  42. package/tests/repros/assets/repro-nrf52810-clock-routing.input.json +234 -0
  43. package/tests/repros/assets/repro161-power-section-autolayout.input.json +578 -0
  44. package/tests/repros/repro-bq25895-cross-net-trace-overlap.test.ts +13 -0
  45. package/tests/repros/repro-missing-trace-netlabel.test.ts +12 -0
  46. package/tests/repros/repro-netlabel-overlap-trace.test.ts +38 -0
  47. package/tests/repros/repro-nrf52810-clock-routing.test.ts +28 -0
  48. package/tests/repros/repro161-power-section-autolayout.test.ts +34 -0
@@ -0,0 +1,82 @@
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="-5.4,5.1 -4.54,4.99" data-type="line" data-label="" points="150.6514356282803,277.8141401667182 180.38900895338065,281.61778326644026" fill="none" stroke="hsl(160, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-5.4,4.9 -3.46,4.99" data-type="line" data-label="" points="150.6514356282803,284.7298548934856 217.73386847792528,281.61778326644026" fill="none" stroke="hsl(256, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4.54,4.99 -5,3.3800000000000003" data-type="line" data-label="" points="180.38900895338065,281.61778326644026 164.48286508181536,337.2892868169188" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-3.46,4.99 -3,3.3800000000000003" data-type="line" data-label="" points="217.73386847792528,281.61778326644026 233.64001234949058,337.2892868169188" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="4.6,5.1 5.45,5" data-type="line" data-label="" points="496.43717196665636,277.8141401667182 525.8289595554184,281.2719975301019" fill="none" stroke="hsl(288, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="4.6,4.9 6.55,5" data-type="line" data-label="" points="496.43717196665636,284.7298548934856 563.8653905526397,281.2719975301019" fill="none" stroke="hsl(248, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="5.45,5 5,3.3800000000000003" data-type="line" data-label="" points="525.8289595554184,281.2719975301019 510.26860142019143,337.2892868169188" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="6.55,5 7,3.3800000000000003" data-type="line" data-label="" points="563.8653905526397,281.2719975301019 579.4257486878666,337.2892868169188" fill="none" stroke="hsl(192, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="-4,5.71 -4.02,4.29" data-type="line" data-label="" points="199.06143871565297,256.7212102500772 198.36986724297623,305.82278481012656" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4,5.71 -5,2.6199999999999997" data-type="line" data-label="" points="199.06143871565297,256.7212102500772 164.48286508181536,363.5690027786354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4,5.71 -3,2.6199999999999997" data-type="line" data-label="" points="199.06143871565297,256.7212102500772 233.64001234949058,363.5690027786354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.02,4.29 -5,2.6199999999999997" data-type="line" data-label="" points="198.36986724297623,305.82278481012656 164.48286508181536,363.5690027786354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-4.02,4.29 -3,2.6199999999999997" data-type="line" data-label="" points="198.36986724297623,305.82278481012656 233.64001234949058,363.5690027786354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-5,2.6199999999999997 -3,2.6199999999999997" data-type="line" data-label="" points="164.48286508181536,363.5690027786354 233.64001234949058,363.5690027786354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5,2.6199999999999997 7,2.6199999999999997" data-type="line" data-label="" points="510.26860142019143,363.5690027786354 579.4257486878666,363.5690027786354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-3.46,4.99 -3,4.99 -3,3.3800000000000003" data-type="line" data-label="" points="217.73386847792528,281.61778326644026 233.64001234949058,281.61778326644026 233.64001234949058,337.2892868169188" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.55,5 7,5 7,3.3800000000000003" data-type="line" data-label="" points="563.8653905526397,281.2719975301019 579.4257486878666,281.2719975301019 579.4257486878666,337.2892868169188" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-3,2.6199999999999997 -3,2.4199999999999995 -5,2.4199999999999995 -5,2.6199999999999997" data-type="line" data-label="" points="233.64001234949058,363.5690027786354 233.64001234949058,370.48471750540295 164.48286508181536,370.48471750540295 164.48286508181536,363.5690027786354" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7,2.6199999999999997 7,2.4199999999999995 5,2.4199999999999995 5,2.6199999999999997" data-type="line" data-label="" points="579.4257486878666,363.5690027786354 579.4257486878666,370.48471750540295 510.26860142019143,370.48471750540295 510.26860142019143,363.5690027786354" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4.54,4.99 -4.54,5.1 -4.849000000000001,5.1 -4.849000000000001,4.700000000000001 -5,4.700000000000001 -5,3.3800000000000003" data-type="line" data-label="" points="180.38900895338065,281.61778326644026 180.38900895338065,277.8141401667182 169.7042297005248,277.8141401667182 169.7042297005248,291.6455696202531 164.48286508181536,291.6455696202531 164.48286508181536,337.2892868169188" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-5.4,5.1 -4.849000000000001,5.1 -4.849000000000001,4.99 -4.54,4.99" data-type="line" data-label="" points="150.6514356282803,277.8141401667182 169.7042297005248,277.8141401667182 169.7042297005248,281.61778326644026 180.38900895338065,281.61778326644026" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5.45,5 5.45,5.1 5.150999999999999,5.1 5.150999999999999,4.700000000000001 5,4.700000000000001 5,3.3800000000000003" data-type="line" data-label="" points="525.8289595554184,281.2719975301019 525.8289595554184,277.8141401667182 515.4899660389009,277.8141401667182 515.4899660389009,291.6455696202531 510.26860142019143,291.6455696202531 510.26860142019143,337.2892868169188" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.6,5.1 5.150999999999999,5.1 5.150999999999999,5 5.45,5" data-type="line" data-label="" points="496.43717196665636,277.8141401667182 515.4899660389009,277.8141401667182 515.4899660389009,281.2719975301019 525.8289595554184,281.2719975301019" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-4,5.71 -4,5.76 -5.15,5.76 -5.15,5.659" data-type="line" data-label="" points="199.06143871565297,256.7212102500772 199.06143871565297,254.99228156838532 159.2960790367397,254.99228156838532 159.2960790367397,258.4847175054029" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="schematic_component_30" data-x="-7" data-y="5" x="40" y="270.89842543995064" width="110.6514356282803" height="20.747144180302485" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_31" data-x="-4" data-y="5" x="180.38900895338065" y="256.7212102500772" width="37.34485952454463" height="49.10157456004936" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_32" data-x="-4.9275" data-y="3" x="148.9225069465884" y="337.2892868169188" width="36.13460944736033" height="26.279715961716647" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_33" data-x="-2.9275" data-y="3" x="218.07965421426366" y="337.2892868169188" width="36.134609447360276" height="26.279715961716647" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_34" data-x="3" data-y="5" x="385.78573633837607" y="270.89842543995064" width="110.6514356282803" height="20.747144180302485" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_35" data-x="6" data-y="5" x="525.8289595554184" y="266.57610373572095" width="38.03643099722137" height="29.391787588761872" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_36" data-x="5.0725" data-y="3" x="494.70824328496445" y="337.2892868169188" width="36.134609447360276" height="26.279715961716647" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="schematic_component_37" data-x="7.0725" data-y="3" x="563.8653905526398" y="337.2892868169188" width="36.134609447360276" height="26.279715961716647" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="U1 HF Clock" data-x="-7.539999999999999" data-y="5.43" x="53.83142945353508" y="263.29113924050637" width="45.64371719666562" height="6.224143254090734" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="U1 LF Clock" data-x="2.46" data-y="5.43" x="399.6171657919111" y="263.29113924050637" width="45.64371719666565" height="6.224143254090734" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: .X1 &gt; .XTAL1 to .C1 &gt; .pin1
2
+ globalConnNetId: connectivity_net0" data-x="-4.77" data-y="5.324999999999999" x="168.9780796542143" y="262.2537820314912" width="6.915714726767504" height="15.56035813522692" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: .U1 &gt; .XC2 to .X1 &gt; .XTAL2
3
+ globalConnNetId: connectivity_net1" data-x="-5.174" data-y="4.9" x="150.68601420191413" y="281.2719975301018" width="15.560358135226892" height="6.915714726767533" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: .X1 &gt; .XTAL2 to .C2 &gt; .pin1
4
+ globalConnNetId: connectivity_net1" data-x="-3" data-y="5.215" x="230.1821549861068" y="266.05742513121334" width="6.915714726767533" height="15.56035813522692" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: GND
5
+ globalConnNetId: connectivity_net4" data-x="-5.15" data-y="5.449" x="150.99722136461867" y="258.4847175054029" width="16.59771534424206" height="14.523000926211807" fill="#00000066" stroke="#000000" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: GND
6
+ globalConnNetId: connectivity_net4" data-x="-4.02" data-y="4.079" x="190.0710095708552" y="305.85736338376046" width="16.59771534424206" height="14.523000926211807" fill="#00000066" stroke="#000000" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: GND
7
+ globalConnNetId: connectivity_net4" data-x="-3" data-y="2.2099999999999995" x="225.34115467736956" y="370.48471750540295" width="16.597715344242033" height="14.52300092621175" fill="#00000066" stroke="#000000" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: GND
8
+ globalConnNetId: connectivity_net4" data-x="7" data-y="2.2099999999999995" x="571.1268910157456" y="370.48471750540295" width="16.597715344242033" height="14.52300092621175" fill="#00000066" stroke="#000000" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: .X2 &gt; .OSC1 to .C11 &gt; .pin1
9
+ globalConnNetId: connectivity_net2" data-x="5.225" data-y="5.324999999999999" x="514.5909231244211" y="262.2537820314912" width="6.915714726767533" height="15.56035813522692" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: .U1 &gt; .XL2 to .X2 &gt; .OSC2
10
+ globalConnNetId: connectivity_net3" data-x="4.826" data-y="4.9" x="496.47175054029026" y="281.2719975301018" width="15.560358135226807" height="6.915714726767533" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.028919642857142856"/></g><g><rect data-type="rect" data-label="netId: .X2 &gt; .OSC2 to .C12 &gt; .pin1
11
+ globalConnNetId: connectivity_net3" data-x="7" data-y="5.225" x="575.9678913244829" y="265.71163939487496" width="6.915714726767419" height="15.56035813522692" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.028919642857142856"/></g><g><circle data-type="point" data-label="schematic_port_38
12
+ x+" data-x="-5.4" data-y="5.1" cx="150.6514356282803" cy="277.8141401667182" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_39
13
+ x+" data-x="-5.4" data-y="4.9" cx="150.6514356282803" cy="284.7298548934856" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_40
14
+ y+" data-x="-4" data-y="5.71" cx="199.06143871565297" cy="256.7212102500772" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_41
15
+ y-" data-x="-4.02" data-y="4.29" cx="198.36986724297623" cy="305.82278481012656" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_42
16
+ x-" data-x="-4.54" data-y="4.99" cx="180.38900895338065" cy="281.61778326644026" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_43
17
+ x+" data-x="-3.46" data-y="4.99" cx="217.73386847792528" cy="281.61778326644026" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_175
18
+ y+" data-x="-5" data-y="3.3800000000000003" cx="164.48286508181536" cy="337.2892868169188" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_176
19
+ y-" data-x="-5" data-y="2.6199999999999997" cx="164.48286508181536" cy="363.5690027786354" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_177
20
+ y+" data-x="-3" data-y="3.3800000000000003" cx="233.64001234949058" cy="337.2892868169188" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_178
21
+ y-" data-x="-3" data-y="2.6199999999999997" cx="233.64001234949058" cy="363.5690027786354" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_44
22
+ x+" data-x="4.6" data-y="5.1" cx="496.43717196665636" cy="277.8141401667182" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_45
23
+ x+" data-x="4.6" data-y="4.9" cx="496.43717196665636" cy="284.7298548934856" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_46
24
+ x-" data-x="5.45" data-y="5" cx="525.8289595554184" cy="281.2719975301019" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_47
25
+ x+" data-x="6.55" data-y="5" cx="563.8653905526397" cy="281.2719975301019" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_181
26
+ y+" data-x="5" data-y="3.3800000000000003" cx="510.26860142019143" cy="337.2892868169188" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_182
27
+ y-" data-x="5" data-y="2.6199999999999997" cx="510.26860142019143" cy="363.5690027786354" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_183
28
+ y+" data-x="7" data-y="3.3800000000000003" cx="579.4257486878666" cy="337.2892868169188" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_184
29
+ y-" data-x="7" data-y="2.6199999999999997" cx="579.4257486878666" cy="363.5690027786354" r="3" fill="hsl(136, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
30
+ orientation: y+" data-x="-4.77" data-y="5.1" cx="172.43593701759804" cy="277.8141401667182" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
31
+ orientation: x+" data-x="-5.4" data-y="4.9" cx="150.6514356282803" cy="284.7298548934856" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
32
+ orientation: y+" data-x="-3" data-y="4.99" cx="233.64001234949058" cy="281.61778326644026" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
33
+ orientation: y-" data-x="-5.15" data-y="5.659" cx="159.2960790367397" cy="258.4847175054029" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
34
+ orientation: y-" data-x="-4.02" data-y="4.29" cx="198.36986724297623" cy="305.82278481012656" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
35
+ orientation: y-" data-x="-3" data-y="2.4199999999999995" cx="233.64001234949058" cy="370.48471750540295" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
36
+ orientation: y-" data-x="7" data-y="2.4199999999999995" cx="579.4257486878666" cy="370.48471750540295" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
37
+ orientation: y+" data-x="5.225" data-y="5.1" cx="518.0487804878048" cy="277.8141401667182" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
38
+ orientation: x+" data-x="4.6" data-y="4.9" cx="496.43717196665636" cy="284.7298548934856" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
39
+ orientation: y+" data-x="7" data-y="5" cx="579.4257486878666" cy="281.2719975301019" 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[
40
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
41
+ const svg = e.currentTarget;
42
+ const rect = svg.getBoundingClientRect();
43
+ const x = e.clientX - rect.left;
44
+ const y = e.clientY - rect.top;
45
+ const crosshair = svg.getElementById('crosshair');
46
+ const h = svg.getElementById('crosshair-h');
47
+ const v = svg.getElementById('crosshair-v');
48
+ const coords = svg.getElementById('coordinates');
49
+
50
+ crosshair.style.display = 'block';
51
+ h.setAttribute('x1', '0');
52
+ h.setAttribute('x2', '640');
53
+ h.setAttribute('y1', y);
54
+ h.setAttribute('y2', y);
55
+ v.setAttribute('x1', x);
56
+ v.setAttribute('x2', x);
57
+ v.setAttribute('y1', '0');
58
+ v.setAttribute('y2', '640');
59
+
60
+ // Calculate real coordinates using inverse transformation
61
+ const matrix = {"a":34.57857363383761,"c":0,"e":337.3757332510034,"b":0,"d":-34.57857363383761,"f":454.1648656992899};
62
+ // Manually invert and apply the affine transform
63
+ // Since we only use translate and scale, we can directly compute:
64
+ // x' = (x - tx) / sx
65
+ // y' = (y - ty) / sy
66
+ const sx = matrix.a;
67
+ const sy = matrix.d;
68
+ const tx = matrix.e;
69
+ const ty = matrix.f;
70
+ const realPoint = {
71
+ x: (x - tx) / sx,
72
+ y: (y - ty) / sy // Flip y back since we used negative scale
73
+ }
74
+
75
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
76
+ coords.setAttribute('x', (x + 5).toString());
77
+ coords.setAttribute('y', (y - 5).toString());
78
+ });
79
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
80
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
81
+ });
82
+ ]]></script></svg>
@@ -0,0 +1,112 @@
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="3.65,-3.3050000000000015 4.72,-3.4250000000000007" data-type="line" data-label="" points="277.90193063386295,375.58858704937643 329.0893558858705,381.3292328720314" fill="none" stroke="hsl(136, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="9.62,-4.105000000000002 9.62,-4.780000000000001" data-type="line" data-label="" points="563.4990603109517,413.8595592004101 563.4990603109517,446.15069195284474" fill="none" stroke="hsl(304, 100%, 50%, 0.8)" stroke-width="1px"/></g><g><polyline data-points="1.25,1.4000000000000001 1.25,1.2" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 163.08901418076195,160.075175123868" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.4000000000000001 5.545,-0.8650000000000013" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 368.556295916624,258.86212198872374" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.4000000000000001 2.46,-0.7500000000000013" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 220.97385955920038,253.36066974201265" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.4000000000000001 2.795,1.7099999999999986" data-type="line" data-label="" points="163.08901418076195,150.5074320861096 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.2 5.545,-0.8650000000000013" data-type="line" data-label="" points="163.08901418076195,160.075175123868 368.556295916624,258.86212198872374" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.2 2.46,-0.7500000000000013" data-type="line" data-label="" points="163.08901418076195,160.075175123868 220.97385955920038,253.36066974201265" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,1.2 2.795,1.7099999999999986" data-type="line" data-label="" points="163.08901418076195,160.075175123868 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.545,-0.8650000000000013 2.46,-0.7500000000000013" data-type="line" data-label="" points="368.556295916624,258.86212198872374 220.97385955920038,253.36066974201265" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="5.545,-0.8650000000000013 2.795,1.7099999999999986" data-type="line" data-label="" points="368.556295916624,258.86212198872374 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.46,-0.7500000000000013 2.795,1.7099999999999986" data-type="line" data-label="" points="220.97385955920038,253.36066974201265 236.99982914744572,135.67743037758413" fill="none" stroke="hsl(199, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,0.2999999999999998 1.25,0.09999999999999987" data-type="line" data-label="" points="163.08901418076195,203.1300187937809 163.08901418076195,212.6977618315393" fill="none" stroke="hsl(28, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-0.10000000000000009 1.25,-0.30000000000000004" data-type="line" data-label="" points="163.08901418076195,222.26550486929773 163.08901418076195,231.83324790705615" fill="none" stroke="hsl(25, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 1.25,-1.4000000000000001" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 163.08901418076195,284.45583461472745" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 -0.37500000000000006,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 85.3511019989748,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 -0.17500000000000004,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 94.91884503673322,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 0.024999999999999967,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 0.22500000000000003,-2" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 2.795,1.1099999999999985" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 1.65,-3.2050000000000014" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 4.92,0.5999999999999988" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 4.72,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 9.62,-5.910000000000002" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.2000000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="163.08901418076195,274.88809157696903 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 -0.37500000000000006,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 85.3511019989748,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 -0.17500000000000004,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 94.91884503673322,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 0.024999999999999967,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 0.22500000000000003,-2" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 2.795,1.1099999999999985" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 1.65,-3.2050000000000014" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 4.92,0.5999999999999988" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 4.72,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 9.62,-5.910000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.25,-1.4000000000000001 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 -0.17500000000000004,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 94.91884503673322,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 0.024999999999999967,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 0.22500000000000003,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.37500000000000006,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 0.024999999999999967,-2" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 104.48658807449164,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 0.22500000000000003,-2" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="-0.17500000000000004,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 0.22500000000000003,-2" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 114.05433111225005,313.1590637280027" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.024999999999999967,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 2.795,1.1099999999999985" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 236.99982914744572,164.3806594908594" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 1.65,-3.2050000000000014" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 4.92,0.5999999999999988" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 4.72,-4.185000000000002" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 9.62,-5.910000000000002" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="0.22500000000000003,-2 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 1.65,-3.2050000000000014" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 182.22450025627876,370.8047155304972" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 4.92,0.5999999999999988" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 4.72,-4.185000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 9.62,-5.910000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="2.795,1.1099999999999985 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 4.92,0.5999999999999988" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 338.6570989236289,188.77840423714332" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 4.72,-4.185000000000002" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 9.62,-5.910000000000002" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.2050000000000014 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 4.72,-4.185000000000002" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 329.0893558858705,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 9.62,-5.910000000000002" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,0.5999999999999988 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 404.196138732274,418.16504356740137" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 9.62,-5.910000000000002" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.72,-4.185000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="404.196138732274,418.16504356740137 469.73517854091915,417.68665641551354" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 9.62,-5.910000000000002" data-type="line" data-label="" points="404.196138732274,418.16504356740137 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="404.196138732274,418.16504356740137 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="7.659999999999999,-4.185000000000002 9.62,-5.910000000000002" data-type="line" data-label="" points="469.73517854091915,417.68665641551354 563.4990603109517,500.2084401161798" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="7.659999999999999,-4.185000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="469.73517854091915,417.68665641551354 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="9.62,-5.910000000000002 0.19500000000000026,-7.574999999999998" data-type="line" data-label="" points="563.4990603109517,500.2084401161798 112.61916965658631,579.8599009055185" fill="none" stroke="hsl(157, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 3.19,-1.2000000000000015" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 255.8961216470186,274.8880915769691" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 1.65,-3.0050000000000012" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 182.22450025627876,361.2369724927388" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 4.92,1.3599999999999988" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 338.6570989236289,152.42098069366133" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.504999999999999,-0.8650000000000013 4.675,3.089999999999998" data-type="line" data-label="" points="318.8040321202801,258.86212198872374 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.19,-1.2000000000000015 1.65,-3.0050000000000012" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 182.22450025627876,361.2369724927388" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.19,-1.2000000000000015 4.92,1.3599999999999988" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 338.6570989236289,152.42098069366133" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.19,-1.2000000000000015 4.675,3.089999999999998" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.0050000000000012 4.92,1.3599999999999988" data-type="line" data-label="" points="182.22450025627876,361.2369724927388 338.6570989236289,152.42098069366133" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.0050000000000012 4.675,3.089999999999998" data-type="line" data-label="" points="182.22450025627876,361.2369724927388 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="4.92,1.3599999999999988 4.675,3.089999999999998" data-type="line" data-label="" points="338.6570989236289,152.42098069366133 326.93661370237487,69.66000341705106" fill="none" stroke="hsl(170, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="1.65,-3.4050000000000016 0.1950000000000003,-6.814999999999999" data-type="line" data-label="" points="182.22450025627876,380.37245856825564 112.61916965658631,543.5024773620365" fill="none" stroke="hsl(345, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.1050000000000013 6.289999999999999,-3.415000000000002" data-type="line" data-label="" points="277.90193063386295,366.020844011618 404.196138732274,380.8508457201436" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.1050000000000013 7.659999999999999,-3.4250000000000007" data-type="line" data-label="" points="277.90193063386295,366.020844011618 469.73517854091915,381.3292328720314" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.1050000000000013 9.62,-3.505000000000001" data-type="line" data-label="" points="277.90193063386295,366.020844011618 563.4990603109517,385.15633008713485" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-3.415000000000002 7.659999999999999,-3.4250000000000007" data-type="line" data-label="" points="404.196138732274,380.8508457201436 469.73517854091915,381.3292328720314" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="6.289999999999999,-3.415000000000002 9.62,-3.505000000000001" data-type="line" data-label="" points="404.196138732274,380.8508457201436 563.4990603109517,385.15633008713485" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="7.659999999999999,-3.4250000000000007 9.62,-3.505000000000001" data-type="line" data-label="" points="469.73517854091915,381.3292328720314 563.4990603109517,385.15633008713485" fill="none" stroke="hsl(154, 100%, 50%, 0.8)" stroke-width="1px" stroke-dasharray="4 2"/></g><g><polyline data-points="3.65,-3.3050000000000015 4.72,-3.3050000000000015 4.72,-3.4250000000000007" data-type="line" data-label="" points="277.90193063386295,375.58858704937643 329.0893558858705,375.58858704937643 329.0893558858705,381.3292328720314" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.62,-4.105000000000002 9.62,-4.780000000000001" data-type="line" data-label="" points="563.4990603109517,413.8595592004101 563.4990603109517,446.15069195284474" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,1.2 1.45,1.2 1.45,1.4000000000000001 1.25,1.4000000000000001" data-type="line" data-label="" points="163.08901418076195,160.075175123868 172.65675721852034,160.075175123868 172.65675721852034,150.5074320861096 163.08901418076195,150.5074320861096" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.795,1.7099999999999986 2.795,1.9099999999999986 1.45,1.9099999999999986 1.45,1.4000000000000001 1.25,1.4000000000000001" data-type="line" data-label="" points="236.99982914744572,135.67743037758413 236.99982914744572,126.1096873398257 172.65675721852034,126.1096873398257 172.65675721852034,150.5074320861096 163.08901418076195,150.5074320861096" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.46,-0.7500000000000013 2.1599999999999997,-0.7500000000000013 2.1599999999999997,1.9099999999999986 2.795,1.9099999999999986 2.795,1.7099999999999986" data-type="line" data-label="" points="220.97385955920038,253.36066974201265 206.62224500256272,253.36066974201265 206.62224500256272,126.1096873398257 236.99982914744572,126.1096873398257 236.99982914744572,135.67743037758413" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="5.545,-0.8650000000000013 5.745,-0.8650000000000013 5.745,-1.3350000000000013 2.1599999999999997,-1.3350000000000013 2.1599999999999997,-0.7500000000000013 2.46,-0.7500000000000013" data-type="line" data-label="" points="368.556295916624,258.86212198872374 378.1240389543824,258.86212198872374 378.1240389543824,281.346318127456 206.62224500256272,281.346318127456 206.62224500256272,253.36066974201265 220.97385955920038,253.36066974201265" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,0.2999999999999998 1.45,0.2999999999999998 1.45,0.09999999999999987 1.25,0.09999999999999987" data-type="line" data-label="" points="163.08901418076195,203.1300187937809 172.65675721852034,203.1300187937809 172.65675721852034,212.6977618315393 163.08901418076195,212.6977618315393" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,-0.10000000000000009 1.45,-0.10000000000000009 1.45,-0.30000000000000004 1.25,-0.30000000000000004" data-type="line" data-label="" points="163.08901418076195,222.26550486929773 172.65675721852034,222.26550486929773 172.65675721852034,231.83324790705615 163.08901418076195,231.83324790705615" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.25,-1.4000000000000001 1.45,-1.4000000000000001 1.45,-1.2000000000000002 1.25,-1.2000000000000002" data-type="line" data-label="" points="163.08901418076195,284.45583461472745 172.65675721852034,284.45583461472745 172.65675721852034,274.88809157696903 163.08901418076195,274.88809157696903" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.22500000000000003,-2 0.22500000000000003,-2.2 1.35,-2.2 1.35,-1.4000000000000004 1.25,-1.4000000000000004" data-type="line" data-label="" points="114.05433111225005,313.1590637280027 114.05433111225005,322.7268067657611 167.87288569964116,322.7268067657611 167.87288569964116,284.45583461472745 163.08901418076195,284.45583461472745" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="0.024999999999999967,-2 0.024999999999999967,-2.2 0.22500000000000014,-2.2 0.22500000000000014,-2" data-type="line" data-label="" points="104.48658807449164,313.1590637280027 104.48658807449164,322.7268067657611 114.05433111225005,322.7268067657611 114.05433111225005,313.1590637280027" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.17500000000000004,-2 -0.17500000000000004,-2.2 0.025000000000000133,-2.2 0.025000000000000133,-2" data-type="line" data-label="" points="94.91884503673322,313.1590637280027 94.91884503673322,322.7268067657611 104.48658807449164,322.7268067657611 104.48658807449164,313.1590637280027" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-0.37500000000000006,-2 -0.37500000000000006,-2.2 -0.17499999999999988,-2.2 -0.17499999999999988,-2" data-type="line" data-label="" points="85.3511019989748,313.1590637280027 85.3511019989748,322.7268067657611 94.91884503673322,322.7268067657611 94.91884503673322,313.1590637280027" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.65,-3.2050000000000014 1.45,-3.2050000000000014 1.45,-1.4000000000000001 1.25,-1.4000000000000001" data-type="line" data-label="" points="182.22450025627876,370.8047155304972 172.65675721852034,370.8047155304972 172.65675721852034,284.45583461472745 163.08901418076195,284.45583461472745" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="2.795,1.1099999999999985 2.795,0.5049999999999986 2.36,0.5049999999999986 2.36,-1.2000000000000002 1.25,-1.2000000000000002" data-type="line" data-label="" points="236.99982914744572,164.3806594908594 236.99982914744572,193.3230821800786 216.18998804032117,193.3230821800786 216.18998804032117,274.88809157696903 163.08901418076195,274.88809157696903" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.72,-4.185000000000002 4.72,-4.3850000000000025 1.45,-4.3850000000000025 1.45,-3.2050000000000014 1.65,-3.2050000000000014" data-type="line" data-label="" points="329.0893558858705,417.68665641551354 329.0893558858705,427.25439945327196 172.65675721852034,427.25439945327196 172.65675721852034,370.8047155304972 182.22450025627876,370.8047155304972" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.289999999999999,-4.195000000000001 6.289999999999999,-4.395000000000001 4.72,-4.395000000000001 4.72,-4.185000000000002" data-type="line" data-label="" points="404.196138732274,418.16504356740137 404.196138732274,427.73278660515984 329.0893558858705,427.73278660515984 329.0893558858705,417.68665641551354" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7.659999999999999,-4.185000000000002 7.659999999999999,-4.395000000000001 6.289999999999999,-4.395000000000001 6.289999999999999,-4.195000000000001" data-type="line" data-label="" points="469.73517854091915,417.68665641551354 469.73517854091915,427.73278660515984 404.196138732274,427.73278660515984 404.196138732274,418.16504356740137" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.62,-5.910000000000001 9.62,-6.11 7.659999999999999,-6.11 7.659999999999999,-4.185000000000002" data-type="line" data-label="" points="563.4990603109517,500.2084401161798 563.4990603109517,509.7761831539382 469.73517854091915,509.7761831539382 469.73517854091915,417.68665641551354" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.19,-1.2000000000000015 3.19,-1.4000000000000017 4.304999999999999,-1.4000000000000017 4.304999999999999,-0.8650000000000011 4.504999999999999,-0.8650000000000011" data-type="line" data-label="" points="255.8961216470186,274.8880915769691 255.8961216470186,284.4558346147275 309.2362890825217,284.4558346147275 309.2362890825217,258.86212198872374 318.8040321202801,258.86212198872374" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.92,1.3599999999999988 4.92,1.5599999999999987 4.304999999999999,1.5599999999999987 4.304999999999999,-0.8650000000000013 4.504999999999999,-0.8650000000000013" data-type="line" data-label="" points="338.6570989236289,152.42098069366133 338.6570989236289,142.85323765590294 309.2362890825217,142.85323765590294 309.2362890825217,258.86212198872374 318.8040321202801,258.86212198872374" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.65,-3.0050000000000012 1.55,-3.0050000000000012 1.55,-1.4000000000000017 3.19,-1.4000000000000017 3.19,-1.2000000000000015" data-type="line" data-label="" points="182.22450025627876,361.2369724927388 177.44062873739955,361.2369724927388 177.44062873739955,284.4558346147275 255.8961216470186,284.4558346147275 255.8961216470186,274.8880915769691" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="1.6499999999999995,-3.4050000000000016 0.1950000000000003,-3.4050000000000016 0.1950000000000003,-6.814999999999999" data-type="line" data-label="" points="182.22450025627876,380.37245856825564 112.61916965658631,380.37245856825564 112.61916965658631,543.5024773620365" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="6.289999999999999,-3.415000000000002 6.289999999999999,-3.1050000000000013 3.65,-3.1050000000000013" data-type="line" data-label="" points="404.196138732274,380.8508457201436 404.196138732274,366.020844011618 277.90193063386295,366.020844011618" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="7.659999999999999,-3.4250000000000007 7.659999999999999,-3.1050000000000013 6.289999999999999,-3.1050000000000013 6.289999999999999,-3.415000000000002" data-type="line" data-label="" points="469.73517854091915,381.3292328720314 469.73517854091915,366.020844011618 404.196138732274,366.020844011618 404.196138732274,380.8508457201436" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="9.62,-3.505000000000001 9.62,-3.1050000000000013 7.659999999999999,-3.1050000000000013 7.659999999999999,-3.4250000000000007" data-type="line" data-label="" points="563.4990603109517,385.15633008713485 563.4990603109517,366.020844011618 469.73517854091915,366.020844011618 469.73517854091915,381.3292328720314" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.675,3.089999999999998 4.675,3.2899999999999983 4.304999999999999,3.2899999999999983 4.304999999999999,1.5599999999999987" data-type="line" data-label="" points="326.93661370237487,69.66000341705106 326.93661370237487,60.09226037929264 309.2362890825217,60.09226037929264 309.2362890825217,142.85323765590294" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="4.92,0.5999999999999988 4.92,0.3999999999999986 3.38,0.3999999999999986 3.38,0.5049999999999986 2.795,0.5049999999999986 2.795,1.1099999999999985" data-type="line" data-label="" points="338.6570989236289,188.77840423714332 338.6570989236289,198.34614727490174 264.9854775328891,198.34614727490174 264.9854775328891,193.3230821800786 236.99982914744572,193.3230821800786 236.99982914744572,164.3806594908594" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="3.1799999999999997,-0.10000000000000131 3.1799999999999997,0.0509999999999987 3.129,0.0509999999999987" data-type="line" data-label="" points="255.41773449513065,222.26550486929779 255.41773449513065,215.04185887579018 252.97796002050228,215.04185887579018" 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="43.492226208781716" y="121.80420297283433" width="119.59678797198023" height="191.35486075516837" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_1" data-x="5.0249999999999995" data-y="-0.7950000000000014" x="318.8040321202801" y="239.24824876131902" width="49.75226379634387" height="32.53032632837861" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_2" data-x="2.88" data-y="-0.6500000000000015" x="220.97385955920038" y="222.26550486929779" width="40.184520758585336" height="52.6225867076713" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_3" data-x="3.0125" data-y="1.4099999999999986" x="221.45224671108826" y="135.67743037758413" width="51.90500597983947" height="28.703229113275256" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_4" data-x="2.65" data-y="-3.2050000000000014" x="182.22450025627876" y="351.6692294549804" width="95.67743037758419" height="38.270972151033675" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_5" data-x="5.055" data-y="0.9799999999999988" x="323.10951648727143" y="152.42098069366136" width="44.01161797368877" height="36.357423543481985" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_6" data-x="4.914999999999999" data-y="-3.8050000000000015" x="313.541773449513" y="381.3292328720314" width="49.752263796343755" height="36.35742354348213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_7" data-x="6.464999999999999" data-y="-3.8050000000000015" x="377.8848453784384" y="380.8508457201436" width="69.36613702374848" height="37.31419784725779" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_8" data-x="7.794999999999999" data-y="-3.8050000000000015" x="454.1875961045618" y="381.3292328720314" width="44.01161797368866" height="36.35742354348213" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_9" data-x="9.8025" data-y="-5.3450000000000015" x="547.9514778745943" y="446.15069195284474" width="48.55629591662398" height="54.05774816333508" fill="hsl(24, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_10" data-x="9.7775" data-y="-3.8050000000000015" x="547.9514778745943" y="385.15633008713485" width="46.16436015718432" height="28.703229113275256" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_11" data-x="0.19500000000000028" data-y="-7.1949999999999985" x="100.65949085938828" y="543.5024773620364" width="23.919357594396047" height="36.357423543482014" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="schematic_component_12" data-x="4.8925" data-y="2.7899999999999983" x="311.38903126601735" y="69.66000341705106" width="51.90500597983953" height="28.703229113275242" fill="hsl(320, 100%, 50%, 0.8)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="J1" data-x="1.07" data-y="1.7149999999999999" x="145.8670767127968" y="129.4583974030411" width="17.221937467965148" height="11.959678797198023" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="MIC5219_3_3YM5_TR" data-x="3.07" data-y="-3.735000000000001" x="201.35998633179557" y="391.8537502135657" width="97.5909789851359" height="8.610968733982588" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="U3" data-x="2.17" data-y="-2.6900000000000013" x="198.48966342046805" y="340.1879378096703" width="17.221937467965148" height="11.959678797197967" fill="rgba(160, 0, 220, 0.14)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: V5
2
+ globalConnNetId: connectivity_net2" data-x="2.795" data-y="2.1199999999999988" x="228.38886041346314" y="106.01742696053302" width="17.221937467965148" height="20.092260379292682" fill="#ef444466" stroke="#ef4444" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: DP
3
+ globalConnNetId: connectivity_net3" data-x="1.63" data-y="0.2999999999999998" x="172.65675721852034" y="198.34614727490168" width="17.221937467965176" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: DM
4
+ globalConnNetId: connectivity_net4" data-x="1.63" data-y="-0.10000000000000009" x="172.65675721852034" y="217.48163335041852" width="17.221937467965176" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: GND
5
+ globalConnNetId: connectivity_net5" data-x="9.62" data-y="-6.32" x="552.0177686656416" y="509.7761831539381" width="22.96258329062016" height="20.092260379292725" fill="#00000066" stroke="#000000" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: GND
6
+ globalConnNetId: connectivity_net5" data-x="0.19500000000000026" data-y="-7.785999999999999" x="101.1378780112762" y="579.9077396207073" width="22.962583290620202" height="20.09226037929261" fill="#00000066" stroke="#000000" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: VBUS
7
+ globalConnNetId: connectivity_net6" data-x="4.675" data-y="3.4999999999999982" x="312.58499914573724" y="39.99999999999997" width="28.7032291132752" height="20.092260379292668" fill="#ef444466" stroke="#ef4444" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: BATT
8
+ globalConnNetId: connectivity_net7" data-x="2.829" data-y="0.0509999999999987" x="224.27473090722702" y="210.25798735691097" width="28.703229113275256" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: LDO_EN
9
+ globalConnNetId: connectivity_net8" data-x="-0.22499999999999967" data-y="-3.4050000000000016" x="72.43464889800094" y="375.58858704937643" width="40.184520758585364" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: .U3 &gt; .BYP to .C2 &gt; .pin1
10
+ globalConnNetId: connectivity_net0" data-x="4.944999999999999" data-y="-3.3050000000000015" x="329.0893558858705" y="370.8047155304972" width="21.527421834956385" height="9.567743037758419" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: V3V3
11
+ globalConnNetId: connectivity_net9" data-x="6.289999999999999" data-y="-2.8950000000000014" x="389.84452417563637" y="345.9285836323254" width="28.703229113275256" height="20.092260379292668" fill="#ef444466" stroke="#ef4444" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: .R1 &gt; .pin1 to .LED1 &gt; .cathode
12
+ globalConnNetId: connectivity_net1" data-x="9.844999999999999" data-y="-4.442500000000002" x="563.4990603109517" y="425.2212540577483" width="21.527421834956385" height="9.567743037758362" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><rect data-type="rect" data-label="netId: LDO_H
13
+ globalConnNetId: connectivity_net10" data-x="4.675" data-y="2.1289999999999987" x="322.15274218349566" y="98.4110712455151" width="9.567743037758362" height="34.44387493593028" fill="hsl(80, 100%, 50%, 0.35)" stroke="black" stroke-width="0.020903571428571424"/></g><g><circle data-type="point" data-label="schematic_port_0
14
+ x+" data-x="1.25" data-y="1.4000000000000001" cx="163.08901418076195" cy="150.5074320861096" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_1
15
+ x+" data-x="1.25" data-y="1.2" cx="163.08901418076195" cy="160.075175123868" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_2
16
+ x+" data-x="1.25" data-y="0.8499999999999999" cx="163.08901418076195" cy="176.81872543994524" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_3
17
+ x+" data-x="1.25" data-y="0.6499999999999997" cx="163.08901418076195" cy="186.3864684777037" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_4
18
+ x+" data-x="1.25" data-y="0.2999999999999998" cx="163.08901418076195" cy="203.1300187937809" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_5
19
+ x+" data-x="1.25" data-y="0.09999999999999987" cx="163.08901418076195" cy="212.6977618315393" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_6
20
+ x+" data-x="1.25" data-y="-0.10000000000000009" cx="163.08901418076195" cy="222.26550486929773" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_7
21
+ x+" data-x="1.25" data-y="-0.30000000000000004" cx="163.08901418076195" cy="231.83324790705615" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_8
22
+ x+" data-x="1.25" data-y="-0.6500000000000001" cx="163.08901418076195" cy="248.57679822313338" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_9
23
+ x+" data-x="1.25" data-y="-0.8500000000000001" cx="163.08901418076195" cy="258.1445412608918" r="3" fill="hsl(248, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_10
24
+ x+" data-x="1.25" data-y="-1.2000000000000002" cx="163.08901418076195" cy="274.88809157696903" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_11
25
+ x+" data-x="1.25" data-y="-1.4000000000000001" cx="163.08901418076195" cy="284.45583461472745" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_12
26
+ y-" data-x="-0.37500000000000006" data-y="-2" cx="85.3511019989748" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_13
27
+ y-" data-x="-0.17500000000000004" data-y="-2" cx="94.91884503673322" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_14
28
+ y-" data-x="0.024999999999999967" data-y="-2" cx="104.48658807449164" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_15
29
+ y-" data-x="0.22500000000000003" data-y="-2" cx="114.05433111225005" cy="313.1590637280027" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_16
30
+ x-" data-x="4.504999999999999" data-y="-0.8650000000000013" cx="318.8040321202801" cy="258.86212198872374" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_17
31
+ x+" data-x="5.545" data-y="-0.8650000000000013" cx="368.556295916624" cy="258.86212198872374" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_18
32
+ y+" data-x="3.1799999999999997" data-y="-0.10000000000000131" cx="255.41773449513065" cy="222.26550486929779" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_19
33
+ y-" data-x="3.19" data-y="-1.2000000000000015" cx="255.8961216470186" cy="274.8880915769691" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_20
34
+ x-" data-x="2.46" data-y="-0.7500000000000013" cx="220.97385955920038" cy="253.36066974201265" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_21
35
+ y+" data-x="2.795" data-y="1.7099999999999986" cx="236.99982914744572" cy="135.67743037758413" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_22
36
+ y-" data-x="2.795" data-y="1.1099999999999985" cx="236.99982914744572" cy="164.3806594908594" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_23
37
+ x-" data-x="1.65" data-y="-3.0050000000000012" cx="182.22450025627876" cy="361.2369724927388" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_24
38
+ x-" data-x="1.65" data-y="-3.2050000000000014" cx="182.22450025627876" cy="370.8047155304972" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_25
39
+ x-" data-x="1.65" data-y="-3.4050000000000016" cx="182.22450025627876" cy="380.37245856825564" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_26
40
+ x+" data-x="3.65" data-y="-3.3050000000000015" cx="277.90193063386295" cy="375.58858704937643" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_27
41
+ x+" data-x="3.65" data-y="-3.1050000000000013" cx="277.90193063386295" cy="366.020844011618" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_28
42
+ y+" data-x="4.92" data-y="1.3599999999999988" cx="338.6570989236289" cy="152.42098069366133" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_29
43
+ y-" data-x="4.92" data-y="0.5999999999999988" cx="338.6570989236289" cy="188.77840423714332" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_30
44
+ y+" data-x="4.72" data-y="-3.4250000000000007" cx="329.0893558858705" cy="381.3292328720314" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_31
45
+ y-" data-x="4.72" data-y="-4.185000000000002" cx="329.0893558858705" cy="417.68665641551354" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_32
46
+ y-" data-x="6.289999999999999" data-y="-4.195000000000001" cx="404.196138732274" cy="418.16504356740137" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_33
47
+ y+" data-x="6.289999999999999" data-y="-3.415000000000002" cx="404.196138732274" cy="380.8508457201436" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_34
48
+ y+" data-x="7.659999999999999" data-y="-3.4250000000000007" cx="469.73517854091915" cy="381.3292328720314" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_35
49
+ y-" data-x="7.659999999999999" data-y="-4.185000000000002" cx="469.73517854091915" cy="417.68665641551354" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_36
50
+ y-" data-x="9.62" data-y="-5.910000000000002" cx="563.4990603109517" cy="500.2084401161798" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_37
51
+ y+" data-x="9.62" data-y="-4.780000000000001" cx="563.4990603109517" cy="446.15069195284474" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_38
52
+ y-" data-x="9.62" data-y="-4.105000000000002" cx="563.4990603109517" cy="413.8595592004101" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_39
53
+ y+" data-x="9.62" data-y="-3.505000000000001" cx="563.4990603109517" cy="385.15633008713485" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_40
54
+ y-" data-x="0.19500000000000026" data-y="-7.574999999999998" cx="112.61916965658631" cy="579.8599009055185" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_41
55
+ y+" data-x="0.1950000000000003" data-y="-6.814999999999999" cx="112.61916965658631" cy="543.5024773620365" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_42
56
+ y+" data-x="4.675" data-y="3.089999999999998" cx="326.93661370237487" cy="69.66000341705106" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="schematic_port_43
57
+ y-" data-x="4.675" data-y="2.4899999999999984" cx="326.93661370237487" cy="98.3632325303263" r="3" fill="hsl(184, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
58
+ orientation: y+" data-x="2.795" data-y="1.9099999999999986" cx="236.99982914744572" cy="126.1096873398257" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
59
+ orientation: x+" data-x="1.45" data-y="0.2999999999999998" cx="172.65675721852034" cy="203.1300187937809" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
60
+ orientation: x+" data-x="1.45" data-y="-0.10000000000000009" cx="172.65675721852034" cy="222.26550486929773" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
61
+ orientation: y-" data-x="9.62" data-y="-6.11" cx="563.4990603109517" cy="509.7761831539382" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
62
+ orientation: y-" data-x="0.19500000000000026" data-y="-7.574999999999998" cx="112.61916965658631" cy="579.8599009055185" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
63
+ orientation: y+" data-x="4.675" data-y="3.2899999999999983" cx="326.93661370237487" cy="60.09226037929264" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
64
+ orientation: x-" data-x="3.129" data-y="0.0509999999999987" cx="252.97796002050228" cy="215.04185887579018" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
65
+ orientation: x-" data-x="0.1950000000000003" data-y="-3.4050000000000016" cx="112.61916965658631" cy="380.37245856825564" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
66
+ orientation: x+" data-x="4.72" data-y="-3.3050000000000015" cx="329.0893558858705" cy="375.58858704937643" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
67
+ orientation: y+" data-x="6.289999999999999" data-y="-3.1050000000000013" cx="404.196138732274" cy="366.020844011618" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
68
+ orientation: x+" data-x="9.62" data-y="-4.442500000000002" cx="563.4990603109517" cy="430.00512557662745" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
69
+ orientation: y-" data-x="4.675" data-y="2.4899999999999984" cx="326.93661370237487" cy="98.3632325303263" r="3" fill="hsl(80, 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[
70
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
71
+ const svg = e.currentTarget;
72
+ const rect = svg.getBoundingClientRect();
73
+ const x = e.clientX - rect.left;
74
+ const y = e.clientY - rect.top;
75
+ const crosshair = svg.getElementById('crosshair');
76
+ const h = svg.getElementById('crosshair-h');
77
+ const v = svg.getElementById('crosshair-v');
78
+ const coords = svg.getElementById('coordinates');
79
+
80
+ crosshair.style.display = 'block';
81
+ h.setAttribute('x1', '0');
82
+ h.setAttribute('x2', '640');
83
+ h.setAttribute('y1', y);
84
+ h.setAttribute('y2', y);
85
+ v.setAttribute('x1', x);
86
+ v.setAttribute('x2', x);
87
+ v.setAttribute('y1', '0');
88
+ v.setAttribute('y2', '640');
89
+
90
+ // Calculate real coordinates using inverse transformation
91
+ const matrix = {"a":47.83871518879209,"c":0,"e":103.29062019477183,"b":0,"d":-47.83871518879209,"f":217.48163335041852};
92
+ // Manually invert and apply the affine transform
93
+ // Since we only use translate and scale, we can directly compute:
94
+ // x' = (x - tx) / sx
95
+ // y' = (y - ty) / sy
96
+ const sx = matrix.a;
97
+ const sy = matrix.d;
98
+ const tx = matrix.e;
99
+ const ty = matrix.f;
100
+ const realPoint = {
101
+ x: (x - tx) / sx,
102
+ y: (y - ty) / sy // Flip y back since we used negative scale
103
+ }
104
+
105
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
106
+ coords.setAttribute('x', (x + 5).toString());
107
+ coords.setAttribute('y', (y - 5).toString());
108
+ });
109
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
110
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
111
+ });
112
+ ]]></script></svg>