@tscircuit/schematic-trace-solver 0.0.173 → 0.0.175

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 (43) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +200 -74
  3. package/lib/solvers/AvailableNetOrientationSolver/AvailableNetOrientationSolver.ts +12 -1
  4. package/lib/solvers/InlineNetLabelSolver/InlineNetLabelSolver.ts +16 -1
  5. package/lib/solvers/InlineNetLabelSolver/restoreReroutesAroundSupersededLabels.ts +174 -0
  6. package/lib/solvers/NetLabelToTraceSolver/NetLabelToTraceSolver.ts +2 -30
  7. package/lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver.ts +9 -0
  8. package/lib/utils/doesPathCoincideWithTraces.ts +17 -4
  9. package/lib/utils/pathIntersectsRenderedLabel.ts +33 -0
  10. package/package.json +1 -1
  11. package/site/bug-reports/bug-report-20260831T133233Z.page.tsx +4 -0
  12. package/site/bug-reports/bug-report-20260901T055358Z.page.tsx +4 -0
  13. package/site/bug-reports/bug-report-20260901T064117Z.page.tsx +4 -0
  14. package/site/bug-reports/bug-report-20260901T134241Z.page.tsx +4 -0
  15. package/tests/bug-reports/bug-report-20260721T221026Z/__snapshots__/bug-report-20260721T221026Z.snap.svg +18 -18
  16. package/tests/bug-reports/bug-report-20260831T133233Z/__snapshots__/bug-report-20260831T133233Z.snap.svg +85 -0
  17. package/tests/bug-reports/bug-report-20260831T133233Z/bug-report-20260831T133233Z.json +172 -0
  18. package/tests/bug-reports/bug-report-20260831T133233Z/bug-report-20260831T133233Z.test.ts +25 -0
  19. package/tests/bug-reports/bug-report-20260901T055358Z/__snapshots__/bug-report-20260901T055358Z.snap.svg +676 -0
  20. package/tests/bug-reports/bug-report-20260901T055358Z/bug-report-20260901T055358Z.json +2467 -0
  21. package/tests/bug-reports/bug-report-20260901T055358Z/bug-report-20260901T055358Z.test.ts +59 -0
  22. package/tests/bug-reports/bug-report-20260901T064117Z/__snapshots__/bug-report-20260901T064117Z.snap.svg +134 -0
  23. package/tests/bug-reports/bug-report-20260901T064117Z/bug-report-20260901T064117Z.json +215 -0
  24. package/tests/bug-reports/bug-report-20260901T064117Z/bug-report-20260901T064117Z.test.ts +12 -0
  25. package/tests/bug-reports/bug-report-20260901T134241Z/__snapshots__/bug-report-20260901T134241Z.snap.svg +115 -0
  26. package/tests/bug-reports/bug-report-20260901T134241Z/bug-report-20260901T134241Z.json +359 -0
  27. package/tests/bug-reports/bug-report-20260901T134241Z/bug-report-20260901T134241Z.test.ts +12 -0
  28. package/tests/repros/__snapshots__/repro-bq40z60-current-sense.snap.svg +94 -0
  29. package/tests/repros/__snapshots__/repro-pmp11282-isolated-dcdc.snap.svg +10 -10
  30. package/tests/repros/__snapshots__/repro-ti-power-output-section.snap.svg +87 -87
  31. package/tests/repros/__snapshots__/repro-tida-01389-hbridge.snap.svg +47 -153
  32. package/tests/repros/__snapshots__/repro-tida010076-page02.snap.svg +1625 -1625
  33. package/tests/repros/__snapshots__/repro-trellis-core-gnd-net-label-overlap.snap.svg +134 -0
  34. package/tests/repros/__snapshots__/repro-wireless-mouse-charger-section.snap.svg +164 -0
  35. package/tests/repros/assets/repro-bq40z60-current-sense.input.json +158 -0
  36. package/tests/repros/assets/repro-tida-01389-hbridge.input.json +67 -657
  37. package/tests/repros/assets/repro-trellis-core-gnd-net-label-overlap.input.json +178 -0
  38. package/tests/repros/assets/repro-wireless-mouse-charger-section.input.json +591 -0
  39. package/tests/repros/repro-bq40z60-current-sense.test.ts +18 -0
  40. package/tests/repros/repro-tida-01389-hbridge.test.ts +27 -6
  41. package/tests/repros/repro-trellis-core-gnd-net-label-overlap.test.ts +73 -0
  42. package/tests/repros/repro-wireless-mouse-charger-section.test.ts +16 -0
  43. package/tests/solvers/InlineNetLabelSolver/restore-reroutes-around-superseded-labels.test.ts +186 -0
@@ -0,0 +1,359 @@
1
+ {
2
+ "chips": [
3
+ {
4
+ "chipId": "schematic_component_0",
5
+ "center": {
6
+ "x": -0.1399999999999999,
7
+ "y": 2.24
8
+ },
9
+ "width": 4.4,
10
+ "height": 3,
11
+ "pins": [
12
+ {
13
+ "pinId": "schematic_port_0",
14
+ "displayName": "VIN",
15
+ "x": -2.3400000000000003,
16
+ "y": 2.9400000000000004
17
+ },
18
+ {
19
+ "pinId": "schematic_port_1",
20
+ "displayName": "NC",
21
+ "x": -2.3400000000000003,
22
+ "y": 1.5400000000000003
23
+ },
24
+ {
25
+ "pinId": "schematic_port_2",
26
+ "displayName": "GND_3",
27
+ "x": 2.0600000000000005,
28
+ "y": 1.9400000000000002
29
+ },
30
+ {
31
+ "pinId": "schematic_port_3",
32
+ "displayName": "GND_4",
33
+ "x": 2.0600000000000005,
34
+ "y": 1.7400000000000002
35
+ },
36
+ {
37
+ "pinId": "schematic_port_4",
38
+ "displayName": "VOUT",
39
+ "x": 2.0600000000000005,
40
+ "y": 2.74
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ "chipId": "schematic_component_1",
46
+ "center": {
47
+ "x": -0.1399999999999999,
48
+ "y": -2.24
49
+ },
50
+ "width": 4.4,
51
+ "height": 3,
52
+ "pins": [
53
+ {
54
+ "pinId": "schematic_port_5",
55
+ "displayName": "VIN",
56
+ "x": -2.3400000000000003,
57
+ "y": -1.5400000000000003
58
+ },
59
+ {
60
+ "pinId": "schematic_port_6",
61
+ "displayName": "NC",
62
+ "x": -2.3400000000000003,
63
+ "y": -2.9400000000000004
64
+ },
65
+ {
66
+ "pinId": "schematic_port_7",
67
+ "displayName": "GND_3",
68
+ "x": 2.0600000000000005,
69
+ "y": -2.54
70
+ },
71
+ {
72
+ "pinId": "schematic_port_8",
73
+ "displayName": "GND_4",
74
+ "x": 2.0600000000000005,
75
+ "y": -2.74
76
+ },
77
+ {
78
+ "pinId": "schematic_port_9",
79
+ "displayName": "VOUT",
80
+ "x": 2.0600000000000005,
81
+ "y": -1.7400000000000002
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "chipId": "schematic_component_2",
87
+ "center": {
88
+ "x": -2.8075,
89
+ "y": 2.24
90
+ },
91
+ "width": 1.1650000000000005,
92
+ "height": 0.7600000000000009,
93
+ "pins": [
94
+ {
95
+ "pinId": "schematic_port_10",
96
+ "displayName": "anode",
97
+ "x": -2.94,
98
+ "y": 2.6200000000000006,
99
+ "_facingDirection": "y+"
100
+ },
101
+ {
102
+ "pinId": "schematic_port_11",
103
+ "displayName": "cathode",
104
+ "x": -2.94,
105
+ "y": 1.8599999999999999,
106
+ "_facingDirection": "y-"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "chipId": "schematic_component_3",
112
+ "center": {
113
+ "x": 3.0725,
114
+ "y": 2.24
115
+ },
116
+ "width": 1.1650000000000005,
117
+ "height": 0.7600000000000009,
118
+ "pins": [
119
+ {
120
+ "pinId": "schematic_port_12",
121
+ "displayName": "anode",
122
+ "x": 2.94,
123
+ "y": 2.6200000000000006,
124
+ "_facingDirection": "y+"
125
+ },
126
+ {
127
+ "pinId": "schematic_port_13",
128
+ "displayName": "cathode",
129
+ "x": 2.94,
130
+ "y": 1.8599999999999999,
131
+ "_facingDirection": "y-"
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ "chipId": "schematic_component_4",
137
+ "center": {
138
+ "x": -2.8075,
139
+ "y": -2.24
140
+ },
141
+ "width": 1.1650000000000005,
142
+ "height": 0.7600000000000009,
143
+ "pins": [
144
+ {
145
+ "pinId": "schematic_port_14",
146
+ "displayName": "anode",
147
+ "x": -2.94,
148
+ "y": -1.8599999999999999,
149
+ "_facingDirection": "y+"
150
+ },
151
+ {
152
+ "pinId": "schematic_port_15",
153
+ "displayName": "cathode",
154
+ "x": -2.94,
155
+ "y": -2.6200000000000006,
156
+ "_facingDirection": "y-"
157
+ }
158
+ ]
159
+ },
160
+ {
161
+ "chipId": "schematic_component_5",
162
+ "center": {
163
+ "x": 3.0725,
164
+ "y": -2.24
165
+ },
166
+ "width": 1.1650000000000005,
167
+ "height": 0.7600000000000009,
168
+ "pins": [
169
+ {
170
+ "pinId": "schematic_port_16",
171
+ "displayName": "anode",
172
+ "x": 2.94,
173
+ "y": -1.8599999999999999,
174
+ "_facingDirection": "y+"
175
+ },
176
+ {
177
+ "pinId": "schematic_port_17",
178
+ "displayName": "cathode",
179
+ "x": 2.94,
180
+ "y": -2.6200000000000006,
181
+ "_facingDirection": "y-"
182
+ }
183
+ ]
184
+ }
185
+ ],
186
+ "directConnections": [
187
+ {
188
+ "netId": "C11.pin1 to U4.VIN",
189
+ "pinIds": [
190
+ "schematic_port_10",
191
+ "schematic_port_0"
192
+ ]
193
+ },
194
+ {
195
+ "netId": "U4.VIN to U5.VIN",
196
+ "pinIds": [
197
+ "schematic_port_0",
198
+ "schematic_port_5"
199
+ ]
200
+ },
201
+ {
202
+ "netId": "U5.VIN to C13.pin1",
203
+ "pinIds": [
204
+ "schematic_port_5",
205
+ "schematic_port_14"
206
+ ]
207
+ },
208
+ {
209
+ "netId": "U4.VOUT to C12.pin1",
210
+ "pinIds": [
211
+ "schematic_port_4",
212
+ "schematic_port_12"
213
+ ]
214
+ },
215
+ {
216
+ "netId": "U5.VOUT to C14.pin1",
217
+ "pinIds": [
218
+ "schematic_port_9",
219
+ "schematic_port_16"
220
+ ]
221
+ },
222
+ {
223
+ "netId": "U4.GND_3 to U4.GND_4",
224
+ "pinIds": [
225
+ "schematic_port_2",
226
+ "schematic_port_3"
227
+ ]
228
+ },
229
+ {
230
+ "netId": "U4.GND_3 to C12.pin2",
231
+ "pinIds": [
232
+ "schematic_port_2",
233
+ "schematic_port_13"
234
+ ]
235
+ },
236
+ {
237
+ "netId": "U5.GND_3 to U5.GND_4",
238
+ "pinIds": [
239
+ "schematic_port_7",
240
+ "schematic_port_8"
241
+ ]
242
+ },
243
+ {
244
+ "netId": "U5.GND_3 to C14.pin2",
245
+ "pinIds": [
246
+ "schematic_port_7",
247
+ "schematic_port_17"
248
+ ]
249
+ }
250
+ ],
251
+ "netConnections": [
252
+ {
253
+ "netId": "PWR",
254
+ "isGround": false,
255
+ "netLabelWidth": 0.42,
256
+ "netLabelHeight": 0.48,
257
+ "pinIds": [
258
+ "schematic_port_0",
259
+ "schematic_port_5",
260
+ "schematic_port_10",
261
+ "schematic_port_14"
262
+ ]
263
+ },
264
+ {
265
+ "netId": "GND",
266
+ "isGround": true,
267
+ "netLabelWidth": 0.42,
268
+ "netLabelHeight": 0.48,
269
+ "pinIds": [
270
+ "schematic_port_2",
271
+ "schematic_port_3",
272
+ "schematic_port_7",
273
+ "schematic_port_8",
274
+ "schematic_port_11",
275
+ "schematic_port_13",
276
+ "schematic_port_15",
277
+ "schematic_port_17"
278
+ ]
279
+ },
280
+ {
281
+ "netId": "V3_3",
282
+ "isGround": false,
283
+ "netLabelWidth": 0.42,
284
+ "netLabelHeight": 0.6,
285
+ "pinIds": [
286
+ "schematic_port_4",
287
+ "schematic_port_12"
288
+ ]
289
+ },
290
+ {
291
+ "netId": "V5",
292
+ "isGround": false,
293
+ "netLabelWidth": 0.42,
294
+ "netLabelHeight": 0.36,
295
+ "pinIds": [
296
+ "schematic_port_9",
297
+ "schematic_port_16"
298
+ ]
299
+ }
300
+ ],
301
+ "textBoxes": [
302
+ {
303
+ "chipId": "schematic_component_0",
304
+ "center": {
305
+ "x": -0.98,
306
+ "y": 0.6100000000000002
307
+ },
308
+ "width": 1.92,
309
+ "height": 0.17999999999999994,
310
+ "text": "TPS7B6933QDBVRQ1"
311
+ },
312
+ {
313
+ "chipId": "schematic_component_0",
314
+ "center": {
315
+ "x": -1.8199999999999998,
316
+ "y": 3.8550000000000004
317
+ },
318
+ "width": 0.3600000000000001,
319
+ "height": 0.24999999999999956,
320
+ "text": "U4"
321
+ },
322
+ {
323
+ "chipId": "schematic_component_1",
324
+ "center": {
325
+ "x": -0.98,
326
+ "y": -3.87
327
+ },
328
+ "width": 1.92,
329
+ "height": 0.17999999999999972,
330
+ "text": "TPS7B6950QDBVRQ1"
331
+ },
332
+ {
333
+ "chipId": "schematic_component_1",
334
+ "center": {
335
+ "x": -1.8199999999999998,
336
+ "y": -0.6250000000000002
337
+ },
338
+ "width": 0.3600000000000001,
339
+ "height": 0.25,
340
+ "text": "U5"
341
+ }
342
+ ],
343
+ "availableNetLabelOrientations": {
344
+ "GND": [
345
+ "y-"
346
+ ],
347
+ "PWR": [
348
+ "y+"
349
+ ],
350
+ "V3_3": [
351
+ "y+"
352
+ ],
353
+ "V5": [
354
+ "y+"
355
+ ]
356
+ },
357
+ "maxMspPairDistance": 20,
358
+ "_hideRatsNet": false
359
+ }
@@ -0,0 +1,12 @@
1
+ import { expect, test } from "bun:test"
2
+ import { SchematicTracePipelineSolver } from "lib/solvers/SchematicTracePipelineSolver/SchematicTracePipelineSolver"
3
+ import inputProblem from "./bug-report-20260901T134241Z.json"
4
+ import "tests/fixtures/matcher"
5
+
6
+ test("bug-report-20260901T134241Z", () => {
7
+ const solver = new SchematicTracePipelineSolver(inputProblem as any)
8
+
9
+ solver.solve()
10
+
11
+ expect(solver).toMatchSolverSnapshot(import.meta.path)
12
+ })
@@ -0,0 +1,94 @@
1
+ <svg width="1200" height="2016" viewBox="0 0 1200 2016" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Solver debug visualization on top and Circuit JSON schematic on the bottom">
2
+ <g transform="translate(0, 0) scale(1.875, 1.875) translate(0, 0)">
3
+ <rect width="100%" height="100%" fill="white"/><g><polyline data-points="-12.5,-7.1 -12.5,-7 -11.600000000000001,-7" data-type="line" data-label="" points="134.33691756272378,314.98207885304646 134.33691756272378,304.9462365591397 224.659498207885,304.9462365591397" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.5,-7.700000000000001 -12.5,-8 -11.600000000000001,-8" data-type="line" data-label="" points="134.33691756272378,375.19713261648747 134.33691756272378,405.3046594982078 224.659498207885,405.3046594982078" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11,-7 -10.45,-7 -10.45,-6.72 -9.9,-6.72 -9.9,-6.92" data-type="line" data-label="" points="284.8745519713261,304.9462365591397 340.0716845878135,304.9462365591397 340.0716845878135,276.84587813620055 395.26881720430094,276.84587813620055 395.26881720430094,296.91756272401426" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-8.7,-6.92 -8.7,-6.720000000000001 -9.9,-6.720000000000001 -9.9,-6.92" data-type="line" data-label="" points="515.6989247311827,296.91756272401426 515.6989247311827,276.84587813620067 395.26881720430094,276.84587813620067 395.26881720430094,296.91756272401426" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-8.7,-7.68 -8.7,-8 -9.9,-8 -9.9,-7.68" data-type="line" data-label="" points="515.6989247311827,373.18996415770596 515.6989247311827,405.3046594982078 395.26881720430094,405.3046594982078 395.26881720430094,373.18996415770596" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-11,-8 -9.9,-8 -9.9,-7.68" data-type="line" data-label="" points="284.8745519713261,405.3046594982078 395.26881720430094,405.3046594982078 395.26881720430094,373.18996415770596" fill="none" stroke="purple" stroke-width="1px"/></g><g><polyline data-points="-12.5,-7 -12.5,-6.95 -13.2,-6.95 -13.2,-7.051" data-type="line" data-label="" points="134.33691756272378,304.9462365591397 134.33691756272378,299.9283154121863 64.08602150537627,299.9283154121863 64.08602150537627,310.0645161290322" fill="none" stroke="purple" stroke-width="1px"/></g><g><rect data-type="rect" data-label="C26" data-x="-9.7675" data-y="-7.3" x="350.10752688172033" y="296.9175627240142" width="116.91756272401426" height="76.2724014336917" fill="hsl(111, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="C36" data-x="-8.5675" data-y="-7.3" x="470.537634408602" y="296.9175627240142" width="116.91756272401426" height="76.2724014336917" fill="hsl(142, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="R43" data-x="-12.465" data-y="-7.4" x="89.17562724014329" y="314.9820788530465" width="97.34767025089604" height="60.215053763441006" fill="hsl(185, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="R38" data-x="-11.3" data-y="-7" x="224.659498207885" y="270.8243727598566" width="60.21505376344112" height="68.24372759856624" fill="hsl(159, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="R44" data-x="-11.3" data-y="-8" x="224.659498207885" y="371.1827956989247" width="60.21505376344112" height="68.24372759856624" fill="hsl(186, 100%, 50%, 0.8)" stroke="black" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="netId: U2_SRP
4
+ globalConnNetId: connectivity_net2" data-x="-9.9" data-y="-6.3" x="385.2329749103942" y="192.5448028673834" width="20.07168458781348" height="84.30107526881716" fill="#ef444466" stroke="#ef4444" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="netId: U2_SRN
5
+ globalConnNetId: connectivity_net3" data-x="-8.28" data-y="-7.879999999999999" x="515.6989247311826" y="383.22580645161275" width="84.30107526881727" height="20.071684587813593" fill="hsl(40, 100%, 50%, 0.35)" stroke="black" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="netId: GND
6
+ globalConnNetId: connectivity_net0" data-x="-13.2" data-y="-7.261" x="39.999999999999886" y="310.06451612903214" width="48.17204301075276" height="42.15053763440858" fill="#00000066" stroke="#000000" stroke-width="0.009964285714285714"/></g><g><rect data-type="rect" data-label="netId: PGND
7
+ globalConnNetId: connectivity_net1" data-x="-12.5" data-y="-8.21" x="104.22939068100334" y="405.30465949820774" width="60.21505376344089" height="42.150537634408806" fill="#00000066" stroke="#000000" stroke-width="0.009964285714285714"/></g><g><circle data-type="point" data-label="1
8
+ y+" data-x="-9.9" data-y="-6.92" cx="395.26881720430094" cy="296.91756272401426" r="3" fill="hsl(146, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
9
+ y-" data-x="-9.9" data-y="-7.68" cx="395.26881720430094" cy="373.18996415770596" r="3" fill="hsl(147, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
10
+ y+" data-x="-8.7" data-y="-6.92" cx="515.6989247311827" cy="296.91756272401426" r="3" fill="hsl(57, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
11
+ y-" data-x="-8.7" data-y="-7.68" cx="515.6989247311827" cy="373.18996415770596" r="3" fill="hsl(58, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
12
+ y+" data-x="-12.5" data-y="-7.1" cx="134.33691756272378" cy="314.98207885304646" r="3" fill="hsl(340, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
13
+ y-" data-x="-12.5" data-y="-7.700000000000001" cx="134.33691756272378" cy="375.19713261648747" r="3" fill="hsl(341, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
14
+ x+" data-x="-11" data-y="-7" cx="284.8745519713261" cy="304.9462365591397" r="3" fill="hsl(194, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
15
+ x-" data-x="-11.600000000000001" data-y="-7" cx="224.659498207885" cy="304.9462365591397" r="3" fill="hsl(195, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="1
16
+ x+" data-x="-11" data-y="-8" cx="284.8745519713261" cy="405.3046594982078" r="3" fill="hsl(221, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="2
17
+ x-" data-x="-11.600000000000001" data-y="-8" cx="224.659498207885" cy="405.3046594982078" r="3" fill="hsl(222, 100%, 50%, 0.8)"/></g><g><circle data-type="point" data-label="anchorPoint
18
+ orientation: y+" data-x="-9.9" data-y="-6.72" cx="395.26881720430094" cy="276.84587813620055" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
19
+ orientation: x+" data-x="-8.7" data-y="-7.879999999999999" cx="515.6989247311827" cy="393.26164874551955" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
20
+ orientation: y-" data-x="-13.2" data-y="-7.051" cx="64.08602150537627" cy="310.0645161290322" r="3" fill="hsl(40, 100%, 50%, 0.9)"/></g><g><circle data-type="point" data-label="anchorPoint
21
+ orientation: y-" data-x="-12.5" data-y="-8" cx="134.33691756272378" cy="405.3046594982078" 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[
22
+ document.currentScript.parentElement.addEventListener('mousemove', (e) => {
23
+ const svg = e.currentTarget;
24
+ const rect = svg.getBoundingClientRect();
25
+ const x = e.clientX - rect.left;
26
+ const y = e.clientY - rect.top;
27
+ const crosshair = svg.getElementById('crosshair');
28
+ const h = svg.getElementById('crosshair-h');
29
+ const v = svg.getElementById('crosshair-v');
30
+ const coords = svg.getElementById('coordinates');
31
+
32
+ crosshair.style.display = 'block';
33
+ h.setAttribute('x1', '0');
34
+ h.setAttribute('x2', '640');
35
+ h.setAttribute('y1', y);
36
+ h.setAttribute('y2', y);
37
+ v.setAttribute('x1', x);
38
+ v.setAttribute('x2', x);
39
+ v.setAttribute('y1', '0');
40
+ v.setAttribute('y2', '640');
41
+
42
+ // Calculate real coordinates using inverse transformation
43
+ const matrix = {"a":100.3584229390681,"c":0,"e":1388.8172043010752,"b":0,"d":-100.3584229390681,"f":-397.56272401433705};
44
+ // Manually invert and apply the affine transform
45
+ // Since we only use translate and scale, we can directly compute:
46
+ // x' = (x - tx) / sx
47
+ // y' = (y - ty) / sy
48
+ const sx = matrix.a;
49
+ const sy = matrix.d;
50
+ const tx = matrix.e;
51
+ const ty = matrix.f;
52
+ const realPoint = {
53
+ x: (x - tx) / sx,
54
+ y: (y - ty) / sy // Flip y back since we used negative scale
55
+ }
56
+
57
+ coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
58
+ coords.setAttribute('x', (x + 5).toString());
59
+ coords.setAttribute('y', (y - 5).toString());
60
+ });
61
+ document.currentScript.parentElement.addEventListener('mouseleave', () => {
62
+ document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
63
+ });
64
+ ]]></script>
65
+ </g>
66
+ <g transform="translate(0, 1216)">
67
+ <style>
68
+ .boundary { fill: rgb(245, 241, 237); }
69
+ .schematic-boundary { fill: none; stroke: #fff; }
70
+ .component { fill: none; stroke: rgb(132, 0, 0); }
71
+ .chip { fill: rgb(255, 255, 194); stroke: rgb(132, 0, 0); }
72
+ .component-pin { fill: none; stroke: rgb(132, 0, 0); }
73
+ .text { font-family: sans-serif; fill: rgb(0, 150, 0); }
74
+ .pin-number { fill: rgb(169, 0, 0); }
75
+ .port-label { fill: rgb(0, 100, 100); }
76
+ .component-name { fill: rgb(0, 100, 100); }
77
+
78
+ </style><rect class="boundary" x="0" y="0" width="1200" height="800"/><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><path d="M 241.9805174654498 367.88484209253 L 241.9805174654498 349.2709561336002 L 409.5054910958197 349.2709561336002" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 241.9805174654498 367.88484209253 L 241.9805174654498 349.2709561336002 L 409.5054910958197 349.2709561336002" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"><path d="M 241.9805174654498 479.56815784611024 L 241.9805174654498 535.4098157229001 L 409.5054910958197 535.4098157229001" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 241.9805174654498 479.56815784611024 L 241.9805174654498 535.4098157229001 L 409.5054910958197 535.4098157229001" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><path d="M 521.1888068493997 349.2709561336002 L 623.565179623515 349.2709561336002 L 623.565179623515 297.15207544859607 L 725.9415523976297 297.15207544859607 L 725.9415523976297 334.37984736645615" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 521.1888068493997 349.2709561336002 L 623.565179623515 349.2709561336002 L 623.565179623515 297.15207544859607 L 725.9415523976297 297.15207544859607 L 725.9415523976297 334.37984736645615" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"><path d="M 949.30818390479 334.37984736645615 L 949.30818390479 297.1520754485963 L 725.9415523976297 297.1520754485963 L 725.9415523976297 334.37984736645615" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 949.30818390479 334.37984736645615 L 949.30818390479 297.1520754485963 L 725.9415523976297 297.1520754485963 L 725.9415523976297 334.37984736645615" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><path d="M 949.30818390479 475.845380654324 L 949.30818390479 535.4098157229001 L 725.9415523976297 535.4098157229001 L 725.9415523976297 475.845380654324" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 949.30818390479 475.845380654324 L 949.30818390479 535.4098157229001 L 725.9415523976297 535.4098157229001 L 725.9415523976297 475.845380654324" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"><path d="M 521.1888068493997 535.4098157229001 L 725.9415523976297 535.4098157229001 L 725.9415523976297 475.845380654324" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 521.1888068493997 535.4098157229001 L 725.9415523976297 535.4098157229001 L 725.9415523976297 475.845380654324" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace sch-trace" data-layer="base" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"><path d="M 241.9805174654498 349.2709561336002 L 241.9805174654498 339.96401315413516 L 111.68331575293996 339.96401315413516 L 111.68331575293996 358.76403797265436" class="trace-invisible-hover-outline sch-trace-hitbox" stroke="rgb(0, 150, 0)" fill="none" stroke-width="29.782217534288px" stroke-linecap="round" opacity="0" stroke-linejoin="round"/><path class="sch-trace-path" d="M 241.9805174654498 349.2709561336002 L 241.9805174654498 339.96401315413516 L 111.68331575293996 339.96401315413516 L 111.68331575293996 358.76403797265436" stroke="rgb(0, 150, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round" stroke-linejoin="round"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_0__stack1"><circle cx="241.9805174654498" cy="349.2709561336002" r="5.584165787679" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_1__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_2__stack1"><circle cx="725.9415523976297" cy="297.15207544859607" r="5.584165787679" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="725.9415523976297" cy="334.37984736645615" r="5.584165787679" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_3__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_4__stack1"><circle cx="725.9415523976297" cy="535.4098157229001" r="5.584165787679" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/><circle cx="725.9415523976297" cy="475.845380654324" r="5.584165787679" class="trace-junction sch-trace-junction" fill="rgb(0, 150, 0)"/></g><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_5__stack1"/><g class="trace-overlays sch-trace-overlays" data-layer="overlay" data-circuit-json-type="schematic_trace" data-schematic-trace-id="schematic_trace_6__stack1"/><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_0__stack1"><rect class="component-overlay sch-component-overlay" x="688.2126946697554" y="334.3798473664561" width="75.45771545574871" height="141.46553328786797" fill="transparent"/><path class="sch-component-symbol-path" d="M 725.9415523976297 475.84538065432406 L 725.9415523976297 419.2591673391769" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 725.9415523976297 390.96606068160327 L 725.9415523976297 334.3798473664561" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 763.6704101255041 419.2591673391769 L 688.2126946697554 419.2591673391769" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 763.6704101255041 390.96606068160327 L 688.2126946697554 390.96606068160327" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="753.0557796111377" y="357.9574362477674" stroke="rgb(245, 241, 237)" stroke-width="3.722777191786px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="ideographic" font-size="33.504994726074px">C26</text><text class="sch-component-text" x="753.0557796111377" y="452.26779177301273" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="hanging" font-size="33.504994726074px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_1__stack1"><rect class="component-overlay sch-component-overlay" x="911.5793261769156" y="334.3798473664561" width="75.45771545574871" height="141.46553328786797" fill="transparent"/><path class="sch-component-symbol-path" d="M 949.30818390479 475.84538065432406 L 949.30818390479 419.2591673391769" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 949.30818390479 390.96606068160327 L 949.30818390479 334.3798473664561" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 987.0370416326643 419.2591673391769 L 911.5793261769156 419.2591673391769" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 987.0370416326643 390.96606068160327 L 911.5793261769156 390.96606068160327" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="976.422411118298" y="357.9574362477674" stroke="rgb(245, 241, 237)" stroke-width="3.722777191786px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="ideographic" font-size="33.504994726074px">C36</text><text class="sch-component-text" x="976.422411118298" y="452.26779177301273" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="hanging" font-size="33.504994726074px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_2__stack1"><rect class="component-overlay sch-component-overlay" x="227.09313147549753" y="367.88484209253" width="29.7747719799045" height="111.68331575358025" fill="transparent"/><path class="sch-component-symbol-path" d="M 241.9805174654498 479.56815784611024 L 241.9805174654498 460.9505491099884" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 241.9805174654498 386.50245082865183 L 241.9805174654498 367.88484209253" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 227.09313147549753 460.9505491099884 L 227.09313147549756 386.50245082865183 L 256.86790345540203 386.50245082865183 L 256.86790345540203 460.9505491099884 L 227.09313147549753 460.9505491099884" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="271.76273499973786" y="393.94428243503205" stroke="rgb(245, 241, 237)" stroke-width="3.722777191786px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="33.504994726074px">R43</text><text class="sch-component-text" x="271.76273499973786" y="453.5087175036082" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="start" dominant-baseline="middle" font-size="33.504994726074px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_3__stack1"><rect class="component-overlay sch-component-overlay" x="409.5054910958197" y="334.38357014364794" width="111.68331575358025" height="29.77477197990447" fill="transparent"/><path class="sch-component-symbol-path" d="M 409.5054910958197 349.2709561336002 L 428.12309983194154 349.2709561336002" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 502.5711981132781 349.2709561336002 L 521.1888068494 349.2709561336002" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 428.12309983194154 334.38357014364794 L 502.5711981132781 334.38357014364794 L 502.5711981132781 364.1583421235524 L 428.12309983194154 364.1583421235524 L 428.12309983194154 334.38357014364794" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="465.34714897260983" y="319.4887385993121" stroke="rgb(245, 241, 237)" stroke-width="3.722777191786px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="33.504994726074px">R38</text><text class="sch-component-text" x="465.34714897260983" y="379.05317366788825" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="33.504994726074px"></text></g><g class="sch-component" data-circuit-json-type="schematic_component" data-schematic-component-id="schematic_component_4__stack1"><rect class="component-overlay sch-component-overlay" x="409.5054910958197" y="520.5224297329479" width="111.68331575358025" height="29.77477197990447" fill="transparent"/><path class="sch-component-symbol-path" d="M 409.5054910958197 535.4098157229001 L 428.12309983194154 535.4098157229001" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 502.5711981132781 535.4098157229001 L 521.1888068494 535.4098157229001" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-component-symbol-path" d="M 428.12309983194154 520.5224297329479 L 502.5711981132781 520.5224297329479 L 502.5711981132781 550.2972017128524 L 428.12309983194154 550.2972017128524 L 428.12309983194154 520.5224297329479" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-component-name sch-component-text" x="465.34714897260983" y="505.62759818861207" stroke="rgb(245, 241, 237)" stroke-width="3.722777191786px" paint-order="stroke" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="ideographic" font-size="33.504994726074px">R44</text><text class="sch-component-text" x="465.34714897260983" y="565.1920332571882" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="33.504994726074px"></text></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_0__stack1"><circle cx="725.9415523976297" cy="349.2709561336002" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_0_1__stack1"><circle cx="725.9415523976297" cy="490.73648942146804" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_0__stack1"><circle cx="949.30818390479" cy="349.2709561336002" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_1_1__stack1"><circle cx="949.30818390479" cy="490.73648942146804" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_0__stack1"><circle cx="241.9805174654498" cy="367.8848420925302" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_2_1__stack1"><circle cx="241.9805174654498" cy="479.56815784611047" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_0__stack1"><circle cx="521.1888068493997" cy="349.2709561336002" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_3_1__stack1"><circle cx="409.5054910958197" cy="349.2709561336002" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_0__stack1"><circle cx="521.1888068493997" cy="535.4098157229001" r="7.445554383572" fill="red" opacity="0"/></g><g class="schematic-port-hover sch-port-hover" data-schematic-port-id="source_port_4_1__stack1"><circle cx="409.5054910958197" cy="535.4098157229001" r="7.445554383572" fill="red" opacity="0"/></g><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" d="
79
+ M 725.9415523976297,297.15207544859607
80
+ L 707.3276664386997,287.1005770307739
81
+ L 707.3276664386997,140.77061487897214
82
+ L 744.5554383565598,140.77061487897214
83
+ L 744.5554383565598,287.1005770307739
84
+ Z
85
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.722777191786px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_0__stack1" x="725.9415523976297" y="280.3995780855591" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="33.504994726074px" transform="rotate(-90 725.9415523976297 280.3995780855591)">U2_SRP</text><path class="net-label sch-net-label" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" d="
86
+ M 949.30818390479,513.0731525721839
87
+ L 959.3596823226122,494.4592666132539
88
+ L 1106.9305702050092,494.4592666132539
89
+ L 1106.9305702050092,531.6870385311139
90
+ L 959.3596823226122,531.6870385311139
91
+ Z
92
+ " fill="rgba(255, 255, 255, 0.6)" stroke="rgb(132, 0, 0)" stroke-width="3.722777191786px"/><text class="net-label-text sch-net-label-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_1__stack1" x="966.060681267827" y="513.0731525721839" fill="rgb(132, 0, 0)" text-anchor="start" dominant-baseline="central" font-family="sans-serif" font-variant-numeric="tabular-nums" font-size="33.504994726074px" transform="">U2_SRN</text><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="89.34665260222397" y="358.7640379726544" width="44.673326301431985" height="33.50499472607396" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="M 89.34665260222397 392.2690326987284 L 134.01997890365595 392.2690326987284" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" d="M 111.68331575293996 392.2690326987284 L 111.68331575293996 358.7640379726544" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_2__stack1" x="111.68331575293996" y="401.5759756781934" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="33.504994726074px">GND</text><rect class="component-overlay sch-component-overlay sch-net-label-overlay" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="219.6438543147338" y="535.4098157229001" width="44.673326301431985" height="33.504994726074074" fill="transparent"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="M 219.6438543147338 568.9148104489742 L 264.3171806161658 568.9148104489742" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><path class="sch-net-label-symbol-path" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" d="M 241.9805174654498 568.9148104489742 L 241.9805174654498 535.4098157229001" stroke="rgb(132, 0, 0)" fill="none" stroke-width="3.722777191786px" stroke-linecap="round"/><text class="sch-net-label-symbol-text" data-circuit-json-type="schematic_net_label" data-schematic-net-label-id="schematic_net_label_3__stack1" x="241.9805174654498" y="578.2217534284392" fill="rgb(15, 15, 15)" font-family="sans-serif" text-anchor="middle" dominant-baseline="hanging" font-size="33.504994726074px">PGND</text>
93
+ </g>
94
+ </svg>