component
MCP2562FD-E/SN - CAN FD Transceiver
Public Made by Adomby adom
Microchip MCP2562FD-E/SN: high-speed CAN FD transceiver with a VIO pin for 1.8 V to 5.5 V logic, ISO 11898-2/-5, extended temperature, SOIC-8. KiCad symbol and footprint, Fusion and Altium libraries, 3D model and datasheet.
← Commit history
MCP2562FD-E/SN component page: batch 2
67 files changed
+16084−2
LICENSE+14README.md+175−2altium/MCP2562FD-E-SN.SchLibaltium/MCP2562FD-E-SN.adom-lbr.json+3989artwork/MCP2562FD-E-SN-3d-outline-dark-named.320.pngartwork/MCP2562FD-E-SN-3d-outline-dark-named.svg+1docs/figures/mcp2562fd-e-sn-ds-p13.pngdocs/figures/mcp2562fd-e-sn-ds-p17.pngdocs/figures/mcp2562fd-e-sn-ds-p23.pngdocs/figures/mcp2562fd-e-sn-ds-p24.pngdocs/figures/mcp2562fd-e-sn-ds-p25.pngdocs/figures/mcp2562fd-e-sn-ds-p29.pngdocs/figures/mcp2562fd-e-sn-ds-p4.pngdocs/figures/mcp2562fd-e-sn-ds-p8.pngdocs/figures/mcp2562fd-e-sn-ds-p9.pngdocs/hero.pngdocs/models/mcp2562fd-e-sn-etched-bottom.pngdocs/models/mcp2562fd-e-sn-etched-glb-top.pngdocs/models/mcp2562fd-e-sn-glb-top.pngdocs/proof/mcp2562fd-e-sn-corner.pngdocs/proof/mcp2562fd-e-sn-etched.check.json+135docs/proof/mcp2562fd-e-sn-etched.check.pngdocs/proof/mcp2562fd-e-sn-etched.mark-plan.json+169docs/proof/mcp2562fd-e-sn-footprint-check.pngdocs/proof/mcp2562fd-e-sn-lead-vs-kicad.pngdocs/proof/mcp2562fd-e-sn-lods.pngdocs/proof/mcp2562fd-e-sn-side.pnglod/manifest.json+136lod/mcp2562fd-e-sn-high.glblod/mcp2562fd-e-sn-high.pnglod/mcp2562fd-e-sn-low.glblod/mcp2562fd-e-sn-low.pnglod/mcp2562fd-e-sn-medium.glblod/mcp2562fd-e-sn-medium.pnglod/mcp2562fd-e-sn-super-low.glblod/mcp2562fd-e-sn-super-low.pngmcp2562fd-e-sn-etched.glbmcp2562fd-e-sn.glbmcp2562fd-e-sn.kicad_mod+55mcp2562fd-e-sn.kicad_sym+260mcp2562fd-e-sn.lbr+584models.json+219provenance/3d-model.json+179provenance/dims-kicad-library.json+82provenance/dims-model.json+82provenance/footprint-check.json+303provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod+300provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.step+3030provenance/tools/build_soic8.py+126provenance/tools/dims.py+46provenance/tools/footprint-create.json+83provenance/tools/fp_check.py+50provenance/tools/glb_batch.py+89provenance/tools/lead_compare.py+25provenance/tools/materials.py+30provenance/tools/page_meta.py+161provenance/tools/params-low.json+1provenance/tools/params-superlow.json+1provenance/tools/params.json+1provenance/tools/render_glb.py+71provenance/tools/render_sym.py+25provenance/tools/snap_symbol.py+26provenance/tools/svg_poly_png.py+16provenance/tools/symbol-create.json+92verification.json+247viewers/footprint.html+210viewers/symbol.html+5071LICENSEadded+14@@ -0,0 +1,14 @@+Creative Commons Attribution 4.0 International (CC BY 4.0)+https://creativecommons.org/licenses/by/4.0/++Copyright 2026 Adom Inc.++Applies to the files authored by Adom on this page: the KiCad symbol and footprint, the 3D models+(mcp2562fd-e-sn*.step, *.glb, lod/), the virtual MPN etch, the chip outline artwork, the Fusion/EAGLE and+Altium libraries, the provenance tools and data, and the README text.++Not covered (they keep their own terms):+- docs/mcp2562fd-e-sn-datasheet.pdf and the page images under docs/figures/: Microchip Technology Inc.+ (DS20005284B), redistributed for reference under Microchip's terms.+- provenance/kicad-reference/: KiCad library files, CC-BY-SA 4.0 with the KiCad libraries exception+ (https://www.kicad.org/libraries/license/), kept for comparison only.
README.md+175−2@@ -1,3 +1,176 @@-# MCP2562FD-E/SN - CAN FD Transceiver+# MCP2562FD-E/SN -Microchip MCP2562FD-E/SN: high-speed CAN FD transceiver with a VIO pin for 1.8 V to 5.5 V logic, ISO 11898-2/-5, extended temperature, SOIC-8. KiCad symbol and footprint, Fusion and Altium libraries, 3D model and datasheet.+**Microchip Technology** · High-speed CAN FD transceiver with VIO pin · SOIC-8 (SN, 3.90 mm body)++MCP2562FD-E/SN is the SOIC-8, extended-temperature member of Microchip's MCP2561/2FD family: a second-generation high-speed CAN transceiver that implements the ISO 11898-2 and ISO 11898-5 physical layer, guarantees loop delay symmetry for CAN FD, and has a **VIO** pin so TXD, RXD and STBY talk directly to 1.8 V to 5.5 V logic while the transceiver runs from a 5 V VDD (DS20005284B p.1, p.4).++::adom-verified{src="/adom/mcp2562fd-e-sn/render/verification.json"}++## Key specifications++| Parameter | Value | Source |+|---|---|---|+| Function | High-speed CAN transceiver optimized for CAN FD (2, 5 and 8 Mbps operation) | p.1 |+| Standards | ISO 11898-2, ISO 11898-5 | p.1 |+| VDD supply | 4.5 V to 5.5 V; 5 mA typ recessive, 45 mA typ dominant | p.9 |+| VIO (digital I/O supply) | 1.8 V to 5.5 V | p.9 |+| Standby current | 5 uA typ, 15 uA max (VDD, includes IIO) | p.9 |+| Propagation delay TXD to RXD | 90 ns typ, 120 ns max | p.13 |+| Bit rate (AC table) | 14.4 kHz to 5000 kHz bit frequency, 0.2 us minimum bit time | p.13 |+| Bus pin DC range | -58 V to +58 V (absolute maximum) | p.8 |+| ESD on CANH, CANL (IEC 61000-4-2) | +-8 kV for MCP2562FD (the +-14 kV figure on p.1 is the MCP2561FD's) | p.8 |+| Thermal shutdown | 175 C typ junction | p.11 |+| Temperature range (-E) | -40 C to +125 C ambient | p.1, p.29 |+| Package | 8-lead SOIC (SN), 3.90 x 4.90 mm body, 1.27 mm pitch, 1.75 mm max height | p.23 to p.24 |+| Unpowered behaviour | CANH and CANL disconnect from the bus; an unpowered node does not load it | p.1, p.5 |++## Pinout (SOIC-8, top view)++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | TXD | input | Transmit data from the CAN controller. Low = bus Dominant, high = Recessive. Internal pull-up (nominal 33 kOhm) to VIO. |+| 2 | VSS | power | Ground. |+| 3 | VDD | power | Supply, 4.5 V to 5.5 V; powers the transmitter and both receivers. |+| 4 | RXD | output | Receive data to the CAN controller, push-pull from VIO: high when the bus is Recessive, low when Dominant. |+| 5 | VIO | power | Digital I/O supply, 1.8 V to 5.5 V; sets the logic level of TXD, RXD and STBY. |+| 6 | CANL | bidirectional | CAN bus low-level I/O. |+| 7 | CANH | bidirectional | CAN bus high-level I/O. |+| 8 | STBY | input | Low = Normal mode; high = Standby (transmitter and high-speed receiver off, low-power wake-up receiver on). Internal pull-up to VIO. |++Source: DS20005284B p.4 (Table 1-2) and p.5 (sections 1.7.1 to 1.7.9).++## Design notes++- **Two supplies.** VDD needs 4.5 V to 5.5 V; VIO follows the controller's logic rail. The bus wake-up function needs both in range (p.3). Microchip's application figure decouples each with 0.1 uF (Figure 1-2, p.6).+- **Modes.** STBY low = Normal; STBY high = Standby, where RXD shows a filtered copy of the bus so a dominant bus can wake the controller (Table 1-1, p.3).+- **Dominant time-out.** A TXD or bus dominant for longer than 1.25 ms (typ) is treated as a fault, which limits the slowest usable bit time to 69.44 us (p.4).+- **EMC.** Microchip notes a common-mode choke may be needed above 1 Mbps (p.6). Example only: the typical-application figure ends the bus in 120 Ohm; split termination is drawn for the MCP2561FD's SPLIT pin, which this part does not have.+- **Family.** MCP2561FD has a SPLIT pin on pin 5 instead of VIO; MCP2562FDT-E/SN is this part on tape and reel; -H parts run to +150 C; the SNVAO suffix is AEC-Q100 qualified (p.29).++## CAD++| File | What it is |+|---|---|+| [mcp2562fd-e-sn.kicad_sym](mcp2562fd-e-sn.kicad_sym) | KiCad symbol `MCP2562FD-E-SN` (adom-symbol 1.2.6), pins grouped Controller / CAN bus / Power / Ground, chip outline drawn in the body. Properties: MPN, Manufacturer, Datasheet, Mouser, DigiKey, LCSC, Adom Wiki. |+| [mcp2562fd-e-sn.kicad_mod](mcp2562fd-e-sn.kicad_mod) | KiCad footprint built with adom-footprint to Microchip's recommended land pattern. Its 3D path is `${KIPRJMOD}/mcp2562fd-e-sn-etched.step`; put the STEP beside your project or repoint the path. |+| [mcp2562fd-e-sn.lbr](mcp2562fd-e-sn.lbr) | Fusion / EAGLE library (adom-lbr 2.47.5, lint PASS) with MPN, MANUFACTURER, MOUSER_PN, DIGIKEY_PN, LCSC_PN attributes. |+| [altium/MCP2562FD-E-SN.SchLib](altium/MCP2562FD-E-SN.SchLib), [altium/MCP2562FD-E-SN.PcbLib](altium/MCP2562FD-E-SN.PcbLib) | Native Altium libraries (adom-lbr assemble-altium) with the etched STEP embedded in the footprint and Supplier 1 to 3 parameters. Altium does not allow `/` in a component name, so the component is `MCP2562FD-E_SN`; its MPN parameters keep the exact `MCP2562FD-E/SN`. |+| [altium/MCP2562FD-E-SN.adom-lbr.json](altium/MCP2562FD-E-SN.adom-lbr.json) | The adom-lbr hub (symbol, footprint, pin to pad map) every export is made from. |+| [mcp2562fd-e-sn-etched.step](mcp2562fd-e-sn-etched.step) | **The library 3D model** (see below). |++## Footprint++The pads follow Microchip's **recommended land pattern** (DS20005284B p.25, drawing C04-02057-SN Rev L): eight 1.55 x 0.60 mm rectangles, contact pad spacing C = 5.40 mm (pad centres at x = +-2.70), pitch 1.27 mm. Each pad was compared with the drawing ([provenance/footprint-check.json](provenance/footprint-check.json)): all eight match.++KiCad's stock `SOIC-8_3.9x4.9mm_P1.27mm` is not the same pattern: its pads are 1.95 x 0.60 mm at x = +-2.475 (IPC nominal for JEDEC MS-012), reaching 0.425 mm further under the body. Either solders; this page follows the manufacturer.++++Pin 1: pad 1 is top left in KiCad's footprint frame, with a silkscreen bar above it. The 3D model's pin 1 lead and its pin-1 dimple land on pad 1 with zero offset and rotation, and the pin order runs counter-clockwise seen from the top, as in Microchip's top view (p.23).++## 3D models++::adom-models{src="/adom/mcp2562fd-e-sn/render/models.json"}++| File | What it is |+|---|---|+| [mcp2562fd-e-sn-etched.step](mcp2562fd-e-sn-etched.step) | Library model for board CAD: the package with the MPN etched on top in an `Adom.LaserEtch` group. |+| [mcp2562fd-e-sn.step](mcp2562fd-e-sn.step) | The same package, unmarked. |+| [mcp2562fd-e-sn-etched.glb](mcp2562fd-e-sn-etched.glb) | Web and board-viewer copy of the etched model, matte-tin leads, no footprint artwork. |+| [mcp2562fd-e-sn.glb](mcp2562fd-e-sn.glb) | Web copy of the unmarked model. |+| [lod/](lod/manifest.json) | Four board detail levels (below). |++Frame for every file: Z up, seated on z = 0, centred on the footprint origin, pin 1 at (-x, +y), which is footprint pad 1.++**How the model was made.** Microchip's product page links its CAD models, but the page refused a plain request, so the manufacturer STEP was not obtained. KiCad's library model `SOIC-8_3.9x4.9mm_P1.27mm.step` was measured against Microchip's SN drawing (C04-00057-SN Rev L, p.24): every dimension fits except the foot. Measured on a section through pin 1's centre line, from the lead tip to where the lead's lower surface crosses the 0.25 mm gauge plane (JEDEC), KiCad's foot is **0.362 mm**; Microchip's minimum is **0.40 mm** (0.275 mm flat on KiCad's model). So the model was built from the drawing with CadQuery ([provenance/tools/build_soic8.py](provenance/tools/build_soic8.py)), keeping KiCad's radiused gull-wing bends, lead angle, mold draft and pin-1 dimple and lengthening the flat foot until the gauge-plane foot measures **0.500 mm**. Method and both numbers are in [provenance/3d-model.json](provenance/3d-model.json).++++| Dimension (mm) | Microchip min / nom / max | Model | KiCad library |+|---|---|---|---|+| e pitch | 1.27 BSC | 1.270 | 1.270 |+| A overall height | max 1.75 | 1.750 | 1.750 |+| A2 molded thickness | min 1.25 | 1.650 | 1.650 |+| A1 standoff | 0.10 / - / 0.25 | 0.100 | 0.100 |+| E overall width | 6.00 BSC | 6.000 | 6.000 |+| E1 molded width | 3.90 BSC | 3.900 | 3.900 |+| D overall length | 4.90 BSC | 4.900 | 4.900 |+| L foot, gauge plane | 0.40 / - / 1.27 | 0.500 | 0.362 |+| c lead thickness | 0.17 / - / 0.25 | 0.200 | 0.200 |+| b lead width | 0.31 / - / 0.51 | 0.410 | 0.410 |+| R, R1 bend radius | min 0.07 | 0.10 | 0.10 |+| Mold draft | 5 to 15 deg | 9.0 bottom, 11.6 top | same |++Not modelled: the optional end chamfer h.++**The marking is virtual.** The etch reads `MCP2562` / `FD-E/SN`, the orderable part number, so the part is identifiable in a 3D board view. Microchip's real marking is `2562FDE` / `SN e3 YYWW` / `NNN` (p.17). The etch was made with adom-chip-laser (service-occt flat mark, 5 um above the top face) placed by the adom-aiflow-etch planner from the footprint; its gate passes (axis, upright with pin 1 lower left, size 0.47 mm caps, band, flat, group, colour, widget).++++## Detail levels for board and digital-twin viewers++::adom-component-lod{src="/adom/mcp2562fd-e-sn/render/lod/manifest.json"}++| Level | File | Triangles | Marking |+|---|---|---|---|+| high | [mcp2562fd-e-sn-high.glb](lod/mcp2562fd-e-sn-high.glb) | 1552 | yes |+| medium | [mcp2562fd-e-sn-medium.glb](lod/mcp2562fd-e-sn-medium.glb) | 1168 | yes |+| low | [mcp2562fd-e-sn-low.glb](lod/mcp2562fd-e-sn-low.glb) | 732 | no |+| super-low | [mcp2562fd-e-sn-super-low.glb](lod/mcp2562fd-e-sn-super-low.glb) | 468 | no |++All four share the library model's frame and carry no footprint, silkscreen or label artwork. High is the etched GLB; medium and low come from the same generator with each bend drawn as three straight segments (medium keeps the etch); super-low has an undrafted body and one-segment bends. Every level keeps the eight leads and the pin-1 dimple. Status: candidate; the previews were inspected, a streaming LOD viewer has not qualified them.++++## Symbol chip outline++The symbol body carries the chip outline drawn from the etched model by `adom-aiflow-etch outline` (gate PASS): [artwork/MCP2562FD-E-SN-3d-outline-dark-named.svg](artwork/MCP2562FD-E-SN-3d-outline-dark-named.svg). The KiCad symbol, the Fusion library and the Altium SchLib carry the same drawing.++++## Sourcing++Checked 2026-10-21 with adom-parts-search.++| Distributor | Part number | Stock | Price |+|---|---|---|---|+| Mouser | [579-MCP2562FD-E/SN](https://www.mouser.com/en/ProductDetail/Microchip-Technology/MCP2562FD-E-SN?qs=YlpJWyuQ3POBNBSLSm7%2F1w%3D%3D) | 10,466 | 1.29 USD (1), 0.98 USD (100) |+| DigiKey | [MCP2562FD-E/SN-ND](https://www.digikey.com/en/products/detail/microchip-technology/MCP2562FD-E-SN/4842808) | 146 | 1.29 USD (1), 0.98 USD (100) |+| LCSC / JLCPCB | [C124016](https://www.lcsc.com/product-detail/C124016.html) | 1,719 | JLCPCB extended part |++The -E/SN part ships in tubes; order MCP2562FDT-E/SN for tape and reel (p.29).++## Manufacturer and resources++| Resource | Link |+|---|---|+| Product page | [microchip.com/en-us/product/MCP2562FD](https://www.microchip.com/en-us/product/MCP2562FD) |+| Datasheet | DS20005284B, Revision B (March 2026), [PDF on this page](docs/mcp2562fd-e-sn-datasheet.pdf), [microchip.com](https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf) |+| Package drawings | C04-00057-SN Rev L (outline), C04-02057-SN Rev L (land pattern); current versions at [microchip.com/packaging](http://www.microchip.com/packaging) |++## Related++- [adom/mcp2562fdt-e](https://wiki.adom.inc/adom/mcp2562fdt-e): an earlier page for the tape-and-reel ordering code, built on KiCad's generic footprint and model.+- [adom/mcp2562t-e](https://wiki.adom.inc/adom/mcp2562t-e): the classical-CAN MCP2562.++## Provenance++- **Datasheet:** Microchip DS20005284B (March 2026), 31 pages, sha256 `659565909388fcd7`, downloaded from microchip.com on 2026-10-21 ([docs/mcp2562fd-e-sn-datasheet.pdf](docs/mcp2562fd-e-sn-datasheet.pdf)). Every pin and spec above cites its page.+- **Footprint:** [provenance/footprint-check.json](provenance/footprint-check.json), pad by pad against p.25 and against KiCad's footprint.+- **3D model:** [provenance/3d-model.json](provenance/3d-model.json): source attempts, the KiCad comparison with method and numbers, build parameters, etch gate, hashes. The tools are in [provenance/tools/](provenance/tools/build_soic8.py); KiCad's reference footprint and model are kept in [provenance/kicad-reference/](provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.kicad_mod) for the comparison.+- **Symbol:** created from [provenance/tools/symbol-create.json](provenance/tools/symbol-create.json) by adom-symbol 1.2.6, then every pin moved onto the 2.54 mm grid by [snap_symbol.py](provenance/tools/snap_symbol.py) (the tool placed the first pin of each column at y = -2.00 mm).+- **Licence:** Adom-authored files (symbol, footprint, models, etch, artwork, libraries, tools, text) are CC-BY-4.0, see [LICENSE](LICENSE). The datasheet is Microchip's and keeps Microchip's terms; the KiCad reference files keep CC-BY-SA 4.0 with the KiCad libraries exception.++Cited datasheet pages:++++++++++++
altium/MCP2562FD-E-SN.SchLibadded⋯ 1 unchanged line ⋯
altium/MCP2562FD-E-SN.adom-lbr.jsonadded+3989@@ -0,0 +1,3989 @@+{+ "schema_version": 2,+ "mpn": "MCP2562FD-E/SN",+ "manufacturer": "Microchip Technology",+ "package": "",+ "value": "",+ "category": "",+ "symbol": {+ "name": "MCP2562FD-E-SN",+ "pins": [+ {+ "number": "1",+ "name": "TXD",+ "x": -800,+ "y": 250,+ "length": 100,+ "rotation": 0,+ "electrical_type": "input"+ },+ {+ "number": "4",+ "name": "RXD",+ "x": -800,+ "y": 150,+ "length": 100,+ "rotation": 0,+ "electrical_type": "output"+ },+ {+ "number": "8",+ "name": "STBY",+ "x": -800,+ "y": 50,+ "length": 100,+ "rotation": 0,+ "electrical_type": "input"+ },+ {+ "number": "7",+ "name": "CANH",+ "x": -800,+ "y": -250,+ "length": 100,+ "rotation": 0,+ "electrical_type": "bidirectional"+ },+ {+ "number": "6",+ "name": "CANL",+ "x": -800,+ "y": -350,+ "length": 100,+ "rotation": 0,+ "electrical_type": "bidirectional"+ },+ {+ "number": "3",+ "name": "VDD",+ "x": 800,+ "y": 250,+ "length": 100,+ "rotation": 180,+ "electrical_type": "power_in"+ },+ {+ "number": "5",+ "name": "VIO",+ "x": 800,+ "y": 150,+ "length": 100,+ "rotation": 180,+ "electrical_type": "power_in"+ },+ {+ "number": "2",+ "name": "VSS",+ "x": 800,+ "y": -150,+ "length": 100,+ "rotation": 180,+ "electrical_type": "power_in"+ }+ ],+ "body": null,+ "graphics": [+ {+ "kind": "rect",+ "x1": -700.0000000000001,+ "y1": 450.0,+ "x2": 700.0000000000001,+ "y2": -450.0,+ "width": 10.0,+ "filled": true,+ "fill_style": "background"+ },+ {+ "kind": "polyline",+ "points": [+ [+ 92.8740157480315,+ -135.3149606299213+ ],+ [+ 254.5275590551181,+ -42.00787401574809+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 254.5275590551181,+ -42.00787401574809+ ],+ [+ 255.43307086614175,+ -38.661417322834666+ ],+ [+ 256.3779527559055,+ -35.3149606299213+ ],+ [+ 257.2834645669291,+ -31.96850393700788+ ],+ [+ 258.18897637795277,+ -28.582677165354312+ ],+ [+ 259.13385826771656,+ -25.236220472441005+ ],+ [+ 260.0393700787402,+ -21.889763779527584+ ],+ [+ 260.98425196850394,+ -18.54330708661422+ ],+ [+ 261.8897637795276,+ -15.1968503937008+ ],+ [+ 262.79527559055117,+ -11.850393700787436+ ],+ [+ 263.74015748031496,+ -8.503937007874015+ ],+ [+ 264.6456692913386,+ -5.157480314960651+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 92.8740157480315,+ -104.3307086614173+ ],+ [+ 264.6456692913386,+ -5.157480314960651+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 92.8740157480315,+ -135.3149606299213+ ],+ [+ 92.8740157480315,+ -131.10236220472444+ ],+ [+ 92.8740157480315,+ -126.85039370078744+ ],+ [+ 92.8740157480315,+ -122.63779527559058+ ],+ [+ 92.8740157480315,+ -118.42519685039372+ ],+ [+ 92.8740157480315,+ -114.17322834645665+ ],+ [+ 92.8740157480315,+ -109.96062992125985+ ],+ [+ 92.8740157480315,+ -105.70866141732284+ ],+ [+ 92.8740157480315,+ -104.3307086614173+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -103.03149606299213,+ -22.204724409448886+ ],+ [+ -72.83464566929135,+ -39.645669291338606+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -47.08661417322835,+ -54.52755905511816+ ],+ [+ -16.88976377952756,+ -71.96850393700788+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 8.858267716535433,+ -86.81102362204729+ ],+ [+ 39.05511811023622,+ -104.25196850393706+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 64.76377952755905,+ -119.09448818897636+ ],+ [+ 92.8740157480315,+ -135.3149606299213+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 264.6456692913386,+ -5.157480314960651+ ],+ [+ 263.1496062992126,+ -0.866141732283495+ ],+ [+ 261.61417322834643,+ 3.425196850393661+ ],+ [+ 260.0787401574803,+ 7.677165354330668+ ],+ [+ 258.54330708661416,+ 11.968503937007824+ ],+ [+ 257.0472440944882,+ 16.259842519685037+ ],+ [+ 255.51181102362207,+ 20.511811023622045+ ],+ [+ 254.01574803149606,+ 24.8031496062992+ ],+ [+ 252.48031496062995,+ 29.055118110236265+ ],+ [+ 250.94488188976376,+ 33.34645669291342+ ],+ [+ 249.4488188976378,+ 37.63779527559052+ ],+ [+ 247.91338582677164,+ 41.889763779527584+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 92.8740157480315,+ -47.59842519685043+ ],+ [+ 247.91338582677164,+ 41.889763779527584+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 92.8740157480315,+ -104.3307086614173+ ],+ [+ 92.8740157480315,+ -99.17322834645671+ ],+ [+ 92.8740157480315,+ -93.97637795275591+ ],+ [+ 92.8740157480315,+ -88.85826771653547+ ],+ [+ 92.8740157480315,+ -83.70078740157481+ ],+ [+ 92.8740157480315,+ -78.54330708661416+ ],+ [+ 92.8740157480315,+ -73.38582677165357+ ],+ [+ 92.8740157480315,+ -68.22834645669292+ ],+ [+ 92.8740157480315,+ -63.070866141732324+ ],+ [+ 92.8740157480315,+ -57.91338582677167+ ],+ [+ 92.8740157480315,+ -52.75590551181108+ ],+ [+ 92.8740157480315,+ -47.59842519685043+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -122.91338582677166,+ 20.275590551181097+ ],+ [+ -116.65354330708662,+ 16.65354330708658+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -89.88188976377953,+ 1.2204724409448886+ ],+ [+ -60.70866141732284,+ -15.629921259842547+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -33.976377952755904,+ -31.062992125984294+ ],+ [+ -4.803149606299213,+ -47.913385826771616+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 21.968503937007878,+ -63.34645669291342+ ],+ [+ 51.14173228346456,+ -80.1968503937008+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 77.91338582677166,+ -95.6692913385827+ ],+ [+ 92.8740157480315,+ -104.3307086614173+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -120.86614173228347,+ 12.83464566929132+ ],+ [+ -121.81102362204724,+ 16.22047244094489+ ],+ [+ -122.71653543307087,+ 19.606299212598458+ ],+ [+ -122.91338582677166,+ 20.275590551181097+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 247.91338582677164,+ 41.889763779527584+ ],+ [+ 48.85826771653544,+ 156.8503937007874+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -106.18110236220473,+ 67.32283464566927+ ],+ [+ 92.8740157480315,+ -47.59842519685043+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 48.85826771653544,+ 156.8503937007874+ ],+ [+ -106.18110236220473,+ 67.32283464566927+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -35.70866141732284,+ 74.96062992125985+ ],+ [+ -32.83464566929134,+ 72.83464566929132+ ],+ [+ -30.82677165354331,+ 70.0+ ],+ [+ -30.236220472440948,+ 67.32283464566927+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -30.236220472440948,+ 67.32283464566927+ ],+ [+ -31.92913385826772,+ 62.83464566929132+ ],+ [+ -34.803149606299215,+ 60.2755905511811+ ],+ [+ -38.818897637795274,+ 58.26771653543307+ ],+ [+ -43.661417322834644,+ 56.96850393700788+ ],+ [+ -48.937007874015755,+ 56.535433070866134+ ],+ [+ -54.21259842519685,+ 56.96850393700788+ ],+ [+ -59.01574803149607,+ 58.26771653543307+ ],+ [+ -63.031496062992126,+ 60.2755905511811+ ],+ [+ -65.90551181102362,+ 62.83464566929132+ ],+ [+ -67.5984251968504,+ 67.32283464566927+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -67.5984251968504,+ 67.32283464566927+ ],+ [+ -66.65354330708662,+ 70.74803149606299+ ],+ [+ -63.89763779527559,+ 73.77952755905511+ ],+ [+ -59.56692913385827,+ 76.18110236220468+ ],+ [+ -56.06299212598425,+ 77.28346456692913+ ],+ [+ -52.24409448818898,+ 77.95275590551182+ ],+ [+ -48.267716535433074,+ 78.11023622047242+ ],+ [+ -44.29133858267717,+ 77.79527559055117+ ],+ [+ -40.59055118110236,+ 76.96850393700788+ ],+ [+ -37.204724409448815,+ 75.74803149606299+ ],+ [+ -35.70866141732284,+ 74.96062992125985+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -122.91338582677166,+ 20.275590551181097+ ],+ [+ -121.41732283464567,+ 24.566929133858252+ ],+ [+ -119.88188976377953,+ 28.85826771653541+ ],+ [+ -118.34645669291338,+ 33.11023622047247+ ],+ [+ -116.81102362204726,+ 37.40157480314957+ ],+ [+ -115.31496062992126,+ 41.69291338582673+ ],+ [+ -113.77952755905513,+ 45.94488188976379+ ],+ [+ -112.28346456692913,+ 50.23622047244095+ ],+ [+ -110.748031496063,+ 54.488188976377955+ ],+ [+ -109.21259842519686,+ 58.77952755905511+ ],+ [+ -107.71653543307087,+ 63.07086614173227+ ],+ [+ -106.18110236220473,+ 67.32283464566927+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -35.70866141732284,+ 72.40157480314957+ ],+ [+ -40.275590551181104,+ 74.37007874015745+ ],+ [+ -43.818897637795274,+ 75.15748031496065+ ],+ [+ -47.55905511811024,+ 75.5511811023622+ ],+ [+ -51.338582677165356,+ 75.4724409448819+ ],+ [+ -55.039370078740156,+ 74.96062992125985+ ],+ [+ -58.503937007874015,+ 74.05511811023621+ ],+ [+ -62.874015748031496,+ 71.96850393700782+ ],+ [+ -65.94488188976378,+ 69.21259842519686+ ],+ [+ -67.48031496062993,+ 66.06299212598424+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -30.35433070866142,+ 66.06299212598424+ ],+ [+ -31.889763779527563,+ 69.21259842519686+ ],+ [+ -34.56692913385827,+ 71.69291338582678+ ],+ [+ -35.70866141732284,+ 72.40157480314957+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -88.0708661417323,+ 12.440944881889777+ ],+ [+ -97.04724409448819,+ 7.283464566929126+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -88.0708661417323,+ 12.440944881889777+ ],+ [+ -91.37795275590553,+ 14.330708661417304+ ],+ [+ -94.64566929133858,+ 16.22047244094489+ ],+ [+ -97.91338582677166,+ 18.110236220472416+ ],+ [+ -101.22047244094489,+ 20.0+ ],+ [+ -104.48818897637796,+ 21.929133858267676+ ],+ [+ -106.14173228346458,+ 22.874015748031525+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -106.14173228346458,+ 22.874015748031525+ ],+ [+ -115.07874015748033,+ 17.67716535433067+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -89.88188976377953,+ 1.2204724409448886+ ],+ [+ -97.04724409448819,+ -2.9133858267716732+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -89.88188976377953,+ 1.2204724409448886+ ],+ [+ -89.29133858267716,+ 4.803149606299144+ ],+ [+ -88.74015748031496,+ 8.346456692913364+ ],+ [+ -88.14960629921259,+ 11.929133858267733+ ],+ [+ -88.0708661417323,+ 12.440944881889777+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -97.04724409448819,+ 7.283464566929126+ ],+ [+ -100.35433070866142,+ 4.842519685039349+ ],+ [+ -103.50393700787401,+ 1.5748031496062822+ ],+ [+ -105.59055118110237,+ -1.2992125984251857+ ],+ [+ -107.36220472440945,+ -4.409448818897658+ ],+ [+ -108.74015748031496,+ -7.677165354330782+ ],+ [+ -109.68503937007874,+ -10.944881889763792+ ],+ [+ -110.03937007874016,+ -13.070866141732267+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -110.03937007874016,+ -13.070866141732267+ ],+ [+ -113.58267716535433,+ -40.00000000000006+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -113.58267716535433,+ -40.00000000000006+ ],+ [+ -114.68503937007874,+ -43.22834645669292+ ],+ [+ -116.81102362204726,+ -45.94488188976379+ ],+ [+ -117.95275590551182,+ -46.77165354330708+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -117.95275590551182,+ -46.77165354330708+ ],+ [+ -136.1417322834646,+ -57.24409448818898+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -136.1417322834646,+ -67.44094488188978+ ],+ [+ -136.1417322834646,+ -57.24409448818898+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -117.95275590551182,+ -56.92913385826773+ ],+ [+ -136.1417322834646,+ -67.44094488188978+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -104.92125984251969,+ -36.61417322834649+ ],+ [+ -105.86614173228347,+ -40.90551181102364+ ],+ [+ -107.12598425196852,+ -44.17322834645671+ ],+ [+ -108.74015748031496,+ -47.36220472440948+ ],+ [+ -110.748031496063,+ -50.314960629921245+ ],+ [+ -112.99212598425197,+ -52.95275590551182+ ],+ [+ -116.25984251968504,+ -55.82677165354329+ ],+ [+ -117.95275590551182,+ -56.92913385826773+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -101.37795275590553,+ -9.685039370078698+ ],+ [+ -104.92125984251969,+ -36.61417322834649+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -97.04724409448819,+ -2.9133858267716732+ ],+ [+ -99.64566929133859,+ -5.4330708661417475+ ],+ [+ -101.14173228346456,+ -8.622047244094517+ ],+ [+ -101.37795275590553,+ -9.685039370078698+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -115.07874015748033,+ 17.67716535433067+ ],+ [+ -118.4251968503937,+ 15.27559055118104+ ],+ [+ -121.57480314960631,+ 12.007874015747973+ ],+ [+ -123.6220472440945,+ 9.133858267716562+ ],+ [+ -125.39370078740158,+ 5.984251968503941+ ],+ [+ -126.81102362204726,+ 2.7559055118110223+ ],+ [+ -127.75590551181104,+ -0.5118110236221014+ ],+ [+ -128.11023622047244,+ -2.6377952755905767+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -154.1732283464567,+ -46.850393700787436+ ],+ [+ -154.1732283464567,+ -57.00787401574803+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -135.98425196850394,+ -36.33858267716539+ ],+ [+ -154.1732283464567,+ -46.850393700787436+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -131.6535433070866,+ -29.56692913385831+ ],+ [+ -132.75590551181102,+ -32.79527559055123+ ],+ [+ -134.88188976377953,+ -35.511811023622045+ ],+ [+ -135.98425196850394,+ -36.33858267716539+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -128.11023622047244,+ -2.6377952755905767+ ],+ [+ -131.6535433070866,+ -29.56692913385831+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -154.1732283464567,+ -57.00787401574803+ ],+ [+ -136.1417322834646,+ -67.44094488188978+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -136.1417322834646,+ -57.24409448818898+ ],+ [+ -154.1732283464567,+ -46.850393700787436+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -32.16535433070866,+ -19.881889763779498+ ],+ [+ -41.102362204724415,+ -25.03937007874015+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -32.16535433070866,+ -19.881889763779498+ ],+ [+ -35.43307086614173,+ -17.95275590551182+ ],+ [+ -38.70078740157481,+ -16.062992125984294+ ],+ [+ -42.00787401574803,+ -14.17322834645671+ ],+ [+ -45.275590551181104,+ -12.283464566929126+ ],+ [+ -48.54330708661418,+ -10.393700787401599+ ],+ [+ -50.196850393700785,+ -9.448818897637864+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -50.196850393700785,+ -9.448818897637864+ ],+ [+ -59.17322834645669,+ -14.606299212598401+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -33.976377952755904,+ -31.062992125984294+ ],+ [+ -41.102362204724415,+ -35.196850393700856+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -33.976377952755904,+ -31.062992125984294+ ],+ [+ -33.38582677165354,+ -27.51968503937013+ ],+ [+ -32.79527559055118,+ -23.937007874015762+ ],+ [+ -32.204724409448815,+ -20.35433070866145+ ],+ [+ -32.16535433070866,+ -19.881889763779498+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -41.102362204724415,+ -25.03937007874015+ ],+ [+ -44.4488188976378,+ -27.440944881889777+ ],+ [+ -47.55905511811024,+ -30.748031496062993+ ],+ [+ -49.64566929133858,+ -33.58267716535437+ ],+ [+ -51.417322834645674,+ -36.69291338582673+ ],+ [+ -52.795275590551185,+ -39.96062992125985+ ],+ [+ -53.74015748031496,+ -43.22834645669292+ ],+ [+ -54.13385826771654,+ -45.35433070866145+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -54.13385826771654,+ -45.35433070866145+ ],+ [+ -57.67716535433071,+ -72.28346456692918+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -57.67716535433071,+ -72.28346456692918+ ],+ [+ -58.74015748031496,+ -75.51181102362204+ ],+ [+ -60.90551181102362,+ -78.26771653543307+ ],+ [+ -62.00787401574803,+ -79.05511811023621+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -62.00787401574803,+ -79.05511811023621+ ],+ [+ -80.19685039370079,+ -89.56692913385825+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -80.19685039370079,+ -99.7244094488189+ ],+ [+ -80.19685039370079,+ -89.56692913385825+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -62.00787401574803,+ -89.21259842519692+ ],+ [+ -80.19685039370079,+ -99.7244094488189+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -48.976377952755904,+ -68.89763779527561+ ],+ [+ -49.960629921259844,+ -73.18897637795277+ ],+ [+ -51.181102362204726,+ -76.4566929133859+ ],+ [+ -52.83464566929134,+ -79.6456692913386+ ],+ [+ -54.80314960629921,+ -82.59842519685037+ ],+ [+ -57.04724409448819,+ -85.23622047244095+ ],+ [+ -60.314960629921266,+ -88.14960629921262+ ],+ [+ -62.00787401574803,+ -89.21259842519692+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -45.43307086614173,+ -41.96850393700788+ ],+ [+ -48.976377952755904,+ -68.89763779527561+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -41.102362204724415,+ -35.196850393700856+ ],+ [+ -43.70078740157481,+ -37.71653543307093+ ],+ [+ -45.23622047244095,+ -40.90551181102364+ ],+ [+ -45.43307086614173,+ -41.96850393700788+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -59.17322834645669,+ -14.606299212598401+ ],+ [+ -62.480314960629926,+ -17.047244094488235+ ],+ [+ -65.62992125984252,+ -20.314960629921302+ ],+ [+ -67.71653543307087,+ -23.14960629921262+ ],+ [+ -69.48818897637796,+ -26.299212598425186+ ],+ [+ -70.86614173228347,+ -29.52755905511816+ ],+ [+ -71.81102362204724,+ -32.79527559055123+ ],+ [+ -72.16535433070867,+ -34.921259842519646+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -98.26771653543308,+ -79.13385826771656+ ],+ [+ -98.26771653543308,+ -89.29133858267716+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -80.07874015748031,+ -68.62204724409446+ ],+ [+ -98.26771653543308,+ -79.13385826771656+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -75.70866141732284,+ -61.850393700787436+ ],+ [+ -76.81102362204724,+ -65.0787401574803+ ],+ [+ -78.93700787401575,+ -67.83464566929132+ ],+ [+ -80.07874015748031,+ -68.62204724409446+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -72.16535433070867,+ -34.921259842519646+ ],+ [+ -75.70866141732284,+ -61.850393700787436+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -98.26771653543308,+ -89.29133858267716+ ],+ [+ -80.19685039370079,+ -99.7244094488189+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -80.19685039370079,+ -89.56692913385825+ ],+ [+ -98.26771653543308,+ -79.13385826771656+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 23.77952755905512,+ -52.12598425196853+ ],+ [+ 14.84251968503937,+ -57.32283464566933+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 23.77952755905512,+ -52.12598425196853+ ],+ [+ 20.511811023622048,+ -50.2755905511811+ ],+ [+ 17.20472440944882,+ -48.34645669291342+ ],+ [+ 13.937007874015748,+ -46.45669291338584+ ],+ [+ 10.669291338582678,+ -44.56692913385831+ ],+ [+ 7.362204724409449,+ -42.677165354330725+ ],+ [+ 5.708661417322834,+ -41.73228346456693+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 5.708661417322834,+ -41.73228346456693+ ],+ [+ -3.188976377952756,+ -46.889763779527584+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 21.968503937007878,+ -63.34645669291342+ ],+ [+ 14.84251968503937,+ -67.48031496062993+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 21.968503937007878,+ -63.34645669291342+ ],+ [+ 22.559055118110237,+ -59.80314960629926+ ],+ [+ 23.11023622047244,+ -56.22047244094489+ ],+ [+ 23.700787401574804,+ -52.63779527559058+ ],+ [+ 23.77952755905512,+ -52.12598425196853+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 14.84251968503937,+ -57.32283464566933+ ],+ [+ 11.496062992125983,+ -59.7244094488189+ ],+ [+ 8.346456692913385,+ -62.99212598425197+ ],+ [+ 6.299212598425197,+ -65.90551181102364+ ],+ [+ 4.52755905511811,+ -69.01574803149612+ ],+ [+ 3.1496062992125986,+ -72.24409448818898+ ],+ [+ 2.204724409448819,+ -75.51181102362204+ ],+ [+ 1.8110236220472442,+ -77.63779527559058+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 1.8110236220472442,+ -77.63779527559058+ ],+ [+ -1.7322834645669292,+ -104.56692913385825+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -1.7322834645669292,+ -104.56692913385825+ ],+ [+ -2.8346456692913384,+ -107.79527559055123+ ],+ [+ -4.960629921259843,+ -110.55118110236225+ ],+ [+ -6.062992125984252,+ -111.33858267716539+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -6.062992125984252,+ -111.33858267716539+ ],+ [+ -24.291338582677167,+ -121.85039370078738+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -24.291338582677167,+ -132.0078740157481+ ],+ [+ -24.291338582677167,+ -121.85039370078738+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -6.062992125984252,+ -121.53543307086619+ ],+ [+ -24.291338582677167,+ -132.0078740157481+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 6.968503937007874,+ -101.1811023622048+ ],+ [+ 6.0236220472440944,+ -105.47244094488195+ ],+ [+ 4.7637795275590555,+ -108.77952755905517+ ],+ [+ 3.110236220472441,+ -111.92913385826773+ ],+ [+ 1.1023622047244095,+ -114.88188976377955+ ],+ [+ -1.1023622047244095,+ -117.55905511811022+ ],+ [+ -4.3700787401574805,+ -120.43307086614175+ ],+ [+ -6.062992125984252,+ -121.53543307086619+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 10.47244094488189,+ -74.25196850393701+ ],+ [+ 6.968503937007874,+ -101.1811023622048+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 14.84251968503937,+ -67.48031496062993+ ],+ [+ 12.204724409448819,+ -70.0+ ],+ [+ 10.708661417322835,+ -73.18897637795277+ ],+ [+ 10.47244094488189,+ -74.25196850393701+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -3.188976377952756,+ -46.889763779527584+ ],+ [+ -6.5748031496063,+ -49.33070866141736+ ],+ [+ -9.68503937007874,+ -52.59842519685043+ ],+ [+ -11.771653543307087,+ -55.472440944881896+ ],+ [+ -13.543307086614172,+ -58.58267716535437+ ],+ [+ -14.921259842519685,+ -61.850393700787436+ ],+ [+ -15.866141732283467,+ -65.0787401574803+ ],+ [+ -16.25984251968504,+ -67.20472440944883+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -42.32283464566929,+ -111.41732283464569+ ],+ [+ -42.32283464566929,+ -121.61417322834643+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -24.133858267716537,+ -100.90551181102364+ ],+ [+ -42.32283464566929,+ -111.41732283464569+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -19.803149606299215,+ -94.13385826771656+ ],+ [+ -20.866141732283467,+ -97.40157480314963+ ],+ [+ -23.031496062992126,+ -100.1181102362205+ ],+ [+ -24.133858267716537,+ -100.90551181102364+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -16.25984251968504,+ -67.20472440944883+ ],+ [+ -19.803149606299215,+ -94.13385826771656+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -42.32283464566929,+ -121.61417322834643+ ],+ [+ -24.291338582677167,+ -132.0078740157481+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -24.291338582677167,+ -121.85039370078738+ ],+ [+ -42.32283464566929,+ -111.41732283464569+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 79.7244094488189,+ -84.4488188976378+ ],+ [+ 70.78740157480316,+ -89.60629921259846+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 79.7244094488189,+ -84.4488188976378+ ],+ [+ 76.45669291338582,+ -82.55905511811028+ ],+ [+ 73.1496062992126,+ -80.6692913385827+ ],+ [+ 69.88188976377953,+ -78.77952755905511+ ],+ [+ 66.57480314960631,+ -76.85039370078744+ ],+ [+ 63.30708661417324,+ -74.96062992125985+ ],+ [+ 61.65354330708662,+ -74.01574803149606+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 61.65354330708662,+ -74.01574803149606+ ],+ [+ 52.71653543307087,+ -79.17322834645671+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 77.91338582677166,+ -95.6692913385827+ ],+ [+ 70.78740157480316,+ -99.76377952755905+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 77.91338582677166,+ -95.6692913385827+ ],+ [+ 78.50393700787401,+ -92.08661417322833+ ],+ [+ 79.05511811023622,+ -88.50393700787401+ ],+ [+ 79.64566929133859,+ -84.96062992125985+ ],+ [+ 79.7244094488189,+ -84.4488188976378+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 70.78740157480316,+ -89.60629921259846+ ],+ [+ 67.40157480314961,+ -92.04724409448818+ ],+ [+ 64.29133858267717,+ -95.3149606299213+ ],+ [+ 62.20472440944882,+ -98.18897637795277+ ],+ [+ 60.472440944881896,+ -101.29921259842519+ ],+ [+ 59.05511811023622,+ -104.5275590551181+ ],+ [+ 58.110236220472444,+ -107.79527559055123+ ],+ [+ 57.71653543307087,+ -109.9212598425197+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 57.71653543307087,+ -109.9212598425197+ ],+ [+ 54.21259842519685,+ -136.88976377952764+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 54.21259842519685,+ -136.88976377952764+ ],+ [+ 53.110236220472444,+ -140.1181102362205+ ],+ [+ 50.98425196850393,+ -142.83464566929138+ ],+ [+ 49.84251968503937,+ -143.66141732283467+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 49.84251968503937,+ -143.66141732283467+ ],+ [+ 31.692913385826774,+ -154.13385826771656+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 31.692913385826774,+ -164.33070866141736+ ],+ [+ 31.692913385826774,+ -154.13385826771656+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 49.84251968503937,+ -153.81889763779532+ ],+ [+ 31.692913385826774,+ -164.33070866141736+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 62.91338582677166,+ -133.50393700787407+ ],+ [+ 61.92913385826772,+ -137.79527559055123+ ],+ [+ 60.669291338582674,+ -141.0629921259843+ ],+ [+ 59.01574803149607,+ -144.21259842519692+ ],+ [+ 57.04724409448819,+ -147.20472440944883+ ],+ [+ 54.80314960629921,+ -149.8425196850394+ ],+ [+ 51.53543307086614,+ -152.71653543307087+ ],+ [+ 49.84251968503937,+ -153.81889763779532+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 66.41732283464567,+ -106.57480314960628+ ],+ [+ 62.91338582677166,+ -133.50393700787407+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 70.78740157480316,+ -99.76377952755905+ ],+ [+ 68.1496062992126,+ -102.32283464566933+ ],+ [+ 66.65354330708662,+ -105.47244094488195+ ],+ [+ 66.41732283464567,+ -106.57480314960628+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 52.71653543307087,+ -79.17322834645671+ ],+ [+ 49.37007874015748,+ -81.61417322834643+ ],+ [+ 46.259842519685044,+ -84.8818897637795+ ],+ [+ 44.173228346456696,+ -87.75590551181102+ ],+ [+ 42.40157480314961,+ -90.8661417322835+ ],+ [+ 41.023622047244096,+ -94.09448818897636+ ],+ [+ 40.07874015748032,+ -97.40157480314963+ ],+ [+ 39.68503937007874,+ -99.5275590551181+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 13.622047244094487,+ -143.70078740157481+ ],+ [+ 13.622047244094487,+ -153.8976377952756+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 31.811023622047248,+ -133.22834645669292+ ],+ [+ 13.622047244094487,+ -143.70078740157481+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 36.14173228346457,+ -126.45669291338584+ ],+ [+ 35.03937007874016,+ -129.68503937007875+ ],+ [+ 32.91338582677165,+ -132.40157480314963+ ],+ [+ 31.811023622047248,+ -133.22834645669292+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 39.68503937007874,+ -99.5275590551181+ ],+ [+ 36.14173228346457,+ -126.45669291338584+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 13.622047244094487,+ -153.8976377952756+ ],+ [+ 31.692913385826774,+ -164.33070866141736+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 31.692913385826774,+ -154.13385826771656+ ],+ [+ 13.622047244094487,+ -143.70078740157481+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 256.53543307086613,+ 17.63779527559052+ ],+ [+ 256.81102362204723,+ 17.79527559055117+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 260.0,+ 7.874015748031525+ ],+ [+ 261.1417322834646,+ 5.866141732283438+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 261.1417322834646,+ 5.866141732283438+ ],+ [+ 261.496062992126,+ 3.740157480314963+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 263.503937007874,+ -9.330708661417361+ ],+ [+ 264.68503937007875,+ -16.96850393700788+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 264.68503937007875,+ -16.96850393700788+ ],+ [+ 265.7874015748032,+ -20.472440944881896+ ],+ [+ 268.1102362204724,+ -22.99212598425197+ ],+ [+ 268.38582677165357,+ -23.14960629921262+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 268.38582677165357,+ -23.14960629921262+ ],+ [+ 271.81102362204723,+ -24.055118110236208+ ],+ [+ 275.3937007874016,+ -23.34645669291342+ ],+ [+ 277.7165354330709,+ -22.244094488188978+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 277.7165354330709,+ -22.244094488188978+ ],+ [+ 295.90551181102364,+ -11.771653543307082+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 295.90551181102364,+ -1.5748031496062822+ ],+ [+ 295.90551181102364,+ -11.771653543307082+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 277.7165354330709,+ -12.086614173228327+ ],+ [+ 295.90551181102364,+ -1.5748031496062822+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 273.38582677165357,+ -10.314960629921245+ ],+ [+ 274.6062992125984,+ -12.401574803149629+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 274.6062992125984,+ -12.401574803149629+ ],+ [+ 277.7165354330709,+ -12.086614173228327+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 269.8425196850394,+ 12.559055118110223+ ],+ [+ 273.38582677165357,+ -10.314960629921245+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 256.81102362204723,+ 17.79527559055117+ ],+ [+ 260.0787401574803,+ 19.21259842519686+ ],+ [+ 263.54330708661416,+ 19.566929133858252+ ],+ [+ 266.1417322834646,+ 18.740157480314963+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 266.1417322834646,+ 18.740157480314963+ ],+ [+ 268.58267716535437,+ 16.29921259842513+ ],+ [+ 269.8031496062992,+ 12.913385826771673+ ],+ [+ 269.8425196850394,+ 12.559055118110223+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 271.02362204724415,+ 4.921259842519646+ ],+ [+ 277.8740157480315,+ 8.858267716535465+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 277.8740157480315,+ 8.858267716535465+ ],+ [+ 295.90551181102364,+ -1.5748031496062822+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 253.58267716535434,+ 25.984251968503884+ ],+ [+ 266.1417322834646,+ 18.740157480314963+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 268.38582677165357,+ -23.14960629921262+ ],+ [+ 260.8661417322835,+ -18.858267716535465+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -97.04724409448819,+ 7.283464566929126+ ],+ [+ -115.07874015748033,+ 17.67716535433067+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -110.03937007874016,+ -13.070866141732267+ ],+ [+ -128.11023622047244,+ -2.6377952755905767+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -117.95275590551182,+ -46.77165354330708+ ],+ [+ -135.98425196850394,+ -36.33858267716539+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -113.58267716535433,+ -40.00000000000006+ ],+ [+ -131.6535433070866,+ -29.56692913385831+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -41.102362204724415,+ -25.03937007874015+ ],+ [+ -59.17322834645669,+ -14.606299212598401+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -54.13385826771654,+ -45.35433070866145+ ],+ [+ -72.16535433070867,+ -34.921259842519646+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -62.00787401574803,+ -79.05511811023621+ ],+ [+ -80.07874015748031,+ -68.62204724409446+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -57.67716535433071,+ -72.28346456692918+ ],+ [+ -75.70866141732284,+ -61.850393700787436+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 14.84251968503937,+ -57.32283464566933+ ],+ [+ -3.188976377952756,+ -46.889763779527584+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 1.8110236220472442,+ -77.63779527559058+ ],+ [+ -16.25984251968504,+ -67.20472440944883+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -6.062992125984252,+ -111.33858267716539+ ],+ [+ -24.133858267716537,+ -100.90551181102364+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ -1.7322834645669292,+ -104.56692913385825+ ],+ [+ -19.803149606299215,+ -94.13385826771656+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 70.78740157480316,+ -89.60629921259846+ ],+ [+ 52.71653543307087,+ -79.17322834645671+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 57.71653543307087,+ -109.9212598425197+ ],+ [+ 39.68503937007874,+ -99.5275590551181+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 49.84251968503937,+ -143.66141732283467+ ],+ [+ 31.811023622047248,+ -133.22834645669292+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 54.21259842519685,+ -136.88976377952764+ ],+ [+ 36.14173228346457,+ -126.45669291338584+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 261.1417322834646,+ 5.866141732283438+ ],+ [+ 260.62992125984255,+ 6.181102362204683+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 256.4173228346457,+ 18.03149606299212+ ],+ [+ 256.81102362204723,+ 17.79527559055117+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 273.26771653543307,+ -9.488188976377955+ ],+ [+ 277.7165354330709,+ -12.086614173228327+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 264.68503937007875,+ -16.96850393700788+ ],+ [+ 261.8503937007874,+ -15.354330708661394+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 60.275590551181104,+ 83.18897637795271+ ],+ [+ 44.64566929133858,+ 74.17322834645665+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 60.275590551181104,+ 83.18897637795271+ ],+ [+ 50.59055118110236,+ 70.74803149606299+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 72.16535433070867,+ 76.29921259842519+ ],+ [+ 50.59055118110236,+ 70.74803149606299+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 72.16535433070867,+ 76.29921259842519+ ],+ [+ 56.53543307086614,+ 67.28346456692913+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 84.80314960629921,+ 64.72440944881885+ ],+ [+ 84.80314960629921,+ 69.01574803149606+ ],+ [+ 81.81102362204724,+ 70.74803149606299+ ],+ [+ 76.61417322834646,+ 71.14173228346453+ ],+ [+ 71.41732283464567,+ 69.8818897637795+ ],+ [+ 67.71653543307087,+ 67.71653543307087+ ],+ [+ 65.43307086614173,+ 64.72440944881885+ ],+ [+ 69.1732283464567,+ 60.0+ ],+ [+ 74.37007874015748,+ 59.56692913385825+ ],+ [+ 76.61417322834646,+ 60.0+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 93.74015748031496,+ 63.85826771653541+ ],+ [+ 78.11023622047244,+ 54.84251968503935+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 93.74015748031496,+ 63.85826771653541+ ],+ [+ 100.43307086614175,+ 60.0+ ],+ [+ 101.14173228346456,+ 56.141732283464535+ ],+ [+ 96.69291338582677,+ 54.4094488188976+ ],+ [+ 92.24409448818898,+ 55.2755905511811+ ],+ [+ 85.55118110236221,+ 59.133858267716505+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 105.62992125984252,+ 52.716535433070874+ ],+ [+ 110.07874015748031,+ 53.54330708661416+ ],+ [+ 115.27559055118111,+ 51.41732283464569+ ],+ [+ 115.27559055118111,+ 47.99212598425197+ ],+ [+ 111.57480314960631,+ 46.692913385826785+ ],+ [+ 107.83464566929133,+ 46.25984251968504+ ],+ [+ 92.99212598425197,+ 46.25984251968504+ ],+ [+ 103.38582677165354,+ 40.23622047244089+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 132.4015748031496,+ 41.535433070866134+ ],+ [+ 124.96062992125985,+ 45.82677165354329+ ],+ [+ 117.51968503937007,+ 42.40157480314963+ ],+ [+ 122.00787401574804,+ 41.535433070866134+ ],+ [+ 125.70866141732284,+ 38.54330708661416+ ],+ [+ 124.21259842519684,+ 35.118110236220446+ ],+ [+ 119.76377952755905,+ 33.38582677165351+ ],+ [+ 113.81889763779527,+ 34.25196850393701+ ],+ [+ 110.07874015748031,+ 37.24409448818898+ ],+ [+ 110.8267716535433,+ 39.37007874015745+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 145.78740157480314,+ 31.22047244094489+ ],+ [+ 143.54330708661416,+ 35.118110236220446+ ],+ [+ 136.88976377952756,+ 35.511811023622045+ ],+ [+ 132.4015748031496,+ 33.81889763779526+ ],+ [+ 128.66141732283464,+ 31.65354330708658+ ],+ [+ 126.45669291338584,+ 27.79527559055117+ ],+ [+ 131.6535433070866,+ 24.8031496062992+ ],+ [+ 137.5984251968504,+ 25.62992125984249+ ],+ [+ 139.84251968503938,+ 29.527559055118047+ ],+ [+ 134.60629921259843,+ 32.519685039370074+ ],+ [+ 128.66141732283464,+ 31.65354330708658+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 150.23622047244095,+ 26.929133858267733+ ],+ [+ 154.68503937007873,+ 27.79527559055117+ ],+ [+ 159.9212598425197,+ 25.62992125984249+ ],+ [+ 159.9212598425197,+ 22.204724409448772+ ],+ [+ 156.18110236220474,+ 20.944881889763735+ ],+ [+ 152.48031496062993,+ 20.472440944881896+ ],+ [+ 137.5984251968504,+ 20.472440944881896+ ],+ [+ 148.03149606299212,+ 14.488188976377955+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 36.06299212598425,+ 70.0787401574803+ ],+ [+ 20.472440944881892,+ 61.06299212598424+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 36.06299212598425,+ 70.0787401574803+ ],+ [+ 45.74803149606299,+ 64.5275590551181+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 28.661417322834644,+ 65.78740157480314+ ],+ [+ 34.60629921259843,+ 62.36220472440942+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 49.4488188976378,+ 62.36220472440942+ ],+ [+ 33.85826771653544,+ 53.346456692913364+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 49.4488188976378,+ 62.36220472440942+ ],+ [+ 54.68503937007874,+ 59.37007874015745+ ],+ [+ 56.181102362204726,+ 55.90551181102364+ ],+ [+ 53.937007874015755,+ 52.913385826771616+ ],+ [+ 50.23622047244095,+ 50.74803149606299+ ],+ [+ 45.0,+ 49.488188976377955+ ],+ [+ 39.05511811023622,+ 50.354330708661394+ ],+ [+ 33.85826771653544,+ 53.346456692913364+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 56.181102362204726,+ 48.18897637795271+ ],+ [+ 69.56692913385827,+ 40.472440944881896+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 84.40944881889764,+ 42.20472440944883+ ],+ [+ 68.81889763779527,+ 33.149606299212564+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 84.40944881889764,+ 42.20472440944883+ ],+ [+ 94.09448818897638,+ 36.57480314960628+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 77.00787401574803,+ 37.91338582677167+ ],+ [+ 82.91338582677164,+ 34.44881889763775+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 68.81889763779527,+ 33.149606299212564+ ],+ [+ 78.46456692913387,+ 27.559055118110223+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 113.4251968503937,+ 28.85826771653541+ ],+ [+ 76.25984251968505,+ 22.874015748031525+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 122.36220472440945,+ 17.716535433070874+ ],+ [+ 120.86614173228347,+ 21.141732283464535+ ],+ [+ 117.91338582677166,+ 22.874015748031525+ ],+ [+ 111.96850393700787,+ 23.740157480314906+ ],+ [+ 109.7244094488189,+ 20.708661417322787+ ],+ [+ 113.4251968503937,+ 15.98425196850394+ ],+ [+ 113.4251968503937,+ 12.559055118110223+ ],+ [+ 108.22834645669292,+ 11.259842519685037+ ],+ [+ 102.28346456692913,+ 13.858267716535408+ ],+ [+ 100.78740157480316,+ 17.283464566929126+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 129.80314960629923,+ 15.98425196850394+ ],+ [+ 114.1732283464567,+ 6.968503937007881+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 129.80314960629923,+ 15.98425196850394+ ],+ [+ 124.60629921259843,+ 0.9448818897637921+ ]+ ],+ "width": 0.9842519685039371+ },+ {+ "kind": "polyline",+ "points": [+ [+ 140.1968503937008,+ 9.960629921259795+ ],+ [+ 124.60629921259843,+ 0.9448818897637921+ ]+ ],+ "width": 0.9842519685039371+ }+ ],+ "designator_prefix": "U",+ "footprint": "mcp2562fd-e-sn",+ "parameters": [+ {+ "name": "Value",+ "value": "MCP2562FD-E/SN",+ "visible": true+ },+ {+ "name": "Datasheet",+ "value": "https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf",+ "visible": false+ },+ {+ "name": "Description",+ "value": "High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8. 2-column symbol, pins grouped by function.",+ "visible": false+ },+ {+ "name": "Manufacturer",+ "value": "Microchip Technology",+ "visible": false+ },+ {+ "name": "MPN",+ "value": "MCP2562FD-E/SN",+ "visible": false+ },+ {+ "name": "Adom Wiki",+ "value": "https://wiki.adom.inc/adom/mcp2562fd-e-sn",+ "visible": false+ },+ {+ "name": "DigiKey",+ "value": "MCP2562FD-E/SN-ND",+ "visible": false+ },+ {+ "name": "LCSC",+ "value": "C124016",+ "visible": false+ },+ {+ "name": "Mouser",+ "value": "579-MCP2562FD-E/SN",+ "visible": false+ },+ {+ "name": "Adom_Chip_Outline",+ "value": "asset:MCP2562FD-E-SN-3d-outline-dark-named.svg@large",+ "visible": false+ },+ {+ "name": "Supplier 1",+ "value": "Mouser",+ "visible": false+ },+ {+ "name": "Supplier Part Number 1",+ "value": "579-MCP2562FD-E/SN",+ "visible": false+ },+ {+ "name": "Supplier 2",+ "value": "Digi-Key",+ "visible": false+ },+ {+ "name": "Supplier Part Number 2",+ "value": "MCP2562FD-E/SN-ND",+ "visible": false+ },+ {+ "name": "Supplier 3",+ "value": "LCSC",+ "visible": false+ },+ {+ "name": "Supplier Part Number 3",+ "value": "C124016",+ "visible": false+ },+ {+ "name": "Manufacturer Part Number",+ "value": "MCP2562FD-E/SN",+ "visible": false+ }+ ],+ "labels": [+ {+ "text": "Controller",+ "x": -659.8425196850394,+ "y": 328.74015748031496,+ "angle": 0,+ "justify_right": false,+ "bold": false,+ "size_mil": 30.0+ },+ {+ "text": "CAN bus",+ "x": -659.8425196850394,+ "y": -171.2598425196851,+ "angle": 0,+ "justify_right": false,+ "bold": false,+ "size_mil": 30.0+ },+ {+ "text": "Power",+ "x": 659.8425196850394,+ "y": 328.74015748031496,+ "angle": 0,+ "justify_right": true,+ "bold": false,+ "size_mil": 30.0+ },+ {+ "text": "Ground",+ "x": 659.8425196850394,+ "y": -71.25984251968504,+ "angle": 0,+ "justify_right": true,+ "bold": false,+ "size_mil": 30.0+ }+ ],+ "pin_numbers_hidden": false,+ "pin_names_hidden": false+ },+ "footprint": {+ "name": "mcp2562fd-e-sn",+ "pads": [+ {+ "number": "1",+ "x_mm": -2.7,+ "y_mm": -1.905,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "2",+ "x_mm": -2.7,+ "y_mm": -0.635,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "3",+ "x_mm": -2.7,+ "y_mm": 0.635,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "4",+ "x_mm": -2.7,+ "y_mm": 1.905,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "5",+ "x_mm": 2.7,+ "y_mm": 1.905,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "6",+ "x_mm": 2.7,+ "y_mm": 0.635,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "7",+ "x_mm": 2.7,+ "y_mm": -0.635,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ },+ {+ "number": "8",+ "x_mm": 2.7,+ "y_mm": -1.905,+ "w_mm": 1.55,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "rect"+ }+ ],+ "graphics": [+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -2.07,+ "y1": -2.57,+ "x2": 2.07,+ "y2": -2.57,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 2.07,+ "y1": -1.39,+ "x2": 2.07,+ "y2": -1.15,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 2.07,+ "y1": -0.12,+ "x2": 2.07,+ "y2": 0.12,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 2.07,+ "y1": 1.15,+ "x2": 2.07,+ "y2": 1.39,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 2.07,+ "y1": 2.57,+ "x2": -2.07,+ "y2": 2.57,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -2.07,+ "y1": 1.39,+ "x2": -2.07,+ "y2": 1.15,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -2.07,+ "y1": 0.12,+ "x2": -2.07,+ "y2": -0.12,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -2.07,+ "y1": -1.15,+ "x2": -2.07,+ "y2": -1.39,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -2.25,+ "y1": -2.75,+ "x2": -1.65,+ "y2": -2.75,+ "width": 0.12+ },+ {+ "kind": "rect",+ "layer": {+ "role": "courtyard"+ },+ "x1": -3.75,+ "y1": -2.7,+ "x2": 3.75,+ "y2": 2.7,+ "width": 0.05+ },+ {+ "kind": "rect",+ "layer": {+ "role": "fab"+ },+ "x1": -1.95,+ "y1": -2.45,+ "x2": 1.95,+ "y2": 2.45,+ "width": 0.1+ }+ ]+ },+ "connect": [+ {+ "pin": "1",+ "pad": "1"+ },+ {+ "pin": "4",+ "pad": "4"+ },+ {+ "pin": "8",+ "pad": "8"+ },+ {+ "pin": "7",+ "pad": "7"+ },+ {+ "pin": "6",+ "pad": "6"+ },+ {+ "pin": "3",+ "pad": "3"+ },+ {+ "pin": "5",+ "pad": "5"+ },+ {+ "pin": "2",+ "pad": "2"+ }+ ],+ "provenance": {+ "source": "kicad_import"+ },+ "model_3d": "../mcp2562fd-e-sn-etched.step"+}
artwork/MCP2562FD-E-SN-3d-outline-dark-named.320.pngadded⋯ 1 unchanged line ⋯
artwork/MCP2562FD-E-SN-3d-outline-dark-named.svgadded+1@@ -0,0 +1 @@+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 320"><polyline points="172.52,234.84 264.45,181.77" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="264.45,181.77 264.72,180.81 264.98,179.86 265.24,178.91 265.50,177.95 265.76,177.00 266.03,176.05 266.29,175.09 266.55,174.14 266.81,173.19 267.07,172.23 267.33,171.28 267.60,170.33 267.86,169.37 268.12,168.42 268.38,167.47 268.64,166.51 268.91,165.56 269.17,164.61 269.43,163.65 269.69,162.70 269.95,161.75 270.22,160.80" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="172.52,217.20 270.22,160.80" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="172.52,234.84 172.52,234.04 172.52,233.24 172.52,232.43 172.52,231.63 172.52,230.83 172.52,230.03 172.52,229.23 172.52,228.42 172.52,227.62 172.52,226.82 172.52,226.02 172.52,225.22 172.52,224.42 172.52,223.61 172.52,222.81 172.52,222.01 172.52,221.21 172.52,220.41 172.52,219.60 172.52,218.80 172.52,218.00 172.52,217.20" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="61.10,170.51 78.28,180.43" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="92.92,188.88 110.10,198.80" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="124.73,207.25 141.91,217.16" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="156.54,225.61 172.52,234.84" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="270.22,160.80 269.78,159.58 269.35,158.36 268.92,157.15 268.48,155.93 268.05,154.71 267.62,153.50 267.19,152.28 266.75,151.07 266.32,149.85 265.89,148.63 265.46,147.42 265.02,146.20 264.59,144.99 264.16,143.77 263.73,142.55 263.29,141.34 262.86,140.12 262.43,138.91 261.99,137.69 261.56,136.47 261.13,135.26 260.70,134.04" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="172.52,184.95 260.70,134.04" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="172.52,217.20 172.52,215.73 172.52,214.27 172.52,212.80 172.52,211.33 172.52,209.87 172.52,208.40 172.52,206.94 172.52,205.47 172.52,204.00 172.52,202.54 172.52,201.07 172.52,199.61 172.52,198.14 172.52,196.67 172.52,195.21 172.52,193.74 172.52,192.28 172.52,190.81 172.52,189.34 172.52,187.88 172.52,186.41 172.52,184.95" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="49.78,146.33 53.35,148.39" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="68.57,157.18 85.16,166.76" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="100.38,175.55 116.97,185.12" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="132.20,193.91 148.78,203.49" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="164.01,212.28 172.52,217.20" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="50.95,150.58 50.90,150.39 50.85,150.20 50.79,150.00 50.74,149.81 50.69,149.62 50.63,149.42 50.58,149.23 50.53,149.04 50.47,148.85 50.42,148.65 50.37,148.46 50.32,148.27 50.26,148.07 50.21,147.88 50.16,147.69 50.10,147.49 50.05,147.30 50.00,147.11 49.94,146.91 49.89,146.72 49.84,146.53 49.78,146.33" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="260.70,134.04 147.48,68.67" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="59.30,119.58 172.52,184.95" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="147.48,68.67 59.30,119.58" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="99.38,115.24 99.65,115.40 99.90,115.56 100.14,115.73 100.37,115.90 100.60,116.08 100.81,116.26 101.01,116.45 101.19,116.64 101.37,116.83 101.53,117.03 101.69,117.23 101.82,117.43 101.95,117.64 102.06,117.85 102.16,118.06 102.25,118.27 102.33,118.49 102.39,118.71 102.43,118.92 102.47,119.14 102.49,119.36 102.49,119.58" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="102.49,119.58 102.39,120.45 102.06,121.31 101.53,122.13 100.81,122.90 99.90,123.60 98.83,124.22 97.61,124.74 96.28,125.16 94.86,125.47 93.38,125.65 91.87,125.71 90.35,125.65 88.87,125.47 87.45,125.16 86.12,124.74 84.91,124.22 83.84,123.60 82.93,122.90 82.20,122.13 81.67,121.31 81.35,120.45 81.24,119.58" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="81.24,119.58 81.30,118.92 81.48,118.27 81.78,117.64 82.20,117.03 82.73,116.45 83.36,115.90 84.09,115.40 84.91,114.94 85.81,114.54 86.77,114.19 87.80,113.91 88.87,113.69 89.98,113.54 91.11,113.46 92.25,113.45 93.38,113.51 94.50,113.63 95.58,113.83 96.62,114.09 97.61,114.42 98.54,114.80 99.38,115.24" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="49.78,146.33 50.22,145.12 50.65,143.90 51.08,142.69 51.52,141.47 51.95,140.25 52.38,139.04 52.81,137.82 53.25,136.60 53.68,135.39 54.11,134.17 54.54,132.96 54.98,131.74 55.41,130.52 55.84,129.31 56.27,128.09 56.71,126.88 57.14,125.66 57.57,124.44 58.01,123.23 58.44,122.01 58.87,120.79 59.30,119.58" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="99.38,116.69 98.58,116.27 97.71,115.90 96.78,115.58 95.79,115.32 94.77,115.12 93.72,114.98 92.65,114.91 91.56,114.89 90.49,114.94 89.42,115.05 88.39,115.23 87.38,115.46 86.43,115.75 85.53,116.10 84.70,116.50 83.94,116.94 83.26,117.43 82.67,117.95 82.18,118.50 81.78,119.09 81.50,119.69 81.31,120.30" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="102.42,120.30 102.38,120.12 102.32,119.93 102.26,119.75 102.19,119.57 102.11,119.39 102.02,119.21 101.92,119.03 101.81,118.86 101.69,118.69 101.56,118.51 101.43,118.35 101.28,118.18 101.13,118.02 100.97,117.86 100.80,117.70 100.62,117.54 100.43,117.39 100.24,117.24 100.03,117.10 99.82,116.96 99.61,116.82 99.38,116.69" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="69.60,150.80 64.51,153.74" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="69.60,150.80 69.13,150.53 68.67,150.26 68.20,149.99 67.73,149.72 67.27,149.45 66.80,149.18 66.33,148.91 65.87,148.64 65.40,148.38 64.93,148.11 64.47,147.84 64.00,147.57 63.53,147.30 63.06,147.03 62.60,146.76 62.13,146.49 61.66,146.22 61.20,145.95 60.73,145.68 60.26,145.41 59.80,145.14 59.33,144.87" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="59.33,144.87 54.24,147.81" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="68.57,157.18 64.51,159.52" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="68.57,157.18 68.62,156.89 68.66,156.60 68.71,156.31 68.76,156.02 68.81,155.73 68.85,155.44 68.90,155.15 68.95,154.86 68.99,154.57 69.04,154.28 69.09,153.99 69.13,153.70 69.18,153.41 69.23,153.12 69.27,152.83 69.32,152.54 69.37,152.25 69.41,151.96 69.46,151.67 69.51,151.38 69.55,151.09 69.60,150.80" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="64.51,153.74 64.03,154.03 63.55,154.36 63.08,154.73 62.61,155.12 62.15,155.55 61.70,156.00 61.26,156.48 60.83,156.98 60.42,157.50 60.02,158.05 59.65,158.61 59.29,159.19 58.95,159.78 58.64,160.39 58.35,161.00 58.09,161.61 57.85,162.23 57.65,162.86 57.46,163.47 57.31,164.09 57.19,164.70 57.10,165.30" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="57.10,165.30 55.09,180.62" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="55.09,180.62 55.06,180.82 55.02,181.02 54.96,181.22 54.90,181.43 54.83,181.64 54.76,181.84 54.67,182.05 54.57,182.25 54.47,182.46 54.36,182.65 54.24,182.85 54.11,183.03 53.98,183.21 53.84,183.39 53.70,183.56 53.55,183.72 53.40,183.87 53.25,184.01 53.09,184.14 52.94,184.26 52.78,184.37 52.62,184.47" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="52.62,184.47 42.27,190.44" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="42.27,196.23 42.27,190.44" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="52.62,190.25 42.27,196.23" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="60.03,178.70 59.94,179.30 59.82,179.90 59.66,180.52 59.48,181.14 59.27,181.76 59.04,182.38 58.77,183.00 58.48,183.61 58.17,184.21 57.84,184.80 57.48,185.38 57.10,185.94 56.71,186.49 56.30,187.01 55.87,187.52 55.43,188.00 54.98,188.45 54.52,188.87 54.05,189.27 53.57,189.63 53.10,189.96 52.62,190.25" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="62.04,163.38 60.03,178.70" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="64.51,159.52 64.35,159.62 64.19,159.73 64.03,159.85 63.88,159.98 63.72,160.13 63.57,160.28 63.43,160.44 63.28,160.60 63.15,160.78 63.02,160.96 62.89,161.15 62.77,161.34 62.66,161.54 62.56,161.74 62.46,161.94 62.37,162.15 62.29,162.36 62.22,162.56 62.16,162.77 62.11,162.97 62.07,163.18 62.04,163.38" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="54.24,147.81 53.76,148.10 53.28,148.43 52.81,148.80 52.34,149.19 51.88,149.62 51.43,150.07 50.99,150.55 50.56,151.05 50.15,151.57 49.75,152.12 49.38,152.68 49.02,153.26 48.68,153.85 48.37,154.46 48.08,155.07 47.82,155.68 47.58,156.30 47.38,156.93 47.19,157.54 47.04,158.16 46.92,158.77 46.83,159.37" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="32.00,184.51 32.00,190.30" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="42.35,178.54 32.00,184.51" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="44.82,174.69 44.79,174.89 44.75,175.09 44.69,175.30 44.63,175.50 44.56,175.71 44.49,175.92 44.40,176.12 44.30,176.32 44.20,176.53 44.09,176.72 43.97,176.92 43.84,177.10 43.71,177.29 43.57,177.46 43.43,177.63 43.28,177.79 43.13,177.94 42.98,178.08 42.82,178.21 42.67,178.33 42.51,178.44 42.35,178.54" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="46.83,159.37 44.82,174.69" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="32.00,190.30 42.27,196.23" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="42.27,190.44 32.00,184.51" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="101.41,169.17 96.32,172.11" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="101.41,169.17 100.95,168.90 100.48,168.63 100.01,168.36 99.55,168.09 99.08,167.82 98.61,167.55 98.14,167.28 97.68,167.01 97.21,166.74 96.74,166.47 96.28,166.20 95.81,165.93 95.34,165.66 94.88,165.39 94.41,165.12 93.94,164.86 93.48,164.59 93.01,164.32 92.54,164.05 92.08,163.78 91.61,163.51 91.14,163.24" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="91.14,163.24 86.05,166.18" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="100.38,175.55 96.32,177.89" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="100.38,175.55 100.43,175.26 100.48,174.97 100.52,174.68 100.57,174.39 100.62,174.10 100.66,173.81 100.71,173.52 100.76,173.23 100.80,172.94 100.85,172.65 100.90,172.36 100.94,172.07 100.99,171.78 101.04,171.49 101.09,171.20 101.13,170.91 101.18,170.62 101.23,170.33 101.27,170.04 101.32,169.75 101.37,169.46 101.41,169.17" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="96.32,172.11 95.84,172.40 95.36,172.73 94.89,173.09 94.42,173.49 93.96,173.91 93.51,174.36 93.07,174.84 92.64,175.35 92.23,175.87 91.83,176.42 91.46,176.98 91.10,177.56 90.77,178.15 90.45,178.75 90.17,179.36 89.90,179.98 89.67,180.60 89.46,181.22 89.28,181.84 89.12,182.46 89.00,183.06 88.91,183.66" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="88.91,183.66 86.90,198.98" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="86.90,198.98 86.87,199.18 86.83,199.39 86.78,199.59 86.72,199.80 86.65,200.00 86.57,200.21 86.48,200.42 86.38,200.62 86.28,200.82 86.17,201.02 86.05,201.21 85.92,201.40 85.79,201.58 85.65,201.76 85.51,201.92 85.37,202.08 85.22,202.23 85.06,202.38 84.91,202.51 84.75,202.63 84.59,202.74 84.43,202.84" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="84.43,202.84 74.08,208.81" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="74.08,214.59 74.08,208.81" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="84.43,208.62 74.08,214.59" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="91.84,197.06 91.75,197.66 91.63,198.27 91.48,198.89 91.29,199.51 91.08,200.13 90.85,200.75 90.58,201.36 90.30,201.97 89.98,202.58 89.65,203.17 89.29,203.75 88.92,204.31 88.52,204.86 88.11,205.38 87.68,205.88 87.24,206.36 86.79,206.82 86.33,207.24 85.86,207.63 85.39,208.00 84.91,208.33 84.43,208.62" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="93.85,181.74 91.84,197.06" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="96.32,177.89 96.16,177.99 96.00,178.10 95.85,178.22 95.69,178.35 95.54,178.49 95.39,178.64 95.24,178.80 95.10,178.97 94.96,179.15 94.83,179.33 94.70,179.52 94.58,179.71 94.47,179.91 94.37,180.11 94.27,180.31 94.18,180.52 94.10,180.72 94.03,180.93 93.97,181.14 93.92,181.34 93.88,181.54 93.85,181.74" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="86.05,166.18 85.57,166.47 85.09,166.80 84.62,167.16 84.15,167.56 83.69,167.98 83.24,168.43 82.80,168.91 82.37,169.42 81.96,169.94 81.56,170.49 81.19,171.05 80.83,171.63 80.50,172.22 80.18,172.82 79.90,173.43 79.63,174.05 79.40,174.67 79.19,175.29 79.01,175.91 78.85,176.53 78.73,177.13 78.64,177.73" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="63.81,202.88 63.81,208.66" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="74.16,196.91 63.81,202.88" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="76.63,193.05 76.60,193.25 76.56,193.46 76.51,193.66 76.45,193.87 76.38,194.08 76.30,194.28 76.21,194.49 76.11,194.69 76.01,194.89 75.90,195.09 75.78,195.28 75.65,195.47 75.52,195.65 75.38,195.83 75.24,195.99 75.10,196.15 74.95,196.31 74.79,196.45 74.64,196.58 74.48,196.70 74.32,196.81 74.16,196.91" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="78.64,177.73 76.63,193.05" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="63.81,208.66 74.08,214.59" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="74.08,208.81 63.81,202.88" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="133.22,187.53 128.14,190.47" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="133.22,187.53 132.76,187.26 132.29,187.00 131.82,186.73 131.36,186.46 130.89,186.19 130.42,185.92 129.96,185.65 129.49,185.38 129.02,185.11 128.56,184.84 128.09,184.57 127.62,184.30 127.16,184.03 126.69,183.76 126.22,183.49 125.76,183.22 125.29,182.95 124.82,182.68 124.36,182.41 123.89,182.14 123.42,181.87 122.95,181.61" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="122.95,181.61 117.87,184.54" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="132.20,193.91 128.14,196.26" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="132.20,193.91 132.24,193.62 132.29,193.33 132.34,193.04 132.38,192.75 132.43,192.46 132.48,192.17 132.52,191.88 132.57,191.59 132.62,191.30 132.66,191.01 132.71,190.72 132.76,190.43 132.80,190.14 132.85,189.85 132.90,189.56 132.94,189.27 132.99,188.98 133.04,188.69 133.08,188.40 133.13,188.11 133.18,187.82 133.22,187.53" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="128.14,190.47 127.66,190.77 127.18,191.10 126.70,191.46 126.23,191.85 125.77,192.28 125.32,192.73 124.88,193.21 124.45,193.71 124.04,194.24 123.65,194.78 123.27,195.35 122.91,195.92 122.58,196.52 122.27,197.12 121.98,197.73 121.72,198.35 121.48,198.97 121.27,199.59 121.09,200.21 120.94,200.82 120.81,201.43 120.72,202.03" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="120.72,202.03 118.71,217.35" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="118.71,217.35 118.68,217.55 118.64,217.75 118.59,217.96 118.53,218.16 118.46,218.37 118.38,218.58 118.29,218.78 118.20,218.99 118.09,219.19 117.98,219.39 117.86,219.58 117.74,219.77 117.60,219.95 117.47,220.12 117.32,220.29 117.18,220.45 117.03,220.60 116.87,220.74 116.72,220.87 116.56,220.99 116.40,221.10 116.24,221.20" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="116.24,221.20 105.89,227.18" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="105.89,232.96 105.89,227.18" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="116.24,226.99 105.89,232.96" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="123.66,215.43 123.56,216.03 123.44,216.64 123.29,217.25 123.11,217.87 122.90,218.49 122.66,219.11 122.40,219.73 122.11,220.34 121.80,220.94 121.46,221.54 121.10,222.11 120.73,222.68 120.33,223.22 119.92,223.75 119.50,224.25 119.06,224.73 118.60,225.18 118.14,225.61 117.67,226.00 117.20,226.36 116.72,226.69 116.24,226.99" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="125.66,200.11 123.66,215.43" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="128.14,196.26 127.98,196.36 127.82,196.47 127.66,196.59 127.50,196.72 127.35,196.86 127.20,197.01 127.05,197.17 126.91,197.34 126.77,197.51 126.64,197.69 126.51,197.88 126.40,198.07 126.28,198.27 126.18,198.47 126.08,198.68 126.00,198.88 125.92,199.09 125.85,199.30 125.79,199.50 125.74,199.71 125.69,199.91 125.66,200.11" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="117.87,184.54 117.39,184.84 116.91,185.17 116.43,185.53 115.96,185.93 115.50,186.35 115.05,186.80 114.61,187.28 114.18,187.78 113.77,188.31 113.38,188.85 113.00,189.42 112.64,190.00 112.31,190.59 112.00,191.19 111.71,191.80 111.45,192.42 111.21,193.04 111.00,193.66 110.82,194.28 110.67,194.89 110.54,195.50 110.45,196.10" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="95.62,221.25 95.62,227.03" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="105.97,215.27 95.62,221.25" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="108.44,211.42 108.41,211.62 108.37,211.82 108.32,212.03 108.26,212.24 108.19,212.44 108.11,212.65 108.02,212.85 107.93,213.06 107.82,213.26 107.71,213.46 107.59,213.65 107.47,213.84 107.33,214.02 107.20,214.19 107.05,214.36 106.91,214.52 106.76,214.67 106.60,214.81 106.45,214.94 106.29,215.07 106.13,215.18 105.97,215.27" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="110.45,196.10 108.44,211.42" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="95.62,227.03 105.89,232.96" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="105.89,227.18 95.62,221.25" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="165.04,205.90 159.95,208.84" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="165.04,205.90 164.57,205.63 164.10,205.36 163.64,205.09 163.17,204.82 162.70,204.55 162.24,204.28 161.77,204.01 161.30,203.75 160.84,203.48 160.37,203.21 159.90,202.94 159.44,202.67 158.97,202.40 158.50,202.13 158.03,201.86 157.57,201.59 157.10,201.32 156.63,201.05 156.17,200.78 155.70,200.51 155.23,200.24 154.77,199.97" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="154.77,199.97 149.68,202.91" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="164.01,212.28 159.95,214.62" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="164.01,212.28 164.05,211.99 164.10,211.70 164.15,211.41 164.19,211.12 164.24,210.83 164.29,210.54 164.34,210.25 164.38,209.96 164.43,209.67 164.48,209.38 164.52,209.09 164.57,208.80 164.62,208.51 164.66,208.22 164.71,207.93 164.76,207.64 164.80,207.35 164.85,207.06 164.90,206.77 164.94,206.48 164.99,206.19 165.04,205.90" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="159.95,208.84 159.47,209.13 158.99,209.46 158.51,209.83 158.04,210.22 157.58,210.65 157.13,211.10 156.69,211.58 156.27,212.08 155.85,212.60 155.46,213.15 155.08,213.71 154.73,214.29 154.39,214.88 154.08,215.49 153.79,216.10 153.53,216.71 153.29,217.33 153.08,217.96 152.90,218.57 152.75,219.19 152.62,219.80 152.53,220.40" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="152.53,220.40 150.52,235.72" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="150.52,235.72 150.49,235.92 150.45,236.12 150.40,236.32 150.34,236.53 150.27,236.74 150.19,236.94 150.10,237.15 150.01,237.35 149.90,237.56 149.79,237.75 149.67,237.95 149.55,238.13 149.42,238.31 149.28,238.49 149.14,238.66 148.99,238.82 148.84,238.97 148.69,239.11 148.53,239.24 148.37,239.36 148.21,239.47 148.05,239.57" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="148.05,239.57 137.71,245.54" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="137.71,251.33 137.71,245.54" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="148.05,245.35 137.71,251.33" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="155.47,233.80 155.37,234.40 155.25,235.00 155.10,235.62 154.92,236.24 154.71,236.86 154.47,237.48 154.21,238.10 153.92,238.71 153.61,239.31 153.27,239.90 152.92,240.48 152.54,241.04 152.15,241.59 151.73,242.12 151.31,242.62 150.87,243.10 150.42,243.55 149.96,243.97 149.49,244.37 149.01,244.73 148.53,245.06 148.05,245.35" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="157.48,218.48 155.47,233.80" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="159.95,214.62 159.79,214.72 159.63,214.83 159.47,214.95 159.31,215.08 159.16,215.23 159.01,215.38 158.86,215.54 158.72,215.70 158.58,215.88 158.45,216.06 158.33,216.25 158.21,216.44 158.10,216.64 157.99,216.84 157.90,217.04 157.81,217.25 157.73,217.46 157.66,217.66 157.60,217.87 157.55,218.07 157.51,218.28 157.48,218.48" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="149.68,202.91 149.20,203.21 148.72,203.53 148.24,203.90 147.77,204.29 147.31,204.72 146.86,205.17 146.42,205.65 146.00,206.15 145.58,206.67 145.19,207.22 144.81,207.78 144.46,208.36 144.12,208.95 143.81,209.56 143.52,210.17 143.26,210.78 143.02,211.40 142.81,212.03 142.63,212.64 142.48,213.26 142.35,213.87 142.26,214.47" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="127.44,239.61 127.44,245.40" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="137.78,233.64 127.44,239.61" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="140.25,229.79 140.22,229.99 140.18,230.19 140.13,230.40 140.07,230.60 140.00,230.81 139.92,231.02 139.83,231.22 139.74,231.42 139.63,231.63 139.52,231.82 139.40,232.02 139.28,232.20 139.15,232.39 139.01,232.56 138.87,232.73 138.72,232.89 138.57,233.04 138.42,233.18 138.26,233.31 138.10,233.43 137.94,233.54 137.78,233.64" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="142.26,214.47 140.25,229.79" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="127.44,245.40 137.71,251.33" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="137.71,245.54 127.44,239.61" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="265.61,147.84 265.76,147.75" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="267.58,153.39 267.63,153.42 267.67,153.45 267.71,153.49 267.76,153.53 267.80,153.57 267.83,153.61 267.87,153.65 267.91,153.70 267.94,153.75 267.97,153.80 268.00,153.85 268.03,153.90 268.06,153.96 268.09,154.01 268.11,154.07 268.13,154.13 268.15,154.20 268.17,154.26 268.19,154.33 268.20,154.39 268.22,154.46 268.23,154.53" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="268.23,154.53 268.42,155.74" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="269.56,163.17 270.24,167.53" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="270.24,167.53 270.28,167.76 270.32,167.97 270.37,168.18 270.42,168.39 270.48,168.59 270.55,168.78 270.62,168.97 270.70,169.16 270.78,169.33 270.87,169.51 270.97,169.67 271.07,169.83 271.17,169.98 271.28,170.13 271.40,170.27 271.52,170.40 271.64,170.53 271.77,170.65 271.91,170.76 272.05,170.87 272.19,170.96 272.34,171.05" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="272.34,171.05 272.53,171.16 272.73,171.25 272.94,171.33 273.15,171.40 273.37,171.45 273.59,171.50 273.82,171.53 274.05,171.55 274.29,171.55 274.53,171.55 274.78,171.53 275.03,171.50 275.28,171.45 275.54,171.40 275.80,171.33 276.06,171.25 276.32,171.16 276.59,171.06 276.85,170.94 277.12,170.82 277.39,170.68 277.65,170.53" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="277.65,170.53 288.00,164.56" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="288.00,158.77 288.00,164.56" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="277.65,164.74 288.00,158.77" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="275.18,163.75 275.20,163.82 275.21,163.89 275.23,163.96 275.24,164.03 275.26,164.10 275.29,164.16 275.31,164.22 275.34,164.29 275.36,164.35 275.39,164.40 275.43,164.46 275.46,164.51 275.49,164.56 275.53,164.61 275.57,164.66 275.61,164.70 275.65,164.74 275.69,164.78 275.74,164.82 275.79,164.86 275.83,164.89 275.88,164.92" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="275.88,164.92 275.95,164.95 276.01,164.98 276.08,165.01 276.15,165.03 276.23,165.05 276.30,165.07 276.38,165.08 276.45,165.08 276.53,165.08 276.61,165.08 276.70,165.08 276.78,165.07 276.86,165.05 276.95,165.03 277.04,165.01 277.12,164.98 277.21,164.95 277.30,164.92 277.39,164.88 277.48,164.84 277.57,164.79 277.65,164.74" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="273.17,150.74 275.18,163.75" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="265.76,147.75 266.03,147.60 266.29,147.46 266.56,147.34 266.83,147.22 267.09,147.12 267.36,147.03 267.62,146.95 267.88,146.88 268.13,146.82 268.38,146.78 268.63,146.75 268.88,146.73 269.12,146.73 269.36,146.73 269.59,146.75 269.82,146.78 270.04,146.82 270.26,146.88 270.47,146.95 270.68,147.03 270.88,147.12 271.07,147.22" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="271.07,147.22 271.22,147.31 271.36,147.41 271.50,147.52 271.64,147.63 271.77,147.75 271.89,147.87 272.01,148.01 272.13,148.15 272.24,148.29 272.35,148.45 272.45,148.61 272.54,148.77 272.63,148.94 272.71,149.12 272.79,149.31 272.86,149.50 272.93,149.69 272.99,149.89 273.04,150.10 273.09,150.31 273.14,150.52 273.17,150.74" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="273.84,155.08 277.73,152.84" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="277.73,152.84 288.00,158.77" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="263.92,143.09 271.07,147.22" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="272.34,171.05 268.07,168.59" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="64.51,153.74 54.24,147.81" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="57.10,165.30 46.83,159.37" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="52.62,184.47 42.35,178.54" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="55.09,180.62 44.82,174.69" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="96.32,172.11 86.05,166.18" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="88.91,183.66 78.64,177.73" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="84.43,202.84 74.16,196.91" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="86.90,198.98 76.63,193.05" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="128.14,190.47 117.87,184.54" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="120.72,202.03 110.45,196.10" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="116.24,221.20 105.97,215.27" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="118.71,217.35 108.44,211.42" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="159.95,208.84 149.68,202.91" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="152.53,220.40 142.26,214.47" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="148.05,239.57 137.78,233.64" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="150.52,235.72 140.25,229.79" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="268.23,154.53 267.92,154.36" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="265.53,147.62 265.76,147.75" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="275.11,163.27 277.65,164.74" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><polyline points="270.24,167.53 268.62,166.60" fill="none" stroke="#e6edf3" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/><g id="adom-mark-name" data-lines="MCP2562|FD-E/SN"><polyline points="153.97,110.56 145.09,115.69" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="153.97,110.56 148.47,117.64" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="160.74,114.47 148.47,117.64" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="160.74,114.47 151.86,119.60" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="167.92,121.06 168.35,120.33 168.35,119.35 167.92,118.62 166.23,117.64 164.97,117.40 163.27,117.40 162.00,117.64 160.31,118.13 158.20,119.35 157.35,120.33 156.92,121.06 156.92,122.04 157.35,122.77 159.04,123.75 160.31,123.99 162.00,123.99 163.27,123.75" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="173.00,121.55 164.12,126.68" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="173.00,121.55 176.81,123.75 177.66,124.72 177.66,125.21 177.23,125.94 175.97,126.68 174.69,126.92 173.85,126.92 172.15,126.43 168.35,124.24" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="179.77,127.90 180.19,127.65 181.46,127.41 182.31,127.41 183.57,127.65 185.26,128.63 185.69,129.36 185.69,129.85 185.26,130.58 184.42,131.07 183.15,131.32 181.03,131.56 172.58,131.56 178.49,134.98" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="195.00,134.25 190.77,131.81 186.54,133.76 187.38,133.76 189.08,134.25 190.34,134.98 191.19,135.96 191.19,136.93 190.34,137.91 189.50,138.40 187.80,138.89 186.11,138.89 184.42,138.40 183.15,137.67 182.31,136.69 182.31,136.20 182.73,135.47" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="202.62,140.11 203.03,139.38 202.19,138.40 201.34,137.91 199.65,137.43 197.54,137.67 195.00,138.64 192.88,139.86 191.62,141.09 191.62,142.07 192.46,143.04 192.88,143.29 194.57,143.77 196.26,143.77 197.96,143.29 198.38,143.04 199.23,142.07 199.23,141.09 198.38,140.11 197.96,139.86 196.26,139.38 194.57,139.38 192.88,139.86" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="205.14,142.55 205.57,142.31 206.84,142.07 207.68,142.07 208.96,142.31 210.65,143.29 211.07,144.02 211.07,144.50 210.65,145.24 209.80,145.73 208.53,145.97 206.42,146.22 197.96,146.22 203.88,149.64" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="140.21,118.01 131.33,123.14" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="140.21,118.01 145.72,121.18" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="135.99,120.45 139.38,122.41" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="147.83,122.41 138.95,127.53" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="147.83,122.41 150.80,124.11 151.64,125.09 151.64,126.07 151.21,126.80 150.37,127.78 148.26,129.00 146.56,129.49 145.29,129.73 143.60,129.73 141.91,129.24 138.95,127.53" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="151.64,130.46 159.26,134.86" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="167.71,133.88 158.83,139.01" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="167.71,133.88 173.21,137.06" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="163.49,136.32 166.86,138.28" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="158.83,139.01 164.33,142.19" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="184.21,141.45 163.06,144.87" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="189.29,147.80 189.29,146.83 188.44,145.85 186.75,144.87 185.06,144.38 183.37,144.38 182.52,144.87 182.09,145.60 182.09,146.09 182.52,146.83 184.21,148.78 184.63,149.51 184.63,150.00 184.21,150.73 182.94,151.47 181.25,151.47 179.56,150.98 177.86,150.00 177.02,149.02 177.02,148.05" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="193.51,148.78 184.63,153.91" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="193.51,148.78 190.56,157.33" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/><polyline points="199.44,152.20 190.56,157.33" fill="none" stroke="#e6edf3" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="round"/></g></svg>
docs/figures/mcp2562fd-e-sn-ds-p13.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p17.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p23.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p24.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p25.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p29.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p4.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p8.pngadded⋯ 1 unchanged line ⋯
docs/figures/mcp2562fd-e-sn-ds-p9.pngadded⋯ 1 unchanged line ⋯
docs/hero.pngadded⋯ 1 unchanged line ⋯
docs/models/mcp2562fd-e-sn-etched-bottom.pngadded⋯ 1 unchanged line ⋯
docs/models/mcp2562fd-e-sn-etched-glb-top.pngadded⋯ 1 unchanged line ⋯
docs/models/mcp2562fd-e-sn-glb-top.pngadded⋯ 1 unchanged line ⋯
docs/proof/mcp2562fd-e-sn-corner.pngadded⋯ 1 unchanged line ⋯
docs/proof/mcp2562fd-e-sn-etched.check.jsonadded+135@@ -0,0 +1,135 @@+{+ "schema": "adom/mark-check@1",+ "step": "mcp2562fd-e-sn-etched.step",+ "mpn": "MCP2562FD-E/SN",+ "status": "PASS",+ "checks": [+ {+ "check": "axis",+ "status": "PASS",+ "detail": "text along the 3.55 mm axis",+ "angleDeg": 0+ },+ {+ "check": "upright",+ "status": "PASS",+ "detail": "upright, left to right, pin 1 left lower"+ },+ {+ "check": "size",+ "status": "PASS",+ "detail": "text height 0.473 mm, 98% of what fits (0.485 mm), block fills 31% of the 3.52 mm band height",+ "capMm": 0.4733,+ "fitMm": 0.4853+ },+ {+ "check": "band",+ "status": "PASS",+ "detail": "inside the usable band"+ },+ {+ "check": "flat",+ "status": "PASS",+ "detail": "flat, coplanar with the face (+5 um)"+ },+ {+ "check": "group",+ "status": "PASS",+ "detail": "Adom.LaserEtch group"+ },+ {+ "check": "colour",+ "status": "PASS",+ "detail": "light mark (sRGB 0.90, 0.90, 0.89)",+ "rgb": [+ 0.896243869286,+ 0.896243869286,+ 0.886003966688+ ]+ },+ {+ "check": "widget",+ "status": "PASS",+ "detail": "15.4 px caps with the outline 320 px wide",+ "capHeightPx320": 15.4+ }+ ],+ "frame": {+ "reference": "normalized pose: footprint frame, X right, Y up, Z up off the board (after the stand-up turns)",+ "sourceToNormalized": {+ "turns": [],+ "text": "identity",+ "source": "as-is (Z up)"+ },+ "normalizedToOutput": {+ "checkImage": {+ "turns": [+ {+ "axis": "z",+ "quarterTurns": 1+ }+ ],+ "text": "90 deg about Z",+ "pose": "standard reading pose: reading direction to +X, text up +Y, pin 1 lower left"+ },+ "outline": {+ "turns": [+ {+ "axis": "z",+ "quarterTurns": 2+ }+ ],+ "text": "180 deg about Z",+ "pose": "iso outline from +X+Y+Z"+ }+ },+ "modelUp": {+ "supplied": false,+ "source": "as-is (Z up)"+ },+ "packageFront": {+ "supplied": false,+ "face": "top",+ "source": "inferred: top face"+ },+ "textUp": {+ "supplied": false,+ "vector": [+ 1.0,+ -0.0,+ 0.0+ ],+ "source": "inferred from pin 1: footprint pad 1"+ },+ "mountedPose": false,+ "summary": "frame: normalized pose (source -> normalized: identity, as-is (Z up); normalized -> check image: 90 deg about Z, -> outline: 180 deg about Z); model up inferred, face top inferred, text up inferred from pin 1; not a mounted-pose check"+ },+ "plan": {+ "summary": "Mark along the 3.55 mm axis (-Y), 0.49 mm text (2 lines), upright with pin 1 left lower, outline rot 90 after a 180 deg pose turn; ~16 px caps at 320 px",+ "band": [+ -1.76,+ -2.26,+ 1.76,+ 1.29+ ],+ "readingDirection": [+ -0.0,+ -1.0,+ 0.0+ ],+ "lines": [+ "MCP2562",+ "FD-E/SN"+ ]+ },+ "thresholds": {+ "sizePass": 0.8,+ "sizeFail": 0.6,+ "widgetPxPass": 6.0,+ "widgetPxFail": 4.0,+ "outlineOffsetMax": 0.15,+ "coplanarMaxMm": 0.02+ },+ "image": "mcp2562fd-e-sn-etched.check.png",+ "reportPath": "mcp2562fd-e-sn-etched.check.json"+}
docs/proof/mcp2562fd-e-sn-etched.check.pngadded⋯ 1 unchanged line ⋯
docs/proof/mcp2562fd-e-sn-etched.mark-plan.jsonadded+169@@ -0,0 +1,169 @@+{+ "plan": {+ "schema": "adom/mark-plan@1",+ "mpn": "MCP2562FD-E/SN",+ "step": "mcp2562fd-e-sn.step",+ "footprint": "mcp2562fd-e-sn.kicad_mod",+ "standUp": [],+ "standUpSource": "as-is (Z up)",+ "inputs": {+ "up": "auto",+ "face": "auto",+ "along": null,+ "upSupplied": false,+ "faceSupplied": false,+ "faceSource": "inferred: top face"+ },+ "face": "top",+ "pin1": {+ "source": "footprint pad 1",+ "xyMm": [+ -2.7,+ 1.905+ ],+ "corner": "left/lower"+ },+ "existingMarks": [],+ "vendorMarking": {+ "present": false,+ "glyphFaces": 0+ },+ "faceNormal": [+ 0,+ 0,+ 1+ ],+ "longAxis": {+ "axis": "y",+ "vector": [+ 0.0,+ 1.0,+ 0.0+ ],+ "why": "two pin rows (4 + 4 pins, 5.40 mm apart): parallel to the pin rows (band 3.55 mm along, 3.52 mm across)",+ "source": "pin-rows",+ "override": null,+ "pinRows": {+ "axis": "y",+ "pinsPerRow": [+ 4,+ 4+ ],+ "rowSpacingMm": 5.4,+ "exposed": 0+ }+ },+ "readingDirection": {+ "vector": [+ -0.0,+ -1.0,+ 0.0+ ],+ "angleDeg": 270,+ "textUp": [+ 1.0,+ -0.0,+ 0.0+ ],+ "rule": "pin 1 / pad 1 at the start (left) of the text, and below it when it sits on a side"+ },+ "band": {+ "regionMm": [+ -1.76,+ -2.26,+ 1.76,+ 1.29+ ],+ "zMm": 1.75,+ "lengthMm": 3.55,+ "heightMm": 3.52,+ "why": "highest flat face over the body centre",+ "terminationsExcludedBy": null,+ "trimmedEnds": [],+ "keepouts": [+ [+ -1.41,+ 1.31,+ -0.81,+ 1.91+ ]+ ],+ "sideTurn": null,+ "margins": {+ "lengthEachSide": 0.12,+ "heightEachSide": 0.15+ }+ },+ "text": {+ "lines": [+ "MCP2562",+ "FD-E/SN"+ ],+ "chars": 14,+ "capHeightMm": 0.4853,+ "smallestLineMm": 0.4853,+ "heightPctOfBand": 31.7,+ "why": "two lines: the smaller line (0.485 mm) beats one line (0.239 mm) by 2.03x",+ "alternative": {+ "lines": [+ "MCP2562FD-E/SN"+ ],+ "capHeightMm": 0.2388,+ "smallestLineMm": 0.2388+ },+ "font": "service-step2glb /laser-etch (single-stroke outline font)"+ },+ "etch": {+ "poseQuarterTurnsZ": 1,+ "service": "/laser-etch?mode=flat",+ "note": "turn so the reading direction is +X, etch, fit the mark into the band, turn back"+ },+ "outline": {+ "upAxis": "z",+ "poseRotZDeg": 180,+ "rot": 90,+ "recipe": "adom-aiflow-etch outline <part.step> --footprint <part.kicad_mod> --mpn MCP2562FD-E/SN (stands the STEP up (as-is (Z up)), turns it 180 deg about Z and draws MCP2562 / FD-E/SN on the planned band, rot 90)",+ "why": "iso camera looks from +X+Y+Z: text along +Y (rot 90) or -X (rot 180) reads left to right with pin 1 toward the viewer"+ },+ "widget": {+ "px": 320,+ "pxPerMm": 39.85,+ "capHeightPx": 15.8+ },+ "hints": [+ "the top face is stored with a reversed normal (0,0,-1), as in KiCad's stock SOIC / TSSOP models; it is the top face by position (top of the part's bbox)"+ ],+ "warnings": [],+ "summary": "Mark along the 3.55 mm axis (-Y), 0.49 mm text (2 lines), upright with pin 1 left lower, outline rot 90 after a 180 deg pose turn; ~16 px caps at 320 px"+ },+ "etch": {+ "out": "mcp2562fd-e-sn-etched.step",+ "mpn": "MCP2562FD-E/SN",+ "lines": [+ "MCP2562",+ "FD-E/SN"+ ],+ "removedOldMarks": [],+ "turns": [+ {+ "axis": "z",+ "quarterTurns": 1+ }+ ],+ "serviceMarkTurnedQuarter": 0,+ "line2Scaled": true,+ "fit": {+ "scale": 0.8543,+ "capMm": 0.4733,+ "markMm": [+ 2.698,+ 1.1671+ ],+ "bandMm": [+ 3.55,+ 3.52+ ],+ "zMm": 1.755+ }+ }+}
docs/proof/mcp2562fd-e-sn-footprint-check.pngadded⋯ 1 unchanged line ⋯
docs/proof/mcp2562fd-e-sn-lead-vs-kicad.pngadded⋯ 1 unchanged line ⋯
docs/proof/mcp2562fd-e-sn-lods.pngadded⋯ 1 unchanged line ⋯
docs/proof/mcp2562fd-e-sn-side.pngadded⋯ 1 unchanged line ⋯
lod/manifest.jsonadded+136@@ -0,0 +1,136 @@+{+ "schema": "adom/component-lod@1",+ "mpn": "MCP2562FD-E/SN",+ "units": "metres (glTF)",+ "upAxis": "Z (Adom/KiCad frame; seated on z = 0, centred on the footprint origin)",+ "status": "candidate",+ "source": {+ "path": "mcp2562fd-e-sn-etched.step",+ "sha256": "312b626ec67e979028ea640bd76a6d93874bd62054c73085ea2f1eea25065027"+ },+ "generator": "provenance/tools/build_soic8.py (detail full/low/superlow) -> step2glb 0.13.2 convert --compress none -> provenance/tools/glb_batch.py (lossless batching per part; etch graft on medium) -> materials.py; previews by render_glb.py",+ "levels": [+ {+ "level": "high",+ "path": "lod/mcp2562fd-e-sn-high.glb",+ "sha256": "5f79bd363586ef65c033a61bbc3a8b0dc44d2e583bcacea57ec1ffbd131ff0df",+ "sizeBytes": 65748,+ "triangles": 1552,+ "primitives": 3,+ "nodes": [+ "body",+ "pins",+ "Adom.LaserEtch"+ ],+ "boundsMm": [+ -3.0,+ -2.45,+ 0.0,+ 3.0,+ 2.45,+ 1.755+ ],+ "markingIncluded": true,+ "helperNodes": [],+ "extensions": [],+ "derivation": "the etched GLB itself: etched STEP, step2glb uncompressed, primitives batched per part (lossless)",+ "review": "candidate: inspected as cached images (depth-buffered render); not qualified in a streaming LOD viewer",+ "preview": {+ "path": "lod/mcp2562fd-e-sn-high.png",+ "sha256": "960e8185434d445a0734255fe80e71a16de8192884e14e89b399482f7ecc223e",+ "view": "iso (front-left, from above), same camera on every level"+ }+ },+ {+ "level": "medium",+ "path": "lod/mcp2562fd-e-sn-medium.glb",+ "sha256": "f391c9b224ca14b0f7c9b52b64577fbd126f6049088ed3a88ba21557d6cc33eb",+ "sizeBytes": 54872,+ "triangles": 1168,+ "primitives": 3,+ "nodes": [+ "body",+ "pins",+ "Adom.LaserEtch"+ ],+ "boundsMm": [+ -3.0,+ -2.45,+ 0.0,+ 3.0,+ 2.45,+ 1.755+ ],+ "markingIncluded": true,+ "helperNodes": [],+ "extensions": [],+ "derivation": "the same generator at detail=low (bends as 3 chords, drafted body, pin-1 dimple), Adom.LaserEtch mesh grafted unchanged from high",+ "review": "candidate: inspected as cached images (depth-buffered render); not qualified in a streaming LOD viewer",+ "preview": {+ "path": "lod/mcp2562fd-e-sn-medium.png",+ "sha256": "52650096da0a95f99ba703f89d61b2ed49390cafaf03050e830ddd1e52ade848",+ "view": "iso (front-left, from above), same camera on every level"+ }+ },+ {+ "level": "low",+ "path": "lod/mcp2562fd-e-sn-low.glb",+ "sha256": "12a3ef878fdd194987d83df8d15472d9df296fa9147b99cee499d921c4308dc7",+ "sizeBytes": 37592,+ "triangles": 732,+ "primitives": 2,+ "nodes": [+ "body",+ "pins"+ ],+ "boundsMm": [+ -3.0,+ -2.45,+ 0.0,+ 3.0,+ 2.45,+ 1.75+ ],+ "markingIncluded": false,+ "helperNodes": [],+ "extensions": [],+ "derivation": "generator detail=low, no marking (unreadable at this size)",+ "review": "candidate: inspected as cached images (depth-buffered render); not qualified in a streaming LOD viewer",+ "preview": {+ "path": "lod/mcp2562fd-e-sn-low.png",+ "sha256": "b328eeb594489b7e0799631e0af340ae4482307c52ca138f1786c079d2deadcd",+ "view": "iso (front-left, from above), same camera on every level"+ }+ },+ {+ "level": "super-low",+ "path": "lod/mcp2562fd-e-sn-super-low.glb",+ "sha256": "bd1dc40c5631a3d4826b0059c9fce60122aacc67dfcf49ef46d69cbe9ae74157",+ "sizeBytes": 24824,+ "triangles": 468,+ "primitives": 2,+ "nodes": [+ "body",+ "pins"+ ],+ "boundsMm": [+ -3.0,+ -2.45,+ 0.0,+ 3.0,+ 2.45,+ 1.75+ ],+ "markingIncluded": false,+ "helperNodes": [],+ "extensions": [],+ "derivation": "generator detail=superlow: undrafted body, one-chord bends, pin-1 dimple kept, no marking",+ "review": "candidate: inspected as cached images (depth-buffered render); not qualified in a streaming LOD viewer",+ "preview": {+ "path": "lod/mcp2562fd-e-sn-super-low.png",+ "sha256": "f225c5b7e31324256836c1cb623add19b35fc76c95663685a5fc93b679a325e0",+ "view": "iso (front-left, from above), same camera on every level"+ }+ }+ ]+}
lod/mcp2562fd-e-sn-high.glbadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-high.pngadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-low.glbadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-low.pngadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-medium.glbadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-medium.pngadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-super-low.glbadded⋯ 1 unchanged line ⋯
lod/mcp2562fd-e-sn-super-low.pngadded⋯ 1 unchanged line ⋯
mcp2562fd-e-sn-etched.glbadded⋯ 1 unchanged line ⋯
mcp2562fd-e-sn.glbadded⋯ 1 unchanged line ⋯
mcp2562fd-e-sn.kicad_modadded+55@@ -0,0 +1,55 @@+(footprint "mcp2562fd-e-sn"+ (version 20240108)+ (generator "adom-footprint")+ (layer "F.Cu")+ (descr "Microchip SN 8-lead SOIC, 3.90 mm body, 1.27 mm pitch; land pattern per Microchip drawing C04-02057-SN Rev L (C 5.40, X1 0.60, Y1 1.55), DS20005284B p.25")+ (tags "SOIC SO SOIC-8 SN Microchip MCP2562FD")+ (attr smd)+ (fp_rect (start -3.75 -2.7) (end 3.75 2.7)+ (stroke (width 0.05) (type default)) (fill none) (layer "F.CrtYd"))+ (fp_rect (start -1.95 -2.45) (end 1.95 2.45)+ (stroke (width 0.1) (type default)) (fill none) (layer "F.Fab"))+ (fp_line (start -2.07 -2.57) (end 2.07 -2.57)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start 2.07 -1.39) (end 2.07 -1.15)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start 2.07 -0.12) (end 2.07 0.12)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start 2.07 1.15) (end 2.07 1.39)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start 2.07 2.57) (end -2.07 2.57)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start -2.07 1.39) (end -2.07 1.15)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start -2.07 0.12) (end -2.07 -0.12)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start -2.07 -1.15) (end -2.07 -1.39)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_line (start -2.25 -2.75) (end -1.65 -2.75)+ (stroke (width 0.12) (type default)) (layer "F.SilkS"))+ (fp_text reference "REF**" (at 0 -3.7)+ (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))))+ (fp_text value "mcp2562fd-e-sn" (at 0 3.7)+ (layer "F.Fab") (effects (font (size 1 1) (thickness 0.15))))+ (pad "1" smd rect (at -2.7 -1.905) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "2" smd rect (at -2.7 -0.635) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "3" smd rect (at -2.7 0.635) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "4" smd rect (at -2.7 1.905) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "5" smd rect (at 2.7 1.905) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "6" smd rect (at 2.7 0.635) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "7" smd rect (at 2.7 -0.635) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (pad "8" smd rect (at 2.7 -1.905) (size 1.55 0.6)+ (layers "F.Cu" "F.Paste" "F.Mask"))+ (model "${KIPRJMOD}/mcp2562fd-e-sn-etched.step"+ (offset (xyz 0 0 0))+ (scale (xyz 1 1 1))+ (rotate (xyz 0 0 0))+ )+)
mcp2562fd-e-sn.kicad_symadded+260@@ -0,0 +1,260 @@+(kicad_symbol_lib+ (version 20231120)+ (generator "adom")+ (symbol "MCP2562FD-E-SN"+ (pin_names (offset 1.016))+ (exclude_from_sim no)+ (in_bom yes)+ (on_board yes)+ (property "Reference" "U"+ (at 0.00 5.08 0)+ (effects (font (size 1.27 1.27)))+ )+ (property "Value" "MCP2562FD-E/SN"+ (at 0.00 -23.05 0)+ (effects (font (size 1.27 1.27)))+ )+ (property "Footprint" "mcp2562fd-e-sn:mcp2562fd-e-sn"+ (at 0 -28.13 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "Datasheet" "https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf"+ (at 0 -30.67 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "Description" "High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8. 2-column symbol, pins grouped by function."+ (at 0 -33.21 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "Manufacturer" "Microchip Technology"+ (at 0 -35.75 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "MPN" "MCP2562FD-E/SN"+ (at 0 -38.29 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "Adom Wiki" "https://wiki.adom.inc/adom/mcp2562fd-e-sn"+ (at 0 -40.83 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "DigiKey" "MCP2562FD-E/SN-ND"+ (at 0 -43.37 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "LCSC" "C124016"+ (at 0 -45.91 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "Mouser" "579-MCP2562FD-E/SN"+ (at 0 -48.45 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (property "Adom_Chip_Outline" "asset:MCP2562FD-E-SN-3d-outline-dark-named.svg@large"+ (at 0 -50.99 0)+ (effects (font (size 1.27 1.27)) (hide yes))+ )+ (symbol "MCP2562FD-E-SN_0_1"+ (rectangle (start -17.78 2.54) (end 17.78 -20.32)+ (stroke (width 0.254) (type default))+ (fill (type background))+ )+ (text "Controller" (at -16.76 -0.54 0)+ (effects (font (size 0.762 0.762) (color 132 0 0 1)) (justify left))+ )+ (text "CAN bus" (at -16.76 -13.24 0)+ (effects (font (size 0.762 0.762) (color 132 0 0 1)) (justify left))+ )+ (text "Power" (at 16.76 -0.54 0)+ (effects (font (size 0.762 0.762) (color 132 0 0 1)) (justify right))+ )+ (text "Ground" (at 16.76 -10.70 0)+ (effects (font (size 0.762 0.762) (color 132 0 0 1)) (justify right))+ )+ (polyline (pts (xy 2.359 -12.327) (xy 6.465 -9.957)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.465 -9.957) (xy 6.488 -9.872) (xy 6.512 -9.787) (xy 6.535 -9.702) (xy 6.558 -9.616) (xy 6.582 -9.531) (xy 6.605 -9.446) (xy 6.629 -9.361) (xy 6.652 -9.276) (xy 6.675 -9.191) (xy 6.699 -9.106) (xy 6.722 -9.021)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.359 -11.540) (xy 6.722 -9.021)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.359 -12.327) (xy 2.359 -12.220) (xy 2.359 -12.112) (xy 2.359 -12.005) (xy 2.359 -11.898) (xy 2.359 -11.790) (xy 2.359 -11.683) (xy 2.359 -11.575) (xy 2.359 -11.540)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.617 -9.454) (xy -1.850 -9.897)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.196 -10.275) (xy -0.429 -10.718)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.225 -11.095) (xy 0.992 -11.538)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.645 -11.915) (xy 2.359 -12.327)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.722 -9.021) (xy 6.684 -8.912) (xy 6.645 -8.803) (xy 6.606 -8.695) (xy 6.567 -8.586) (xy 6.529 -8.477) (xy 6.490 -8.369) (xy 6.452 -8.260) (xy 6.413 -8.152) (xy 6.374 -8.043) (xy 6.336 -7.934) (xy 6.297 -7.826)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.359 -10.099) (xy 6.297 -7.826)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.359 -11.540) (xy 2.359 -11.409) (xy 2.359 -11.277) (xy 2.359 -11.147) (xy 2.359 -11.016) (xy 2.359 -10.885) (xy 2.359 -10.754) (xy 2.359 -10.623) (xy 2.359 -10.492) (xy 2.359 -10.361) (xy 2.359 -10.230) (xy 2.359 -10.099)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.122 -8.375) (xy -2.963 -8.467)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.283 -8.859) (xy -1.542 -9.287)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.863 -9.679) (xy -0.122 -10.107)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.558 -10.499) (xy 1.299 -10.927)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.979 -11.320) (xy 2.359 -11.540)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.070 -8.564) (xy -3.094 -8.478) (xy -3.117 -8.392) (xy -3.122 -8.375)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.297 -7.826) (xy 1.241 -4.906)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.697 -7.180) (xy 2.359 -10.099)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.241 -4.906) (xy -2.697 -7.180)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.907 -6.986) (xy -0.834 -7.040) (xy -0.783 -7.112) (xy -0.768 -7.180)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.768 -7.180) (xy -0.811 -7.294) (xy -0.884 -7.359) (xy -0.986 -7.410) (xy -1.109 -7.443) (xy -1.243 -7.454) (xy -1.377 -7.443) (xy -1.499 -7.410) (xy -1.601 -7.359) (xy -1.674 -7.294) (xy -1.717 -7.180)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.717 -7.180) (xy -1.693 -7.093) (xy -1.623 -7.016) (xy -1.513 -6.955) (xy -1.424 -6.927) (xy -1.327 -6.910) (xy -1.226 -6.906) (xy -1.125 -6.914) (xy -1.031 -6.935) (xy -0.945 -6.966) (xy -0.907 -6.986)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.122 -8.375) (xy -3.084 -8.266) (xy -3.045 -8.157) (xy -3.006 -8.049) (xy -2.967 -7.940) (xy -2.929 -7.831) (xy -2.890 -7.723) (xy -2.852 -7.614) (xy -2.813 -7.506) (xy -2.774 -7.397) (xy -2.736 -7.288) (xy -2.697 -7.180)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.907 -7.051) (xy -1.023 -7.001) (xy -1.113 -6.981) (xy -1.208 -6.971) (xy -1.304 -6.973) (xy -1.398 -6.986) (xy -1.486 -7.009) (xy -1.597 -7.062) (xy -1.675 -7.132) (xy -1.714 -7.212)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.771 -7.212) (xy -0.810 -7.132) (xy -0.878 -7.069) (xy -0.907 -7.051)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.237 -8.574) (xy -2.465 -8.705)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.237 -8.574) (xy -2.321 -8.526) (xy -2.404 -8.478) (xy -2.487 -8.430) (xy -2.571 -8.382) (xy -2.654 -8.333) (xy -2.696 -8.309)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.696 -8.309) (xy -2.923 -8.441)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.283 -8.859) (xy -2.465 -8.964)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.283 -8.859) (xy -2.268 -8.768) (xy -2.254 -8.678) (xy -2.239 -8.587) (xy -2.237 -8.574)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.465 -8.705) (xy -2.549 -8.767) (xy -2.629 -8.850) (xy -2.682 -8.923) (xy -2.727 -9.002) (xy -2.762 -9.085) (xy -2.786 -9.168) (xy -2.795 -9.222)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.795 -9.222) (xy -2.885 -9.906)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.885 -9.906) (xy -2.913 -9.988) (xy -2.967 -10.057) (xy -2.996 -10.078)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.996 -10.078) (xy -3.458 -10.344)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.458 -10.603) (xy -3.458 -10.344)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.996 -10.336) (xy -3.458 -10.603)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.665 -9.820) (xy -2.689 -9.929) (xy -2.721 -10.012) (xy -2.762 -10.093) (xy -2.813 -10.168) (xy -2.870 -10.235) (xy -2.953 -10.308) (xy -2.996 -10.336)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.575 -9.136) (xy -2.665 -9.820)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.465 -8.964) (xy -2.531 -9.028) (xy -2.569 -9.109) (xy -2.575 -9.136)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.923 -8.441) (xy -3.008 -8.502) (xy -3.088 -8.585) (xy -3.140 -8.658) (xy -3.185 -8.738) (xy -3.221 -8.820) (xy -3.245 -8.903) (xy -3.254 -8.957)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.916 -10.080) (xy -3.916 -10.338)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.454 -9.813) (xy -3.916 -10.080)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.344 -9.641) (xy -3.372 -9.723) (xy -3.426 -9.792) (xy -3.454 -9.813)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.254 -8.957) (xy -3.344 -9.641)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.916 -10.338) (xy -3.458 -10.603)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -3.458 -10.344) (xy -3.916 -10.080)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.817 -9.395) (xy -1.044 -9.526)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.817 -9.395) (xy -0.900 -9.346) (xy -0.983 -9.298) (xy -1.067 -9.250) (xy -1.150 -9.202) (xy -1.233 -9.154) (xy -1.275 -9.130)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.275 -9.130) (xy -1.503 -9.261)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.863 -9.679) (xy -1.044 -9.784)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.863 -9.679) (xy -0.848 -9.589) (xy -0.833 -9.498) (xy -0.818 -9.407) (xy -0.817 -9.395)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.044 -9.526) (xy -1.129 -9.587) (xy -1.208 -9.671) (xy -1.261 -9.743) (xy -1.306 -9.822) (xy -1.341 -9.905) (xy -1.365 -9.988) (xy -1.375 -10.042)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.375 -10.042) (xy -1.465 -10.726)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.465 -10.726) (xy -1.492 -10.808) (xy -1.547 -10.878) (xy -1.575 -10.898)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.575 -10.898) (xy -2.037 -11.165)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.037 -11.423) (xy -2.037 -11.165)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.575 -11.156) (xy -2.037 -11.423)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.244 -10.640) (xy -1.269 -10.749) (xy -1.300 -10.832) (xy -1.342 -10.913) (xy -1.392 -10.988) (xy -1.449 -11.055) (xy -1.532 -11.129) (xy -1.575 -11.156)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.154 -9.956) (xy -1.244 -10.640)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.044 -9.784) (xy -1.110 -9.848) (xy -1.149 -9.929) (xy -1.154 -9.956)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.503 -9.261) (xy -1.587 -9.323) (xy -1.667 -9.406) (xy -1.720 -9.478) (xy -1.765 -9.558) (xy -1.800 -9.640) (xy -1.824 -9.723) (xy -1.833 -9.777)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.496 -10.900) (xy -2.496 -11.158)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.034 -10.633) (xy -2.496 -10.900)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.923 -10.461) (xy -1.951 -10.543) (xy -2.005 -10.613) (xy -2.034 -10.633)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.833 -9.777) (xy -1.923 -10.461)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.496 -11.158) (xy -2.037 -11.423)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.037 -11.165) (xy -2.496 -10.900)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.604 -10.214) (xy 0.377 -10.346)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.604 -10.214) (xy 0.521 -10.167) (xy 0.437 -10.118) (xy 0.354 -10.070) (xy 0.271 -10.022) (xy 0.187 -9.974) (xy 0.145 -9.950)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.145 -9.950) (xy -0.081 -10.081)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.558 -10.499) (xy 0.377 -10.604)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.558 -10.499) (xy 0.573 -10.409) (xy 0.587 -10.318) (xy 0.602 -10.227) (xy 0.604 -10.214)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.377 -10.346) (xy 0.292 -10.407) (xy 0.212 -10.490) (xy 0.160 -10.564) (xy 0.115 -10.643) (xy 0.080 -10.725) (xy 0.056 -10.808) (xy 0.046 -10.862)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.046 -10.862) (xy -0.044 -11.546)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.044 -11.546) (xy -0.072 -11.628) (xy -0.126 -11.698) (xy -0.154 -11.718)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.154 -11.718) (xy -0.617 -11.985)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.617 -12.243) (xy -0.617 -11.985)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.154 -11.977) (xy -0.617 -12.243)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.177 -11.460) (xy 0.153 -11.569) (xy 0.121 -11.653) (xy 0.079 -11.733) (xy 0.028 -11.808) (xy -0.028 -11.876) (xy -0.111 -11.949) (xy -0.154 -11.977)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.266 -10.776) (xy 0.177 -11.460)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.377 -10.604) (xy 0.310 -10.668) (xy 0.272 -10.749) (xy 0.266 -10.776)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.081 -10.081) (xy -0.167 -10.143) (xy -0.246 -10.226) (xy -0.299 -10.299) (xy -0.344 -10.378) (xy -0.379 -10.461) (xy -0.403 -10.543) (xy -0.413 -10.597)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.075 -11.720) (xy -1.075 -11.979)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.613 -11.453) (xy -1.075 -11.720)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.503 -11.281) (xy -0.530 -11.364) (xy -0.585 -11.433) (xy -0.613 -11.453)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.413 -10.597) (xy -0.503 -11.281)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.075 -11.979) (xy -0.617 -12.243)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.617 -11.985) (xy -1.075 -11.720)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.025 -11.035) (xy 1.798 -11.166)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.025 -11.035) (xy 1.942 -10.987) (xy 1.858 -10.939) (xy 1.775 -10.891) (xy 1.691 -10.842) (xy 1.608 -10.794) (xy 1.566 -10.770)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.566 -10.770) (xy 1.339 -10.901)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.979 -11.320) (xy 1.798 -11.424)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.979 -11.320) (xy 1.994 -11.229) (xy 2.008 -11.138) (xy 2.023 -11.048) (xy 2.025 -11.035)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.798 -11.166) (xy 1.712 -11.228) (xy 1.633 -11.311) (xy 1.580 -11.384) (xy 1.536 -11.463) (xy 1.500 -11.545) (xy 1.476 -11.628) (xy 1.466 -11.682)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.466 -11.682) (xy 1.377 -12.367)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.377 -12.367) (xy 1.349 -12.449) (xy 1.295 -12.518) (xy 1.266 -12.539)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.266 -12.539) (xy 0.805 -12.805)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.805 -13.064) (xy 0.805 -12.805)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.266 -12.797) (xy 0.805 -13.064)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.598 -12.281) (xy 1.573 -12.390) (xy 1.541 -12.473) (xy 1.499 -12.553) (xy 1.449 -12.629) (xy 1.392 -12.696) (xy 1.309 -12.769) (xy 1.266 -12.797)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.687 -11.597) (xy 1.598 -12.281)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.798 -11.424) (xy 1.731 -11.489) (xy 1.693 -11.569) (xy 1.687 -11.597)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.339 -10.901) (xy 1.254 -10.963) (xy 1.175 -11.046) (xy 1.122 -11.119) (xy 1.077 -11.198) (xy 1.042 -11.280) (xy 1.018 -11.364) (xy 1.008 -11.418)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.346 -12.540) (xy 0.346 -12.799)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.808 -12.274) (xy 0.346 -12.540)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.918 -12.102) (xy 0.890 -12.184) (xy 0.836 -12.253) (xy 0.808 -12.274)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.008 -11.418) (xy 0.918 -12.102)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.346 -12.799) (xy 0.805 -13.064)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.805 -12.805) (xy 0.346 -12.540)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.516 -8.442) (xy 6.523 -8.438)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.604 -8.690) (xy 6.633 -8.741)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.633 -8.741) (xy 6.642 -8.795)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.693 -9.127) (xy 6.723 -9.321)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.723 -9.321) (xy 6.751 -9.410) (xy 6.810 -9.474) (xy 6.817 -9.478)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.817 -9.478) (xy 6.904 -9.501) (xy 6.995 -9.483) (xy 7.054 -9.455)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 7.054 -9.455) (xy 7.516 -9.189)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 7.516 -8.930) (xy 7.516 -9.189)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 7.054 -9.197) (xy 7.516 -8.930)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.944 -9.152) (xy 6.975 -9.205)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.975 -9.205) (xy 7.054 -9.197)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.854 -8.571) (xy 6.944 -9.152)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.523 -8.438) (xy 6.606 -8.402) (xy 6.694 -8.393) (xy 6.760 -8.414)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.760 -8.414) (xy 6.822 -8.476) (xy 6.853 -8.562) (xy 6.854 -8.571)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.884 -8.765) (xy 7.058 -8.665)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 7.058 -8.665) (xy 7.516 -8.930)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.441 -8.230) (xy 6.760 -8.414)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.817 -9.478) (xy 6.626 -9.369)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.465 -8.705) (xy -2.923 -8.441)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.795 -9.222) (xy -3.254 -8.957)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.996 -10.078) (xy -3.454 -9.813)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -2.885 -9.906) (xy -3.344 -9.641)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.044 -9.526) (xy -1.503 -9.261)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.375 -10.042) (xy -1.833 -9.777)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.575 -10.898) (xy -2.034 -10.633)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -1.465 -10.726) (xy -1.923 -10.461)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.377 -10.346) (xy -0.081 -10.081)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.046 -10.862) (xy -0.413 -10.597)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.154 -11.718) (xy -0.613 -11.453)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy -0.044 -11.546) (xy -0.503 -11.281)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.798 -11.166) (xy 1.339 -10.901)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.466 -11.682) (xy 1.008 -11.418)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.266 -12.539) (xy 0.808 -12.274)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.377 -12.367) (xy 0.918 -12.102)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.633 -8.741) (xy 6.620 -8.733)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.513 -8.432) (xy 6.523 -8.438)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.941 -9.131) (xy 7.054 -9.197)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 6.723 -9.321) (xy 6.651 -9.280)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.531 -6.777) (xy 1.134 -7.006)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.531 -6.777) (xy 1.285 -7.093)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.833 -6.952) (xy 1.285 -7.093)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.833 -6.952) (xy 1.436 -7.181)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.154 -7.246) (xy 2.154 -7.137) (xy 2.078 -7.093) (xy 1.946 -7.083) (xy 1.814 -7.115) (xy 1.720 -7.170) (xy 1.662 -7.246) (xy 1.757 -7.366) (xy 1.889 -7.377) (xy 1.946 -7.366)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.381 -7.268) (xy 1.984 -7.497)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.381 -7.268) (xy 2.551 -7.366) (xy 2.569 -7.464) (xy 2.456 -7.508) (xy 2.343 -7.486) (xy 2.173 -7.388)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.683 -7.551) (xy 2.796 -7.530) (xy 2.928 -7.584) (xy 2.928 -7.671) (xy 2.834 -7.704) (xy 2.739 -7.715) (xy 2.362 -7.715) (xy 2.626 -7.868)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.363 -7.835) (xy 3.174 -7.726) (xy 2.985 -7.813) (xy 3.099 -7.835) (xy 3.193 -7.911) (xy 3.155 -7.998) (xy 3.042 -8.042) (xy 2.891 -8.020) (xy 2.796 -7.944) (xy 2.815 -7.890)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.703 -8.097) (xy 3.646 -7.998) (xy 3.477 -7.988) (xy 3.363 -8.031) (xy 3.268 -8.086) (xy 3.212 -8.184) (xy 3.344 -8.260) (xy 3.495 -8.239) (xy 3.552 -8.140) (xy 3.419 -8.064) (xy 3.268 -8.086)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.816 -8.206) (xy 3.929 -8.184) (xy 4.062 -8.239) (xy 4.062 -8.326) (xy 3.967 -8.358) (xy 3.873 -8.370) (xy 3.495 -8.370) (xy 3.760 -8.522)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.916 -7.110) (xy 0.520 -7.339)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.916 -7.110) (xy 1.162 -7.251)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 0.728 -7.219) (xy 0.879 -7.306)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.256 -7.306) (xy 0.860 -7.535)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.256 -7.306) (xy 1.389 -7.382) (xy 1.427 -7.470) (xy 1.370 -7.546) (xy 1.276 -7.601) (xy 1.143 -7.633) (xy 0.992 -7.611) (xy 0.860 -7.535)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.427 -7.666) (xy 1.767 -7.862)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.144 -7.818) (xy 1.748 -8.048)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.144 -7.818) (xy 2.390 -7.961)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.956 -7.927) (xy 2.106 -8.015)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 1.748 -8.048) (xy 1.993 -8.190)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 2.881 -8.157) (xy 1.937 -8.309)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.108 -8.440) (xy 3.070 -8.353) (xy 2.995 -8.309) (xy 2.844 -8.287) (xy 2.787 -8.364) (xy 2.881 -8.484) (xy 2.881 -8.571) (xy 2.749 -8.604) (xy 2.598 -8.538) (xy 2.560 -8.451)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.297 -8.484) (xy 2.900 -8.713)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.297 -8.484) (xy 3.165 -8.866)) (stroke (width 0.025) (type default)) (fill (type none)))+ (polyline (pts (xy 3.561 -8.637) (xy 3.165 -8.866)) (stroke (width 0.025) (type default)) (fill (type none)))+ )+ (symbol "MCP2562FD-E-SN_1_1"+ (pin input line (at -20.32 -2.54 0) (length 2.54) (name "TXD") (number "1"))+ (pin output line (at -20.32 -5.08 0) (length 2.54) (name "RXD") (number "4"))+ (pin input line (at -20.32 -7.62 0) (length 2.54) (name "STBY") (number "8"))+ (pin bidirectional line (at -20.32 -15.24 0) (length 2.54) (name "CANH") (number "7"))+ (pin bidirectional line (at -20.32 -17.78 0) (length 2.54) (name "CANL") (number "6"))+ (pin power_in line (at 20.32 -2.54 180) (length 2.54) (name "VDD") (number "3"))+ (pin power_in line (at 20.32 -5.08 180) (length 2.54) (name "VIO") (number "5"))+ (pin power_in line (at 20.32 -12.70 180) (length 2.54) (name "VSS") (number "2"))+ )+ )+)
mcp2562fd-e-sn.lbradded+584@@ -0,0 +1,584 @@+<?xml version="1.0" encoding="utf-8"?>+<!DOCTYPE eagle SYSTEM "eagle.dtd">+<eagle version="9.6.2">+<drawing>+<settings><setting alwaysvectorfont="no"/></settings>+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>+<layers>+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>+</layers>+<library>+<description>High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8. 2-column symbol, pins grouped by function</description>+<packages>+<package name="mcp2562fd-e-sn">+ <description>8 pads, 7.0 x 4.4 mm. Microchip SN 8-lead SOIC, 3.90 mm body, 1.27 mm pitch; land pattern per Microchip drawing C04-02057-SN Rev L (C 5.40, X1 0.60, Y1 1.55), DS20005284B p.25</description>+ <smd name="1" x="-2.7000" y="1.9050" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="2" x="-2.7000" y="0.6350" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="3" x="-2.7000" y="-0.6350" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="4" x="-2.7000" y="-1.9050" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="5" x="2.7000" y="-1.9050" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="6" x="2.7000" y="-0.6350" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="7" x="2.7000" y="0.6350" dx="1.5500" dy="0.6000" layer="1"/>+ <smd name="8" x="2.7000" y="1.9050" dx="1.5500" dy="0.6000" layer="1"/>+ <wire x1="-1.9500" y1="2.4500" x2="1.9500" y2="2.4500" width="0.1000" layer="51"/>+ <wire x1="1.9500" y1="2.4500" x2="1.9500" y2="-2.4500" width="0.1000" layer="51"/>+ <wire x1="1.9500" y1="-2.4500" x2="-1.9500" y2="-2.4500" width="0.1000" layer="51"/>+ <wire x1="-1.9500" y1="-2.4500" x2="-1.9500" y2="2.4500" width="0.1000" layer="51"/>+ <wire x1="-2.0700" y1="2.5700" x2="2.0700" y2="2.5700" width="0.1200" layer="21"/>+ <wire x1="2.0700" y1="1.3900" x2="2.0700" y2="1.1500" width="0.1200" layer="21"/>+ <wire x1="2.0700" y1="0.1200" x2="2.0700" y2="-0.1200" width="0.1200" layer="21"/>+ <wire x1="2.0700" y1="-1.1500" x2="2.0700" y2="-1.3900" width="0.1200" layer="21"/>+ <wire x1="2.0700" y1="-2.5700" x2="-2.0700" y2="-2.5700" width="0.1200" layer="21"/>+ <wire x1="-2.0700" y1="-1.3900" x2="-2.0700" y2="-1.1500" width="0.1200" layer="21"/>+ <wire x1="-2.0700" y1="-0.1200" x2="-2.0700" y2="0.1200" width="0.1200" layer="21"/>+ <wire x1="-2.0700" y1="1.1500" x2="-2.0700" y2="1.3900" width="0.1200" layer="21"/>+ <wire x1="-2.2500" y1="2.7500" x2="-1.6500" y2="2.7500" width="0.1200" layer="21"/>+ <text x="0" y="3.350" size="1.27" layer="25" align="bottom-center">>NAME</text>+ <text x="0" y="-3.280" size="1.27" layer="27" align="top-center">>VALUE</text>+</package>+</packages>+<symbols>+<symbol name="MCP2562FD-E-SN">+ <description>High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8. 2-column symbol, pins grouped by function</description>+ <wire x1="-17.78" y1="2.54" x2="17.78" y2="2.54" width="0.254" layer="94"/>+ <wire x1="17.78" y1="2.54" x2="17.78" y2="-20.32" width="0.254" layer="94"/>+ <wire x1="17.78" y1="-20.32" x2="-17.78" y2="-20.32" width="0.254" layer="94"/>+ <wire x1="-17.78" y1="-20.32" x2="-17.78" y2="2.54" width="0.254" layer="94"/>+ <wire x1="2.3590" y1="-12.3270" x2="6.4650" y2="-9.9570" width="0.0254" layer="94"/>+ <wire x1="6.4650" y1="-9.9570" x2="6.4880" y2="-9.8720" width="0.0254" layer="94"/>+ <wire x1="6.4880" y1="-9.8720" x2="6.5120" y2="-9.7870" width="0.0254" layer="94"/>+ <wire x1="6.5120" y1="-9.7870" x2="6.5350" y2="-9.7020" width="0.0254" layer="94"/>+ <wire x1="6.5350" y1="-9.7020" x2="6.5580" y2="-9.6160" width="0.0254" layer="94"/>+ <wire x1="6.5580" y1="-9.6160" x2="6.5820" y2="-9.5310" width="0.0254" layer="94"/>+ <wire x1="6.5820" y1="-9.5310" x2="6.6050" y2="-9.4460" width="0.0254" layer="94"/>+ <wire x1="6.6050" y1="-9.4460" x2="6.6290" y2="-9.3610" width="0.0254" layer="94"/>+ <wire x1="6.6290" y1="-9.3610" x2="6.6520" y2="-9.2760" width="0.0254" layer="94"/>+ <wire x1="6.6520" y1="-9.2760" x2="6.6750" y2="-9.1910" width="0.0254" layer="94"/>+ <wire x1="6.6750" y1="-9.1910" x2="6.6990" y2="-9.1060" width="0.0254" layer="94"/>+ <wire x1="6.6990" y1="-9.1060" x2="6.7220" y2="-9.0210" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.5400" x2="6.7220" y2="-9.0210" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-12.3270" x2="2.3590" y2="-12.2200" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-12.2200" x2="2.3590" y2="-12.1120" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-12.1120" x2="2.3590" y2="-12.0050" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-12.0050" x2="2.3590" y2="-11.8980" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.8980" x2="2.3590" y2="-11.7900" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.7900" x2="2.3590" y2="-11.6830" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.6830" x2="2.3590" y2="-11.5750" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.5750" x2="2.3590" y2="-11.5400" width="0.0254" layer="94"/>+ <wire x1="-2.6170" y1="-9.4540" x2="-1.8500" y2="-9.8970" width="0.0254" layer="94"/>+ <wire x1="-1.1960" y1="-10.2750" x2="-0.4290" y2="-10.7180" width="0.0254" layer="94"/>+ <wire x1="0.2250" y1="-11.0950" x2="0.9920" y2="-11.5380" width="0.0254" layer="94"/>+ <wire x1="1.6450" y1="-11.9150" x2="2.3590" y2="-12.3270" width="0.0254" layer="94"/>+ <wire x1="6.7220" y1="-9.0210" x2="6.6840" y2="-8.9120" width="0.0254" layer="94"/>+ <wire x1="6.6840" y1="-8.9120" x2="6.6450" y2="-8.8030" width="0.0254" layer="94"/>+ <wire x1="6.6450" y1="-8.8030" x2="6.6060" y2="-8.6950" width="0.0254" layer="94"/>+ <wire x1="6.6060" y1="-8.6950" x2="6.5670" y2="-8.5860" width="0.0254" layer="94"/>+ <wire x1="6.5670" y1="-8.5860" x2="6.5290" y2="-8.4770" width="0.0254" layer="94"/>+ <wire x1="6.5290" y1="-8.4770" x2="6.4900" y2="-8.3690" width="0.0254" layer="94"/>+ <wire x1="6.4900" y1="-8.3690" x2="6.4520" y2="-8.2600" width="0.0254" layer="94"/>+ <wire x1="6.4520" y1="-8.2600" x2="6.4130" y2="-8.1520" width="0.0254" layer="94"/>+ <wire x1="6.4130" y1="-8.1520" x2="6.3740" y2="-8.0430" width="0.0254" layer="94"/>+ <wire x1="6.3740" y1="-8.0430" x2="6.3360" y2="-7.9340" width="0.0254" layer="94"/>+ <wire x1="6.3360" y1="-7.9340" x2="6.2970" y2="-7.8260" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.0990" x2="6.2970" y2="-7.8260" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.5400" x2="2.3590" y2="-11.4090" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.4090" x2="2.3590" y2="-11.2770" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.2770" x2="2.3590" y2="-11.1470" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.1470" x2="2.3590" y2="-11.0160" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-11.0160" x2="2.3590" y2="-10.8850" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.8850" x2="2.3590" y2="-10.7540" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.7540" x2="2.3590" y2="-10.6230" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.6230" x2="2.3590" y2="-10.4920" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.4920" x2="2.3590" y2="-10.3610" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.3610" x2="2.3590" y2="-10.2300" width="0.0254" layer="94"/>+ <wire x1="2.3590" y1="-10.2300" x2="2.3590" y2="-10.0990" width="0.0254" layer="94"/>+ <wire x1="-3.1220" y1="-8.3750" x2="-2.9630" y2="-8.4670" width="0.0254" layer="94"/>+ <wire x1="-2.2830" y1="-8.8590" x2="-1.5420" y2="-9.2870" width="0.0254" layer="94"/>+ <wire x1="-0.8630" y1="-9.6790" x2="-0.1220" y2="-10.1070" width="0.0254" layer="94"/>+ <wire x1="0.5580" y1="-10.4990" x2="1.2990" y2="-10.9270" width="0.0254" layer="94"/>+ <wire x1="1.9790" y1="-11.3200" x2="2.3590" y2="-11.5400" width="0.0254" layer="94"/>+ <wire x1="-3.0700" y1="-8.5640" x2="-3.0940" y2="-8.4780" width="0.0254" layer="94"/>+ <wire x1="-3.0940" y1="-8.4780" x2="-3.1170" y2="-8.3920" width="0.0254" layer="94"/>+ <wire x1="-3.1170" y1="-8.3920" x2="-3.1220" y2="-8.3750" width="0.0254" layer="94"/>+ <wire x1="6.2970" y1="-7.8260" x2="1.2410" y2="-4.9060" width="0.0254" layer="94"/>+ <wire x1="-2.6970" y1="-7.1800" x2="2.3590" y2="-10.0990" width="0.0254" layer="94"/>+ <wire x1="1.2410" y1="-4.9060" x2="-2.6970" y2="-7.1800" width="0.0254" layer="94"/>+ <wire x1="-0.9070" y1="-6.9860" x2="-0.8340" y2="-7.0400" width="0.0254" layer="94"/>+ <wire x1="-0.8340" y1="-7.0400" x2="-0.7830" y2="-7.1120" width="0.0254" layer="94"/>+ <wire x1="-0.7830" y1="-7.1120" x2="-0.7680" y2="-7.1800" width="0.0254" layer="94"/>+ <wire x1="-0.7680" y1="-7.1800" x2="-0.8110" y2="-7.2940" width="0.0254" layer="94"/>+ <wire x1="-0.8110" y1="-7.2940" x2="-0.8840" y2="-7.3590" width="0.0254" layer="94"/>+ <wire x1="-0.8840" y1="-7.3590" x2="-0.9860" y2="-7.4100" width="0.0254" layer="94"/>+ <wire x1="-0.9860" y1="-7.4100" x2="-1.1090" y2="-7.4430" width="0.0254" layer="94"/>+ <wire x1="-1.1090" y1="-7.4430" x2="-1.2430" y2="-7.4540" width="0.0254" layer="94"/>+ <wire x1="-1.2430" y1="-7.4540" x2="-1.3770" y2="-7.4430" width="0.0254" layer="94"/>+ <wire x1="-1.3770" y1="-7.4430" x2="-1.4990" y2="-7.4100" width="0.0254" layer="94"/>+ <wire x1="-1.4990" y1="-7.4100" x2="-1.6010" y2="-7.3590" width="0.0254" layer="94"/>+ <wire x1="-1.6010" y1="-7.3590" x2="-1.6740" y2="-7.2940" width="0.0254" layer="94"/>+ <wire x1="-1.6740" y1="-7.2940" x2="-1.7170" y2="-7.1800" width="0.0254" layer="94"/>+ <wire x1="-1.7170" y1="-7.1800" x2="-1.6930" y2="-7.0930" width="0.0254" layer="94"/>+ <wire x1="-1.6930" y1="-7.0930" x2="-1.6230" y2="-7.0160" width="0.0254" layer="94"/>+ <wire x1="-1.6230" y1="-7.0160" x2="-1.5130" y2="-6.9550" width="0.0254" layer="94"/>+ <wire x1="-1.5130" y1="-6.9550" x2="-1.4240" y2="-6.9270" width="0.0254" layer="94"/>+ <wire x1="-1.4240" y1="-6.9270" x2="-1.3270" y2="-6.9100" width="0.0254" layer="94"/>+ <wire x1="-1.3270" y1="-6.9100" x2="-1.2260" y2="-6.9060" width="0.0254" layer="94"/>+ <wire x1="-1.2260" y1="-6.9060" x2="-1.1250" y2="-6.9140" width="0.0254" layer="94"/>+ <wire x1="-1.1250" y1="-6.9140" x2="-1.0310" y2="-6.9350" width="0.0254" layer="94"/>+ <wire x1="-1.0310" y1="-6.9350" x2="-0.9450" y2="-6.9660" width="0.0254" layer="94"/>+ <wire x1="-0.9450" y1="-6.9660" x2="-0.9070" y2="-6.9860" width="0.0254" layer="94"/>+ <wire x1="-3.1220" y1="-8.3750" x2="-3.0840" y2="-8.2660" width="0.0254" layer="94"/>+ <wire x1="-3.0840" y1="-8.2660" x2="-3.0450" y2="-8.1570" width="0.0254" layer="94"/>+ <wire x1="-3.0450" y1="-8.1570" x2="-3.0060" y2="-8.0490" width="0.0254" layer="94"/>+ <wire x1="-3.0060" y1="-8.0490" x2="-2.9670" y2="-7.9400" width="0.0254" layer="94"/>+ <wire x1="-2.9670" y1="-7.9400" x2="-2.9290" y2="-7.8310" width="0.0254" layer="94"/>+ <wire x1="-2.9290" y1="-7.8310" x2="-2.8900" y2="-7.7230" width="0.0254" layer="94"/>+ <wire x1="-2.8900" y1="-7.7230" x2="-2.8520" y2="-7.6140" width="0.0254" layer="94"/>+ <wire x1="-2.8520" y1="-7.6140" x2="-2.8130" y2="-7.5060" width="0.0254" layer="94"/>+ <wire x1="-2.8130" y1="-7.5060" x2="-2.7740" y2="-7.3970" width="0.0254" layer="94"/>+ <wire x1="-2.7740" y1="-7.3970" x2="-2.7360" y2="-7.2880" width="0.0254" layer="94"/>+ <wire x1="-2.7360" y1="-7.2880" x2="-2.6970" y2="-7.1800" width="0.0254" layer="94"/>+ <wire x1="-0.9070" y1="-7.0510" x2="-1.0230" y2="-7.0010" width="0.0254" layer="94"/>+ <wire x1="-1.0230" y1="-7.0010" x2="-1.1130" y2="-6.9810" width="0.0254" layer="94"/>+ <wire x1="-1.1130" y1="-6.9810" x2="-1.2080" y2="-6.9710" width="0.0254" layer="94"/>+ <wire x1="-1.2080" y1="-6.9710" x2="-1.3040" y2="-6.9730" width="0.0254" layer="94"/>+ <wire x1="-1.3040" y1="-6.9730" x2="-1.3980" y2="-6.9860" width="0.0254" layer="94"/>+ <wire x1="-1.3980" y1="-6.9860" x2="-1.4860" y2="-7.0090" width="0.0254" layer="94"/>+ <wire x1="-1.4860" y1="-7.0090" x2="-1.5970" y2="-7.0620" width="0.0254" layer="94"/>+ <wire x1="-1.5970" y1="-7.0620" x2="-1.6750" y2="-7.1320" width="0.0254" layer="94"/>+ <wire x1="-1.6750" y1="-7.1320" x2="-1.7140" y2="-7.2120" width="0.0254" layer="94"/>+ <wire x1="-0.7710" y1="-7.2120" x2="-0.8100" y2="-7.1320" width="0.0254" layer="94"/>+ <wire x1="-0.8100" y1="-7.1320" x2="-0.8780" y2="-7.0690" width="0.0254" layer="94"/>+ <wire x1="-0.8780" y1="-7.0690" x2="-0.9070" y2="-7.0510" width="0.0254" layer="94"/>+ <wire x1="-2.2370" y1="-8.5740" x2="-2.4650" y2="-8.7050" width="0.0254" layer="94"/>+ <wire x1="-2.2370" y1="-8.5740" x2="-2.3210" y2="-8.5260" width="0.0254" layer="94"/>+ <wire x1="-2.3210" y1="-8.5260" x2="-2.4040" y2="-8.4780" width="0.0254" layer="94"/>+ <wire x1="-2.4040" y1="-8.4780" x2="-2.4870" y2="-8.4300" width="0.0254" layer="94"/>+ <wire x1="-2.4870" y1="-8.4300" x2="-2.5710" y2="-8.3820" width="0.0254" layer="94"/>+ <wire x1="-2.5710" y1="-8.3820" x2="-2.6540" y2="-8.3330" width="0.0254" layer="94"/>+ <wire x1="-2.6540" y1="-8.3330" x2="-2.6960" y2="-8.3090" width="0.0254" layer="94"/>+ <wire x1="-2.6960" y1="-8.3090" x2="-2.9230" y2="-8.4410" width="0.0254" layer="94"/>+ <wire x1="-2.2830" y1="-8.8590" x2="-2.4650" y2="-8.9640" width="0.0254" layer="94"/>+ <wire x1="-2.2830" y1="-8.8590" x2="-2.2680" y2="-8.7680" width="0.0254" layer="94"/>+ <wire x1="-2.2680" y1="-8.7680" x2="-2.2540" y2="-8.6780" width="0.0254" layer="94"/>+ <wire x1="-2.2540" y1="-8.6780" x2="-2.2390" y2="-8.5870" width="0.0254" layer="94"/>+ <wire x1="-2.2390" y1="-8.5870" x2="-2.2370" y2="-8.5740" width="0.0254" layer="94"/>+ <wire x1="-2.4650" y1="-8.7050" x2="-2.5490" y2="-8.7670" width="0.0254" layer="94"/>+ <wire x1="-2.5490" y1="-8.7670" x2="-2.6290" y2="-8.8500" width="0.0254" layer="94"/>+ <wire x1="-2.6290" y1="-8.8500" x2="-2.6820" y2="-8.9230" width="0.0254" layer="94"/>+ <wire x1="-2.6820" y1="-8.9230" x2="-2.7270" y2="-9.0020" width="0.0254" layer="94"/>+ <wire x1="-2.7270" y1="-9.0020" x2="-2.7620" y2="-9.0850" width="0.0254" layer="94"/>+ <wire x1="-2.7620" y1="-9.0850" x2="-2.7860" y2="-9.1680" width="0.0254" layer="94"/>+ <wire x1="-2.7860" y1="-9.1680" x2="-2.7950" y2="-9.2220" width="0.0254" layer="94"/>+ <wire x1="-2.7950" y1="-9.2220" x2="-2.8850" y2="-9.9060" width="0.0254" layer="94"/>+ <wire x1="-2.8850" y1="-9.9060" x2="-2.9130" y2="-9.9880" width="0.0254" layer="94"/>+ <wire x1="-2.9130" y1="-9.9880" x2="-2.9670" y2="-10.0570" width="0.0254" layer="94"/>+ <wire x1="-2.9670" y1="-10.0570" x2="-2.9960" y2="-10.0780" width="0.0254" layer="94"/>+ <wire x1="-2.9960" y1="-10.0780" x2="-3.4580" y2="-10.3440" width="0.0254" layer="94"/>+ <wire x1="-3.4580" y1="-10.6030" x2="-3.4580" y2="-10.3440" width="0.0254" layer="94"/>+ <wire x1="-2.9960" y1="-10.3360" x2="-3.4580" y2="-10.6030" width="0.0254" layer="94"/>+ <wire x1="-2.6650" y1="-9.8200" x2="-2.6890" y2="-9.9290" width="0.0254" layer="94"/>+ <wire x1="-2.6890" y1="-9.9290" x2="-2.7210" y2="-10.0120" width="0.0254" layer="94"/>+ <wire x1="-2.7210" y1="-10.0120" x2="-2.7620" y2="-10.0930" width="0.0254" layer="94"/>+ <wire x1="-2.7620" y1="-10.0930" x2="-2.8130" y2="-10.1680" width="0.0254" layer="94"/>+ <wire x1="-2.8130" y1="-10.1680" x2="-2.8700" y2="-10.2350" width="0.0254" layer="94"/>+ <wire x1="-2.8700" y1="-10.2350" x2="-2.9530" y2="-10.3080" width="0.0254" layer="94"/>+ <wire x1="-2.9530" y1="-10.3080" x2="-2.9960" y2="-10.3360" width="0.0254" layer="94"/>+ <wire x1="-2.5750" y1="-9.1360" x2="-2.6650" y2="-9.8200" width="0.0254" layer="94"/>+ <wire x1="-2.4650" y1="-8.9640" x2="-2.5310" y2="-9.0280" width="0.0254" layer="94"/>+ <wire x1="-2.5310" y1="-9.0280" x2="-2.5690" y2="-9.1090" width="0.0254" layer="94"/>+ <wire x1="-2.5690" y1="-9.1090" x2="-2.5750" y2="-9.1360" width="0.0254" layer="94"/>+ <wire x1="-2.9230" y1="-8.4410" x2="-3.0080" y2="-8.5020" width="0.0254" layer="94"/>+ <wire x1="-3.0080" y1="-8.5020" x2="-3.0880" y2="-8.5850" width="0.0254" layer="94"/>+ <wire x1="-3.0880" y1="-8.5850" x2="-3.1400" y2="-8.6580" width="0.0254" layer="94"/>+ <wire x1="-3.1400" y1="-8.6580" x2="-3.1850" y2="-8.7380" width="0.0254" layer="94"/>+ <wire x1="-3.1850" y1="-8.7380" x2="-3.2210" y2="-8.8200" width="0.0254" layer="94"/>+ <wire x1="-3.2210" y1="-8.8200" x2="-3.2450" y2="-8.9030" width="0.0254" layer="94"/>+ <wire x1="-3.2450" y1="-8.9030" x2="-3.2540" y2="-8.9570" width="0.0254" layer="94"/>+ <wire x1="-3.9160" y1="-10.0800" x2="-3.9160" y2="-10.3380" width="0.0254" layer="94"/>+ <wire x1="-3.4540" y1="-9.8130" x2="-3.9160" y2="-10.0800" width="0.0254" layer="94"/>+ <wire x1="-3.3440" y1="-9.6410" x2="-3.3720" y2="-9.7230" width="0.0254" layer="94"/>+ <wire x1="-3.3720" y1="-9.7230" x2="-3.4260" y2="-9.7920" width="0.0254" layer="94"/>+ <wire x1="-3.4260" y1="-9.7920" x2="-3.4540" y2="-9.8130" width="0.0254" layer="94"/>+ <wire x1="-3.2540" y1="-8.9570" x2="-3.3440" y2="-9.6410" width="0.0254" layer="94"/>+ <wire x1="-3.9160" y1="-10.3380" x2="-3.4580" y2="-10.6030" width="0.0254" layer="94"/>+ <wire x1="-3.4580" y1="-10.3440" x2="-3.9160" y2="-10.0800" width="0.0254" layer="94"/>+ <wire x1="-0.8170" y1="-9.3950" x2="-1.0440" y2="-9.5260" width="0.0254" layer="94"/>+ <wire x1="-0.8170" y1="-9.3950" x2="-0.9000" y2="-9.3460" width="0.0254" layer="94"/>+ <wire x1="-0.9000" y1="-9.3460" x2="-0.9830" y2="-9.2980" width="0.0254" layer="94"/>+ <wire x1="-0.9830" y1="-9.2980" x2="-1.0670" y2="-9.2500" width="0.0254" layer="94"/>+ <wire x1="-1.0670" y1="-9.2500" x2="-1.1500" y2="-9.2020" width="0.0254" layer="94"/>+ <wire x1="-1.1500" y1="-9.2020" x2="-1.2330" y2="-9.1540" width="0.0254" layer="94"/>+ <wire x1="-1.2330" y1="-9.1540" x2="-1.2750" y2="-9.1300" width="0.0254" layer="94"/>+ <wire x1="-1.2750" y1="-9.1300" x2="-1.5030" y2="-9.2610" width="0.0254" layer="94"/>+ <wire x1="-0.8630" y1="-9.6790" x2="-1.0440" y2="-9.7840" width="0.0254" layer="94"/>+ <wire x1="-0.8630" y1="-9.6790" x2="-0.8480" y2="-9.5890" width="0.0254" layer="94"/>+ <wire x1="-0.8480" y1="-9.5890" x2="-0.8330" y2="-9.4980" width="0.0254" layer="94"/>+ <wire x1="-0.8330" y1="-9.4980" x2="-0.8180" y2="-9.4070" width="0.0254" layer="94"/>+ <wire x1="-0.8180" y1="-9.4070" x2="-0.8170" y2="-9.3950" width="0.0254" layer="94"/>+ <wire x1="-1.0440" y1="-9.5260" x2="-1.1290" y2="-9.5870" width="0.0254" layer="94"/>+ <wire x1="-1.1290" y1="-9.5870" x2="-1.2080" y2="-9.6710" width="0.0254" layer="94"/>+ <wire x1="-1.2080" y1="-9.6710" x2="-1.2610" y2="-9.7430" width="0.0254" layer="94"/>+ <wire x1="-1.2610" y1="-9.7430" x2="-1.3060" y2="-9.8220" width="0.0254" layer="94"/>+ <wire x1="-1.3060" y1="-9.8220" x2="-1.3410" y2="-9.9050" width="0.0254" layer="94"/>+ <wire x1="-1.3410" y1="-9.9050" x2="-1.3650" y2="-9.9880" width="0.0254" layer="94"/>+ <wire x1="-1.3650" y1="-9.9880" x2="-1.3750" y2="-10.0420" width="0.0254" layer="94"/>+ <wire x1="-1.3750" y1="-10.0420" x2="-1.4650" y2="-10.7260" width="0.0254" layer="94"/>+ <wire x1="-1.4650" y1="-10.7260" x2="-1.4920" y2="-10.8080" width="0.0254" layer="94"/>+ <wire x1="-1.4920" y1="-10.8080" x2="-1.5470" y2="-10.8780" width="0.0254" layer="94"/>+ <wire x1="-1.5470" y1="-10.8780" x2="-1.5750" y2="-10.8980" width="0.0254" layer="94"/>+ <wire x1="-1.5750" y1="-10.8980" x2="-2.0370" y2="-11.1650" width="0.0254" layer="94"/>+ <wire x1="-2.0370" y1="-11.4230" x2="-2.0370" y2="-11.1650" width="0.0254" layer="94"/>+ <wire x1="-1.5750" y1="-11.1560" x2="-2.0370" y2="-11.4230" width="0.0254" layer="94"/>+ <wire x1="-1.2440" y1="-10.6400" x2="-1.2690" y2="-10.7490" width="0.0254" layer="94"/>+ <wire x1="-1.2690" y1="-10.7490" x2="-1.3000" y2="-10.8320" width="0.0254" layer="94"/>+ <wire x1="-1.3000" y1="-10.8320" x2="-1.3420" y2="-10.9130" width="0.0254" layer="94"/>+ <wire x1="-1.3420" y1="-10.9130" x2="-1.3920" y2="-10.9880" width="0.0254" layer="94"/>+ <wire x1="-1.3920" y1="-10.9880" x2="-1.4490" y2="-11.0550" width="0.0254" layer="94"/>+ <wire x1="-1.4490" y1="-11.0550" x2="-1.5320" y2="-11.1290" width="0.0254" layer="94"/>+ <wire x1="-1.5320" y1="-11.1290" x2="-1.5750" y2="-11.1560" width="0.0254" layer="94"/>+ <wire x1="-1.1540" y1="-9.9560" x2="-1.2440" y2="-10.6400" width="0.0254" layer="94"/>+ <wire x1="-1.0440" y1="-9.7840" x2="-1.1100" y2="-9.8480" width="0.0254" layer="94"/>+ <wire x1="-1.1100" y1="-9.8480" x2="-1.1490" y2="-9.9290" width="0.0254" layer="94"/>+ <wire x1="-1.1490" y1="-9.9290" x2="-1.1540" y2="-9.9560" width="0.0254" layer="94"/>+ <wire x1="-1.5030" y1="-9.2610" x2="-1.5870" y2="-9.3230" width="0.0254" layer="94"/>+ <wire x1="-1.5870" y1="-9.3230" x2="-1.6670" y2="-9.4060" width="0.0254" layer="94"/>+ <wire x1="-1.6670" y1="-9.4060" x2="-1.7200" y2="-9.4780" width="0.0254" layer="94"/>+ <wire x1="-1.7200" y1="-9.4780" x2="-1.7650" y2="-9.5580" width="0.0254" layer="94"/>+ <wire x1="-1.7650" y1="-9.5580" x2="-1.8000" y2="-9.6400" width="0.0254" layer="94"/>+ <wire x1="-1.8000" y1="-9.6400" x2="-1.8240" y2="-9.7230" width="0.0254" layer="94"/>+ <wire x1="-1.8240" y1="-9.7230" x2="-1.8330" y2="-9.7770" width="0.0254" layer="94"/>+ <wire x1="-2.4960" y1="-10.9000" x2="-2.4960" y2="-11.1580" width="0.0254" layer="94"/>+ <wire x1="-2.0340" y1="-10.6330" x2="-2.4960" y2="-10.9000" width="0.0254" layer="94"/>+ <wire x1="-1.9230" y1="-10.4610" x2="-1.9510" y2="-10.5430" width="0.0254" layer="94"/>+ <wire x1="-1.9510" y1="-10.5430" x2="-2.0050" y2="-10.6130" width="0.0254" layer="94"/>+ <wire x1="-2.0050" y1="-10.6130" x2="-2.0340" y2="-10.6330" width="0.0254" layer="94"/>+ <wire x1="-1.8330" y1="-9.7770" x2="-1.9230" y2="-10.4610" width="0.0254" layer="94"/>+ <wire x1="-2.4960" y1="-11.1580" x2="-2.0370" y2="-11.4230" width="0.0254" layer="94"/>+ <wire x1="-2.0370" y1="-11.1650" x2="-2.4960" y2="-10.9000" width="0.0254" layer="94"/>+ <wire x1="0.6040" y1="-10.2140" x2="0.3770" y2="-10.3460" width="0.0254" layer="94"/>+ <wire x1="0.6040" y1="-10.2140" x2="0.5210" y2="-10.1670" width="0.0254" layer="94"/>+ <wire x1="0.5210" y1="-10.1670" x2="0.4370" y2="-10.1180" width="0.0254" layer="94"/>+ <wire x1="0.4370" y1="-10.1180" x2="0.3540" y2="-10.0700" width="0.0254" layer="94"/>+ <wire x1="0.3540" y1="-10.0700" x2="0.2710" y2="-10.0220" width="0.0254" layer="94"/>+ <wire x1="0.2710" y1="-10.0220" x2="0.1870" y2="-9.9740" width="0.0254" layer="94"/>+ <wire x1="0.1870" y1="-9.9740" x2="0.1450" y2="-9.9500" width="0.0254" layer="94"/>+ <wire x1="0.1450" y1="-9.9500" x2="-0.0810" y2="-10.0810" width="0.0254" layer="94"/>+ <wire x1="0.5580" y1="-10.4990" x2="0.3770" y2="-10.6040" width="0.0254" layer="94"/>+ <wire x1="0.5580" y1="-10.4990" x2="0.5730" y2="-10.4090" width="0.0254" layer="94"/>+ <wire x1="0.5730" y1="-10.4090" x2="0.5870" y2="-10.3180" width="0.0254" layer="94"/>+ <wire x1="0.5870" y1="-10.3180" x2="0.6020" y2="-10.2270" width="0.0254" layer="94"/>+ <wire x1="0.6020" y1="-10.2270" x2="0.6040" y2="-10.2140" width="0.0254" layer="94"/>+ <wire x1="0.3770" y1="-10.3460" x2="0.2920" y2="-10.4070" width="0.0254" layer="94"/>+ <wire x1="0.2920" y1="-10.4070" x2="0.2120" y2="-10.4900" width="0.0254" layer="94"/>+ <wire x1="0.2120" y1="-10.4900" x2="0.1600" y2="-10.5640" width="0.0254" layer="94"/>+ <wire x1="0.1600" y1="-10.5640" x2="0.1150" y2="-10.6430" width="0.0254" layer="94"/>+ <wire x1="0.1150" y1="-10.6430" x2="0.0800" y2="-10.7250" width="0.0254" layer="94"/>+ <wire x1="0.0800" y1="-10.7250" x2="0.0560" y2="-10.8080" width="0.0254" layer="94"/>+ <wire x1="0.0560" y1="-10.8080" x2="0.0460" y2="-10.8620" width="0.0254" layer="94"/>+ <wire x1="0.0460" y1="-10.8620" x2="-0.0440" y2="-11.5460" width="0.0254" layer="94"/>+ <wire x1="-0.0440" y1="-11.5460" x2="-0.0720" y2="-11.6280" width="0.0254" layer="94"/>+ <wire x1="-0.0720" y1="-11.6280" x2="-0.1260" y2="-11.6980" width="0.0254" layer="94"/>+ <wire x1="-0.1260" y1="-11.6980" x2="-0.1540" y2="-11.7180" width="0.0254" layer="94"/>+ <wire x1="-0.1540" y1="-11.7180" x2="-0.6170" y2="-11.9850" width="0.0254" layer="94"/>+ <wire x1="-0.6170" y1="-12.2430" x2="-0.6170" y2="-11.9850" width="0.0254" layer="94"/>+ <wire x1="-0.1540" y1="-11.9770" x2="-0.6170" y2="-12.2430" width="0.0254" layer="94"/>+ <wire x1="0.1770" y1="-11.4600" x2="0.1530" y2="-11.5690" width="0.0254" layer="94"/>+ <wire x1="0.1530" y1="-11.5690" x2="0.1210" y2="-11.6530" width="0.0254" layer="94"/>+ <wire x1="0.1210" y1="-11.6530" x2="0.0790" y2="-11.7330" width="0.0254" layer="94"/>+ <wire x1="0.0790" y1="-11.7330" x2="0.0280" y2="-11.8080" width="0.0254" layer="94"/>+ <wire x1="0.0280" y1="-11.8080" x2="-0.0280" y2="-11.8760" width="0.0254" layer="94"/>+ <wire x1="-0.0280" y1="-11.8760" x2="-0.1110" y2="-11.9490" width="0.0254" layer="94"/>+ <wire x1="-0.1110" y1="-11.9490" x2="-0.1540" y2="-11.9770" width="0.0254" layer="94"/>+ <wire x1="0.2660" y1="-10.7760" x2="0.1770" y2="-11.4600" width="0.0254" layer="94"/>+ <wire x1="0.3770" y1="-10.6040" x2="0.3100" y2="-10.6680" width="0.0254" layer="94"/>+ <wire x1="0.3100" y1="-10.6680" x2="0.2720" y2="-10.7490" width="0.0254" layer="94"/>+ <wire x1="0.2720" y1="-10.7490" x2="0.2660" y2="-10.7760" width="0.0254" layer="94"/>+ <wire x1="-0.0810" y1="-10.0810" x2="-0.1670" y2="-10.1430" width="0.0254" layer="94"/>+ <wire x1="-0.1670" y1="-10.1430" x2="-0.2460" y2="-10.2260" width="0.0254" layer="94"/>+ <wire x1="-0.2460" y1="-10.2260" x2="-0.2990" y2="-10.2990" width="0.0254" layer="94"/>+ <wire x1="-0.2990" y1="-10.2990" x2="-0.3440" y2="-10.3780" width="0.0254" layer="94"/>+ <wire x1="-0.3440" y1="-10.3780" x2="-0.3790" y2="-10.4610" width="0.0254" layer="94"/>+ <wire x1="-0.3790" y1="-10.4610" x2="-0.4030" y2="-10.5430" width="0.0254" layer="94"/>+ <wire x1="-0.4030" y1="-10.5430" x2="-0.4130" y2="-10.5970" width="0.0254" layer="94"/>+ <wire x1="-1.0750" y1="-11.7200" x2="-1.0750" y2="-11.9790" width="0.0254" layer="94"/>+ <wire x1="-0.6130" y1="-11.4530" x2="-1.0750" y2="-11.7200" width="0.0254" layer="94"/>+ <wire x1="-0.5030" y1="-11.2810" x2="-0.5300" y2="-11.3640" width="0.0254" layer="94"/>+ <wire x1="-0.5300" y1="-11.3640" x2="-0.5850" y2="-11.4330" width="0.0254" layer="94"/>+ <wire x1="-0.5850" y1="-11.4330" x2="-0.6130" y2="-11.4530" width="0.0254" layer="94"/>+ <wire x1="-0.4130" y1="-10.5970" x2="-0.5030" y2="-11.2810" width="0.0254" layer="94"/>+ <wire x1="-1.0750" y1="-11.9790" x2="-0.6170" y2="-12.2430" width="0.0254" layer="94"/>+ <wire x1="-0.6170" y1="-11.9850" x2="-1.0750" y2="-11.7200" width="0.0254" layer="94"/>+ <wire x1="2.0250" y1="-11.0350" x2="1.7980" y2="-11.1660" width="0.0254" layer="94"/>+ <wire x1="2.0250" y1="-11.0350" x2="1.9420" y2="-10.9870" width="0.0254" layer="94"/>+ <wire x1="1.9420" y1="-10.9870" x2="1.8580" y2="-10.9390" width="0.0254" layer="94"/>+ <wire x1="1.8580" y1="-10.9390" x2="1.7750" y2="-10.8910" width="0.0254" layer="94"/>+ <wire x1="1.7750" y1="-10.8910" x2="1.6910" y2="-10.8420" width="0.0254" layer="94"/>+ <wire x1="1.6910" y1="-10.8420" x2="1.6080" y2="-10.7940" width="0.0254" layer="94"/>+ <wire x1="1.6080" y1="-10.7940" x2="1.5660" y2="-10.7700" width="0.0254" layer="94"/>+ <wire x1="1.5660" y1="-10.7700" x2="1.3390" y2="-10.9010" width="0.0254" layer="94"/>+ <wire x1="1.9790" y1="-11.3200" x2="1.7980" y2="-11.4240" width="0.0254" layer="94"/>+ <wire x1="1.9790" y1="-11.3200" x2="1.9940" y2="-11.2290" width="0.0254" layer="94"/>+ <wire x1="1.9940" y1="-11.2290" x2="2.0080" y2="-11.1380" width="0.0254" layer="94"/>+ <wire x1="2.0080" y1="-11.1380" x2="2.0230" y2="-11.0480" width="0.0254" layer="94"/>+ <wire x1="2.0230" y1="-11.0480" x2="2.0250" y2="-11.0350" width="0.0254" layer="94"/>+ <wire x1="1.7980" y1="-11.1660" x2="1.7120" y2="-11.2280" width="0.0254" layer="94"/>+ <wire x1="1.7120" y1="-11.2280" x2="1.6330" y2="-11.3110" width="0.0254" layer="94"/>+ <wire x1="1.6330" y1="-11.3110" x2="1.5800" y2="-11.3840" width="0.0254" layer="94"/>+ <wire x1="1.5800" y1="-11.3840" x2="1.5360" y2="-11.4630" width="0.0254" layer="94"/>+ <wire x1="1.5360" y1="-11.4630" x2="1.5000" y2="-11.5450" width="0.0254" layer="94"/>+ <wire x1="1.5000" y1="-11.5450" x2="1.4760" y2="-11.6280" width="0.0254" layer="94"/>+ <wire x1="1.4760" y1="-11.6280" x2="1.4660" y2="-11.6820" width="0.0254" layer="94"/>+ <wire x1="1.4660" y1="-11.6820" x2="1.3770" y2="-12.3670" width="0.0254" layer="94"/>+ <wire x1="1.3770" y1="-12.3670" x2="1.3490" y2="-12.4490" width="0.0254" layer="94"/>+ <wire x1="1.3490" y1="-12.4490" x2="1.2950" y2="-12.5180" width="0.0254" layer="94"/>+ <wire x1="1.2950" y1="-12.5180" x2="1.2660" y2="-12.5390" width="0.0254" layer="94"/>+ <wire x1="1.2660" y1="-12.5390" x2="0.8050" y2="-12.8050" width="0.0254" layer="94"/>+ <wire x1="0.8050" y1="-13.0640" x2="0.8050" y2="-12.8050" width="0.0254" layer="94"/>+ <wire x1="1.2660" y1="-12.7970" x2="0.8050" y2="-13.0640" width="0.0254" layer="94"/>+ <wire x1="1.5980" y1="-12.2810" x2="1.5730" y2="-12.3900" width="0.0254" layer="94"/>+ <wire x1="1.5730" y1="-12.3900" x2="1.5410" y2="-12.4730" width="0.0254" layer="94"/>+ <wire x1="1.5410" y1="-12.4730" x2="1.4990" y2="-12.5530" width="0.0254" layer="94"/>+ <wire x1="1.4990" y1="-12.5530" x2="1.4490" y2="-12.6290" width="0.0254" layer="94"/>+ <wire x1="1.4490" y1="-12.6290" x2="1.3920" y2="-12.6960" width="0.0254" layer="94"/>+ <wire x1="1.3920" y1="-12.6960" x2="1.3090" y2="-12.7690" width="0.0254" layer="94"/>+ <wire x1="1.3090" y1="-12.7690" x2="1.2660" y2="-12.7970" width="0.0254" layer="94"/>+ <wire x1="1.6870" y1="-11.5970" x2="1.5980" y2="-12.2810" width="0.0254" layer="94"/>+ <wire x1="1.7980" y1="-11.4240" x2="1.7310" y2="-11.4890" width="0.0254" layer="94"/>+ <wire x1="1.7310" y1="-11.4890" x2="1.6930" y2="-11.5690" width="0.0254" layer="94"/>+ <wire x1="1.6930" y1="-11.5690" x2="1.6870" y2="-11.5970" width="0.0254" layer="94"/>+ <wire x1="1.3390" y1="-10.9010" x2="1.2540" y2="-10.9630" width="0.0254" layer="94"/>+ <wire x1="1.2540" y1="-10.9630" x2="1.1750" y2="-11.0460" width="0.0254" layer="94"/>+ <wire x1="1.1750" y1="-11.0460" x2="1.1220" y2="-11.1190" width="0.0254" layer="94"/>+ <wire x1="1.1220" y1="-11.1190" x2="1.0770" y2="-11.1980" width="0.0254" layer="94"/>+ <wire x1="1.0770" y1="-11.1980" x2="1.0420" y2="-11.2800" width="0.0254" layer="94"/>+ <wire x1="1.0420" y1="-11.2800" x2="1.0180" y2="-11.3640" width="0.0254" layer="94"/>+ <wire x1="1.0180" y1="-11.3640" x2="1.0080" y2="-11.4180" width="0.0254" layer="94"/>+ <wire x1="0.3460" y1="-12.5400" x2="0.3460" y2="-12.7990" width="0.0254" layer="94"/>+ <wire x1="0.8080" y1="-12.2740" x2="0.3460" y2="-12.5400" width="0.0254" layer="94"/>+ <wire x1="0.9180" y1="-12.1020" x2="0.8900" y2="-12.1840" width="0.0254" layer="94"/>+ <wire x1="0.8900" y1="-12.1840" x2="0.8360" y2="-12.2530" width="0.0254" layer="94"/>+ <wire x1="0.8360" y1="-12.2530" x2="0.8080" y2="-12.2740" width="0.0254" layer="94"/>+ <wire x1="1.0080" y1="-11.4180" x2="0.9180" y2="-12.1020" width="0.0254" layer="94"/>+ <wire x1="0.3460" y1="-12.7990" x2="0.8050" y2="-13.0640" width="0.0254" layer="94"/>+ <wire x1="0.8050" y1="-12.8050" x2="0.3460" y2="-12.5400" width="0.0254" layer="94"/>+ <wire x1="6.5160" y1="-8.4420" x2="6.5230" y2="-8.4380" width="0.0254" layer="94"/>+ <wire x1="6.6040" y1="-8.6900" x2="6.6330" y2="-8.7410" width="0.0254" layer="94"/>+ <wire x1="6.6330" y1="-8.7410" x2="6.6420" y2="-8.7950" width="0.0254" layer="94"/>+ <wire x1="6.6930" y1="-9.1270" x2="6.7230" y2="-9.3210" width="0.0254" layer="94"/>+ <wire x1="6.7230" y1="-9.3210" x2="6.7510" y2="-9.4100" width="0.0254" layer="94"/>+ <wire x1="6.7510" y1="-9.4100" x2="6.8100" y2="-9.4740" width="0.0254" layer="94"/>+ <wire x1="6.8100" y1="-9.4740" x2="6.8170" y2="-9.4780" width="0.0254" layer="94"/>+ <wire x1="6.8170" y1="-9.4780" x2="6.9040" y2="-9.5010" width="0.0254" layer="94"/>+ <wire x1="6.9040" y1="-9.5010" x2="6.9950" y2="-9.4830" width="0.0254" layer="94"/>+ <wire x1="6.9950" y1="-9.4830" x2="7.0540" y2="-9.4550" width="0.0254" layer="94"/>+ <wire x1="7.0540" y1="-9.4550" x2="7.5160" y2="-9.1890" width="0.0254" layer="94"/>+ <wire x1="7.5160" y1="-8.9300" x2="7.5160" y2="-9.1890" width="0.0254" layer="94"/>+ <wire x1="7.0540" y1="-9.1970" x2="7.5160" y2="-8.9300" width="0.0254" layer="94"/>+ <wire x1="6.9440" y1="-9.1520" x2="6.9750" y2="-9.2050" width="0.0254" layer="94"/>+ <wire x1="6.9750" y1="-9.2050" x2="7.0540" y2="-9.1970" width="0.0254" layer="94"/>+ <wire x1="6.8540" y1="-8.5710" x2="6.9440" y2="-9.1520" width="0.0254" layer="94"/>+ <wire x1="6.5230" y1="-8.4380" x2="6.6060" y2="-8.4020" width="0.0254" layer="94"/>+ <wire x1="6.6060" y1="-8.4020" x2="6.6940" y2="-8.3930" width="0.0254" layer="94"/>+ <wire x1="6.6940" y1="-8.3930" x2="6.7600" y2="-8.4140" width="0.0254" layer="94"/>+ <wire x1="6.7600" y1="-8.4140" x2="6.8220" y2="-8.4760" width="0.0254" layer="94"/>+ <wire x1="6.8220" y1="-8.4760" x2="6.8530" y2="-8.5620" width="0.0254" layer="94"/>+ <wire x1="6.8530" y1="-8.5620" x2="6.8540" y2="-8.5710" width="0.0254" layer="94"/>+ <wire x1="6.8840" y1="-8.7650" x2="7.0580" y2="-8.6650" width="0.0254" layer="94"/>+ <wire x1="7.0580" y1="-8.6650" x2="7.5160" y2="-8.9300" width="0.0254" layer="94"/>+ <wire x1="6.4410" y1="-8.2300" x2="6.7600" y2="-8.4140" width="0.0254" layer="94"/>+ <wire x1="6.8170" y1="-9.4780" x2="6.6260" y2="-9.3690" width="0.0254" layer="94"/>+ <wire x1="-2.4650" y1="-8.7050" x2="-2.9230" y2="-8.4410" width="0.0254" layer="94"/>+ <wire x1="-2.7950" y1="-9.2220" x2="-3.2540" y2="-8.9570" width="0.0254" layer="94"/>+ <wire x1="-2.9960" y1="-10.0780" x2="-3.4540" y2="-9.8130" width="0.0254" layer="94"/>+ <wire x1="-2.8850" y1="-9.9060" x2="-3.3440" y2="-9.6410" width="0.0254" layer="94"/>+ <wire x1="-1.0440" y1="-9.5260" x2="-1.5030" y2="-9.2610" width="0.0254" layer="94"/>+ <wire x1="-1.3750" y1="-10.0420" x2="-1.8330" y2="-9.7770" width="0.0254" layer="94"/>+ <wire x1="-1.5750" y1="-10.8980" x2="-2.0340" y2="-10.6330" width="0.0254" layer="94"/>+ <wire x1="-1.4650" y1="-10.7260" x2="-1.9230" y2="-10.4610" width="0.0254" layer="94"/>+ <wire x1="0.3770" y1="-10.3460" x2="-0.0810" y2="-10.0810" width="0.0254" layer="94"/>+ <wire x1="0.0460" y1="-10.8620" x2="-0.4130" y2="-10.5970" width="0.0254" layer="94"/>+ <wire x1="-0.1540" y1="-11.7180" x2="-0.6130" y2="-11.4530" width="0.0254" layer="94"/>+ <wire x1="-0.0440" y1="-11.5460" x2="-0.5030" y2="-11.2810" width="0.0254" layer="94"/>+ <wire x1="1.7980" y1="-11.1660" x2="1.3390" y2="-10.9010" width="0.0254" layer="94"/>+ <wire x1="1.4660" y1="-11.6820" x2="1.0080" y2="-11.4180" width="0.0254" layer="94"/>+ <wire x1="1.2660" y1="-12.5390" x2="0.8080" y2="-12.2740" width="0.0254" layer="94"/>+ <wire x1="1.3770" y1="-12.3670" x2="0.9180" y2="-12.1020" width="0.0254" layer="94"/>+ <wire x1="6.6330" y1="-8.7410" x2="6.6200" y2="-8.7330" width="0.0254" layer="94"/>+ <wire x1="6.5130" y1="-8.4320" x2="6.5230" y2="-8.4380" width="0.0254" layer="94"/>+ <wire x1="6.9410" y1="-9.1310" x2="7.0540" y2="-9.1970" width="0.0254" layer="94"/>+ <wire x1="6.7230" y1="-9.3210" x2="6.6510" y2="-9.2800" width="0.0254" layer="94"/>+ <wire x1="1.5310" y1="-6.7770" x2="1.1340" y2="-7.0060" width="0.0254" layer="94"/>+ <wire x1="1.5310" y1="-6.7770" x2="1.2850" y2="-7.0930" width="0.0254" layer="94"/>+ <wire x1="1.8330" y1="-6.9520" x2="1.2850" y2="-7.0930" width="0.0254" layer="94"/>+ <wire x1="1.8330" y1="-6.9520" x2="1.4360" y2="-7.1810" width="0.0254" layer="94"/>+ <wire x1="2.1540" y1="-7.2460" x2="2.1540" y2="-7.1370" width="0.0254" layer="94"/>+ <wire x1="2.1540" y1="-7.1370" x2="2.0780" y2="-7.0930" width="0.0254" layer="94"/>+ <wire x1="2.0780" y1="-7.0930" x2="1.9460" y2="-7.0830" width="0.0254" layer="94"/>+ <wire x1="1.9460" y1="-7.0830" x2="1.8140" y2="-7.1150" width="0.0254" layer="94"/>+ <wire x1="1.8140" y1="-7.1150" x2="1.7200" y2="-7.1700" width="0.0254" layer="94"/>+ <wire x1="1.7200" y1="-7.1700" x2="1.6620" y2="-7.2460" width="0.0254" layer="94"/>+ <wire x1="1.6620" y1="-7.2460" x2="1.7570" y2="-7.3660" width="0.0254" layer="94"/>+ <wire x1="1.7570" y1="-7.3660" x2="1.8890" y2="-7.3770" width="0.0254" layer="94"/>+ <wire x1="1.8890" y1="-7.3770" x2="1.9460" y2="-7.3660" width="0.0254" layer="94"/>+ <wire x1="2.3810" y1="-7.2680" x2="1.9840" y2="-7.4970" width="0.0254" layer="94"/>+ <wire x1="2.3810" y1="-7.2680" x2="2.5510" y2="-7.3660" width="0.0254" layer="94"/>+ <wire x1="2.5510" y1="-7.3660" x2="2.5690" y2="-7.4640" width="0.0254" layer="94"/>+ <wire x1="2.5690" y1="-7.4640" x2="2.4560" y2="-7.5080" width="0.0254" layer="94"/>+ <wire x1="2.4560" y1="-7.5080" x2="2.3430" y2="-7.4860" width="0.0254" layer="94"/>+ <wire x1="2.3430" y1="-7.4860" x2="2.1730" y2="-7.3880" width="0.0254" layer="94"/>+ <wire x1="2.6830" y1="-7.5510" x2="2.7960" y2="-7.5300" width="0.0254" layer="94"/>+ <wire x1="2.7960" y1="-7.5300" x2="2.9280" y2="-7.5840" width="0.0254" layer="94"/>+ <wire x1="2.9280" y1="-7.5840" x2="2.9280" y2="-7.6710" width="0.0254" layer="94"/>+ <wire x1="2.9280" y1="-7.6710" x2="2.8340" y2="-7.7040" width="0.0254" layer="94"/>+ <wire x1="2.8340" y1="-7.7040" x2="2.7390" y2="-7.7150" width="0.0254" layer="94"/>+ <wire x1="2.7390" y1="-7.7150" x2="2.3620" y2="-7.7150" width="0.0254" layer="94"/>+ <wire x1="2.3620" y1="-7.7150" x2="2.6260" y2="-7.8680" width="0.0254" layer="94"/>+ <wire x1="3.3630" y1="-7.8350" x2="3.1740" y2="-7.7260" width="0.0254" layer="94"/>+ <wire x1="3.1740" y1="-7.7260" x2="2.9850" y2="-7.8130" width="0.0254" layer="94"/>+ <wire x1="2.9850" y1="-7.8130" x2="3.0990" y2="-7.8350" width="0.0254" layer="94"/>+ <wire x1="3.0990" y1="-7.8350" x2="3.1930" y2="-7.9110" width="0.0254" layer="94"/>+ <wire x1="3.1930" y1="-7.9110" x2="3.1550" y2="-7.9980" width="0.0254" layer="94"/>+ <wire x1="3.1550" y1="-7.9980" x2="3.0420" y2="-8.0420" width="0.0254" layer="94"/>+ <wire x1="3.0420" y1="-8.0420" x2="2.8910" y2="-8.0200" width="0.0254" layer="94"/>+ <wire x1="2.8910" y1="-8.0200" x2="2.7960" y2="-7.9440" width="0.0254" layer="94"/>+ <wire x1="2.7960" y1="-7.9440" x2="2.8150" y2="-7.8900" width="0.0254" layer="94"/>+ <wire x1="3.7030" y1="-8.0970" x2="3.6460" y2="-7.9980" width="0.0254" layer="94"/>+ <wire x1="3.6460" y1="-7.9980" x2="3.4770" y2="-7.9880" width="0.0254" layer="94"/>+ <wire x1="3.4770" y1="-7.9880" x2="3.3630" y2="-8.0310" width="0.0254" layer="94"/>+ <wire x1="3.3630" y1="-8.0310" x2="3.2680" y2="-8.0860" width="0.0254" layer="94"/>+ <wire x1="3.2680" y1="-8.0860" x2="3.2120" y2="-8.1840" width="0.0254" layer="94"/>+ <wire x1="3.2120" y1="-8.1840" x2="3.3440" y2="-8.2600" width="0.0254" layer="94"/>+ <wire x1="3.3440" y1="-8.2600" x2="3.4950" y2="-8.2390" width="0.0254" layer="94"/>+ <wire x1="3.4950" y1="-8.2390" x2="3.5520" y2="-8.1400" width="0.0254" layer="94"/>+ <wire x1="3.5520" y1="-8.1400" x2="3.4190" y2="-8.0640" width="0.0254" layer="94"/>+ <wire x1="3.4190" y1="-8.0640" x2="3.2680" y2="-8.0860" width="0.0254" layer="94"/>+ <wire x1="3.8160" y1="-8.2060" x2="3.9290" y2="-8.1840" width="0.0254" layer="94"/>+ <wire x1="3.9290" y1="-8.1840" x2="4.0620" y2="-8.2390" width="0.0254" layer="94"/>+ <wire x1="4.0620" y1="-8.2390" x2="4.0620" y2="-8.3260" width="0.0254" layer="94"/>+ <wire x1="4.0620" y1="-8.3260" x2="3.9670" y2="-8.3580" width="0.0254" layer="94"/>+ <wire x1="3.9670" y1="-8.3580" x2="3.8730" y2="-8.3700" width="0.0254" layer="94"/>+ <wire x1="3.8730" y1="-8.3700" x2="3.4950" y2="-8.3700" width="0.0254" layer="94"/>+ <wire x1="3.4950" y1="-8.3700" x2="3.7600" y2="-8.5220" width="0.0254" layer="94"/>+ <wire x1="0.9160" y1="-7.1100" x2="0.5200" y2="-7.3390" width="0.0254" layer="94"/>+ <wire x1="0.9160" y1="-7.1100" x2="1.1620" y2="-7.2510" width="0.0254" layer="94"/>+ <wire x1="0.7280" y1="-7.2190" x2="0.8790" y2="-7.3060" width="0.0254" layer="94"/>+ <wire x1="1.2560" y1="-7.3060" x2="0.8600" y2="-7.5350" width="0.0254" layer="94"/>+ <wire x1="1.2560" y1="-7.3060" x2="1.3890" y2="-7.3820" width="0.0254" layer="94"/>+ <wire x1="1.3890" y1="-7.3820" x2="1.4270" y2="-7.4700" width="0.0254" layer="94"/>+ <wire x1="1.4270" y1="-7.4700" x2="1.3700" y2="-7.5460" width="0.0254" layer="94"/>+ <wire x1="1.3700" y1="-7.5460" x2="1.2760" y2="-7.6010" width="0.0254" layer="94"/>+ <wire x1="1.2760" y1="-7.6010" x2="1.1430" y2="-7.6330" width="0.0254" layer="94"/>+ <wire x1="1.1430" y1="-7.6330" x2="0.9920" y2="-7.6110" width="0.0254" layer="94"/>+ <wire x1="0.9920" y1="-7.6110" x2="0.8600" y2="-7.5350" width="0.0254" layer="94"/>+ <wire x1="1.4270" y1="-7.6660" x2="1.7670" y2="-7.8620" width="0.0254" layer="94"/>+ <wire x1="2.1440" y1="-7.8180" x2="1.7480" y2="-8.0480" width="0.0254" layer="94"/>+ <wire x1="2.1440" y1="-7.8180" x2="2.3900" y2="-7.9610" width="0.0254" layer="94"/>+ <wire x1="1.9560" y1="-7.9270" x2="2.1060" y2="-8.0150" width="0.0254" layer="94"/>+ <wire x1="1.7480" y1="-8.0480" x2="1.9930" y2="-8.1900" width="0.0254" layer="94"/>+ <wire x1="2.8810" y1="-8.1570" x2="1.9370" y2="-8.3090" width="0.0254" layer="94"/>+ <wire x1="3.1080" y1="-8.4400" x2="3.0700" y2="-8.3530" width="0.0254" layer="94"/>+ <wire x1="3.0700" y1="-8.3530" x2="2.9950" y2="-8.3090" width="0.0254" layer="94"/>+ <wire x1="2.9950" y1="-8.3090" x2="2.8440" y2="-8.2870" width="0.0254" layer="94"/>+ <wire x1="2.8440" y1="-8.2870" x2="2.7870" y2="-8.3640" width="0.0254" layer="94"/>+ <wire x1="2.7870" y1="-8.3640" x2="2.8810" y2="-8.4840" width="0.0254" layer="94"/>+ <wire x1="2.8810" y1="-8.4840" x2="2.8810" y2="-8.5710" width="0.0254" layer="94"/>+ <wire x1="2.8810" y1="-8.5710" x2="2.7490" y2="-8.6040" width="0.0254" layer="94"/>+ <wire x1="2.7490" y1="-8.6040" x2="2.5980" y2="-8.5380" width="0.0254" layer="94"/>+ <wire x1="2.5980" y1="-8.5380" x2="2.5600" y2="-8.4510" width="0.0254" layer="94"/>+ <wire x1="3.2970" y1="-8.4840" x2="2.9000" y2="-8.7130" width="0.0254" layer="94"/>+ <wire x1="3.2970" y1="-8.4840" x2="3.1650" y2="-8.8660" width="0.0254" layer="94"/>+ <wire x1="3.5610" y1="-8.6370" x2="3.1650" y2="-8.8660" width="0.0254" layer="94"/>+ <text x="0.0000" y="5.0800" size="1.27" layer="95" align="center">>NAME</text>+ <text x="0.0000" y="-23.0500" size="1.27" layer="96" align="center">>VALUE</text>+ <pin name="TXD" x="-20.32" y="-2.54" length="short" direction="in"/>+ <pin name="RXD" x="-20.32" y="-5.08" length="short" direction="out"/>+ <pin name="STBY" x="-20.32" y="-7.62" length="short" direction="in"/>+ <pin name="CANH" x="-20.32" y="-15.24" length="short" direction="io"/>+ <pin name="CANL" x="-20.32" y="-17.78" length="short" direction="io"/>+ <pin name="VDD" x="20.32" y="-2.54" length="short" direction="pwr" rot="R180"/>+ <pin name="VIO" x="20.32" y="-5.08" length="short" direction="pwr" rot="R180"/>+ <pin name="VSS" x="20.32" y="-12.7" length="short" direction="pwr" rot="R180"/>+ <text x="-16.7600" y="-0.5400" size="0.762" layer="94" font="vector" ratio="15" align="center-left">Controller</text>+ <text x="-16.7600" y="-13.2400" size="0.762" layer="94" font="vector" ratio="15" align="center-left">CAN bus</text>+ <text x="16.7600" y="-0.5400" size="0.762" layer="94" font="vector" ratio="15" align="center-right">Power</text>+ <text x="16.7600" y="-10.7000" size="0.762" layer="94" font="vector" ratio="15" align="center-right">Ground</text>+</symbol>+</symbols>+<devicesets>+<deviceset name="MCP2562FD-E-SN" prefix="U">+ <description>High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8. 2-column symbol, pins grouped by function</description>+ <gates>+ <gate name="G$1" symbol="MCP2562FD-E-SN" x="0" y="0"/>+ </gates>+ <devices>+ <device name="" package="mcp2562fd-e-sn">+ <connects>+ <connect gate="G$1" pin="TXD" pad="1"/>+ <connect gate="G$1" pin="RXD" pad="4"/>+ <connect gate="G$1" pin="STBY" pad="8"/>+ <connect gate="G$1" pin="CANH" pad="7"/>+ <connect gate="G$1" pin="CANL" pad="6"/>+ <connect gate="G$1" pin="VDD" pad="3"/>+ <connect gate="G$1" pin="VIO" pad="5"/>+ <connect gate="G$1" pin="VSS" pad="2"/>+ </connects>+ <technologies>+ <technology name="">+ <attribute name="MPN" value="MCP2562FD-E/SN" constant="no"/>+ <attribute name="MANUFACTURER" value="Microchip Technology" constant="no"/>+ <attribute name="DATASHEET" value="https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf" constant="no"/>+ <attribute name="ADOM_WIKI" value="https://wiki.adom.inc/adom/mcp2562fd-e-sn" constant="no"/>+ <attribute name="MOUSER_PN" value="579-MCP2562FD-E/SN" constant="no"/>+ <attribute name="DIGIKEY_PN" value="MCP2562FD-E/SN-ND" constant="no"/>+ <attribute name="LCSC_PN" value="C124016" constant="no"/>+ </technology>+ </technologies>+ </device>+ </devices>+</deviceset>+</devicesets>+</library>+</drawing>+</eagle>
models.jsonadded+219@@ -0,0 +1,219 @@+{+ "schema": "adom/models@1",+ "part": "MCP2562FD-E/SN",+ "updated": "2026-10-21",+ "models": [+ {+ "path": "mcp2562fd-e-sn-etched.step",+ "format": "step",+ "sha256": "312b626ec67e979028ea640bd76a6d93874bd62054c73085ea2f1eea25065027",+ "git_blob": "dc6596fc29f1a8ae2e8add0474f00e053f17d97d",+ "bytes": 690701,+ "title": "MCP2562FD-E/SN, virtual MPN etch (library model)",+ "status": "current",+ "slot": "model_3d_step",+ "variant": "etched",+ "role": "datasheet-built",+ "use": [+ "board-cad"+ ],+ "marking": {+ "text": "MCP2562 / FD-E/SN (two lines)",+ "surface": "top, along the pin rows, upright with pin 1 lower left",+ "colour": "light grey on black epoxy",+ "virtual": true,+ "note": "virtual identification mark (the orderable MPN) by adom-chip-laser; Microchip's real marking is 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17)"+ },+ "colours": true,+ "derived_from": "mcp2562fd-e-sn.step",+ "unique": "The board-CAD model: built from Microchip's SN drawing values with the MPN etched on top in the Adom.LaserEtch group; bound by the KiCad footprint, the Fusion .lbr and the Altium PcbLib",+ "source": "provenance/tools/build_soic8.py + adom-chip-laser 0.2.0 (service-occt etch, placed by adom-aiflow-etch)",+ "thumb": "docs/models/mcp2562fd-e-sn-etched-glb-top.png",+ "thumb_bottom": "docs/models/mcp2562fd-e-sn-etched-bottom.png"+ },+ {+ "path": "mcp2562fd-e-sn.step",+ "format": "step",+ "sha256": "8b668368e9ffd03575f4b5c2fef99dc8e9ce14b26ebd782684aaa2cc463c3a58",+ "git_blob": "21fa54084fd0d4f6809a8941b0eb79023546bc6a",+ "bytes": 443430,+ "title": "MCP2562FD-E/SN, unmarked",+ "status": "current",+ "slot": "model_3d_step_plain",+ "variant": "plain",+ "role": "datasheet-built",+ "use": [+ "board-cad",+ "archive"+ ],+ "marking": null,+ "colours": true,+ "derived_from": "Microchip DS20005284B p.23-24 (C04-00057-SN Rev L)",+ "unique": "The same package without any marking",+ "source": "provenance/tools/build_soic8.py with provenance/tools/params.json",+ "thumb": "docs/models/mcp2562fd-e-sn-glb-top.png"+ },+ {+ "path": "mcp2562fd-e-sn-etched.glb",+ "format": "glb",+ "sha256": "5f79bd363586ef65c033a61bbc3a8b0dc44d2e583bcacea57ec1ffbd131ff0df",+ "git_blob": "9275a2173dc58b32a1bce747d173f4b8527c484f",+ "bytes": 65748,+ "title": "MCP2562FD-E/SN, virtual MPN etch (GLB, board use and page viewer)",+ "status": "current",+ "slot": "model_3d",+ "variant": "etched",+ "role": "derived",+ "use": [+ "render",+ "board-insertion",+ "wiki-hero"+ ],+ "marking": {+ "text": "MCP2562 / FD-E/SN (two lines)",+ "surface": "top, along the pin rows, upright with pin 1 lower left",+ "colour": "light grey on black epoxy",+ "virtual": true,+ "note": "virtual identification mark (the orderable MPN) by adom-chip-laser; Microchip's real marking is 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17)"+ },+ "colours": true,+ "derived_from": "mcp2562fd-e-sn-etched.step",+ "unique": "Web copy of the etched STEP, clean (no pad outlines, labels or silkscreen), primitives batched per part, matte-tin leads and epoxy body",+ "source": "step2glb 0.13.2 --compress none + provenance/tools/glb_batch.py + materials.py",+ "thumb": "docs/models/mcp2562fd-e-sn-etched-glb-top.png"+ },+ {+ "path": "mcp2562fd-e-sn.glb",+ "format": "glb",+ "sha256": "1b56d6ed7bfc5096655f2863b2251d1051811bbbd864369d47ef95a318d33fc6",+ "git_blob": "11c8a57ae317e581e676c5a4b60502cab17027f9",+ "bytes": 48348,+ "title": "MCP2562FD-E/SN, unmarked (GLB)",+ "status": "current",+ "slot": "model_3d_plain",+ "variant": "plain",+ "role": "derived",+ "use": [+ "render",+ "board-insertion"+ ],+ "marking": null,+ "colours": true,+ "derived_from": "mcp2562fd-e-sn.step",+ "unique": "Web copy of the unmarked STEP",+ "source": "step2glb 0.13.2 --compress none + glb_batch.py + materials.py",+ "thumb": "docs/models/mcp2562fd-e-sn-glb-top.png"+ },+ {+ "path": "provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.step",+ "format": "step",+ "sha256": "07f46cff378d30e6c27dfd5a03092c795323f86d91c71fc7e743f4f418dc553a",+ "git_blob": "1736b14465f5ef38160ab7685883ee596c18b3a3",+ "bytes": 125320,+ "title": "KiCad library SOIC-8_3.9x4.9mm_P1.27mm (compared, not used)",+ "status": "previous",+ "variant": "original",+ "role": "derived",+ "use": [+ "archive"+ ],+ "marking": null,+ "colours": true,+ "derived_from": "gitlab.com/kicad/libraries/kicad-packages3D (master, fetched 2026-10-21)",+ "unique": "KiCad's generic SOIC-8 model, kept as the comparison reference: its gauge-plane foot is 0.362 mm, under Microchip's 0.40 mm minimum",+ "source": "KiCad packages3D, CC-BY-SA 4.0 with the KiCad libraries exception"+ },+ {+ "path": "lod/mcp2562fd-e-sn-high.glb",+ "format": "glb",+ "sha256": "5f79bd363586ef65c033a61bbc3a8b0dc44d2e583bcacea57ec1ffbd131ff0df",+ "git_blob": "9275a2173dc58b32a1bce747d173f4b8527c484f",+ "bytes": 65748,+ "title": "MCP2562FD-E/SN, high detail (board LOD)",+ "status": "current",+ "variant": "lod",+ "role": "derived",+ "use": [+ "board-insertion"+ ],+ "marking": {+ "text": "MCP2562 / FD-E/SN (two lines)",+ "surface": "top, along the pin rows, upright with pin 1 lower left",+ "colour": "light grey on black epoxy",+ "virtual": true,+ "note": "virtual identification mark (the orderable MPN) by adom-chip-laser; Microchip's real marking is 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17)"+ },+ "colours": true,+ "derived_from": "mcp2562fd-e-sn-etched.step",+ "unique": "Identical to the etched GLB",+ "source": "build_soic8.py detail level + step2glb + glb_batch.py",+ "thumb": "lod/mcp2562fd-e-sn-high.png"+ },+ {+ "path": "lod/mcp2562fd-e-sn-medium.glb",+ "format": "glb",+ "sha256": "f391c9b224ca14b0f7c9b52b64577fbd126f6049088ed3a88ba21557d6cc33eb",+ "git_blob": "33b9b886445a156a1c2d9ca8b458451e98552205",+ "bytes": 54872,+ "title": "MCP2562FD-E/SN, medium detail (board LOD)",+ "status": "current",+ "variant": "lod",+ "role": "derived",+ "use": [+ "board-insertion"+ ],+ "marking": {+ "text": "MCP2562 / FD-E/SN (two lines)",+ "surface": "top, along the pin rows, upright with pin 1 lower left",+ "colour": "light grey on black epoxy",+ "virtual": true,+ "note": "virtual identification mark (the orderable MPN) by adom-chip-laser; Microchip's real marking is 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17)"+ },+ "colours": true,+ "derived_from": "provenance/tools/params-low.json",+ "unique": "Bends as 3 straight segments, etch grafted from the high level",+ "source": "build_soic8.py detail level + step2glb + glb_batch.py",+ "thumb": "lod/mcp2562fd-e-sn-medium.png"+ },+ {+ "path": "lod/mcp2562fd-e-sn-low.glb",+ "format": "glb",+ "sha256": "12a3ef878fdd194987d83df8d15472d9df296fa9147b99cee499d921c4308dc7",+ "git_blob": "656303dd5da4ce6a17507f7a34a94eadc25100b1",+ "bytes": 37592,+ "title": "MCP2562FD-E/SN, low detail (board LOD)",+ "status": "current",+ "variant": "lod",+ "role": "derived",+ "use": [+ "board-insertion"+ ],+ "marking": null,+ "colours": true,+ "derived_from": "provenance/tools/params-low.json",+ "unique": "Bends as 3 straight segments, no etch",+ "source": "build_soic8.py detail level + step2glb + glb_batch.py",+ "thumb": "lod/mcp2562fd-e-sn-low.png"+ },+ {+ "path": "lod/mcp2562fd-e-sn-super-low.glb",+ "format": "glb",+ "sha256": "bd1dc40c5631a3d4826b0059c9fce60122aacc67dfcf49ef46d69cbe9ae74157",+ "git_blob": "e95b2f92d970ad71dd1a3bad35c6ffa9221ad918",+ "bytes": 24824,+ "title": "MCP2562FD-E/SN, super-low detail (board LOD)",+ "status": "current",+ "variant": "lod",+ "role": "derived",+ "use": [+ "board-insertion"+ ],+ "marking": null,+ "colours": true,+ "derived_from": "provenance/tools/params-superlow.json",+ "unique": "Undrafted body, one-segment bends, no etch",+ "source": "build_soic8.py detail level + step2glb + glb_batch.py",+ "thumb": "lod/mcp2562fd-e-sn-super-low.png"+ }+ ]+}
provenance/3d-model.jsonadded+179@@ -0,0 +1,179 @@+{+ "schema": "adom/3d-model-provenance@1",+ "mpn": "MCP2562FD-E/SN",+ "date": "2026-10-21",+ "classification": "Datasheet-built: a CadQuery model generated from Microchip's printed SN package values, with KiCad's library model's bend radii, lead angle, mold draft and pin-1 dimple; produced by Claude (AI) for Adom. Not manufacturer CAD and not a Microchip certification.",+ "method_chosen": "3 (build from the drawing): Microchip's own STEP was not reachable and KiCad's library model fails the drawing's L minimum",+ "manufacturer_step": {+ "tried": "https://www.microchip.com/en-us/product/MCP2562FD (CAD/CAE models on the product page; served through a third-party CAD portal)",+ "result": "HTTP 403 to a plain request on 2026-10-21; no browser session was used, so the Microchip model was not obtained",+ "status": "not reachable"+ },+ "datasheet": {+ "doc": "Microchip DS20005284B (Revision B, March 2026), MCP2561/2FD High-Speed CAN Flexible Data Rate Transceiver",+ "file": "docs/mcp2562fd-e-sn-datasheet.pdf",+ "url": "https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf",+ "sha256": "659565909388fcd77320917548074362a2f4ff1a76d241e0e5206e114f9ccb71",+ "drawing_pages": "p.23-24 (C04-00057-SN Rev L), p.25 land pattern (C04-02057-SN Rev L)",+ "marking_page": "p.17"+ },+ "kicad_library_check": {+ "model": "KiCad packages3D Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.step (CC-BY-SA 4.0)",+ "file": "provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.step",+ "sha256": "07f46cff378d30e6c27dfd5a03092c795323f86d91c71fc7e743f4f418dc553a",+ "measured": "L, the foot length",+ "datasheet": "0.40 min / 1.27 max (no nominal printed)",+ "kicad_library": 0.362,+ "built": 0.5,+ "method": "section through pin 1's centre line (plane y = +1.905 in the 3D frame), cut at the 0.25 mm gauge plane (z = 0.25); L = distance from the lead tip to where the lead's lower outer surface crosses the gauge plane (JEDEC definition); provenance/tools/dims.py. The flat bottom alone (the reading of Microchip's View C without a gauge plane) is 0.275 mm on KiCad's model and 0.413 mm on this one, so the verdict holds either way.",+ "verdict": "Every other printed dimension of KiCad's model is inside the drawing, but its foot is 0.362 mm at the gauge plane (0.275 mm flat), under Microchip's 0.40 mm minimum, so it was not used as is. KiCad's package generator was not run (it would be downloaded code); the model was rebuilt with the same bend shape and a longer flat foot instead.",+ "evidence": "docs/proof/mcp2562fd-e-sn-lead-vs-kicad.png"+ },+ "model": {+ "file": "mcp2562fd-e-sn.step",+ "sha256": "8b668368e9ffd03575f4b5c2fef99dc8e9ce14b26ebd782684aaa2cc463c3a58",+ "builder": "provenance/tools/build_soic8.py (CadQuery 2.x, OpenCascade)",+ "params": "provenance/tools/params.json",+ "how": "drafted two-part body loft (parting line 0.825), eight swept leads (rectangle b x c along a centreline with two 0.20 mm centreline-radius bends, 9.3 deg off vertical), pin-1 dimple 0.60 mm diameter, 0.05 mm deep; flat foot 0.413 mm tuned so the gauge-plane L is 0.50 mm",+ "L_target": "0.50 mm, chosen inside 0.40 to 1.27 (neither Microchip nor JEDEC MS-012 prints a nominal)",+ "frame": "Z up, seated on z = 0, centred on the KiCad footprint origin, pin 1 at (-x, +y) = footprint pad 1 at (-2.70, -1.905) in KiCad's Y-down footprint frame; binds with zero offset and rotation",+ "parts": {+ "body": "black epoxy",+ "pins": "matte tin"+ },+ "dimensions_mm": [+ {+ "item": "e pitch",+ "datasheet_min_typ_max": "1.27 BSC",+ "model": "1.270",+ "kicad_library": "1.270"+ },+ {+ "item": "A overall height",+ "datasheet_min_typ_max": "max 1.75",+ "model": "1.750",+ "kicad_library": "1.750"+ },+ {+ "item": "A2 molded thickness",+ "datasheet_min_typ_max": "min 1.25",+ "model": "1.650",+ "kicad_library": "1.650"+ },+ {+ "item": "A1 standoff",+ "datasheet_min_typ_max": "0.10 / - / 0.25",+ "model": "0.100",+ "kicad_library": "0.100"+ },+ {+ "item": "E overall width",+ "datasheet_min_typ_max": "6.00 BSC",+ "model": "6.000",+ "kicad_library": "6.000"+ },+ {+ "item": "E1 molded width",+ "datasheet_min_typ_max": "3.90 BSC",+ "model": "3.900",+ "kicad_library": "3.900"+ },+ {+ "item": "D overall length",+ "datasheet_min_typ_max": "4.90 BSC",+ "model": "4.900",+ "kicad_library": "4.900"+ },+ {+ "item": "L foot length (gauge plane 0.25 mm)",+ "datasheet_min_typ_max": "0.40 / - / 1.27",+ "model": "0.500",+ "kicad_library": "0.362"+ },+ {+ "item": "L foot, flat bottom only",+ "datasheet_min_typ_max": "0.40 / - / 1.27",+ "model": "0.413",+ "kicad_library": "0.275"+ },+ {+ "item": "L1 footprint (tip to body)",+ "datasheet_min_typ_max": "1.04 REF",+ "model": "1.050",+ "kicad_library": "1.050"+ },+ {+ "item": "c lead thickness",+ "datasheet_min_typ_max": "0.17 / - / 0.25",+ "model": "0.200",+ "kicad_library": "0.200"+ },+ {+ "item": "b lead width",+ "datasheet_min_typ_max": "0.31 / - / 0.51",+ "model": "0.410",+ "kicad_library": "0.410"+ },+ {+ "item": "R, R1 bend radius (inner)",+ "datasheet_min_typ_max": "min 0.07",+ "model": "0.10",+ "kicad_library": "0.10"+ },+ {+ "item": "theta1 mold draft",+ "datasheet_min_typ_max": "5 to 15 deg",+ "model": "9.0 (bottom) / 11.6 (top)",+ "kicad_library": "9.0 / 11.6"+ },+ {+ "item": "h chamfer",+ "datasheet_min_typ_max": "0.25 to 0.50 (optional)",+ "model": "not modelled",+ "kicad_library": "not modelled"+ }+ ],+ "pin1_mark": "0.60 mm dimple at (-1.11, +1.61) on the top face, KiCad's position for its pin-1 circle; Microchip note 1: the pin-1 index may vary but lies in the hatched pin-1 quadrant",+ "not_modelled": "optional end chamfer h; mold flash",+ "measurements": [+ "provenance/dims-model.json",+ "provenance/dims-kicad-library.json"+ ]+ },+ "etched": {+ "file": "mcp2562fd-e-sn-etched.step",+ "sha256": "312b626ec67e979028ea640bd76a6d93874bd62054c73085ea2f1eea25065027",+ "tool": "adom-chip-laser 0.2.0 service (service-occt /laser-etch, flat light mark 5 um above the face, Adom.LaserEtch group), placed by adom-aiflow-etch's planner with the page footprint",+ "lines": [+ "MCP2562",+ "FD-E/SN"+ ],+ "capMm": 0.473,+ "virtual": true,+ "gate": "adom-aiflow-etch check: PASS (axis, upright, size, band, flat, group, colour, widget)",+ "first_try": "a direct adom-chip-laser etch (surface=top) failed the gate's size check (0.27 mm text, 56 % of what fits) and is not published",+ "check_image": "docs/proof/mcp2562fd-e-sn-etched.check.png",+ "plan": "docs/proof/mcp2562fd-e-sn-etched.mark-plan.json",+ "real_marking": "Microchip marks the SOIC as 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17); the etch is the orderable MPN instead, as a virtual identification aid"+ },+ "glb": {+ "mcp2562fd-e-sn.glb": "1b56d6ed7bfc5096655f2863b2251d1051811bbbd864369d47ef95a318d33fc6",+ "mcp2562fd-e-sn-etched.glb": "5f79bd363586ef65c033a61bbc3a8b0dc44d2e583bcacea57ec1ffbd131ff0df"+ },+ "outline": {+ "file": "artwork/MCP2562FD-E-SN-3d-outline-dark-named.svg",+ "sha256": "fe2e7b0b734d2c8c45f16e81ff917ebb09f24bdbcfda0b273d56da10b5decd23",+ "tool": "adom-aiflow-etch outline (service body outline + single-stroke name on the planned band)",+ "gate": "PASS"+ },+ "tools": {+ "adom-chip-laser": "0.2.0",+ "adom-aiflow-etch": "adom/adom-aiflow (installed)",+ "step2glb": "0.13.2",+ "adom-symbol": "1.2.6",+ "adom-footprint": "1.0.26",+ "adom-lbr": "2.47.5",+ "cadquery": "2.x (local venv)"+ },+ "license": "Model, etch and artwork authored by Adom: CC-BY-4.0. The KiCad reference model in provenance/kicad-reference keeps CC-BY-SA 4.0 with the KiCad libraries exception. The Microchip datasheet keeps Microchip's terms."+}
provenance/dims-kicad-library.jsonadded+82@@ -0,0 +1,82 @@+{+ "file": "SOIC-8_3.9x4.9mm_P1.27mm.step",+ "solids": 1,+ "overall_bbox": [+ -3.0,+ -2.45,+ -0.0,+ 3.0,+ 2.45,+ 1.75+ ],+ "E1_body_width": 3.9,+ "A1_standoff": 0.1,+ "A_overall_height": 1.75,+ "A2_molded_thickness": 1.65,+ "D_body_length": 4.9,+ "E_tip_to_tip": 6.0,+ "gauge_crossings_x": [+ -2.6383,+ -2.4292,+ -1.8589+ ],+ "L_gauge": 0.3617,+ "foot_leads_y": [+ [+ -2.11,+ -2.11+ ],+ [+ -1.7,+ -1.7+ ],+ [+ -0.84,+ -0.84+ ],+ [+ -0.43,+ -0.43+ ],+ [+ 0.43,+ 0.43+ ],+ [+ 0.84,+ 0.84+ ],+ [+ 1.7,+ 1.7+ ],+ [+ 2.11,+ 2.11+ ]+ ],+ "b_lead_width": [+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0+ ],+ "pitch": [+ 0.41,+ 0.86,+ 0.41,+ 0.86,+ 0.41,+ 0.86,+ 0.41+ ],+ "c_lead_thickness": 0.2,+ "foot_z": [+ -0.0,+ 0.2+ ]+}
provenance/dims-model.jsonadded+82@@ -0,0 +1,82 @@+{+ "file": "mcp2562fd-e-sn.step",+ "solids": 9,+ "overall_bbox": [+ -3.0,+ -2.45,+ -0.0,+ 3.0,+ 2.45,+ 1.75+ ],+ "E1_body_width": 3.9,+ "A1_standoff": 0.1,+ "A_overall_height": 1.75,+ "A2_molded_thickness": 1.65,+ "D_body_length": 4.9,+ "E_tip_to_tip": 6.0,+ "gauge_crossings_x": [+ -2.5004,+ -2.2912,+ -1.8588+ ],+ "L_gauge": 0.4996,+ "foot_leads_y": [+ [+ -2.11,+ -2.11+ ],+ [+ -1.7,+ -1.7+ ],+ [+ -0.84,+ -0.84+ ],+ [+ -0.43,+ -0.43+ ],+ [+ 0.43,+ 0.43+ ],+ [+ 0.84,+ 0.84+ ],+ [+ 1.7,+ 1.7+ ],+ [+ 2.11,+ 2.11+ ]+ ],+ "b_lead_width": [+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0,+ 0.0+ ],+ "pitch": [+ 0.41,+ 0.86,+ 0.41,+ 0.86,+ 0.41,+ 0.86,+ 0.41+ ],+ "c_lead_thickness": 0.2,+ "foot_z": [+ -0.0,+ 0.2+ ]+}
provenance/footprint-check.jsonadded+303@@ -0,0 +1,303 @@+{+ "schema": "adom/footprint-check@1",+ "reference": "Microchip DS20005284B p.25, drawing C04-02057-SN Rev L (recommended land pattern)",+ "values_mm": {+ "E": 1.27,+ "C": 5.4,+ "X1": 0.6,+ "Y1": 1.55+ },+ "page_footprint": "mcp2562fd-e-sn.kicad_mod",+ "all_pads_match": true,+ "pads": [+ {+ "pad": "1",+ "microchip": {+ "x": -2.7,+ "y": -1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": -2.7,+ "y": -1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": -2.475,+ "y": -1.905,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": 0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "2",+ "microchip": {+ "x": -2.7,+ "y": -0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": -2.7,+ "y": -0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": -2.475,+ "y": -0.635,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": 0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "3",+ "microchip": {+ "x": -2.7,+ "y": 0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": -2.7,+ "y": 0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": -2.475,+ "y": 0.635,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": 0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "4",+ "microchip": {+ "x": -2.7,+ "y": 1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": -2.7,+ "y": 1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": -2.475,+ "y": 1.905,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": 0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "5",+ "microchip": {+ "x": 2.7,+ "y": 1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": 2.7,+ "y": 1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": 2.475,+ "y": 1.905,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": -0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "6",+ "microchip": {+ "x": 2.7,+ "y": 0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": 2.7,+ "y": 0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": 2.475,+ "y": 0.635,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": -0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "7",+ "microchip": {+ "x": 2.7,+ "y": -0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": 2.7,+ "y": -0.635,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": 2.475,+ "y": -0.635,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": -0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ },+ {+ "pad": "8",+ "microchip": {+ "x": 2.7,+ "y": -1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page": {+ "shape": "rect",+ "x": 2.7,+ "y": -1.905,+ "w": 1.55,+ "h": 0.6+ },+ "page_minus_microchip": {+ "x": 0.0,+ "y": 0.0,+ "w": 0.0,+ "h": 0.0+ },+ "match": true,+ "kicad": {+ "shape": "roundrect",+ "x": 2.475,+ "y": -1.905,+ "w": 1.95,+ "h": 0.6+ },+ "kicad_minus_microchip": {+ "x": -0.225,+ "y": 0.0,+ "w": 0.4,+ "h": 0.0+ }+ }+ ],+ "kicad_comparison": "KiCad SOIC-8_3.9x4.9mm_P1.27mm (IPC-7351 nominal, JEDEC MS-012AA): pads 1.95 x 0.60 at x = +-2.475, roundrect 25 %; centre 0.225 mm inboard of Microchip's, 0.40 mm longer, inner edge 0.425 mm further under the body (1.500 vs 1.925 from centre), outer edge 0.025 mm shorter (3.450 vs 3.475). Pitch, width and pin order identical. The page follows Microchip's drawing."+}
provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.kicad_modadded+300@@ -0,0 +1,300 @@+(footprint "SOIC-8_3.9x4.9mm_P1.27mm"+ (version 20260206)+ (generator "kicad-footprint-generator")+ (layer "F.Cu")+ (descr "SOIC, 8 Pin (JEDEC MS-012AA, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_8.pdf)")+ (tags "SOIC SO")+ (property "Reference" "REF**"+ (at 0 -3.4 0)+ (layer "F.SilkS")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (property "Value" "SOIC-8_3.9x4.9mm_P1.27mm"+ (at 0 3.4 0)+ (layer "F.Fab")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (property "KiLib_Generator" "package/gullwing"+ (at 0 0 0)+ (layer "F.SilkS")+ (hide yes)+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (attr smd)+ (duplicate_pad_numbers_are_jumpers no)+ (fp_line+ (start -2.06 -2.56)+ (end 2.06 -2.56)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start -2.06 -2.465)+ (end -2.06 -2.56)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start -2.06 2.56)+ (end -2.06 2.465)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start 2.06 -2.56)+ (end 2.06 -2.465)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start 2.06 2.465)+ (end 2.06 2.56)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start 2.06 2.56)+ (end -2.06 2.56)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_poly+ (pts+ (xy -2.6 -2.47)+ (xy -2.84 -2.8)+ (xy -2.36 -2.8)+ )+ (stroke+ (width 0.12)+ (type solid)+ )+ (fill yes)+ (layer "F.SilkS")+ )+ (fp_line+ (start -3.7 -2.46)+ (end -2.2 -2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -3.7 2.46)+ (end -3.7 -2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.2 -2.7)+ (end 2.2 -2.7)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.2 -2.46)+ (end -2.2 -2.7)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.2 2.46)+ (end -3.7 2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.2 2.7)+ (end -2.2 2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.2 -2.7)+ (end 2.2 -2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.2 -2.46)+ (end 3.7 -2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.2 2.46)+ (end 2.2 2.7)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.2 2.7)+ (end -2.2 2.7)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 3.7 -2.46)+ (end 3.7 2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 3.7 2.46)+ (end 2.2 2.46)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_poly+ (pts+ (xy -0.975 -2.45)+ (xy 1.95 -2.45)+ (xy 1.95 2.45)+ (xy -1.95 2.45)+ (xy -1.95 -1.475)+ )+ (stroke+ (width 0.1)+ (type solid)+ )+ (fill no)+ (layer "F.Fab")+ )+ (fp_text user "${REFERENCE}"+ (at 0 0 90)+ (layer "F.Fab")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (pad "1" smd roundrect+ (at -2.475 -1.905)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "2" smd roundrect+ (at -2.475 -0.635)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "3" smd roundrect+ (at -2.475 0.635)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "4" smd roundrect+ (at -2.475 1.905)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "5" smd roundrect+ (at 2.475 1.905)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "6" smd roundrect+ (at 2.475 0.635)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "7" smd roundrect+ (at 2.475 -0.635)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "8" smd roundrect+ (at 2.475 -1.905)+ (size 1.95 0.6)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (embedded_fonts no)+ (model "${KICAD10_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.step"+ (offset+ (xyz 0 0 0)+ )+ (scale+ (xyz 1 1 1)+ )+ (rotate+ (xyz 0 0 0)+ )+ )+)
provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.stepadded+3030@@ -0,0 +1,3030 @@+ISO-10303-21;+HEADER;+/* SOIC-8_3.9x4.9mm_P1.27mm.step 3D STEP model for use in ECAD systems+ * Copyright (C) 2025, KiCAD+ *+ * This work is licensed under the+ * [Creative Commons CC-BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/legalcode),+ * with the following exception:+ *+ * To the extent that the creation of electronic designs that use 'Licensed Material' can be+ * considered to be 'Adapted Material', then the copyright holder waives article 3 of the license+ * with respect to these designs and any generated files which use data provided as part of the+ * 'Licensed Material'.+ *+ * You are free to use the library data in your own projects without the obligation to share your+ * project files under this or any other license agreement. However, if you wish to distribute+ * these libraries, or parts thereof (including in modified form) as a collection then the exception+ * above does not apply. Please refer to+ * https://gitlab.com/kicad/libraries/kicad-packages3D/-/blob/master/LICENSE.md for further clarification+ * of the exception.+ *+ * Disclaimer of Warranties and Limitation of Liability.+ * These libraries are provided in the hope that they will be useful, but are provided without warranty of any kind, express or implied.+ * USE 3D CAD DATA AT YOUR OWN RISK+ * DO NOT RELY UPON ANY INFORMATION FOUND HERE WITHOUT INDEPENDENT VERIFICATION.+ */++FILE_DESCRIPTION(+/* description */ ('model of SOIC-8_3.9x4.9mm_P1.27mm'),+/* implementation_level */ '2;1');++FILE_NAME(+/* name */ 'SOIC-8_3.9x4.9mm_P1.27mm.step',+/* time_stamp */ '1970-01-01T00:00:00',+/* author */ ('KiCAD','kicad'),+/* organization */ ('OCCT'),+/* preprocessor_version */ '',+/* originating_system */ 'KiCAD',+/* authorisation */ '');++FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }'));+ENDSEC;++DATA;+#1=APPLICATION_PROTOCOL_DEFINITION('international standard','automotive_design',2000,#2);+#2=APPLICATION_CONTEXT('core data for automotive mechanical design processes');+#3=SHAPE_DEFINITION_REPRESENTATION(#4,#10);+#4=PRODUCT_DEFINITION_SHAPE('','',#5);+#5=PRODUCT_DEFINITION('design','',#6,#9);+#6=PRODUCT_DEFINITION_FORMATION('','',#7);+#7=PRODUCT('SOIC-8_3.9x4.9mm_P1.27mm','SOIC-8_3.9x4.9mm_P1.27mm','',(#8));+#8=PRODUCT_CONTEXT('',#2,'mechanical');+#9=PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design');+#10=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#15),#2806);+#11=AXIS2_PLACEMENT_3D('',#12,#13,#14);+#12=CARTESIAN_POINT('',(0.,0.,0.));+#13=DIRECTION('',(0.,0.,1.));+#14=DIRECTION('',(1.,0.,-0.));+#15=MANIFOLD_SOLID_BREP('',#16);+#16=CLOSED_SHELL('',(#17,#43,#96,#109,#128,#141,#186,#231,#244,#257,#266,#281,#345,#356,#375,#400,#418,#439,#457,#478,#496,#517,#527,#539,#560,#578,#599,#617,#638,#656,#677,#694,#709,#724,#735,#759,#805,#819,#833,#847,#893,#913,#944,#1014,#1032,#1085,#1096,#1156,#1173,#1226,#1237,#1297,#1314,#1367,#1375,#1433,#1450,#1498,#1563,#1579,#1627,#1637,#1697,#1713,#1766,#1777,#1837,#1853,#1906,#1917,#1977,#1993,#2044,#2054,#2066,#2078,#2090,#2124,#2134,#2146,#2158,#2170,#2180,#2190,#2198,#2208,#2219,#2229,#2239,#2249,#2259,#2269,#2278,#2288,#2298,#2308,#2318,#2328,#2338,#2348,#2356,#2366,#2376,#2386,#2396,#2406,#2416,#2426,#2434,#2444,#2454,#2464,#2474,#2484,#2494,#2502,#2513,#2522,#2532,#2542,#2552,#2562,#2571,#2581,#2591,#2600,#2610,#2620,#2630,#2640,#2648,#2658,#2668,#2677,#2687,#2697,#2707,#2717,#2725,#2735,#2745,#2754,#2764,#2774,#2784,#2794,#2802));+#17=ADVANCED_FACE('',(#18),#42,.F.);+#18=FACE_BOUND('',#19,.F.);+#19=EDGE_LOOP('',(#20,#29,#34,#39));+#20=ORIENTED_EDGE('',*,*,#21,.T.);+#21=EDGE_CURVE('',#22,#24,#26,.T.);+#22=VERTEX_POINT('',#23);+#23=CARTESIAN_POINT('',(-1.717585640382,2.335171280765,0.1));+#24=VERTEX_POINT('',#25);+#25=CARTESIAN_POINT('',(1.717585640382,2.335171280765,0.1));+#26=LINE('',#23,#27);+#27=VECTOR('',#28,1.);+#28=DIRECTION('',(1.,1.110223024625E-16,0.));+#29=ORIENTED_EDGE('',*,*,#30,.T.);+#30=EDGE_CURVE('',#24,#31,#33,.T.);+#31=VERTEX_POINT('',#32);+#32=CARTESIAN_POINT('',(1.775,2.45,0.825));+#33=B_SPLINE_CURVE_WITH_KNOTS('',1,(#25,#32),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#34=ORIENTED_EDGE('',*,*,#35,.F.);+#35=EDGE_CURVE('',#36,#31,#38,.T.);+#36=VERTEX_POINT('',#37);+#37=CARTESIAN_POINT('',(-1.775,2.45,0.825));+#38=LINE('',#37,#27);+#39=ORIENTED_EDGE('',*,*,#40,.F.);+#40=EDGE_CURVE('',#22,#36,#41,.T.);+#41=B_SPLINE_CURVE_WITH_KNOTS('',1,(#23,#37),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#42=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#23,#37),(#25,#32)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,3.55),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#43=ADVANCED_FACE('',(#44),#93,.F.);+#44=FACE_BOUND('',#45,.T.);+#45=EDGE_LOOP('',(#20,#46,#53,#60,#67,#74,#81,#88));+#46=ORIENTED_EDGE('',*,*,#47,.T.);+#47=EDGE_CURVE('',#24,#48,#50,.T.);+#48=VERTEX_POINT('',#49);+#49=CARTESIAN_POINT('',(1.835171280765,2.217585640382,0.1));+#50=LINE('',#25,#51);+#51=VECTOR('',#52,1.);+#52=DIRECTION('',(0.707106781187,-0.707106781187,0.));+#53=ORIENTED_EDGE('',*,*,#54,.T.);+#54=EDGE_CURVE('',#48,#55,#57,.T.);+#55=VERTEX_POINT('',#56);+#56=CARTESIAN_POINT('',(1.835171280765,-2.217585640382,0.1));+#57=LINE('',#49,#58);+#58=VECTOR('',#59,1.);+#59=DIRECTION('',(1.110223024625E-16,-1.,0.));+#60=ORIENTED_EDGE('',*,*,#61,.T.);+#61=EDGE_CURVE('',#55,#62,#64,.T.);+#62=VERTEX_POINT('',#63);+#63=CARTESIAN_POINT('',(1.717585640382,-2.335171280765,0.1));+#64=LINE('',#56,#65);+#65=VECTOR('',#66,1.);+#66=DIRECTION('',(-0.707106781187,-0.707106781187,0.));+#67=ORIENTED_EDGE('',*,*,#68,.T.);+#68=EDGE_CURVE('',#62,#69,#71,.T.);+#69=VERTEX_POINT('',#70);+#70=CARTESIAN_POINT('',(-1.717585640382,-2.335171280765,0.1));+#71=LINE('',#63,#72);+#72=VECTOR('',#73,1.);+#73=DIRECTION('',(-1.,-1.110223024625E-16,0.));+#74=ORIENTED_EDGE('',*,*,#75,.T.);+#75=EDGE_CURVE('',#69,#76,#78,.T.);+#76=VERTEX_POINT('',#77);+#77=CARTESIAN_POINT('',(-1.835171280765,-2.217585640382,0.1));+#78=LINE('',#70,#79);+#79=VECTOR('',#80,1.);+#80=DIRECTION('',(-0.707106781187,0.707106781187,0.));+#81=ORIENTED_EDGE('',*,*,#82,.T.);+#82=EDGE_CURVE('',#76,#83,#85,.T.);+#83=VERTEX_POINT('',#84);+#84=CARTESIAN_POINT('',(-1.835171280765,2.217585640382,0.1));+#85=LINE('',#77,#86);+#86=VECTOR('',#87,1.);+#87=DIRECTION('',(-1.110223024625E-16,1.,0.));+#88=ORIENTED_EDGE('',*,*,#89,.T.);+#89=EDGE_CURVE('',#83,#22,#90,.T.);+#90=LINE('',#84,#91);+#91=VECTOR('',#92,1.);+#92=DIRECTION('',(0.707106781187,0.707106781187,0.));+#93=PLANE('',#94);+#94=AXIS2_PLACEMENT_3D('',#23,#13,#95);+#95=DIRECTION('',(0.592513131498,-0.805560791625,0.));+#96=ADVANCED_FACE('',(#97),#108,.F.);+#97=FACE_BOUND('',#98,.F.);+#98=EDGE_LOOP('',(#46,#99,#104,#107));+#99=ORIENTED_EDGE('',*,*,#100,.T.);+#100=EDGE_CURVE('',#48,#101,#103,.T.);+#101=VERTEX_POINT('',#102);+#102=CARTESIAN_POINT('',(1.95,2.275,0.825));+#103=B_SPLINE_CURVE_WITH_KNOTS('',1,(#49,#102),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#104=ORIENTED_EDGE('',*,*,#105,.F.);+#105=EDGE_CURVE('',#31,#101,#106,.T.);+#106=LINE('',#32,#51);+#107=ORIENTED_EDGE('',*,*,#30,.F.);+#108=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#25,#32),(#49,#102)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.247487373415),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#109=ADVANCED_FACE('',(#110),#126,.F.);+#110=FACE_BOUND('',#111,.F.);+#111=EDGE_LOOP('',(#112,#113,#118,#123));+#112=ORIENTED_EDGE('',*,*,#35,.T.);+#113=ORIENTED_EDGE('',*,*,#114,.T.);+#114=EDGE_CURVE('',#31,#115,#117,.T.);+#115=VERTEX_POINT('',#116);+#116=CARTESIAN_POINT('',(1.775,2.45,1.025));+#117=B_SPLINE_CURVE_WITH_KNOTS('',1,(#32,#116),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#118=ORIENTED_EDGE('',*,*,#119,.F.);+#119=EDGE_CURVE('',#120,#115,#122,.T.);+#120=VERTEX_POINT('',#121);+#121=CARTESIAN_POINT('',(-1.775,2.45,1.025));+#122=LINE('',#121,#27);+#123=ORIENTED_EDGE('',*,*,#124,.F.);+#124=EDGE_CURVE('',#36,#120,#125,.T.);+#125=B_SPLINE_CURVE_WITH_KNOTS('',1,(#37,#121),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#126=PLANE('',#127);+#127=AXIS2_PLACEMENT_3D('',#121,#59,#28);+#128=ADVANCED_FACE('',(#129),#140,.F.);+#129=FACE_BOUND('',#130,.F.);+#130=EDGE_LOOP('',(#88,#131,#132,#137));+#131=ORIENTED_EDGE('',*,*,#40,.T.);+#132=ORIENTED_EDGE('',*,*,#133,.F.);+#133=EDGE_CURVE('',#134,#36,#136,.T.);+#134=VERTEX_POINT('',#135);+#135=CARTESIAN_POINT('',(-1.95,2.275,0.825));+#136=LINE('',#135,#91);+#137=ORIENTED_EDGE('',*,*,#138,.F.);+#138=EDGE_CURVE('',#83,#134,#139,.T.);+#139=B_SPLINE_CURVE_WITH_KNOTS('',1,(#84,#135),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#140=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#84,#135),(#23,#37)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.247487373415),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#141=ADVANCED_FACE('',(#142),#185,.F.);+#142=FACE_BOUND('',#143,.F.);+#143=EDGE_LOOP('',(#81,#144,#145,#151,#155,#159,#163,#167,#171,#175,#179,#182));+#144=ORIENTED_EDGE('',*,*,#138,.T.);+#145=ORIENTED_EDGE('',*,*,#146,.F.);+#146=EDGE_CURVE('',#147,#134,#149,.T.);+#147=VERTEX_POINT('',#148);+#148=CARTESIAN_POINT('',(-1.95,2.11,0.825));+#149=LINE('',#150,#86);+#150=CARTESIAN_POINT('',(-1.95,-2.275,0.825));+#151=ORIENTED_EDGE('',*,*,#152,.F.);+#152=EDGE_CURVE('',#153,#147,#149,.T.);+#153=VERTEX_POINT('',#154);+#154=CARTESIAN_POINT('',(-1.95,1.7,0.825));+#155=ORIENTED_EDGE('',*,*,#156,.F.);+#156=EDGE_CURVE('',#157,#153,#149,.T.);+#157=VERTEX_POINT('',#158);+#158=CARTESIAN_POINT('',(-1.95,0.84,0.825));+#159=ORIENTED_EDGE('',*,*,#160,.F.);+#160=EDGE_CURVE('',#161,#157,#149,.T.);+#161=VERTEX_POINT('',#162);+#162=CARTESIAN_POINT('',(-1.95,0.43,0.825));+#163=ORIENTED_EDGE('',*,*,#164,.F.);+#164=EDGE_CURVE('',#165,#161,#149,.T.);+#165=VERTEX_POINT('',#166);+#166=CARTESIAN_POINT('',(-1.95,-0.43,0.825));+#167=ORIENTED_EDGE('',*,*,#168,.F.);+#168=EDGE_CURVE('',#169,#165,#149,.T.);+#169=VERTEX_POINT('',#170);+#170=CARTESIAN_POINT('',(-1.95,-0.84,0.825));+#171=ORIENTED_EDGE('',*,*,#172,.F.);+#172=EDGE_CURVE('',#173,#169,#149,.T.);+#173=VERTEX_POINT('',#174);+#174=CARTESIAN_POINT('',(-1.95,-1.7,0.825));+#175=ORIENTED_EDGE('',*,*,#176,.F.);+#176=EDGE_CURVE('',#177,#173,#149,.T.);+#177=VERTEX_POINT('',#178);+#178=CARTESIAN_POINT('',(-1.95,-2.11,0.825));+#179=ORIENTED_EDGE('',*,*,#180,.F.);+#180=EDGE_CURVE('',#181,#177,#149,.T.);+#181=VERTEX_POINT('',#150);+#182=ORIENTED_EDGE('',*,*,#183,.F.);+#183=EDGE_CURVE('',#76,#181,#184,.T.);+#184=B_SPLINE_CURVE_WITH_KNOTS('',1,(#77,#150),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#185=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#77,#150),(#84,#135)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,4.55),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#186=ADVANCED_FACE('',(#187),#230,.F.);+#187=FACE_BOUND('',#188,.F.);+#188=EDGE_LOOP('',(#53,#189,#194,#199,#203,#207,#211,#215,#219,#223,#227,#229));+#189=ORIENTED_EDGE('',*,*,#190,.T.);+#190=EDGE_CURVE('',#55,#191,#193,.T.);+#191=VERTEX_POINT('',#192);+#192=CARTESIAN_POINT('',(1.95,-2.275,0.825));+#193=B_SPLINE_CURVE_WITH_KNOTS('',1,(#56,#192),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#194=ORIENTED_EDGE('',*,*,#195,.F.);+#195=EDGE_CURVE('',#196,#191,#198,.T.);+#196=VERTEX_POINT('',#197);+#197=CARTESIAN_POINT('',(1.95,-2.11,0.825));+#198=LINE('',#102,#58);+#199=ORIENTED_EDGE('',*,*,#200,.F.);+#200=EDGE_CURVE('',#201,#196,#198,.T.);+#201=VERTEX_POINT('',#202);+#202=CARTESIAN_POINT('',(1.95,-1.7,0.825));+#203=ORIENTED_EDGE('',*,*,#204,.F.);+#204=EDGE_CURVE('',#205,#201,#198,.T.);+#205=VERTEX_POINT('',#206);+#206=CARTESIAN_POINT('',(1.95,-0.84,0.825));+#207=ORIENTED_EDGE('',*,*,#208,.F.);+#208=EDGE_CURVE('',#209,#205,#198,.T.);+#209=VERTEX_POINT('',#210);+#210=CARTESIAN_POINT('',(1.95,-0.43,0.825));+#211=ORIENTED_EDGE('',*,*,#212,.F.);+#212=EDGE_CURVE('',#213,#209,#198,.T.);+#213=VERTEX_POINT('',#214);+#214=CARTESIAN_POINT('',(1.95,0.43,0.825));+#215=ORIENTED_EDGE('',*,*,#216,.F.);+#216=EDGE_CURVE('',#217,#213,#198,.T.);+#217=VERTEX_POINT('',#218);+#218=CARTESIAN_POINT('',(1.95,0.84,0.825));+#219=ORIENTED_EDGE('',*,*,#220,.F.);+#220=EDGE_CURVE('',#221,#217,#198,.T.);+#221=VERTEX_POINT('',#222);+#222=CARTESIAN_POINT('',(1.95,1.7,0.825));+#223=ORIENTED_EDGE('',*,*,#224,.F.);+#224=EDGE_CURVE('',#225,#221,#198,.T.);+#225=VERTEX_POINT('',#226);+#226=CARTESIAN_POINT('',(1.95,2.11,0.825));+#227=ORIENTED_EDGE('',*,*,#228,.F.);+#228=EDGE_CURVE('',#101,#225,#198,.T.);+#229=ORIENTED_EDGE('',*,*,#100,.F.);+#230=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#49,#102),(#56,#192)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,4.55),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#231=ADVANCED_FACE('',(#232),#243,.F.);+#232=FACE_BOUND('',#233,.F.);+#233=EDGE_LOOP('',(#74,#234,#235,#240));+#234=ORIENTED_EDGE('',*,*,#183,.T.);+#235=ORIENTED_EDGE('',*,*,#236,.F.);+#236=EDGE_CURVE('',#237,#181,#239,.T.);+#237=VERTEX_POINT('',#238);+#238=CARTESIAN_POINT('',(-1.775,-2.45,0.825));+#239=LINE('',#238,#79);+#240=ORIENTED_EDGE('',*,*,#241,.F.);+#241=EDGE_CURVE('',#69,#237,#242,.T.);+#242=B_SPLINE_CURVE_WITH_KNOTS('',1,(#70,#238),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#243=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#70,#238),(#77,#150)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.247487373415),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#244=ADVANCED_FACE('',(#245),#256,.F.);+#245=FACE_BOUND('',#246,.F.);+#246=EDGE_LOOP('',(#60,#247,#252,#255));+#247=ORIENTED_EDGE('',*,*,#248,.T.);+#248=EDGE_CURVE('',#62,#249,#251,.T.);+#249=VERTEX_POINT('',#250);+#250=CARTESIAN_POINT('',(1.775,-2.45,0.825));+#251=B_SPLINE_CURVE_WITH_KNOTS('',1,(#63,#250),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#252=ORIENTED_EDGE('',*,*,#253,.F.);+#253=EDGE_CURVE('',#191,#249,#254,.T.);+#254=LINE('',#192,#65);+#255=ORIENTED_EDGE('',*,*,#190,.F.);+#256=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#56,#192),(#63,#250)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.247487373415),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#257=ADVANCED_FACE('',(#258),#265,.F.);+#258=FACE_BOUND('',#259,.F.);+#259=EDGE_LOOP('',(#67,#260,#261,#264));+#260=ORIENTED_EDGE('',*,*,#241,.T.);+#261=ORIENTED_EDGE('',*,*,#262,.F.);+#262=EDGE_CURVE('',#249,#237,#263,.T.);+#263=LINE('',#250,#72);+#264=ORIENTED_EDGE('',*,*,#248,.F.);+#265=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#63,#250),(#70,#238)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,3.55),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#266=ADVANCED_FACE('',(#267),#279,.F.);+#267=FACE_BOUND('',#268,.F.);+#268=EDGE_LOOP('',(#269,#270,#275,#278));+#269=ORIENTED_EDGE('',*,*,#105,.T.);+#270=ORIENTED_EDGE('',*,*,#271,.T.);+#271=EDGE_CURVE('',#101,#272,#274,.T.);+#272=VERTEX_POINT('',#273);+#273=CARTESIAN_POINT('',(1.95,2.275,1.025));+#274=B_SPLINE_CURVE_WITH_KNOTS('',1,(#102,#273),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#275=ORIENTED_EDGE('',*,*,#276,.F.);+#276=EDGE_CURVE('',#115,#272,#277,.T.);+#277=LINE('',#116,#51);+#278=ORIENTED_EDGE('',*,*,#114,.F.);+#279=PLANE('',#280);+#280=AXIS2_PLACEMENT_3D('',#116,#66,#52);+#281=ADVANCED_FACE('',(#282),#340,.F.);+#282=FACE_BOUND('',#283,.F.);+#283=EDGE_LOOP('',(#284,#289,#290,#291,#296,#302,#307,#312,#317,#322,#328,#336));+#284=ORIENTED_EDGE('',*,*,#285,.T.);+#285=EDGE_CURVE('',#286,#120,#288,.T.);+#286=VERTEX_POINT('',#287);+#287=CARTESIAN_POINT('',(-1.95,2.275,1.025));+#288=LINE('',#287,#91);+#289=ORIENTED_EDGE('',*,*,#119,.T.);+#290=ORIENTED_EDGE('',*,*,#276,.T.);+#291=ORIENTED_EDGE('',*,*,#292,.T.);+#292=EDGE_CURVE('',#272,#293,#295,.T.);+#293=VERTEX_POINT('',#294);+#294=CARTESIAN_POINT('',(1.95,2.11,1.025));+#295=LINE('',#273,#58);+#296=ORIENTED_EDGE('',*,*,#297,.T.);+#297=EDGE_CURVE('',#293,#298,#300,.T.);+#298=VERTEX_POINT('',#299);+#299=CARTESIAN_POINT('',(1.875,2.11,1.025));+#300=LINE('',#301,#72);+#301=CARTESIAN_POINT('',(2.25,2.11,1.025));+#302=ORIENTED_EDGE('',*,*,#303,.F.);+#303=EDGE_CURVE('',#304,#298,#306,.T.);+#304=VERTEX_POINT('',#305);+#305=CARTESIAN_POINT('',(1.875,2.2375,1.025));+#306=LINE('',#305,#58);+#307=ORIENTED_EDGE('',*,*,#308,.F.);+#308=EDGE_CURVE('',#309,#304,#311,.T.);+#309=VERTEX_POINT('',#310);+#310=CARTESIAN_POINT('',(1.7375,2.375,1.025));+#311=LINE('',#310,#51);+#312=ORIENTED_EDGE('',*,*,#313,.F.);+#313=EDGE_CURVE('',#314,#309,#316,.T.);+#314=VERTEX_POINT('',#315);+#315=CARTESIAN_POINT('',(-1.7375,2.375,1.025));+#316=LINE('',#315,#27);+#317=ORIENTED_EDGE('',*,*,#318,.F.);+#318=EDGE_CURVE('',#319,#314,#321,.T.);+#319=VERTEX_POINT('',#320);+#320=CARTESIAN_POINT('',(-1.875,2.2375,1.025));+#321=LINE('',#320,#91);+#322=ORIENTED_EDGE('',*,*,#323,.F.);+#323=EDGE_CURVE('',#324,#319,#326,.T.);+#324=VERTEX_POINT('',#325);+#325=CARTESIAN_POINT('',(-1.875,2.11,1.025));+#326=LINE('',#327,#86);+#327=CARTESIAN_POINT('',(-1.875,-2.2375,1.025));+#328=ORIENTED_EDGE('',*,*,#329,.F.);+#329=EDGE_CURVE('',#330,#324,#332,.T.);+#330=VERTEX_POINT('',#331);+#331=CARTESIAN_POINT('',(-1.95,2.11,1.025));+#332=LINE('',#333,#334);+#333=CARTESIAN_POINT('',(-2.25,2.11,1.025));+#334=VECTOR('',#335,1.);+#335=DIRECTION('',(1.,-1.144237745222E-17,0.));+#336=ORIENTED_EDGE('',*,*,#337,.T.);+#337=EDGE_CURVE('',#330,#286,#338,.T.);+#338=LINE('',#339,#86);+#339=CARTESIAN_POINT('',(-1.95,-2.275,1.025));+#340=PLANE('',#341);+#341=AXIS2_PLACEMENT_3D('',#342,#343,#344);+#342=CARTESIAN_POINT('',(-3.027078129022E-16,2.4125,1.025));+#343=DIRECTION('',(2.007919022429E-31,-7.713306628828E-27,-1.));+#344=DIRECTION('',(1.,1.112083013911E-16,2.00791902242E-31));+#345=ADVANCED_FACE('',(#346),#354,.F.);+#346=FACE_BOUND('',#347,.F.);+#347=EDGE_LOOP('',(#348,#349,#350,#351));+#348=ORIENTED_EDGE('',*,*,#133,.T.);+#349=ORIENTED_EDGE('',*,*,#124,.T.);+#350=ORIENTED_EDGE('',*,*,#285,.F.);+#351=ORIENTED_EDGE('',*,*,#352,.F.);+#352=EDGE_CURVE('',#134,#286,#353,.T.);+#353=B_SPLINE_CURVE_WITH_KNOTS('',1,(#135,#287),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#354=PLANE('',#355);+#355=AXIS2_PLACEMENT_3D('',#287,#52,#92);+#356=ADVANCED_FACE('',(#357),#373,.F.);+#357=FACE_BOUND('',#358,.F.);+#358=EDGE_LOOP('',(#359,#363,#364,#371));+#359=ORIENTED_EDGE('',*,*,#360,.F.);+#360=EDGE_CURVE('',#181,#361,#362,.T.);+#361=VERTEX_POINT('',#339);+#362=B_SPLINE_CURVE_WITH_KNOTS('',1,(#150,#339),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#363=ORIENTED_EDGE('',*,*,#180,.T.);+#364=ORIENTED_EDGE('',*,*,#365,.T.);+#365=EDGE_CURVE('',#177,#366,#368,.T.);+#366=VERTEX_POINT('',#367);+#367=CARTESIAN_POINT('',(-1.95,-2.11,1.025));+#368=LINE('',#369,#370);+#369=CARTESIAN_POINT('',(-1.95,-2.11,0.786976568901));+#370=VECTOR('',#13,1.);+#371=ORIENTED_EDGE('',*,*,#372,.F.);+#372=EDGE_CURVE('',#361,#366,#338,.T.);+#373=PLANE('',#374);+#374=AXIS2_PLACEMENT_3D('',#339,#28,#87);+#375=ADVANCED_FACE('',(#376),#398,.F.);+#376=FACE_BOUND('',#377,.F.);+#377=EDGE_LOOP('',(#378,#386,#387,#393));+#378=ORIENTED_EDGE('',*,*,#379,.F.);+#379=EDGE_CURVE('',#177,#380,#382,.T.);+#380=VERTEX_POINT('',#381);+#381=CARTESIAN_POINT('',(-2.25,-2.11,0.825));+#382=LINE('',#383,#384);+#383=CARTESIAN_POINT('',(-1.8,-2.11,0.825));+#384=VECTOR('',#385,1.);+#385=DIRECTION('',(-1.,1.144237745222E-17,0.));+#386=ORIENTED_EDGE('',*,*,#176,.T.);+#387=ORIENTED_EDGE('',*,*,#388,.T.);+#388=EDGE_CURVE('',#173,#389,#391,.T.);+#389=VERTEX_POINT('',#390);+#390=CARTESIAN_POINT('',(-2.25,-1.7,0.825));+#391=LINE('',#392,#384);+#392=CARTESIAN_POINT('',(-1.8,-1.7,0.825));+#393=ORIENTED_EDGE('',*,*,#394,.F.);+#394=EDGE_CURVE('',#380,#389,#395,.T.);+#395=LINE('',#381,#396);+#396=VECTOR('',#397,1.);+#397=DIRECTION('',(1.144237745222E-17,1.,0.));+#398=PLANE('',#399);+#399=AXIS2_PLACEMENT_3D('',#383,#13,#385);+#400=ADVANCED_FACE('',(#401),#373,.F.);+#401=FACE_BOUND('',#402,.F.);+#402=EDGE_LOOP('',(#403,#409,#410,#416));+#403=ORIENTED_EDGE('',*,*,#404,.F.);+#404=EDGE_CURVE('',#173,#405,#407,.T.);+#405=VERTEX_POINT('',#406);+#406=CARTESIAN_POINT('',(-1.95,-1.7,1.025));+#407=LINE('',#408,#370);+#408=CARTESIAN_POINT('',(-1.95,-1.7,0.786976568901));+#409=ORIENTED_EDGE('',*,*,#172,.T.);+#410=ORIENTED_EDGE('',*,*,#411,.T.);+#411=EDGE_CURVE('',#169,#412,#414,.T.);+#412=VERTEX_POINT('',#413);+#413=CARTESIAN_POINT('',(-1.95,-0.84,1.025));+#414=LINE('',#415,#370);+#415=CARTESIAN_POINT('',(-1.95,-0.84,0.786976568901));+#416=ORIENTED_EDGE('',*,*,#417,.F.);+#417=EDGE_CURVE('',#405,#412,#338,.T.);+#418=ADVANCED_FACE('',(#419),#437,.F.);+#419=FACE_BOUND('',#420,.F.);+#420=EDGE_LOOP('',(#421,#427,#428,#434));+#421=ORIENTED_EDGE('',*,*,#422,.F.);+#422=EDGE_CURVE('',#169,#423,#425,.T.);+#423=VERTEX_POINT('',#424);+#424=CARTESIAN_POINT('',(-2.25,-0.84,0.825));+#425=LINE('',#426,#384);+#426=CARTESIAN_POINT('',(-1.8,-0.84,0.825));+#427=ORIENTED_EDGE('',*,*,#168,.T.);+#428=ORIENTED_EDGE('',*,*,#429,.T.);+#429=EDGE_CURVE('',#165,#430,#432,.T.);+#430=VERTEX_POINT('',#431);+#431=CARTESIAN_POINT('',(-2.25,-0.43,0.825));+#432=LINE('',#433,#384);+#433=CARTESIAN_POINT('',(-1.8,-0.43,0.825));+#434=ORIENTED_EDGE('',*,*,#435,.F.);+#435=EDGE_CURVE('',#423,#430,#436,.T.);+#436=LINE('',#424,#396);+#437=PLANE('',#438);+#438=AXIS2_PLACEMENT_3D('',#426,#13,#385);+#439=ADVANCED_FACE('',(#440),#373,.F.);+#440=FACE_BOUND('',#441,.F.);+#441=EDGE_LOOP('',(#442,#448,#449,#455));+#442=ORIENTED_EDGE('',*,*,#443,.F.);+#443=EDGE_CURVE('',#165,#444,#446,.T.);+#444=VERTEX_POINT('',#445);+#445=CARTESIAN_POINT('',(-1.95,-0.43,1.025));+#446=LINE('',#447,#370);+#447=CARTESIAN_POINT('',(-1.95,-0.43,0.786976568901));+#448=ORIENTED_EDGE('',*,*,#164,.T.);+#449=ORIENTED_EDGE('',*,*,#450,.T.);+#450=EDGE_CURVE('',#161,#451,#453,.T.);+#451=VERTEX_POINT('',#452);+#452=CARTESIAN_POINT('',(-1.95,0.43,1.025));+#453=LINE('',#454,#370);+#454=CARTESIAN_POINT('',(-1.95,0.43,0.786976568901));+#455=ORIENTED_EDGE('',*,*,#456,.F.);+#456=EDGE_CURVE('',#444,#451,#338,.T.);+#457=ADVANCED_FACE('',(#458),#476,.F.);+#458=FACE_BOUND('',#459,.F.);+#459=EDGE_LOOP('',(#460,#466,#467,#473));+#460=ORIENTED_EDGE('',*,*,#461,.F.);+#461=EDGE_CURVE('',#161,#462,#464,.T.);+#462=VERTEX_POINT('',#463);+#463=CARTESIAN_POINT('',(-2.25,0.43,0.825));+#464=LINE('',#465,#384);+#465=CARTESIAN_POINT('',(-1.8,0.43,0.825));+#466=ORIENTED_EDGE('',*,*,#160,.T.);+#467=ORIENTED_EDGE('',*,*,#468,.T.);+#468=EDGE_CURVE('',#157,#469,#471,.T.);+#469=VERTEX_POINT('',#470);+#470=CARTESIAN_POINT('',(-2.25,0.84,0.825));+#471=LINE('',#472,#384);+#472=CARTESIAN_POINT('',(-1.8,0.84,0.825));+#473=ORIENTED_EDGE('',*,*,#474,.F.);+#474=EDGE_CURVE('',#462,#469,#475,.T.);+#475=LINE('',#463,#396);+#476=PLANE('',#477);+#477=AXIS2_PLACEMENT_3D('',#465,#13,#385);+#478=ADVANCED_FACE('',(#479),#373,.F.);+#479=FACE_BOUND('',#480,.F.);+#480=EDGE_LOOP('',(#481,#487,#488,#494));+#481=ORIENTED_EDGE('',*,*,#482,.F.);+#482=EDGE_CURVE('',#157,#483,#485,.T.);+#483=VERTEX_POINT('',#484);+#484=CARTESIAN_POINT('',(-1.95,0.84,1.025));+#485=LINE('',#486,#370);+#486=CARTESIAN_POINT('',(-1.95,0.84,0.786976568901));+#487=ORIENTED_EDGE('',*,*,#156,.T.);+#488=ORIENTED_EDGE('',*,*,#489,.T.);+#489=EDGE_CURVE('',#153,#490,#492,.T.);+#490=VERTEX_POINT('',#491);+#491=CARTESIAN_POINT('',(-1.95,1.7,1.025));+#492=LINE('',#493,#370);+#493=CARTESIAN_POINT('',(-1.95,1.7,0.786976568901));+#494=ORIENTED_EDGE('',*,*,#495,.F.);+#495=EDGE_CURVE('',#483,#490,#338,.T.);+#496=ADVANCED_FACE('',(#497),#515,.F.);+#497=FACE_BOUND('',#498,.F.);+#498=EDGE_LOOP('',(#499,#505,#506,#512));+#499=ORIENTED_EDGE('',*,*,#500,.F.);+#500=EDGE_CURVE('',#153,#501,#503,.T.);+#501=VERTEX_POINT('',#502);+#502=CARTESIAN_POINT('',(-2.25,1.7,0.825));+#503=LINE('',#504,#384);+#504=CARTESIAN_POINT('',(-1.8,1.7,0.825));+#505=ORIENTED_EDGE('',*,*,#152,.T.);+#506=ORIENTED_EDGE('',*,*,#507,.T.);+#507=EDGE_CURVE('',#147,#508,#510,.T.);+#508=VERTEX_POINT('',#509);+#509=CARTESIAN_POINT('',(-2.25,2.11,0.825));+#510=LINE('',#511,#384);+#511=CARTESIAN_POINT('',(-1.8,2.11,0.825));+#512=ORIENTED_EDGE('',*,*,#513,.F.);+#513=EDGE_CURVE('',#501,#508,#514,.T.);+#514=LINE('',#502,#396);+#515=PLANE('',#516);+#516=AXIS2_PLACEMENT_3D('',#504,#13,#385);+#517=ADVANCED_FACE('',(#518),#373,.F.);+#518=FACE_BOUND('',#519,.F.);+#519=EDGE_LOOP('',(#520,#524,#525,#526));+#520=ORIENTED_EDGE('',*,*,#521,.F.);+#521=EDGE_CURVE('',#147,#330,#522,.T.);+#522=LINE('',#523,#370);+#523=CARTESIAN_POINT('',(-1.95,2.11,0.786976568901));+#524=ORIENTED_EDGE('',*,*,#146,.T.);+#525=ORIENTED_EDGE('',*,*,#352,.T.);+#526=ORIENTED_EDGE('',*,*,#337,.F.);+#527=ADVANCED_FACE('',(#528),#537,.F.);+#528=FACE_BOUND('',#529,.F.);+#529=EDGE_LOOP('',(#530,#531,#532,#536));+#530=ORIENTED_EDGE('',*,*,#271,.F.);+#531=ORIENTED_EDGE('',*,*,#228,.T.);+#532=ORIENTED_EDGE('',*,*,#533,.T.);+#533=EDGE_CURVE('',#225,#293,#534,.T.);+#534=LINE('',#535,#370);+#535=CARTESIAN_POINT('',(1.95,2.11,0.786976568901));+#536=ORIENTED_EDGE('',*,*,#292,.F.);+#537=PLANE('',#538);+#538=AXIS2_PLACEMENT_3D('',#273,#73,#59);+#539=ADVANCED_FACE('',(#540),#558,.F.);+#540=FACE_BOUND('',#541,.F.);+#541=EDGE_LOOP('',(#542,#548,#549,#555));+#542=ORIENTED_EDGE('',*,*,#543,.F.);+#543=EDGE_CURVE('',#225,#544,#546,.T.);+#544=VERTEX_POINT('',#545);+#545=CARTESIAN_POINT('',(2.25,2.11,0.825));+#546=LINE('',#547,#27);+#547=CARTESIAN_POINT('',(1.8,2.11,0.825));+#548=ORIENTED_EDGE('',*,*,#224,.T.);+#549=ORIENTED_EDGE('',*,*,#550,.T.);+#550=EDGE_CURVE('',#221,#551,#553,.T.);+#551=VERTEX_POINT('',#552);+#552=CARTESIAN_POINT('',(2.25,1.7,0.825));+#553=LINE('',#554,#27);+#554=CARTESIAN_POINT('',(1.8,1.7,0.825));+#555=ORIENTED_EDGE('',*,*,#556,.F.);+#556=EDGE_CURVE('',#544,#551,#557,.T.);+#557=LINE('',#545,#58);+#558=PLANE('',#559);+#559=AXIS2_PLACEMENT_3D('',#547,#13,#28);+#560=ADVANCED_FACE('',(#561),#537,.F.);+#561=FACE_BOUND('',#562,.F.);+#562=EDGE_LOOP('',(#563,#569,#570,#576));+#563=ORIENTED_EDGE('',*,*,#564,.F.);+#564=EDGE_CURVE('',#221,#565,#567,.T.);+#565=VERTEX_POINT('',#566);+#566=CARTESIAN_POINT('',(1.95,1.7,1.025));+#567=LINE('',#568,#370);+#568=CARTESIAN_POINT('',(1.95,1.7,0.786976568901));+#569=ORIENTED_EDGE('',*,*,#220,.T.);+#570=ORIENTED_EDGE('',*,*,#571,.T.);+#571=EDGE_CURVE('',#217,#572,#574,.T.);+#572=VERTEX_POINT('',#573);+#573=CARTESIAN_POINT('',(1.95,0.84,1.025));+#574=LINE('',#575,#370);+#575=CARTESIAN_POINT('',(1.95,0.84,0.786976568901));+#576=ORIENTED_EDGE('',*,*,#577,.F.);+#577=EDGE_CURVE('',#565,#572,#295,.T.);+#578=ADVANCED_FACE('',(#579),#597,.F.);+#579=FACE_BOUND('',#580,.F.);+#580=EDGE_LOOP('',(#581,#587,#588,#594));+#581=ORIENTED_EDGE('',*,*,#582,.F.);+#582=EDGE_CURVE('',#217,#583,#585,.T.);+#583=VERTEX_POINT('',#584);+#584=CARTESIAN_POINT('',(2.25,0.84,0.825));+#585=LINE('',#586,#27);+#586=CARTESIAN_POINT('',(1.8,0.84,0.825));+#587=ORIENTED_EDGE('',*,*,#216,.T.);+#588=ORIENTED_EDGE('',*,*,#589,.T.);+#589=EDGE_CURVE('',#213,#590,#592,.T.);+#590=VERTEX_POINT('',#591);+#591=CARTESIAN_POINT('',(2.25,0.43,0.825));+#592=LINE('',#593,#27);+#593=CARTESIAN_POINT('',(1.8,0.43,0.825));+#594=ORIENTED_EDGE('',*,*,#595,.F.);+#595=EDGE_CURVE('',#583,#590,#596,.T.);+#596=LINE('',#584,#58);+#597=PLANE('',#598);+#598=AXIS2_PLACEMENT_3D('',#586,#13,#28);+#599=ADVANCED_FACE('',(#600),#537,.F.);+#600=FACE_BOUND('',#601,.F.);+#601=EDGE_LOOP('',(#602,#608,#609,#615));+#602=ORIENTED_EDGE('',*,*,#603,.F.);+#603=EDGE_CURVE('',#213,#604,#606,.T.);+#604=VERTEX_POINT('',#605);+#605=CARTESIAN_POINT('',(1.95,0.43,1.025));+#606=LINE('',#607,#370);+#607=CARTESIAN_POINT('',(1.95,0.43,0.786976568901));+#608=ORIENTED_EDGE('',*,*,#212,.T.);+#609=ORIENTED_EDGE('',*,*,#610,.T.);+#610=EDGE_CURVE('',#209,#611,#613,.T.);+#611=VERTEX_POINT('',#612);+#612=CARTESIAN_POINT('',(1.95,-0.43,1.025));+#613=LINE('',#614,#370);+#614=CARTESIAN_POINT('',(1.95,-0.43,0.786976568901));+#615=ORIENTED_EDGE('',*,*,#616,.F.);+#616=EDGE_CURVE('',#604,#611,#295,.T.);+#617=ADVANCED_FACE('',(#618),#636,.F.);+#618=FACE_BOUND('',#619,.F.);+#619=EDGE_LOOP('',(#620,#626,#627,#633));+#620=ORIENTED_EDGE('',*,*,#621,.F.);+#621=EDGE_CURVE('',#209,#622,#624,.T.);+#622=VERTEX_POINT('',#623);+#623=CARTESIAN_POINT('',(2.25,-0.43,0.825));+#624=LINE('',#625,#27);+#625=CARTESIAN_POINT('',(1.8,-0.43,0.825));+#626=ORIENTED_EDGE('',*,*,#208,.T.);+#627=ORIENTED_EDGE('',*,*,#628,.T.);+#628=EDGE_CURVE('',#205,#629,#631,.T.);+#629=VERTEX_POINT('',#630);+#630=CARTESIAN_POINT('',(2.25,-0.84,0.825));+#631=LINE('',#632,#27);+#632=CARTESIAN_POINT('',(1.8,-0.84,0.825));+#633=ORIENTED_EDGE('',*,*,#634,.F.);+#634=EDGE_CURVE('',#622,#629,#635,.T.);+#635=LINE('',#623,#58);+#636=PLANE('',#637);+#637=AXIS2_PLACEMENT_3D('',#625,#13,#28);+#638=ADVANCED_FACE('',(#639),#537,.F.);+#639=FACE_BOUND('',#640,.F.);+#640=EDGE_LOOP('',(#641,#647,#648,#654));+#641=ORIENTED_EDGE('',*,*,#642,.F.);+#642=EDGE_CURVE('',#205,#643,#645,.T.);+#643=VERTEX_POINT('',#644);+#644=CARTESIAN_POINT('',(1.95,-0.84,1.025));+#645=LINE('',#646,#370);+#646=CARTESIAN_POINT('',(1.95,-0.84,0.786976568901));+#647=ORIENTED_EDGE('',*,*,#204,.T.);+#648=ORIENTED_EDGE('',*,*,#649,.T.);+#649=EDGE_CURVE('',#201,#650,#652,.T.);+#650=VERTEX_POINT('',#651);+#651=CARTESIAN_POINT('',(1.95,-1.7,1.025));+#652=LINE('',#653,#370);+#653=CARTESIAN_POINT('',(1.95,-1.7,0.786976568901));+#654=ORIENTED_EDGE('',*,*,#655,.F.);+#655=EDGE_CURVE('',#643,#650,#295,.T.);+#656=ADVANCED_FACE('',(#657),#675,.F.);+#657=FACE_BOUND('',#658,.F.);+#658=EDGE_LOOP('',(#659,#665,#666,#672));+#659=ORIENTED_EDGE('',*,*,#660,.F.);+#660=EDGE_CURVE('',#201,#661,#663,.T.);+#661=VERTEX_POINT('',#662);+#662=CARTESIAN_POINT('',(2.25,-1.7,0.825));+#663=LINE('',#664,#27);+#664=CARTESIAN_POINT('',(1.8,-1.7,0.825));+#665=ORIENTED_EDGE('',*,*,#200,.T.);+#666=ORIENTED_EDGE('',*,*,#667,.T.);+#667=EDGE_CURVE('',#196,#668,#670,.T.);+#668=VERTEX_POINT('',#669);+#669=CARTESIAN_POINT('',(2.25,-2.11,0.825));+#670=LINE('',#671,#27);+#671=CARTESIAN_POINT('',(1.8,-2.11,0.825));+#672=ORIENTED_EDGE('',*,*,#673,.F.);+#673=EDGE_CURVE('',#661,#668,#674,.T.);+#674=LINE('',#662,#58);+#675=PLANE('',#676);+#676=AXIS2_PLACEMENT_3D('',#664,#13,#28);+#677=ADVANCED_FACE('',(#678),#537,.F.);+#678=FACE_BOUND('',#679,.F.);+#679=EDGE_LOOP('',(#680,#686,#687,#692));+#680=ORIENTED_EDGE('',*,*,#681,.F.);+#681=EDGE_CURVE('',#196,#682,#684,.T.);+#682=VERTEX_POINT('',#683);+#683=CARTESIAN_POINT('',(1.95,-2.11,1.025));+#684=LINE('',#685,#370);+#685=CARTESIAN_POINT('',(1.95,-2.11,0.786976568901));+#686=ORIENTED_EDGE('',*,*,#195,.T.);+#687=ORIENTED_EDGE('',*,*,#688,.T.);+#688=EDGE_CURVE('',#191,#689,#691,.T.);+#689=VERTEX_POINT('',#690);+#690=CARTESIAN_POINT('',(1.95,-2.275,1.025));+#691=B_SPLINE_CURVE_WITH_KNOTS('',1,(#192,#690),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#692=ORIENTED_EDGE('',*,*,#693,.F.);+#693=EDGE_CURVE('',#682,#689,#295,.T.);+#694=ADVANCED_FACE('',(#695),#707,.F.);+#695=FACE_BOUND('',#696,.F.);+#696=EDGE_LOOP('',(#697,#698,#699,#704));+#697=ORIENTED_EDGE('',*,*,#236,.T.);+#698=ORIENTED_EDGE('',*,*,#360,.T.);+#699=ORIENTED_EDGE('',*,*,#700,.F.);+#700=EDGE_CURVE('',#701,#361,#703,.T.);+#701=VERTEX_POINT('',#702);+#702=CARTESIAN_POINT('',(-1.775,-2.45,1.025));+#703=LINE('',#702,#79);+#704=ORIENTED_EDGE('',*,*,#705,.F.);+#705=EDGE_CURVE('',#237,#701,#706,.T.);+#706=B_SPLINE_CURVE_WITH_KNOTS('',1,(#238,#702),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#707=PLANE('',#708);+#708=AXIS2_PLACEMENT_3D('',#702,#92,#80);+#709=ADVANCED_FACE('',(#710),#722,.F.);+#710=FACE_BOUND('',#711,.F.);+#711=EDGE_LOOP('',(#712,#713,#718,#721));+#712=ORIENTED_EDGE('',*,*,#253,.T.);+#713=ORIENTED_EDGE('',*,*,#714,.T.);+#714=EDGE_CURVE('',#249,#715,#717,.T.);+#715=VERTEX_POINT('',#716);+#716=CARTESIAN_POINT('',(1.775,-2.45,1.025));+#717=B_SPLINE_CURVE_WITH_KNOTS('',1,(#250,#716),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#718=ORIENTED_EDGE('',*,*,#719,.F.);+#719=EDGE_CURVE('',#689,#715,#720,.T.);+#720=LINE('',#690,#65);+#721=ORIENTED_EDGE('',*,*,#688,.F.);+#722=PLANE('',#723);+#723=AXIS2_PLACEMENT_3D('',#690,#80,#66);+#724=ADVANCED_FACE('',(#725),#733,.F.);+#725=FACE_BOUND('',#726,.F.);+#726=EDGE_LOOP('',(#727,#728,#729,#732));+#727=ORIENTED_EDGE('',*,*,#262,.T.);+#728=ORIENTED_EDGE('',*,*,#705,.T.);+#729=ORIENTED_EDGE('',*,*,#730,.F.);+#730=EDGE_CURVE('',#715,#701,#731,.T.);+#731=LINE('',#716,#72);+#732=ORIENTED_EDGE('',*,*,#714,.F.);+#733=PLANE('',#734);+#734=AXIS2_PLACEMENT_3D('',#716,#87,#73);+#735=ADVANCED_FACE('',(#736),#756,.F.);+#736=FACE_BOUND('',#737,.F.);+#737=EDGE_LOOP('',(#738,#743,#747,#749,#750,#754));+#738=ORIENTED_EDGE('',*,*,#739,.F.);+#739=EDGE_CURVE('',#740,#490,#742,.T.);+#740=VERTEX_POINT('',#741);+#741=CARTESIAN_POINT('',(-2.25,1.7,1.025));+#742=LINE('',#741,#334);+#743=ORIENTED_EDGE('',*,*,#744,.T.);+#744=EDGE_CURVE('',#740,#745,#746,.T.);+#745=VERTEX_POINT('',#333);+#746=LINE('',#741,#396);+#747=ORIENTED_EDGE('',*,*,#748,.T.);+#748=EDGE_CURVE('',#745,#330,#332,.T.);+#749=ORIENTED_EDGE('',*,*,#329,.T.);+#750=ORIENTED_EDGE('',*,*,#751,.F.);+#751=EDGE_CURVE('',#752,#324,#326,.T.);+#752=VERTEX_POINT('',#753);+#753=CARTESIAN_POINT('',(-1.875,1.7,1.025));+#754=ORIENTED_EDGE('',*,*,#755,.F.);+#755=EDGE_CURVE('',#490,#752,#742,.T.);+#756=PLANE('',#757);+#757=AXIS2_PLACEMENT_3D('',#741,#758,#335);+#758=DIRECTION('',(0.,0.,-1.));+#759=ADVANCED_FACE('',(#760),#804,.F.);+#760=FACE_BOUND('',#761,.F.);+#761=EDGE_LOOP('',(#762,#767,#771,#775,#779,#783,#787,#789,#790,#791,#796,#801));+#762=ORIENTED_EDGE('',*,*,#763,.T.);+#763=EDGE_CURVE('',#764,#765,#326,.T.);+#764=VERTEX_POINT('',#327);+#765=VERTEX_POINT('',#766);+#766=CARTESIAN_POINT('',(-1.875,-2.11,1.025));+#767=ORIENTED_EDGE('',*,*,#768,.T.);+#768=EDGE_CURVE('',#765,#769,#326,.T.);+#769=VERTEX_POINT('',#770);+#770=CARTESIAN_POINT('',(-1.875,-1.7,1.025));+#771=ORIENTED_EDGE('',*,*,#772,.T.);+#772=EDGE_CURVE('',#769,#773,#326,.T.);+#773=VERTEX_POINT('',#774);+#774=CARTESIAN_POINT('',(-1.875,-0.84,1.025));+#775=ORIENTED_EDGE('',*,*,#776,.T.);+#776=EDGE_CURVE('',#773,#777,#326,.T.);+#777=VERTEX_POINT('',#778);+#778=CARTESIAN_POINT('',(-1.875,-0.43,1.025));+#779=ORIENTED_EDGE('',*,*,#780,.T.);+#780=EDGE_CURVE('',#777,#781,#326,.T.);+#781=VERTEX_POINT('',#782);+#782=CARTESIAN_POINT('',(-1.875,0.43,1.025));+#783=ORIENTED_EDGE('',*,*,#784,.T.);+#784=EDGE_CURVE('',#781,#785,#326,.T.);+#785=VERTEX_POINT('',#786);+#786=CARTESIAN_POINT('',(-1.875,0.84,1.025));+#787=ORIENTED_EDGE('',*,*,#788,.T.);+#788=EDGE_CURVE('',#785,#752,#326,.T.);+#789=ORIENTED_EDGE('',*,*,#751,.T.);+#790=ORIENTED_EDGE('',*,*,#323,.T.);+#791=ORIENTED_EDGE('',*,*,#792,.T.);+#792=EDGE_CURVE('',#319,#793,#795,.T.);+#793=VERTEX_POINT('',#794);+#794=CARTESIAN_POINT('',(-1.760171280765,2.180085640382,1.75));+#795=B_SPLINE_CURVE_WITH_KNOTS('',1,(#320,#794),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#796=ORIENTED_EDGE('',*,*,#797,.F.);+#797=EDGE_CURVE('',#798,#793,#800,.T.);+#798=VERTEX_POINT('',#799);+#799=CARTESIAN_POINT('',(-1.760171280765,-2.180085640382,1.75));+#800=LINE('',#799,#86);+#801=ORIENTED_EDGE('',*,*,#802,.F.);+#802=EDGE_CURVE('',#764,#798,#803,.T.);+#803=B_SPLINE_CURVE_WITH_KNOTS('',1,(#327,#799),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#804=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#327,#799),(#320,#794)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,4.475),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#805=ADVANCED_FACE('',(#806),#818,.F.);+#806=FACE_BOUND('',#807,.F.);+#807=EDGE_LOOP('',(#808,#809,#814,#817));+#808=ORIENTED_EDGE('',*,*,#318,.T.);+#809=ORIENTED_EDGE('',*,*,#810,.T.);+#810=EDGE_CURVE('',#314,#811,#813,.T.);+#811=VERTEX_POINT('',#812);+#812=CARTESIAN_POINT('',(-1.680085640382,2.260171280765,1.75));+#813=B_SPLINE_CURVE_WITH_KNOTS('',1,(#315,#812),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#814=ORIENTED_EDGE('',*,*,#815,.F.);+#815=EDGE_CURVE('',#793,#811,#816,.T.);+#816=LINE('',#794,#91);+#817=ORIENTED_EDGE('',*,*,#792,.F.);+#818=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#320,#794),(#315,#812)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.194454364826),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#819=ADVANCED_FACE('',(#820),#832,.F.);+#820=FACE_BOUND('',#821,.F.);+#821=EDGE_LOOP('',(#822,#823,#828,#831));+#822=ORIENTED_EDGE('',*,*,#313,.T.);+#823=ORIENTED_EDGE('',*,*,#824,.T.);+#824=EDGE_CURVE('',#309,#825,#827,.T.);+#825=VERTEX_POINT('',#826);+#826=CARTESIAN_POINT('',(1.680085640382,2.260171280765,1.75));+#827=B_SPLINE_CURVE_WITH_KNOTS('',1,(#310,#826),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#828=ORIENTED_EDGE('',*,*,#829,.F.);+#829=EDGE_CURVE('',#811,#825,#830,.T.);+#830=LINE('',#812,#27);+#831=ORIENTED_EDGE('',*,*,#810,.F.);+#832=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#315,#812),(#310,#826)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,3.475),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#833=ADVANCED_FACE('',(#834),#846,.F.);+#834=FACE_BOUND('',#835,.F.);+#835=EDGE_LOOP('',(#836,#837,#842,#845));+#836=ORIENTED_EDGE('',*,*,#308,.T.);+#837=ORIENTED_EDGE('',*,*,#838,.T.);+#838=EDGE_CURVE('',#304,#839,#841,.T.);+#839=VERTEX_POINT('',#840);+#840=CARTESIAN_POINT('',(1.760171280765,2.180085640382,1.75));+#841=B_SPLINE_CURVE_WITH_KNOTS('',1,(#305,#840),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#842=ORIENTED_EDGE('',*,*,#843,.F.);+#843=EDGE_CURVE('',#825,#839,#844,.T.);+#844=LINE('',#826,#51);+#845=ORIENTED_EDGE('',*,*,#824,.F.);+#846=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#310,#826),(#305,#840)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.194454364826),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#847=ADVANCED_FACE('',(#848),#892,.F.);+#848=FACE_BOUND('',#849,.F.);+#849=EDGE_LOOP('',(#850,#851,#855,#859,#863,#867,#871,#875,#879,#883,#888,#891));+#850=ORIENTED_EDGE('',*,*,#303,.T.);+#851=ORIENTED_EDGE('',*,*,#852,.T.);+#852=EDGE_CURVE('',#298,#853,#306,.T.);+#853=VERTEX_POINT('',#854);+#854=CARTESIAN_POINT('',(1.875,1.7,1.025));+#855=ORIENTED_EDGE('',*,*,#856,.T.);+#856=EDGE_CURVE('',#853,#857,#306,.T.);+#857=VERTEX_POINT('',#858);+#858=CARTESIAN_POINT('',(1.875,0.84,1.025));+#859=ORIENTED_EDGE('',*,*,#860,.T.);+#860=EDGE_CURVE('',#857,#861,#306,.T.);+#861=VERTEX_POINT('',#862);+#862=CARTESIAN_POINT('',(1.875,0.43,1.025));+#863=ORIENTED_EDGE('',*,*,#864,.T.);+#864=EDGE_CURVE('',#861,#865,#306,.T.);+#865=VERTEX_POINT('',#866);+#866=CARTESIAN_POINT('',(1.875,-0.43,1.025));+#867=ORIENTED_EDGE('',*,*,#868,.T.);+#868=EDGE_CURVE('',#865,#869,#306,.T.);+#869=VERTEX_POINT('',#870);+#870=CARTESIAN_POINT('',(1.875,-0.84,1.025));+#871=ORIENTED_EDGE('',*,*,#872,.T.);+#872=EDGE_CURVE('',#869,#873,#306,.T.);+#873=VERTEX_POINT('',#874);+#874=CARTESIAN_POINT('',(1.875,-1.7,1.025));+#875=ORIENTED_EDGE('',*,*,#876,.T.);+#876=EDGE_CURVE('',#873,#877,#306,.T.);+#877=VERTEX_POINT('',#878);+#878=CARTESIAN_POINT('',(1.875,-2.11,1.025));+#879=ORIENTED_EDGE('',*,*,#880,.T.);+#880=EDGE_CURVE('',#877,#881,#306,.T.);+#881=VERTEX_POINT('',#882);+#882=CARTESIAN_POINT('',(1.875,-2.2375,1.025));+#883=ORIENTED_EDGE('',*,*,#884,.T.);+#884=EDGE_CURVE('',#881,#885,#887,.T.);+#885=VERTEX_POINT('',#886);+#886=CARTESIAN_POINT('',(1.760171280765,-2.180085640382,1.75));+#887=B_SPLINE_CURVE_WITH_KNOTS('',1,(#882,#886),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#888=ORIENTED_EDGE('',*,*,#889,.F.);+#889=EDGE_CURVE('',#839,#885,#890,.T.);+#890=LINE('',#840,#58);+#891=ORIENTED_EDGE('',*,*,#838,.F.);+#892=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#305,#840),(#882,#886)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,4.475),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#893=ADVANCED_FACE('',(#894),#911,.F.);+#894=FACE_BOUND('',#895,.F.);+#895=EDGE_LOOP('',(#896,#899,#904,#907,#909,#910));+#896=ORIENTED_EDGE('',*,*,#897,.F.);+#897=EDGE_CURVE('',#898,#293,#300,.T.);+#898=VERTEX_POINT('',#301);+#899=ORIENTED_EDGE('',*,*,#900,.T.);+#900=EDGE_CURVE('',#898,#901,#903,.T.);+#901=VERTEX_POINT('',#902);+#902=CARTESIAN_POINT('',(2.25,1.7,1.025));+#903=LINE('',#301,#58);+#904=ORIENTED_EDGE('',*,*,#905,.T.);+#905=EDGE_CURVE('',#901,#565,#906,.T.);+#906=LINE('',#902,#72);+#907=ORIENTED_EDGE('',*,*,#908,.T.);+#908=EDGE_CURVE('',#565,#853,#906,.T.);+#909=ORIENTED_EDGE('',*,*,#852,.F.);+#910=ORIENTED_EDGE('',*,*,#297,.F.);+#911=PLANE('',#912);+#912=AXIS2_PLACEMENT_3D('',#301,#758,#73);+#913=ADVANCED_FACE('',(#914),#340,.F.);+#914=FACE_BOUND('',#915,.F.);+#915=EDGE_LOOP('',(#916,#917,#921,#922,#927,#932,#935,#936,#940,#941,#942,#943));+#916=ORIENTED_EDGE('',*,*,#372,.T.);+#917=ORIENTED_EDGE('',*,*,#918,.T.);+#918=EDGE_CURVE('',#366,#765,#919,.T.);+#919=LINE('',#920,#334);+#920=CARTESIAN_POINT('',(-2.25,-2.11,1.025));+#921=ORIENTED_EDGE('',*,*,#763,.F.);+#922=ORIENTED_EDGE('',*,*,#923,.F.);+#923=EDGE_CURVE('',#924,#764,#926,.T.);+#924=VERTEX_POINT('',#925);+#925=CARTESIAN_POINT('',(-1.7375,-2.375,1.025));+#926=LINE('',#925,#79);+#927=ORIENTED_EDGE('',*,*,#928,.F.);+#928=EDGE_CURVE('',#929,#924,#931,.T.);+#929=VERTEX_POINT('',#930);+#930=CARTESIAN_POINT('',(1.7375,-2.375,1.025));+#931=LINE('',#930,#72);+#932=ORIENTED_EDGE('',*,*,#933,.F.);+#933=EDGE_CURVE('',#881,#929,#934,.T.);+#934=LINE('',#882,#65);+#935=ORIENTED_EDGE('',*,*,#880,.F.);+#936=ORIENTED_EDGE('',*,*,#937,.F.);+#937=EDGE_CURVE('',#682,#877,#938,.T.);+#938=LINE('',#939,#72);+#939=CARTESIAN_POINT('',(2.25,-2.11,1.025));+#940=ORIENTED_EDGE('',*,*,#693,.T.);+#941=ORIENTED_EDGE('',*,*,#719,.T.);+#942=ORIENTED_EDGE('',*,*,#730,.T.);+#943=ORIENTED_EDGE('',*,*,#700,.T.);+#944=ADVANCED_FACE('',(#945),#1011,.F.);+#945=FACE_BOUND('',#946,.F.);+#946=EDGE_LOOP('',(#947,#948,#949,#958,#965,#974,#979,#984,#989,#996,#1003,#1009));+#947=ORIENTED_EDGE('',*,*,#365,.F.);+#948=ORIENTED_EDGE('',*,*,#379,.T.);+#949=ORIENTED_EDGE('',*,*,#950,.T.);+#950=EDGE_CURVE('',#380,#951,#953,.T.);+#951=VERTEX_POINT('',#952);+#952=CARTESIAN_POINT('',(-2.348480775301,-2.11,0.742364817767));+#953=CIRCLE('',#954,0.1);+#954=AXIS2_PLACEMENT_3D('',#955,#956,#957);+#955=CARTESIAN_POINT('',(-2.25,-2.11,0.725));+#956=DIRECTION('',(-1.144237745222E-17,-1.,3.284293275761E-47));+#957=DIRECTION('',(-4.440892098501E-15,5.081436361562E-32,1.));+#958=ORIENTED_EDGE('',*,*,#959,.T.);+#959=EDGE_CURVE('',#951,#960,#962,.T.);+#960=VERTEX_POINT('',#961);+#961=CARTESIAN_POINT('',(-2.429496640897,-2.11,0.2479055467));+#962=LINE('',#952,#963);+#963=VECTOR('',#964,1.);+#964=DIRECTION('',(-0.161691392282,1.850133941271E-18,-0.986841372087));+#965=ORIENTED_EDGE('',*,*,#966,.T.);+#966=EDGE_CURVE('',#960,#967,#969,.T.);+#967=VERTEX_POINT('',#968);+#968=CARTESIAN_POINT('',(-2.724938966801,-2.11,-1.665334536938E-16));+#969=CIRCLE('',#970,0.3);+#970=AXIS2_PLACEMENT_3D('',#971,#972,#973);+#971=CARTESIAN_POINT('',(-2.724938966801,-2.11,0.3));+#972=DIRECTION('',(1.144237745222E-17,1.,7.703719777549E-34));+#973=DIRECTION('',(0.984807753012,-1.126854202784E-17,-0.173648177667));+#974=ORIENTED_EDGE('',*,*,#975,.T.);+#975=EDGE_CURVE('',#967,#976,#978,.T.);+#976=VERTEX_POINT('',#977);+#977=CARTESIAN_POINT('',(-3.,-2.11,-1.665334536938E-16));+#978=LINE('',#968,#384);+#979=ORIENTED_EDGE('',*,*,#980,.T.);+#980=EDGE_CURVE('',#976,#981,#983,.T.);+#981=VERTEX_POINT('',#982);+#982=CARTESIAN_POINT('',(-3.,-2.11,0.2));+#983=LINE('',#977,#370);+#984=ORIENTED_EDGE('',*,*,#985,.T.);+#985=EDGE_CURVE('',#981,#986,#988,.T.);+#986=VERTEX_POINT('',#987);+#987=CARTESIAN_POINT('',(-2.724938966801,-2.11,0.2));+#988=LINE('',#982,#334);+#989=ORIENTED_EDGE('',*,*,#990,.T.);+#990=EDGE_CURVE('',#986,#991,#993,.T.);+#991=VERTEX_POINT('',#992);+#992=CARTESIAN_POINT('',(-2.6264581915,-2.11,0.282635182233));+#993=CIRCLE('',#994,1.E-01);+#994=AXIS2_PLACEMENT_3D('',#971,#995,#758);+#995=DIRECTION('',(-1.144237745222E-17,-1.,-0.));+#996=ORIENTED_EDGE('',*,*,#997,.T.);+#997=EDGE_CURVE('',#991,#998,#1000,.T.);+#998=VERTEX_POINT('',#999);+#999=CARTESIAN_POINT('',(-2.545442325904,-2.11,0.7770944533));+#1000=LINE('',#992,#1001);+#1001=VECTOR('',#1002,1.);+#1002=DIRECTION('',(0.161691392282,-1.850133941271E-18,0.986841372087));+#1003=ORIENTED_EDGE('',*,*,#1004,.T.);+#1004=EDGE_CURVE('',#998,#1005,#1006,.T.);+#1005=VERTEX_POINT('',#920);+#1006=CIRCLE('',#1007,0.3);+#1007=AXIS2_PLACEMENT_3D('',#955,#972,#1008);+#1008=DIRECTION('',(-0.984807753012,1.126854202784E-17,0.173648177667));+#1009=ORIENTED_EDGE('',*,*,#1010,.T.);+#1010=EDGE_CURVE('',#1005,#366,#919,.T.);+#1011=PLANE('',#1012);+#1012=AXIS2_PLACEMENT_3D('',#1013,#397,#13);+#1013=CARTESIAN_POINT('',(-2.42560961319,-2.11,0.548953137803));+#1014=ADVANCED_FACE('',(#1015),#1029,.F.);+#1015=FACE_BOUND('',#1016,.F.);+#1016=EDGE_LOOP('',(#1017,#1018,#1025,#1028));+#1017=ORIENTED_EDGE('',*,*,#394,.T.);+#1018=ORIENTED_EDGE('',*,*,#1019,.T.);+#1019=EDGE_CURVE('',#389,#1020,#1022,.T.);+#1020=VERTEX_POINT('',#1021);+#1021=CARTESIAN_POINT('',(-2.348480775301,-1.7,0.742364817767));+#1022=CIRCLE('',#1023,0.1);+#1023=AXIS2_PLACEMENT_3D('',#1024,#956,#957);+#1024=CARTESIAN_POINT('',(-2.25,-1.7,0.725));+#1025=ORIENTED_EDGE('',*,*,#1026,.F.);+#1026=EDGE_CURVE('',#951,#1020,#1027,.T.);+#1027=LINE('',#952,#396);+#1028=ORIENTED_EDGE('',*,*,#950,.F.);+#1029=CYLINDRICAL_SURFACE('',#1030,0.1);+#1030=AXIS2_PLACEMENT_3D('',#955,#1031,#957);+#1031=DIRECTION('',(-1.144237745222E-17,-1.,0.));+#1032=ADVANCED_FACE('',(#1033),#1082,.T.);+#1033=FACE_BOUND('',#1034,.T.);+#1034=EDGE_LOOP('',(#403,#387,#1018,#1035,#1040,#1047,#1052,#1057,#1062,#1068,#1073,#1079));+#1035=ORIENTED_EDGE('',*,*,#1036,.T.);+#1036=EDGE_CURVE('',#1020,#1037,#1039,.T.);+#1037=VERTEX_POINT('',#1038);+#1038=CARTESIAN_POINT('',(-2.429496640897,-1.7,0.2479055467));+#1039=LINE('',#1021,#963);+#1040=ORIENTED_EDGE('',*,*,#1041,.T.);+#1041=EDGE_CURVE('',#1037,#1042,#1044,.T.);+#1042=VERTEX_POINT('',#1043);+#1043=CARTESIAN_POINT('',(-2.724938966801,-1.7,-1.665334536938E-16));+#1044=CIRCLE('',#1045,0.3);+#1045=AXIS2_PLACEMENT_3D('',#1046,#972,#973);+#1046=CARTESIAN_POINT('',(-2.724938966801,-1.7,0.3));+#1047=ORIENTED_EDGE('',*,*,#1048,.T.);+#1048=EDGE_CURVE('',#1042,#1049,#1051,.T.);+#1049=VERTEX_POINT('',#1050);+#1050=CARTESIAN_POINT('',(-3.,-1.7,-1.665334536938E-16));+#1051=LINE('',#1043,#384);+#1052=ORIENTED_EDGE('',*,*,#1053,.T.);+#1053=EDGE_CURVE('',#1049,#1054,#1056,.T.);+#1054=VERTEX_POINT('',#1055);+#1055=CARTESIAN_POINT('',(-3.,-1.7,0.2));+#1056=LINE('',#1050,#370);+#1057=ORIENTED_EDGE('',*,*,#1058,.T.);+#1058=EDGE_CURVE('',#1054,#1059,#1061,.T.);+#1059=VERTEX_POINT('',#1060);+#1060=CARTESIAN_POINT('',(-2.724938966801,-1.7,0.2));+#1061=LINE('',#1055,#334);+#1062=ORIENTED_EDGE('',*,*,#1063,.T.);+#1063=EDGE_CURVE('',#1059,#1064,#1066,.T.);+#1064=VERTEX_POINT('',#1065);+#1065=CARTESIAN_POINT('',(-2.6264581915,-1.7,0.282635182233));+#1066=CIRCLE('',#1067,1.E-01);+#1067=AXIS2_PLACEMENT_3D('',#1046,#995,#758);+#1068=ORIENTED_EDGE('',*,*,#1069,.T.);+#1069=EDGE_CURVE('',#1064,#1070,#1072,.T.);+#1070=VERTEX_POINT('',#1071);+#1071=CARTESIAN_POINT('',(-2.545442325904,-1.7,0.7770944533));+#1072=LINE('',#1065,#1001);+#1073=ORIENTED_EDGE('',*,*,#1074,.T.);+#1074=EDGE_CURVE('',#1070,#1075,#1077,.T.);+#1075=VERTEX_POINT('',#1076);+#1076=CARTESIAN_POINT('',(-2.25,-1.7,1.025));+#1077=CIRCLE('',#1078,0.3);+#1078=AXIS2_PLACEMENT_3D('',#1024,#972,#1008);+#1079=ORIENTED_EDGE('',*,*,#1080,.T.);+#1080=EDGE_CURVE('',#1075,#405,#1081,.T.);+#1081=LINE('',#1076,#334);+#1082=PLANE('',#1083);+#1083=AXIS2_PLACEMENT_3D('',#1084,#397,#13);+#1084=CARTESIAN_POINT('',(-2.42560961319,-1.7,0.548953137803));+#1085=ADVANCED_FACE('',(#1086),#340,.F.);+#1086=FACE_BOUND('',#1087,.F.);+#1087=EDGE_LOOP('',(#1088,#1089,#1093,#1094));+#1088=ORIENTED_EDGE('',*,*,#417,.T.);+#1089=ORIENTED_EDGE('',*,*,#1090,.T.);+#1090=EDGE_CURVE('',#412,#773,#1091,.T.);+#1091=LINE('',#1092,#334);+#1092=CARTESIAN_POINT('',(-2.25,-0.84,1.025));+#1093=ORIENTED_EDGE('',*,*,#772,.F.);+#1094=ORIENTED_EDGE('',*,*,#1095,.F.);+#1095=EDGE_CURVE('',#405,#769,#1081,.T.);+#1096=ADVANCED_FACE('',(#1097),#1153,.F.);+#1097=FACE_BOUND('',#1098,.F.);+#1098=EDGE_LOOP('',(#1099,#1100,#1101,#1108,#1113,#1120,#1125,#1130,#1135,#1141,#1146,#1151));+#1099=ORIENTED_EDGE('',*,*,#411,.F.);+#1100=ORIENTED_EDGE('',*,*,#422,.T.);+#1101=ORIENTED_EDGE('',*,*,#1102,.T.);+#1102=EDGE_CURVE('',#423,#1103,#1105,.T.);+#1103=VERTEX_POINT('',#1104);+#1104=CARTESIAN_POINT('',(-2.348480775301,-0.84,0.742364817767));+#1105=CIRCLE('',#1106,0.1);+#1106=AXIS2_PLACEMENT_3D('',#1107,#956,#957);+#1107=CARTESIAN_POINT('',(-2.25,-0.84,0.725));+#1108=ORIENTED_EDGE('',*,*,#1109,.T.);+#1109=EDGE_CURVE('',#1103,#1110,#1112,.T.);+#1110=VERTEX_POINT('',#1111);+#1111=CARTESIAN_POINT('',(-2.429496640897,-0.84,0.2479055467));+#1112=LINE('',#1104,#963);+#1113=ORIENTED_EDGE('',*,*,#1114,.T.);+#1114=EDGE_CURVE('',#1110,#1115,#1117,.T.);+#1115=VERTEX_POINT('',#1116);+#1116=CARTESIAN_POINT('',(-2.724938966801,-0.84,-1.665334536938E-16));+#1117=CIRCLE('',#1118,0.3);+#1118=AXIS2_PLACEMENT_3D('',#1119,#972,#973);+#1119=CARTESIAN_POINT('',(-2.724938966801,-0.84,0.3));+#1120=ORIENTED_EDGE('',*,*,#1121,.T.);+#1121=EDGE_CURVE('',#1115,#1122,#1124,.T.);+#1122=VERTEX_POINT('',#1123);+#1123=CARTESIAN_POINT('',(-3.,-0.84,-1.665334536938E-16));+#1124=LINE('',#1116,#384);+#1125=ORIENTED_EDGE('',*,*,#1126,.T.);+#1126=EDGE_CURVE('',#1122,#1127,#1129,.T.);+#1127=VERTEX_POINT('',#1128);+#1128=CARTESIAN_POINT('',(-3.,-0.84,0.2));+#1129=LINE('',#1123,#370);+#1130=ORIENTED_EDGE('',*,*,#1131,.T.);+#1131=EDGE_CURVE('',#1127,#1132,#1134,.T.);+#1132=VERTEX_POINT('',#1133);+#1133=CARTESIAN_POINT('',(-2.724938966801,-0.84,0.2));+#1134=LINE('',#1128,#334);+#1135=ORIENTED_EDGE('',*,*,#1136,.T.);+#1136=EDGE_CURVE('',#1132,#1137,#1139,.T.);+#1137=VERTEX_POINT('',#1138);+#1138=CARTESIAN_POINT('',(-2.6264581915,-0.84,0.282635182233));+#1139=CIRCLE('',#1140,1.E-01);+#1140=AXIS2_PLACEMENT_3D('',#1119,#995,#758);+#1141=ORIENTED_EDGE('',*,*,#1142,.T.);+#1142=EDGE_CURVE('',#1137,#1143,#1145,.T.);+#1143=VERTEX_POINT('',#1144);+#1144=CARTESIAN_POINT('',(-2.545442325904,-0.84,0.7770944533));+#1145=LINE('',#1138,#1001);+#1146=ORIENTED_EDGE('',*,*,#1147,.T.);+#1147=EDGE_CURVE('',#1143,#1148,#1149,.T.);+#1148=VERTEX_POINT('',#1092);+#1149=CIRCLE('',#1150,0.3);+#1150=AXIS2_PLACEMENT_3D('',#1107,#972,#1008);+#1151=ORIENTED_EDGE('',*,*,#1152,.T.);+#1152=EDGE_CURVE('',#1148,#412,#1091,.T.);+#1153=PLANE('',#1154);+#1154=AXIS2_PLACEMENT_3D('',#1155,#397,#13);+#1155=CARTESIAN_POINT('',(-2.42560961319,-0.84,0.548953137803));+#1156=ADVANCED_FACE('',(#1157),#1171,.F.);+#1157=FACE_BOUND('',#1158,.F.);+#1158=EDGE_LOOP('',(#1159,#1160,#1167,#1170));+#1159=ORIENTED_EDGE('',*,*,#435,.T.);+#1160=ORIENTED_EDGE('',*,*,#1161,.T.);+#1161=EDGE_CURVE('',#430,#1162,#1164,.T.);+#1162=VERTEX_POINT('',#1163);+#1163=CARTESIAN_POINT('',(-2.348480775301,-0.43,0.742364817767));+#1164=CIRCLE('',#1165,0.1);+#1165=AXIS2_PLACEMENT_3D('',#1166,#956,#957);+#1166=CARTESIAN_POINT('',(-2.25,-0.43,0.725));+#1167=ORIENTED_EDGE('',*,*,#1168,.F.);+#1168=EDGE_CURVE('',#1103,#1162,#1169,.T.);+#1169=LINE('',#1104,#396);+#1170=ORIENTED_EDGE('',*,*,#1102,.F.);+#1171=CYLINDRICAL_SURFACE('',#1172,0.1);+#1172=AXIS2_PLACEMENT_3D('',#1107,#1031,#957);+#1173=ADVANCED_FACE('',(#1174),#1223,.T.);+#1174=FACE_BOUND('',#1175,.T.);+#1175=EDGE_LOOP('',(#442,#428,#1160,#1176,#1181,#1188,#1193,#1198,#1203,#1209,#1214,#1220));+#1176=ORIENTED_EDGE('',*,*,#1177,.T.);+#1177=EDGE_CURVE('',#1162,#1178,#1180,.T.);+#1178=VERTEX_POINT('',#1179);+#1179=CARTESIAN_POINT('',(-2.429496640897,-0.43,0.2479055467));+#1180=LINE('',#1163,#963);+#1181=ORIENTED_EDGE('',*,*,#1182,.T.);+#1182=EDGE_CURVE('',#1178,#1183,#1185,.T.);+#1183=VERTEX_POINT('',#1184);+#1184=CARTESIAN_POINT('',(-2.724938966801,-0.43,-1.665334536938E-16));+#1185=CIRCLE('',#1186,0.3);+#1186=AXIS2_PLACEMENT_3D('',#1187,#972,#973);+#1187=CARTESIAN_POINT('',(-2.724938966801,-0.43,0.3));+#1188=ORIENTED_EDGE('',*,*,#1189,.T.);+#1189=EDGE_CURVE('',#1183,#1190,#1192,.T.);+#1190=VERTEX_POINT('',#1191);+#1191=CARTESIAN_POINT('',(-3.,-0.43,-1.665334536938E-16));+#1192=LINE('',#1184,#384);+#1193=ORIENTED_EDGE('',*,*,#1194,.T.);+#1194=EDGE_CURVE('',#1190,#1195,#1197,.T.);+#1195=VERTEX_POINT('',#1196);+#1196=CARTESIAN_POINT('',(-3.,-0.43,0.2));+#1197=LINE('',#1191,#370);+#1198=ORIENTED_EDGE('',*,*,#1199,.T.);+#1199=EDGE_CURVE('',#1195,#1200,#1202,.T.);+#1200=VERTEX_POINT('',#1201);+#1201=CARTESIAN_POINT('',(-2.724938966801,-0.43,0.2));+#1202=LINE('',#1196,#334);+#1203=ORIENTED_EDGE('',*,*,#1204,.T.);+#1204=EDGE_CURVE('',#1200,#1205,#1207,.T.);+#1205=VERTEX_POINT('',#1206);+#1206=CARTESIAN_POINT('',(-2.6264581915,-0.43,0.282635182233));+#1207=CIRCLE('',#1208,1.E-01);+#1208=AXIS2_PLACEMENT_3D('',#1187,#995,#758);+#1209=ORIENTED_EDGE('',*,*,#1210,.T.);+#1210=EDGE_CURVE('',#1205,#1211,#1213,.T.);+#1211=VERTEX_POINT('',#1212);+#1212=CARTESIAN_POINT('',(-2.545442325904,-0.43,0.7770944533));+#1213=LINE('',#1206,#1001);+#1214=ORIENTED_EDGE('',*,*,#1215,.T.);+#1215=EDGE_CURVE('',#1211,#1216,#1218,.T.);+#1216=VERTEX_POINT('',#1217);+#1217=CARTESIAN_POINT('',(-2.25,-0.43,1.025));+#1218=CIRCLE('',#1219,0.3);+#1219=AXIS2_PLACEMENT_3D('',#1166,#972,#1008);+#1220=ORIENTED_EDGE('',*,*,#1221,.T.);+#1221=EDGE_CURVE('',#1216,#444,#1222,.T.);+#1222=LINE('',#1217,#334);+#1223=PLANE('',#1224);+#1224=AXIS2_PLACEMENT_3D('',#1225,#397,#13);+#1225=CARTESIAN_POINT('',(-2.42560961319,-0.43,0.548953137803));+#1226=ADVANCED_FACE('',(#1227),#340,.F.);+#1227=FACE_BOUND('',#1228,.F.);+#1228=EDGE_LOOP('',(#1229,#1230,#1234,#1235));+#1229=ORIENTED_EDGE('',*,*,#456,.T.);+#1230=ORIENTED_EDGE('',*,*,#1231,.T.);+#1231=EDGE_CURVE('',#451,#781,#1232,.T.);+#1232=LINE('',#1233,#334);+#1233=CARTESIAN_POINT('',(-2.25,0.43,1.025));+#1234=ORIENTED_EDGE('',*,*,#780,.F.);+#1235=ORIENTED_EDGE('',*,*,#1236,.F.);+#1236=EDGE_CURVE('',#444,#777,#1222,.T.);+#1237=ADVANCED_FACE('',(#1238),#1294,.F.);+#1238=FACE_BOUND('',#1239,.F.);+#1239=EDGE_LOOP('',(#1240,#1241,#1242,#1249,#1254,#1261,#1266,#1271,#1276,#1282,#1287,#1292));+#1240=ORIENTED_EDGE('',*,*,#450,.F.);+#1241=ORIENTED_EDGE('',*,*,#461,.T.);+#1242=ORIENTED_EDGE('',*,*,#1243,.T.);+#1243=EDGE_CURVE('',#462,#1244,#1246,.T.);+#1244=VERTEX_POINT('',#1245);+#1245=CARTESIAN_POINT('',(-2.348480775301,0.43,0.742364817767));+#1246=CIRCLE('',#1247,0.1);+#1247=AXIS2_PLACEMENT_3D('',#1248,#956,#957);+#1248=CARTESIAN_POINT('',(-2.25,0.43,0.725));+#1249=ORIENTED_EDGE('',*,*,#1250,.T.);+#1250=EDGE_CURVE('',#1244,#1251,#1253,.T.);+#1251=VERTEX_POINT('',#1252);+#1252=CARTESIAN_POINT('',(-2.429496640897,0.43,0.2479055467));+#1253=LINE('',#1245,#963);+#1254=ORIENTED_EDGE('',*,*,#1255,.T.);+#1255=EDGE_CURVE('',#1251,#1256,#1258,.T.);+#1256=VERTEX_POINT('',#1257);+#1257=CARTESIAN_POINT('',(-2.724938966801,0.43,-1.665334536938E-16));+#1258=CIRCLE('',#1259,0.3);+#1259=AXIS2_PLACEMENT_3D('',#1260,#972,#973);+#1260=CARTESIAN_POINT('',(-2.724938966801,0.43,0.3));+#1261=ORIENTED_EDGE('',*,*,#1262,.T.);+#1262=EDGE_CURVE('',#1256,#1263,#1265,.T.);+#1263=VERTEX_POINT('',#1264);+#1264=CARTESIAN_POINT('',(-3.,0.43,-1.665334536938E-16));+#1265=LINE('',#1257,#384);+#1266=ORIENTED_EDGE('',*,*,#1267,.T.);+#1267=EDGE_CURVE('',#1263,#1268,#1270,.T.);+#1268=VERTEX_POINT('',#1269);+#1269=CARTESIAN_POINT('',(-3.,0.43,0.2));+#1270=LINE('',#1264,#370);+#1271=ORIENTED_EDGE('',*,*,#1272,.T.);+#1272=EDGE_CURVE('',#1268,#1273,#1275,.T.);+#1273=VERTEX_POINT('',#1274);+#1274=CARTESIAN_POINT('',(-2.724938966801,0.43,0.2));+#1275=LINE('',#1269,#334);+#1276=ORIENTED_EDGE('',*,*,#1277,.T.);+#1277=EDGE_CURVE('',#1273,#1278,#1280,.T.);+#1278=VERTEX_POINT('',#1279);+#1279=CARTESIAN_POINT('',(-2.6264581915,0.43,0.282635182233));+#1280=CIRCLE('',#1281,1.E-01);+#1281=AXIS2_PLACEMENT_3D('',#1260,#995,#758);+#1282=ORIENTED_EDGE('',*,*,#1283,.T.);+#1283=EDGE_CURVE('',#1278,#1284,#1286,.T.);+#1284=VERTEX_POINT('',#1285);+#1285=CARTESIAN_POINT('',(-2.545442325904,0.43,0.7770944533));+#1286=LINE('',#1279,#1001);+#1287=ORIENTED_EDGE('',*,*,#1288,.T.);+#1288=EDGE_CURVE('',#1284,#1289,#1290,.T.);+#1289=VERTEX_POINT('',#1233);+#1290=CIRCLE('',#1291,0.3);+#1291=AXIS2_PLACEMENT_3D('',#1248,#972,#1008);+#1292=ORIENTED_EDGE('',*,*,#1293,.T.);+#1293=EDGE_CURVE('',#1289,#451,#1232,.T.);+#1294=PLANE('',#1295);+#1295=AXIS2_PLACEMENT_3D('',#1296,#397,#13);+#1296=CARTESIAN_POINT('',(-2.42560961319,0.43,0.548953137803));+#1297=ADVANCED_FACE('',(#1298),#1312,.F.);+#1298=FACE_BOUND('',#1299,.F.);+#1299=EDGE_LOOP('',(#1300,#1301,#1308,#1311));+#1300=ORIENTED_EDGE('',*,*,#474,.T.);+#1301=ORIENTED_EDGE('',*,*,#1302,.T.);+#1302=EDGE_CURVE('',#469,#1303,#1305,.T.);+#1303=VERTEX_POINT('',#1304);+#1304=CARTESIAN_POINT('',(-2.348480775301,0.84,0.742364817767));+#1305=CIRCLE('',#1306,0.1);+#1306=AXIS2_PLACEMENT_3D('',#1307,#956,#957);+#1307=CARTESIAN_POINT('',(-2.25,0.84,0.725));+#1308=ORIENTED_EDGE('',*,*,#1309,.F.);+#1309=EDGE_CURVE('',#1244,#1303,#1310,.T.);+#1310=LINE('',#1245,#396);+#1311=ORIENTED_EDGE('',*,*,#1243,.F.);+#1312=CYLINDRICAL_SURFACE('',#1313,0.1);+#1313=AXIS2_PLACEMENT_3D('',#1248,#1031,#957);+#1314=ADVANCED_FACE('',(#1315),#1364,.T.);+#1315=FACE_BOUND('',#1316,.T.);+#1316=EDGE_LOOP('',(#481,#467,#1301,#1317,#1322,#1329,#1334,#1339,#1344,#1350,#1355,#1361));+#1317=ORIENTED_EDGE('',*,*,#1318,.T.);+#1318=EDGE_CURVE('',#1303,#1319,#1321,.T.);+#1319=VERTEX_POINT('',#1320);+#1320=CARTESIAN_POINT('',(-2.429496640897,0.84,0.2479055467));+#1321=LINE('',#1304,#963);+#1322=ORIENTED_EDGE('',*,*,#1323,.T.);+#1323=EDGE_CURVE('',#1319,#1324,#1326,.T.);+#1324=VERTEX_POINT('',#1325);+#1325=CARTESIAN_POINT('',(-2.724938966801,0.84,-1.665334536938E-16));+#1326=CIRCLE('',#1327,0.3);+#1327=AXIS2_PLACEMENT_3D('',#1328,#972,#973);+#1328=CARTESIAN_POINT('',(-2.724938966801,0.84,0.3));+#1329=ORIENTED_EDGE('',*,*,#1330,.T.);+#1330=EDGE_CURVE('',#1324,#1331,#1333,.T.);+#1331=VERTEX_POINT('',#1332);+#1332=CARTESIAN_POINT('',(-3.,0.84,-1.665334536938E-16));+#1333=LINE('',#1325,#384);+#1334=ORIENTED_EDGE('',*,*,#1335,.T.);+#1335=EDGE_CURVE('',#1331,#1336,#1338,.T.);+#1336=VERTEX_POINT('',#1337);+#1337=CARTESIAN_POINT('',(-3.,0.84,0.2));+#1338=LINE('',#1332,#370);+#1339=ORIENTED_EDGE('',*,*,#1340,.T.);+#1340=EDGE_CURVE('',#1336,#1341,#1343,.T.);+#1341=VERTEX_POINT('',#1342);+#1342=CARTESIAN_POINT('',(-2.724938966801,0.84,0.2));+#1343=LINE('',#1337,#334);+#1344=ORIENTED_EDGE('',*,*,#1345,.T.);+#1345=EDGE_CURVE('',#1341,#1346,#1348,.T.);+#1346=VERTEX_POINT('',#1347);+#1347=CARTESIAN_POINT('',(-2.6264581915,0.84,0.282635182233));+#1348=CIRCLE('',#1349,1.E-01);+#1349=AXIS2_PLACEMENT_3D('',#1328,#995,#758);+#1350=ORIENTED_EDGE('',*,*,#1351,.T.);+#1351=EDGE_CURVE('',#1346,#1352,#1354,.T.);+#1352=VERTEX_POINT('',#1353);+#1353=CARTESIAN_POINT('',(-2.545442325904,0.84,0.7770944533));+#1354=LINE('',#1347,#1001);+#1355=ORIENTED_EDGE('',*,*,#1356,.T.);+#1356=EDGE_CURVE('',#1352,#1357,#1359,.T.);+#1357=VERTEX_POINT('',#1358);+#1358=CARTESIAN_POINT('',(-2.25,0.84,1.025));+#1359=CIRCLE('',#1360,0.3);+#1360=AXIS2_PLACEMENT_3D('',#1307,#972,#1008);+#1361=ORIENTED_EDGE('',*,*,#1362,.T.);+#1362=EDGE_CURVE('',#1357,#483,#1363,.T.);+#1363=LINE('',#1358,#334);+#1364=PLANE('',#1365);+#1365=AXIS2_PLACEMENT_3D('',#1366,#397,#13);+#1366=CARTESIAN_POINT('',(-2.42560961319,0.84,0.548953137803));+#1367=ADVANCED_FACE('',(#1368),#340,.F.);+#1368=FACE_BOUND('',#1369,.F.);+#1369=EDGE_LOOP('',(#1370,#1371,#1372,#1373));+#1370=ORIENTED_EDGE('',*,*,#495,.T.);+#1371=ORIENTED_EDGE('',*,*,#755,.T.);+#1372=ORIENTED_EDGE('',*,*,#788,.F.);+#1373=ORIENTED_EDGE('',*,*,#1374,.F.);+#1374=EDGE_CURVE('',#483,#785,#1363,.T.);+#1375=ADVANCED_FACE('',(#1376),#1430,.F.);+#1376=FACE_BOUND('',#1377,.F.);+#1377=EDGE_LOOP('',(#1378,#1379,#1380,#1387,#1392,#1399,#1404,#1409,#1414,#1420,#1425,#1429));+#1378=ORIENTED_EDGE('',*,*,#489,.F.);+#1379=ORIENTED_EDGE('',*,*,#500,.T.);+#1380=ORIENTED_EDGE('',*,*,#1381,.T.);+#1381=EDGE_CURVE('',#501,#1382,#1384,.T.);+#1382=VERTEX_POINT('',#1383);+#1383=CARTESIAN_POINT('',(-2.348480775301,1.7,0.742364817767));+#1384=CIRCLE('',#1385,0.1);+#1385=AXIS2_PLACEMENT_3D('',#1386,#956,#957);+#1386=CARTESIAN_POINT('',(-2.25,1.7,0.725));+#1387=ORIENTED_EDGE('',*,*,#1388,.T.);+#1388=EDGE_CURVE('',#1382,#1389,#1391,.T.);+#1389=VERTEX_POINT('',#1390);+#1390=CARTESIAN_POINT('',(-2.429496640897,1.7,0.2479055467));+#1391=LINE('',#1383,#963);+#1392=ORIENTED_EDGE('',*,*,#1393,.T.);+#1393=EDGE_CURVE('',#1389,#1394,#1396,.T.);+#1394=VERTEX_POINT('',#1395);+#1395=CARTESIAN_POINT('',(-2.724938966801,1.7,-1.665334536938E-16));+#1396=CIRCLE('',#1397,0.3);+#1397=AXIS2_PLACEMENT_3D('',#1398,#972,#973);+#1398=CARTESIAN_POINT('',(-2.724938966801,1.7,0.3));+#1399=ORIENTED_EDGE('',*,*,#1400,.T.);+#1400=EDGE_CURVE('',#1394,#1401,#1403,.T.);+#1401=VERTEX_POINT('',#1402);+#1402=CARTESIAN_POINT('',(-3.,1.7,-1.665334536938E-16));+#1403=LINE('',#1395,#384);+#1404=ORIENTED_EDGE('',*,*,#1405,.T.);+#1405=EDGE_CURVE('',#1401,#1406,#1408,.T.);+#1406=VERTEX_POINT('',#1407);+#1407=CARTESIAN_POINT('',(-3.,1.7,0.2));+#1408=LINE('',#1402,#370);+#1409=ORIENTED_EDGE('',*,*,#1410,.T.);+#1410=EDGE_CURVE('',#1406,#1411,#1413,.T.);+#1411=VERTEX_POINT('',#1412);+#1412=CARTESIAN_POINT('',(-2.724938966801,1.7,0.2));+#1413=LINE('',#1407,#334);+#1414=ORIENTED_EDGE('',*,*,#1415,.T.);+#1415=EDGE_CURVE('',#1411,#1416,#1418,.T.);+#1416=VERTEX_POINT('',#1417);+#1417=CARTESIAN_POINT('',(-2.6264581915,1.7,0.282635182233));+#1418=CIRCLE('',#1419,1.E-01);+#1419=AXIS2_PLACEMENT_3D('',#1398,#995,#758);+#1420=ORIENTED_EDGE('',*,*,#1421,.T.);+#1421=EDGE_CURVE('',#1416,#1422,#1424,.T.);+#1422=VERTEX_POINT('',#1423);+#1423=CARTESIAN_POINT('',(-2.545442325904,1.7,0.7770944533));+#1424=LINE('',#1417,#1001);+#1425=ORIENTED_EDGE('',*,*,#1426,.T.);+#1426=EDGE_CURVE('',#1422,#740,#1427,.T.);+#1427=CIRCLE('',#1428,0.3);+#1428=AXIS2_PLACEMENT_3D('',#1386,#972,#1008);+#1429=ORIENTED_EDGE('',*,*,#739,.T.);+#1430=PLANE('',#1431);+#1431=AXIS2_PLACEMENT_3D('',#1432,#397,#13);+#1432=CARTESIAN_POINT('',(-2.42560961319,1.7,0.548953137803));+#1433=ADVANCED_FACE('',(#1434),#1448,.F.);+#1434=FACE_BOUND('',#1435,.F.);+#1435=EDGE_LOOP('',(#1436,#1437,#1444,#1447));+#1436=ORIENTED_EDGE('',*,*,#513,.T.);+#1437=ORIENTED_EDGE('',*,*,#1438,.T.);+#1438=EDGE_CURVE('',#508,#1439,#1441,.T.);+#1439=VERTEX_POINT('',#1440);+#1440=CARTESIAN_POINT('',(-2.348480775301,2.11,0.742364817767));+#1441=CIRCLE('',#1442,0.1);+#1442=AXIS2_PLACEMENT_3D('',#1443,#956,#957);+#1443=CARTESIAN_POINT('',(-2.25,2.11,0.725));+#1444=ORIENTED_EDGE('',*,*,#1445,.F.);+#1445=EDGE_CURVE('',#1382,#1439,#1446,.T.);+#1446=LINE('',#1383,#396);+#1447=ORIENTED_EDGE('',*,*,#1381,.F.);+#1448=CYLINDRICAL_SURFACE('',#1449,0.1);+#1449=AXIS2_PLACEMENT_3D('',#1386,#1031,#957);+#1450=ADVANCED_FACE('',(#1451),#1495,.T.);+#1451=FACE_BOUND('',#1452,.T.);+#1452=EDGE_LOOP('',(#520,#506,#1437,#1453,#1458,#1465,#1470,#1475,#1480,#1486,#1491,#747));+#1453=ORIENTED_EDGE('',*,*,#1454,.T.);+#1454=EDGE_CURVE('',#1439,#1455,#1457,.T.);+#1455=VERTEX_POINT('',#1456);+#1456=CARTESIAN_POINT('',(-2.429496640897,2.11,0.2479055467));+#1457=LINE('',#1440,#963);+#1458=ORIENTED_EDGE('',*,*,#1459,.T.);+#1459=EDGE_CURVE('',#1455,#1460,#1462,.T.);+#1460=VERTEX_POINT('',#1461);+#1461=CARTESIAN_POINT('',(-2.724938966801,2.11,-1.665334536938E-16));+#1462=CIRCLE('',#1463,0.3);+#1463=AXIS2_PLACEMENT_3D('',#1464,#972,#973);+#1464=CARTESIAN_POINT('',(-2.724938966801,2.11,0.3));+#1465=ORIENTED_EDGE('',*,*,#1466,.T.);+#1466=EDGE_CURVE('',#1460,#1467,#1469,.T.);+#1467=VERTEX_POINT('',#1468);+#1468=CARTESIAN_POINT('',(-3.,2.11,-1.665334536938E-16));+#1469=LINE('',#1461,#384);+#1470=ORIENTED_EDGE('',*,*,#1471,.T.);+#1471=EDGE_CURVE('',#1467,#1472,#1474,.T.);+#1472=VERTEX_POINT('',#1473);+#1473=CARTESIAN_POINT('',(-3.,2.11,0.2));+#1474=LINE('',#1468,#370);+#1475=ORIENTED_EDGE('',*,*,#1476,.T.);+#1476=EDGE_CURVE('',#1472,#1477,#1479,.T.);+#1477=VERTEX_POINT('',#1478);+#1478=CARTESIAN_POINT('',(-2.724938966801,2.11,0.2));+#1479=LINE('',#1473,#334);+#1480=ORIENTED_EDGE('',*,*,#1481,.T.);+#1481=EDGE_CURVE('',#1477,#1482,#1484,.T.);+#1482=VERTEX_POINT('',#1483);+#1483=CARTESIAN_POINT('',(-2.6264581915,2.11,0.282635182233));+#1484=CIRCLE('',#1485,1.E-01);+#1485=AXIS2_PLACEMENT_3D('',#1464,#995,#758);+#1486=ORIENTED_EDGE('',*,*,#1487,.T.);+#1487=EDGE_CURVE('',#1482,#1488,#1490,.T.);+#1488=VERTEX_POINT('',#1489);+#1489=CARTESIAN_POINT('',(-2.545442325904,2.11,0.7770944533));+#1490=LINE('',#1483,#1001);+#1491=ORIENTED_EDGE('',*,*,#1492,.T.);+#1492=EDGE_CURVE('',#1488,#745,#1493,.T.);+#1493=CIRCLE('',#1494,0.3);+#1494=AXIS2_PLACEMENT_3D('',#1443,#972,#1008);+#1495=PLANE('',#1496);+#1496=AXIS2_PLACEMENT_3D('',#1497,#397,#13);+#1497=CARTESIAN_POINT('',(-2.42560961319,2.11,0.548953137803));+#1498=ADVANCED_FACE('',(#1499),#1560,.F.);+#1499=FACE_BOUND('',#1500,.F.);+#1500=EDGE_LOOP('',(#1501,#1502,#1503,#1511,#1518,#1526,#1531,#1536,#1541,#1547,#1554,#1559));+#1501=ORIENTED_EDGE('',*,*,#533,.F.);+#1502=ORIENTED_EDGE('',*,*,#543,.T.);+#1503=ORIENTED_EDGE('',*,*,#1504,.T.);+#1504=EDGE_CURVE('',#544,#1505,#1507,.T.);+#1505=VERTEX_POINT('',#1506);+#1506=CARTESIAN_POINT('',(2.348480775301,2.11,0.742364817767));+#1507=CIRCLE('',#1508,0.1);+#1508=AXIS2_PLACEMENT_3D('',#1509,#87,#1510);+#1509=CARTESIAN_POINT('',(2.25,2.11,0.725));+#1510=DIRECTION('',(4.440892098501E-15,4.930380657631E-31,1.));+#1511=ORIENTED_EDGE('',*,*,#1512,.T.);+#1512=EDGE_CURVE('',#1505,#1513,#1515,.T.);+#1513=VERTEX_POINT('',#1514);+#1514=CARTESIAN_POINT('',(2.429496640897,2.11,0.2479055467));+#1515=LINE('',#1506,#1516);+#1516=VECTOR('',#1517,1.);+#1517=DIRECTION('',(0.161691392282,1.795135065957E-17,-0.986841372087));+#1518=ORIENTED_EDGE('',*,*,#1519,.T.);+#1519=EDGE_CURVE('',#1513,#1520,#1522,.T.);+#1520=VERTEX_POINT('',#1521);+#1521=CARTESIAN_POINT('',(2.724938966801,2.11,-1.665334536938E-16));+#1522=CIRCLE('',#1523,0.3);+#1523=AXIS2_PLACEMENT_3D('',#1524,#59,#1525);+#1524=CARTESIAN_POINT('',(2.724938966801,2.11,0.3));+#1525=DIRECTION('',(-0.984807753012,-1.093356242224E-16,-0.173648177667));+#1526=ORIENTED_EDGE('',*,*,#1527,.T.);+#1527=EDGE_CURVE('',#1520,#1528,#1530,.T.);+#1528=VERTEX_POINT('',#1529);+#1529=CARTESIAN_POINT('',(3.,2.11,-1.665334536938E-16));+#1530=LINE('',#1521,#27);+#1531=ORIENTED_EDGE('',*,*,#1532,.T.);+#1532=EDGE_CURVE('',#1528,#1533,#1535,.T.);+#1533=VERTEX_POINT('',#1534);+#1534=CARTESIAN_POINT('',(3.,2.11,0.2));+#1535=LINE('',#1529,#370);+#1536=ORIENTED_EDGE('',*,*,#1537,.T.);+#1537=EDGE_CURVE('',#1533,#1538,#1540,.T.);+#1538=VERTEX_POINT('',#1539);+#1539=CARTESIAN_POINT('',(2.724938966801,2.11,0.2));+#1540=LINE('',#1534,#72);+#1541=ORIENTED_EDGE('',*,*,#1542,.T.);+#1542=EDGE_CURVE('',#1538,#1543,#1545,.T.);+#1543=VERTEX_POINT('',#1544);+#1544=CARTESIAN_POINT('',(2.6264581915,2.11,0.282635182233));+#1545=CIRCLE('',#1546,1.E-01);+#1546=AXIS2_PLACEMENT_3D('',#1524,#87,#758);+#1547=ORIENTED_EDGE('',*,*,#1548,.T.);+#1548=EDGE_CURVE('',#1543,#1549,#1551,.T.);+#1549=VERTEX_POINT('',#1550);+#1550=CARTESIAN_POINT('',(2.545442325904,2.11,0.7770944533));+#1551=LINE('',#1544,#1552);+#1552=VECTOR('',#1553,1.);+#1553=DIRECTION('',(-0.161691392282,-1.795135065957E-17,0.986841372087));+#1554=ORIENTED_EDGE('',*,*,#1555,.T.);+#1555=EDGE_CURVE('',#1549,#898,#1556,.T.);+#1556=CIRCLE('',#1557,0.3);+#1557=AXIS2_PLACEMENT_3D('',#1509,#59,#1558);+#1558=DIRECTION('',(0.984807753012,1.093356242224E-16,0.173648177667));+#1559=ORIENTED_EDGE('',*,*,#897,.T.);+#1560=PLANE('',#1561);+#1561=AXIS2_PLACEMENT_3D('',#1562,#59,#13);+#1562=CARTESIAN_POINT('',(2.42560961319,2.11,0.548953137803));+#1563=ADVANCED_FACE('',(#1564),#1578,.F.);+#1564=FACE_BOUND('',#1565,.F.);+#1565=EDGE_LOOP('',(#1566,#1567,#1574,#1577));+#1566=ORIENTED_EDGE('',*,*,#556,.T.);+#1567=ORIENTED_EDGE('',*,*,#1568,.T.);+#1568=EDGE_CURVE('',#551,#1569,#1571,.T.);+#1569=VERTEX_POINT('',#1570);+#1570=CARTESIAN_POINT('',(2.348480775301,1.7,0.742364817767));+#1571=CIRCLE('',#1572,0.1);+#1572=AXIS2_PLACEMENT_3D('',#1573,#87,#1510);+#1573=CARTESIAN_POINT('',(2.25,1.7,0.725));+#1574=ORIENTED_EDGE('',*,*,#1575,.F.);+#1575=EDGE_CURVE('',#1505,#1569,#1576,.T.);+#1576=LINE('',#1506,#58);+#1577=ORIENTED_EDGE('',*,*,#1504,.F.);+#1578=CYLINDRICAL_SURFACE('',#1508,0.1);+#1579=ADVANCED_FACE('',(#1580),#1624,.T.);+#1580=FACE_BOUND('',#1581,.T.);+#1581=EDGE_LOOP('',(#563,#549,#1567,#1582,#1587,#1594,#1599,#1604,#1609,#1615,#1620,#904));+#1582=ORIENTED_EDGE('',*,*,#1583,.T.);+#1583=EDGE_CURVE('',#1569,#1584,#1586,.T.);+#1584=VERTEX_POINT('',#1585);+#1585=CARTESIAN_POINT('',(2.429496640897,1.7,0.2479055467));+#1586=LINE('',#1570,#1516);+#1587=ORIENTED_EDGE('',*,*,#1588,.T.);+#1588=EDGE_CURVE('',#1584,#1589,#1591,.T.);+#1589=VERTEX_POINT('',#1590);+#1590=CARTESIAN_POINT('',(2.724938966801,1.7,-1.665334536938E-16));+#1591=CIRCLE('',#1592,0.3);+#1592=AXIS2_PLACEMENT_3D('',#1593,#59,#1525);+#1593=CARTESIAN_POINT('',(2.724938966801,1.7,0.3));+#1594=ORIENTED_EDGE('',*,*,#1595,.T.);+#1595=EDGE_CURVE('',#1589,#1596,#1598,.T.);+#1596=VERTEX_POINT('',#1597);+#1597=CARTESIAN_POINT('',(3.,1.7,-1.665334536938E-16));+#1598=LINE('',#1590,#27);+#1599=ORIENTED_EDGE('',*,*,#1600,.T.);+#1600=EDGE_CURVE('',#1596,#1601,#1603,.T.);+#1601=VERTEX_POINT('',#1602);+#1602=CARTESIAN_POINT('',(3.,1.7,0.2));+#1603=LINE('',#1597,#370);+#1604=ORIENTED_EDGE('',*,*,#1605,.T.);+#1605=EDGE_CURVE('',#1601,#1606,#1608,.T.);+#1606=VERTEX_POINT('',#1607);+#1607=CARTESIAN_POINT('',(2.724938966801,1.7,0.2));+#1608=LINE('',#1602,#72);+#1609=ORIENTED_EDGE('',*,*,#1610,.T.);+#1610=EDGE_CURVE('',#1606,#1611,#1613,.T.);+#1611=VERTEX_POINT('',#1612);+#1612=CARTESIAN_POINT('',(2.6264581915,1.7,0.282635182233));+#1613=CIRCLE('',#1614,1.E-01);+#1614=AXIS2_PLACEMENT_3D('',#1593,#87,#758);+#1615=ORIENTED_EDGE('',*,*,#1616,.T.);+#1616=EDGE_CURVE('',#1611,#1617,#1619,.T.);+#1617=VERTEX_POINT('',#1618);+#1618=CARTESIAN_POINT('',(2.545442325904,1.7,0.7770944533));+#1619=LINE('',#1612,#1552);+#1620=ORIENTED_EDGE('',*,*,#1621,.T.);+#1621=EDGE_CURVE('',#1617,#901,#1622,.T.);+#1622=CIRCLE('',#1623,0.3);+#1623=AXIS2_PLACEMENT_3D('',#1573,#59,#1558);+#1624=PLANE('',#1625);+#1625=AXIS2_PLACEMENT_3D('',#1626,#59,#13);+#1626=CARTESIAN_POINT('',(2.42560961319,1.7,0.548953137803));+#1627=ADVANCED_FACE('',(#1628),#340,.F.);+#1628=FACE_BOUND('',#1629,.F.);+#1629=EDGE_LOOP('',(#1630,#1631,#1632,#1636));+#1630=ORIENTED_EDGE('',*,*,#908,.F.);+#1631=ORIENTED_EDGE('',*,*,#577,.T.);+#1632=ORIENTED_EDGE('',*,*,#1633,.T.);+#1633=EDGE_CURVE('',#572,#857,#1634,.T.);+#1634=LINE('',#1635,#72);+#1635=CARTESIAN_POINT('',(2.25,0.84,1.025));+#1636=ORIENTED_EDGE('',*,*,#856,.F.);+#1637=ADVANCED_FACE('',(#1638),#1694,.F.);+#1638=FACE_BOUND('',#1639,.F.);+#1639=EDGE_LOOP('',(#1640,#1641,#1642,#1649,#1654,#1661,#1666,#1671,#1676,#1682,#1687,#1692));+#1640=ORIENTED_EDGE('',*,*,#571,.F.);+#1641=ORIENTED_EDGE('',*,*,#582,.T.);+#1642=ORIENTED_EDGE('',*,*,#1643,.T.);+#1643=EDGE_CURVE('',#583,#1644,#1646,.T.);+#1644=VERTEX_POINT('',#1645);+#1645=CARTESIAN_POINT('',(2.348480775301,0.84,0.742364817767));+#1646=CIRCLE('',#1647,0.1);+#1647=AXIS2_PLACEMENT_3D('',#1648,#87,#1510);+#1648=CARTESIAN_POINT('',(2.25,0.84,0.725));+#1649=ORIENTED_EDGE('',*,*,#1650,.T.);+#1650=EDGE_CURVE('',#1644,#1651,#1653,.T.);+#1651=VERTEX_POINT('',#1652);+#1652=CARTESIAN_POINT('',(2.429496640897,0.84,0.2479055467));+#1653=LINE('',#1645,#1516);+#1654=ORIENTED_EDGE('',*,*,#1655,.T.);+#1655=EDGE_CURVE('',#1651,#1656,#1658,.T.);+#1656=VERTEX_POINT('',#1657);+#1657=CARTESIAN_POINT('',(2.724938966801,0.84,-1.665334536938E-16));+#1658=CIRCLE('',#1659,0.3);+#1659=AXIS2_PLACEMENT_3D('',#1660,#59,#1525);+#1660=CARTESIAN_POINT('',(2.724938966801,0.84,0.3));+#1661=ORIENTED_EDGE('',*,*,#1662,.T.);+#1662=EDGE_CURVE('',#1656,#1663,#1665,.T.);+#1663=VERTEX_POINT('',#1664);+#1664=CARTESIAN_POINT('',(3.,0.84,-1.665334536938E-16));+#1665=LINE('',#1657,#27);+#1666=ORIENTED_EDGE('',*,*,#1667,.T.);+#1667=EDGE_CURVE('',#1663,#1668,#1670,.T.);+#1668=VERTEX_POINT('',#1669);+#1669=CARTESIAN_POINT('',(3.,0.84,0.2));+#1670=LINE('',#1664,#370);+#1671=ORIENTED_EDGE('',*,*,#1672,.T.);+#1672=EDGE_CURVE('',#1668,#1673,#1675,.T.);+#1673=VERTEX_POINT('',#1674);+#1674=CARTESIAN_POINT('',(2.724938966801,0.84,0.2));+#1675=LINE('',#1669,#72);+#1676=ORIENTED_EDGE('',*,*,#1677,.T.);+#1677=EDGE_CURVE('',#1673,#1678,#1680,.T.);+#1678=VERTEX_POINT('',#1679);+#1679=CARTESIAN_POINT('',(2.6264581915,0.84,0.282635182233));+#1680=CIRCLE('',#1681,1.E-01);+#1681=AXIS2_PLACEMENT_3D('',#1660,#87,#758);+#1682=ORIENTED_EDGE('',*,*,#1683,.T.);+#1683=EDGE_CURVE('',#1678,#1684,#1686,.T.);+#1684=VERTEX_POINT('',#1685);+#1685=CARTESIAN_POINT('',(2.545442325904,0.84,0.7770944533));+#1686=LINE('',#1679,#1552);+#1687=ORIENTED_EDGE('',*,*,#1688,.T.);+#1688=EDGE_CURVE('',#1684,#1689,#1690,.T.);+#1689=VERTEX_POINT('',#1635);+#1690=CIRCLE('',#1691,0.3);+#1691=AXIS2_PLACEMENT_3D('',#1648,#59,#1558);+#1692=ORIENTED_EDGE('',*,*,#1693,.T.);+#1693=EDGE_CURVE('',#1689,#572,#1634,.T.);+#1694=PLANE('',#1695);+#1695=AXIS2_PLACEMENT_3D('',#1696,#59,#13);+#1696=CARTESIAN_POINT('',(2.42560961319,0.84,0.548953137803));+#1697=ADVANCED_FACE('',(#1698),#1712,.F.);+#1698=FACE_BOUND('',#1699,.F.);+#1699=EDGE_LOOP('',(#1700,#1701,#1708,#1711));+#1700=ORIENTED_EDGE('',*,*,#595,.T.);+#1701=ORIENTED_EDGE('',*,*,#1702,.T.);+#1702=EDGE_CURVE('',#590,#1703,#1705,.T.);+#1703=VERTEX_POINT('',#1704);+#1704=CARTESIAN_POINT('',(2.348480775301,0.43,0.742364817767));+#1705=CIRCLE('',#1706,0.1);+#1706=AXIS2_PLACEMENT_3D('',#1707,#87,#1510);+#1707=CARTESIAN_POINT('',(2.25,0.43,0.725));+#1708=ORIENTED_EDGE('',*,*,#1709,.F.);+#1709=EDGE_CURVE('',#1644,#1703,#1710,.T.);+#1710=LINE('',#1645,#58);+#1711=ORIENTED_EDGE('',*,*,#1643,.F.);+#1712=CYLINDRICAL_SURFACE('',#1647,0.1);+#1713=ADVANCED_FACE('',(#1714),#1763,.T.);+#1714=FACE_BOUND('',#1715,.T.);+#1715=EDGE_LOOP('',(#602,#588,#1701,#1716,#1721,#1728,#1733,#1738,#1743,#1749,#1754,#1760));+#1716=ORIENTED_EDGE('',*,*,#1717,.T.);+#1717=EDGE_CURVE('',#1703,#1718,#1720,.T.);+#1718=VERTEX_POINT('',#1719);+#1719=CARTESIAN_POINT('',(2.429496640897,0.43,0.2479055467));+#1720=LINE('',#1704,#1516);+#1721=ORIENTED_EDGE('',*,*,#1722,.T.);+#1722=EDGE_CURVE('',#1718,#1723,#1725,.T.);+#1723=VERTEX_POINT('',#1724);+#1724=CARTESIAN_POINT('',(2.724938966801,0.43,-1.665334536938E-16));+#1725=CIRCLE('',#1726,0.3);+#1726=AXIS2_PLACEMENT_3D('',#1727,#59,#1525);+#1727=CARTESIAN_POINT('',(2.724938966801,0.43,0.3));+#1728=ORIENTED_EDGE('',*,*,#1729,.T.);+#1729=EDGE_CURVE('',#1723,#1730,#1732,.T.);+#1730=VERTEX_POINT('',#1731);+#1731=CARTESIAN_POINT('',(3.,0.43,-1.665334536938E-16));+#1732=LINE('',#1724,#27);+#1733=ORIENTED_EDGE('',*,*,#1734,.T.);+#1734=EDGE_CURVE('',#1730,#1735,#1737,.T.);+#1735=VERTEX_POINT('',#1736);+#1736=CARTESIAN_POINT('',(3.,0.43,0.2));+#1737=LINE('',#1731,#370);+#1738=ORIENTED_EDGE('',*,*,#1739,.T.);+#1739=EDGE_CURVE('',#1735,#1740,#1742,.T.);+#1740=VERTEX_POINT('',#1741);+#1741=CARTESIAN_POINT('',(2.724938966801,0.43,0.2));+#1742=LINE('',#1736,#72);+#1743=ORIENTED_EDGE('',*,*,#1744,.T.);+#1744=EDGE_CURVE('',#1740,#1745,#1747,.T.);+#1745=VERTEX_POINT('',#1746);+#1746=CARTESIAN_POINT('',(2.6264581915,0.43,0.282635182233));+#1747=CIRCLE('',#1748,1.E-01);+#1748=AXIS2_PLACEMENT_3D('',#1727,#87,#758);+#1749=ORIENTED_EDGE('',*,*,#1750,.T.);+#1750=EDGE_CURVE('',#1745,#1751,#1753,.T.);+#1751=VERTEX_POINT('',#1752);+#1752=CARTESIAN_POINT('',(2.545442325904,0.43,0.7770944533));+#1753=LINE('',#1746,#1552);+#1754=ORIENTED_EDGE('',*,*,#1755,.T.);+#1755=EDGE_CURVE('',#1751,#1756,#1758,.T.);+#1756=VERTEX_POINT('',#1757);+#1757=CARTESIAN_POINT('',(2.25,0.43,1.025));+#1758=CIRCLE('',#1759,0.3);+#1759=AXIS2_PLACEMENT_3D('',#1707,#59,#1558);+#1760=ORIENTED_EDGE('',*,*,#1761,.T.);+#1761=EDGE_CURVE('',#1756,#604,#1762,.T.);+#1762=LINE('',#1757,#72);+#1763=PLANE('',#1764);+#1764=AXIS2_PLACEMENT_3D('',#1765,#59,#13);+#1765=CARTESIAN_POINT('',(2.42560961319,0.43,0.548953137803));+#1766=ADVANCED_FACE('',(#1767),#340,.F.);+#1767=FACE_BOUND('',#1768,.F.);+#1768=EDGE_LOOP('',(#1769,#1771,#1772,#1776));+#1769=ORIENTED_EDGE('',*,*,#1770,.F.);+#1770=EDGE_CURVE('',#604,#861,#1762,.T.);+#1771=ORIENTED_EDGE('',*,*,#616,.T.);+#1772=ORIENTED_EDGE('',*,*,#1773,.T.);+#1773=EDGE_CURVE('',#611,#865,#1774,.T.);+#1774=LINE('',#1775,#72);+#1775=CARTESIAN_POINT('',(2.25,-0.43,1.025));+#1776=ORIENTED_EDGE('',*,*,#864,.F.);+#1777=ADVANCED_FACE('',(#1778),#1834,.F.);+#1778=FACE_BOUND('',#1779,.F.);+#1779=EDGE_LOOP('',(#1780,#1781,#1782,#1789,#1794,#1801,#1806,#1811,#1816,#1822,#1827,#1832));+#1780=ORIENTED_EDGE('',*,*,#610,.F.);+#1781=ORIENTED_EDGE('',*,*,#621,.T.);+#1782=ORIENTED_EDGE('',*,*,#1783,.T.);+#1783=EDGE_CURVE('',#622,#1784,#1786,.T.);+#1784=VERTEX_POINT('',#1785);+#1785=CARTESIAN_POINT('',(2.348480775301,-0.43,0.742364817767));+#1786=CIRCLE('',#1787,0.1);+#1787=AXIS2_PLACEMENT_3D('',#1788,#87,#1510);+#1788=CARTESIAN_POINT('',(2.25,-0.43,0.725));+#1789=ORIENTED_EDGE('',*,*,#1790,.T.);+#1790=EDGE_CURVE('',#1784,#1791,#1793,.T.);+#1791=VERTEX_POINT('',#1792);+#1792=CARTESIAN_POINT('',(2.429496640897,-0.43,0.2479055467));+#1793=LINE('',#1785,#1516);+#1794=ORIENTED_EDGE('',*,*,#1795,.T.);+#1795=EDGE_CURVE('',#1791,#1796,#1798,.T.);+#1796=VERTEX_POINT('',#1797);+#1797=CARTESIAN_POINT('',(2.724938966801,-0.43,-1.665334536938E-16));+#1798=CIRCLE('',#1799,0.3);+#1799=AXIS2_PLACEMENT_3D('',#1800,#59,#1525);+#1800=CARTESIAN_POINT('',(2.724938966801,-0.43,0.3));+#1801=ORIENTED_EDGE('',*,*,#1802,.T.);+#1802=EDGE_CURVE('',#1796,#1803,#1805,.T.);+#1803=VERTEX_POINT('',#1804);+#1804=CARTESIAN_POINT('',(3.,-0.43,-1.665334536938E-16));+#1805=LINE('',#1797,#27);+#1806=ORIENTED_EDGE('',*,*,#1807,.T.);+#1807=EDGE_CURVE('',#1803,#1808,#1810,.T.);+#1808=VERTEX_POINT('',#1809);+#1809=CARTESIAN_POINT('',(3.,-0.43,0.2));+#1810=LINE('',#1804,#370);+#1811=ORIENTED_EDGE('',*,*,#1812,.T.);+#1812=EDGE_CURVE('',#1808,#1813,#1815,.T.);+#1813=VERTEX_POINT('',#1814);+#1814=CARTESIAN_POINT('',(2.724938966801,-0.43,0.2));+#1815=LINE('',#1809,#72);+#1816=ORIENTED_EDGE('',*,*,#1817,.T.);+#1817=EDGE_CURVE('',#1813,#1818,#1820,.T.);+#1818=VERTEX_POINT('',#1819);+#1819=CARTESIAN_POINT('',(2.6264581915,-0.43,0.282635182233));+#1820=CIRCLE('',#1821,1.E-01);+#1821=AXIS2_PLACEMENT_3D('',#1800,#87,#758);+#1822=ORIENTED_EDGE('',*,*,#1823,.T.);+#1823=EDGE_CURVE('',#1818,#1824,#1826,.T.);+#1824=VERTEX_POINT('',#1825);+#1825=CARTESIAN_POINT('',(2.545442325904,-0.43,0.7770944533));+#1826=LINE('',#1819,#1552);+#1827=ORIENTED_EDGE('',*,*,#1828,.T.);+#1828=EDGE_CURVE('',#1824,#1829,#1830,.T.);+#1829=VERTEX_POINT('',#1775);+#1830=CIRCLE('',#1831,0.3);+#1831=AXIS2_PLACEMENT_3D('',#1788,#59,#1558);+#1832=ORIENTED_EDGE('',*,*,#1833,.T.);+#1833=EDGE_CURVE('',#1829,#611,#1774,.T.);+#1834=PLANE('',#1835);+#1835=AXIS2_PLACEMENT_3D('',#1836,#59,#13);+#1836=CARTESIAN_POINT('',(2.42560961319,-0.43,0.548953137803));+#1837=ADVANCED_FACE('',(#1838),#1852,.F.);+#1838=FACE_BOUND('',#1839,.F.);+#1839=EDGE_LOOP('',(#1840,#1841,#1848,#1851));+#1840=ORIENTED_EDGE('',*,*,#634,.T.);+#1841=ORIENTED_EDGE('',*,*,#1842,.T.);+#1842=EDGE_CURVE('',#629,#1843,#1845,.T.);+#1843=VERTEX_POINT('',#1844);+#1844=CARTESIAN_POINT('',(2.348480775301,-0.84,0.742364817767));+#1845=CIRCLE('',#1846,0.1);+#1846=AXIS2_PLACEMENT_3D('',#1847,#87,#1510);+#1847=CARTESIAN_POINT('',(2.25,-0.84,0.725));+#1848=ORIENTED_EDGE('',*,*,#1849,.F.);+#1849=EDGE_CURVE('',#1784,#1843,#1850,.T.);+#1850=LINE('',#1785,#58);+#1851=ORIENTED_EDGE('',*,*,#1783,.F.);+#1852=CYLINDRICAL_SURFACE('',#1787,0.1);+#1853=ADVANCED_FACE('',(#1854),#1903,.T.);+#1854=FACE_BOUND('',#1855,.T.);+#1855=EDGE_LOOP('',(#641,#627,#1841,#1856,#1861,#1868,#1873,#1878,#1883,#1889,#1894,#1900));+#1856=ORIENTED_EDGE('',*,*,#1857,.T.);+#1857=EDGE_CURVE('',#1843,#1858,#1860,.T.);+#1858=VERTEX_POINT('',#1859);+#1859=CARTESIAN_POINT('',(2.429496640897,-0.84,0.2479055467));+#1860=LINE('',#1844,#1516);+#1861=ORIENTED_EDGE('',*,*,#1862,.T.);+#1862=EDGE_CURVE('',#1858,#1863,#1865,.T.);+#1863=VERTEX_POINT('',#1864);+#1864=CARTESIAN_POINT('',(2.724938966801,-0.84,-1.665334536938E-16));+#1865=CIRCLE('',#1866,0.3);+#1866=AXIS2_PLACEMENT_3D('',#1867,#59,#1525);+#1867=CARTESIAN_POINT('',(2.724938966801,-0.84,0.3));+#1868=ORIENTED_EDGE('',*,*,#1869,.T.);+#1869=EDGE_CURVE('',#1863,#1870,#1872,.T.);+#1870=VERTEX_POINT('',#1871);+#1871=CARTESIAN_POINT('',(3.,-0.84,-1.665334536938E-16));+#1872=LINE('',#1864,#27);+#1873=ORIENTED_EDGE('',*,*,#1874,.T.);+#1874=EDGE_CURVE('',#1870,#1875,#1877,.T.);+#1875=VERTEX_POINT('',#1876);+#1876=CARTESIAN_POINT('',(3.,-0.84,0.2));+#1877=LINE('',#1871,#370);+#1878=ORIENTED_EDGE('',*,*,#1879,.T.);+#1879=EDGE_CURVE('',#1875,#1880,#1882,.T.);+#1880=VERTEX_POINT('',#1881);+#1881=CARTESIAN_POINT('',(2.724938966801,-0.84,0.2));+#1882=LINE('',#1876,#72);+#1883=ORIENTED_EDGE('',*,*,#1884,.T.);+#1884=EDGE_CURVE('',#1880,#1885,#1887,.T.);+#1885=VERTEX_POINT('',#1886);+#1886=CARTESIAN_POINT('',(2.6264581915,-0.84,0.282635182233));+#1887=CIRCLE('',#1888,1.E-01);+#1888=AXIS2_PLACEMENT_3D('',#1867,#87,#758);+#1889=ORIENTED_EDGE('',*,*,#1890,.T.);+#1890=EDGE_CURVE('',#1885,#1891,#1893,.T.);+#1891=VERTEX_POINT('',#1892);+#1892=CARTESIAN_POINT('',(2.545442325904,-0.84,0.7770944533));+#1893=LINE('',#1886,#1552);+#1894=ORIENTED_EDGE('',*,*,#1895,.T.);+#1895=EDGE_CURVE('',#1891,#1896,#1898,.T.);+#1896=VERTEX_POINT('',#1897);+#1897=CARTESIAN_POINT('',(2.25,-0.84,1.025));+#1898=CIRCLE('',#1899,0.3);+#1899=AXIS2_PLACEMENT_3D('',#1847,#59,#1558);+#1900=ORIENTED_EDGE('',*,*,#1901,.T.);+#1901=EDGE_CURVE('',#1896,#643,#1902,.T.);+#1902=LINE('',#1897,#72);+#1903=PLANE('',#1904);+#1904=AXIS2_PLACEMENT_3D('',#1905,#59,#13);+#1905=CARTESIAN_POINT('',(2.42560961319,-0.84,0.548953137803));+#1906=ADVANCED_FACE('',(#1907),#340,.F.);+#1907=FACE_BOUND('',#1908,.F.);+#1908=EDGE_LOOP('',(#1909,#1911,#1912,#1916));+#1909=ORIENTED_EDGE('',*,*,#1910,.F.);+#1910=EDGE_CURVE('',#643,#869,#1902,.T.);+#1911=ORIENTED_EDGE('',*,*,#655,.T.);+#1912=ORIENTED_EDGE('',*,*,#1913,.T.);+#1913=EDGE_CURVE('',#650,#873,#1914,.T.);+#1914=LINE('',#1915,#72);+#1915=CARTESIAN_POINT('',(2.25,-1.7,1.025));+#1916=ORIENTED_EDGE('',*,*,#872,.F.);+#1917=ADVANCED_FACE('',(#1918),#1974,.F.);+#1918=FACE_BOUND('',#1919,.F.);+#1919=EDGE_LOOP('',(#1920,#1921,#1922,#1929,#1934,#1941,#1946,#1951,#1956,#1962,#1967,#1972));+#1920=ORIENTED_EDGE('',*,*,#649,.F.);+#1921=ORIENTED_EDGE('',*,*,#660,.T.);+#1922=ORIENTED_EDGE('',*,*,#1923,.T.);+#1923=EDGE_CURVE('',#661,#1924,#1926,.T.);+#1924=VERTEX_POINT('',#1925);+#1925=CARTESIAN_POINT('',(2.348480775301,-1.7,0.742364817767));+#1926=CIRCLE('',#1927,0.1);+#1927=AXIS2_PLACEMENT_3D('',#1928,#87,#1510);+#1928=CARTESIAN_POINT('',(2.25,-1.7,0.725));+#1929=ORIENTED_EDGE('',*,*,#1930,.T.);+#1930=EDGE_CURVE('',#1924,#1931,#1933,.T.);+#1931=VERTEX_POINT('',#1932);+#1932=CARTESIAN_POINT('',(2.429496640897,-1.7,0.2479055467));+#1933=LINE('',#1925,#1516);+#1934=ORIENTED_EDGE('',*,*,#1935,.T.);+#1935=EDGE_CURVE('',#1931,#1936,#1938,.T.);+#1936=VERTEX_POINT('',#1937);+#1937=CARTESIAN_POINT('',(2.724938966801,-1.7,-1.665334536938E-16));+#1938=CIRCLE('',#1939,0.3);+#1939=AXIS2_PLACEMENT_3D('',#1940,#59,#1525);+#1940=CARTESIAN_POINT('',(2.724938966801,-1.7,0.3));+#1941=ORIENTED_EDGE('',*,*,#1942,.T.);+#1942=EDGE_CURVE('',#1936,#1943,#1945,.T.);+#1943=VERTEX_POINT('',#1944);+#1944=CARTESIAN_POINT('',(3.,-1.7,-1.665334536938E-16));+#1945=LINE('',#1937,#27);+#1946=ORIENTED_EDGE('',*,*,#1947,.T.);+#1947=EDGE_CURVE('',#1943,#1948,#1950,.T.);+#1948=VERTEX_POINT('',#1949);+#1949=CARTESIAN_POINT('',(3.,-1.7,0.2));+#1950=LINE('',#1944,#370);+#1951=ORIENTED_EDGE('',*,*,#1952,.T.);+#1952=EDGE_CURVE('',#1948,#1953,#1955,.T.);+#1953=VERTEX_POINT('',#1954);+#1954=CARTESIAN_POINT('',(2.724938966801,-1.7,0.2));+#1955=LINE('',#1949,#72);+#1956=ORIENTED_EDGE('',*,*,#1957,.T.);+#1957=EDGE_CURVE('',#1953,#1958,#1960,.T.);+#1958=VERTEX_POINT('',#1959);+#1959=CARTESIAN_POINT('',(2.6264581915,-1.7,0.282635182233));+#1960=CIRCLE('',#1961,1.E-01);+#1961=AXIS2_PLACEMENT_3D('',#1940,#87,#758);+#1962=ORIENTED_EDGE('',*,*,#1963,.T.);+#1963=EDGE_CURVE('',#1958,#1964,#1966,.T.);+#1964=VERTEX_POINT('',#1965);+#1965=CARTESIAN_POINT('',(2.545442325904,-1.7,0.7770944533));+#1966=LINE('',#1959,#1552);+#1967=ORIENTED_EDGE('',*,*,#1968,.T.);+#1968=EDGE_CURVE('',#1964,#1969,#1970,.T.);+#1969=VERTEX_POINT('',#1915);+#1970=CIRCLE('',#1971,0.3);+#1971=AXIS2_PLACEMENT_3D('',#1928,#59,#1558);+#1972=ORIENTED_EDGE('',*,*,#1973,.T.);+#1973=EDGE_CURVE('',#1969,#650,#1914,.T.);+#1974=PLANE('',#1975);+#1975=AXIS2_PLACEMENT_3D('',#1976,#59,#13);+#1976=CARTESIAN_POINT('',(2.42560961319,-1.7,0.548953137803));+#1977=ADVANCED_FACE('',(#1978),#1992,.F.);+#1978=FACE_BOUND('',#1979,.F.);+#1979=EDGE_LOOP('',(#1980,#1981,#1988,#1991));+#1980=ORIENTED_EDGE('',*,*,#673,.T.);+#1981=ORIENTED_EDGE('',*,*,#1982,.T.);+#1982=EDGE_CURVE('',#668,#1983,#1985,.T.);+#1983=VERTEX_POINT('',#1984);+#1984=CARTESIAN_POINT('',(2.348480775301,-2.11,0.742364817767));+#1985=CIRCLE('',#1986,0.1);+#1986=AXIS2_PLACEMENT_3D('',#1987,#87,#1510);+#1987=CARTESIAN_POINT('',(2.25,-2.11,0.725));+#1988=ORIENTED_EDGE('',*,*,#1989,.F.);+#1989=EDGE_CURVE('',#1924,#1983,#1990,.T.);+#1990=LINE('',#1925,#58);+#1991=ORIENTED_EDGE('',*,*,#1923,.F.);+#1992=CYLINDRICAL_SURFACE('',#1927,0.1);+#1993=ADVANCED_FACE('',(#1994),#2041,.T.);+#1994=FACE_BOUND('',#1995,.T.);+#1995=EDGE_LOOP('',(#680,#666,#1981,#1996,#2001,#2008,#2013,#2018,#2023,#2029,#2034,#2039));+#1996=ORIENTED_EDGE('',*,*,#1997,.T.);+#1997=EDGE_CURVE('',#1983,#1998,#2000,.T.);+#1998=VERTEX_POINT('',#1999);+#1999=CARTESIAN_POINT('',(2.429496640897,-2.11,0.2479055467));+#2000=LINE('',#1984,#1516);+#2001=ORIENTED_EDGE('',*,*,#2002,.T.);+#2002=EDGE_CURVE('',#1998,#2003,#2005,.T.);+#2003=VERTEX_POINT('',#2004);+#2004=CARTESIAN_POINT('',(2.724938966801,-2.11,-1.665334536938E-16));+#2005=CIRCLE('',#2006,0.3);+#2006=AXIS2_PLACEMENT_3D('',#2007,#59,#1525);+#2007=CARTESIAN_POINT('',(2.724938966801,-2.11,0.3));+#2008=ORIENTED_EDGE('',*,*,#2009,.T.);+#2009=EDGE_CURVE('',#2003,#2010,#2012,.T.);+#2010=VERTEX_POINT('',#2011);+#2011=CARTESIAN_POINT('',(3.,-2.11,-1.665334536938E-16));+#2012=LINE('',#2004,#27);+#2013=ORIENTED_EDGE('',*,*,#2014,.T.);+#2014=EDGE_CURVE('',#2010,#2015,#2017,.T.);+#2015=VERTEX_POINT('',#2016);+#2016=CARTESIAN_POINT('',(3.,-2.11,0.2));+#2017=LINE('',#2011,#370);+#2018=ORIENTED_EDGE('',*,*,#2019,.T.);+#2019=EDGE_CURVE('',#2015,#2020,#2022,.T.);+#2020=VERTEX_POINT('',#2021);+#2021=CARTESIAN_POINT('',(2.724938966801,-2.11,0.2));+#2022=LINE('',#2016,#72);+#2023=ORIENTED_EDGE('',*,*,#2024,.T.);+#2024=EDGE_CURVE('',#2020,#2025,#2027,.T.);+#2025=VERTEX_POINT('',#2026);+#2026=CARTESIAN_POINT('',(2.6264581915,-2.11,0.282635182233));+#2027=CIRCLE('',#2028,1.E-01);+#2028=AXIS2_PLACEMENT_3D('',#2007,#87,#758);+#2029=ORIENTED_EDGE('',*,*,#2030,.T.);+#2030=EDGE_CURVE('',#2025,#2031,#2033,.T.);+#2031=VERTEX_POINT('',#2032);+#2032=CARTESIAN_POINT('',(2.545442325904,-2.11,0.7770944533));+#2033=LINE('',#2026,#1552);+#2034=ORIENTED_EDGE('',*,*,#2035,.T.);+#2035=EDGE_CURVE('',#2031,#2036,#2037,.T.);+#2036=VERTEX_POINT('',#939);+#2037=CIRCLE('',#2038,0.3);+#2038=AXIS2_PLACEMENT_3D('',#1987,#59,#1558);+#2039=ORIENTED_EDGE('',*,*,#2040,.T.);+#2040=EDGE_CURVE('',#2036,#682,#938,.T.);+#2041=PLANE('',#2042);+#2042=AXIS2_PLACEMENT_3D('',#2043,#59,#13);+#2043=CARTESIAN_POINT('',(2.42560961319,-2.11,0.548953137803));+#2044=ADVANCED_FACE('',(#2045),#2052,.T.);+#2045=FACE_BOUND('',#2046,.F.);+#2046=EDGE_LOOP('',(#2047,#1491,#2050,#2051));+#2047=ORIENTED_EDGE('',*,*,#2048,.T.);+#2048=EDGE_CURVE('',#1422,#1488,#2049,.T.);+#2049=LINE('',#1423,#396);+#2050=ORIENTED_EDGE('',*,*,#744,.F.);+#2051=ORIENTED_EDGE('',*,*,#1426,.F.);+#2052=CYLINDRICAL_SURFACE('',#2053,0.3);+#2053=AXIS2_PLACEMENT_3D('',#1386,#1031,#1008);+#2054=ADVANCED_FACE('',(#2055),#2064,.F.);+#2055=FACE_BOUND('',#2056,.F.);+#2056=EDGE_LOOP('',(#2057,#2058,#1079,#2061,#2062,#2063));+#2057=ORIENTED_EDGE('',*,*,#1010,.F.);+#2058=ORIENTED_EDGE('',*,*,#2059,.T.);+#2059=EDGE_CURVE('',#1005,#1075,#2060,.T.);+#2060=LINE('',#920,#396);+#2061=ORIENTED_EDGE('',*,*,#1095,.T.);+#2062=ORIENTED_EDGE('',*,*,#768,.F.);+#2063=ORIENTED_EDGE('',*,*,#918,.F.);+#2064=PLANE('',#2065);+#2065=AXIS2_PLACEMENT_3D('',#920,#758,#335);+#2066=ADVANCED_FACE('',(#2067),#2076,.F.);+#2067=FACE_BOUND('',#2068,.F.);+#2068=EDGE_LOOP('',(#2069,#2070,#1220,#2073,#2074,#2075));+#2069=ORIENTED_EDGE('',*,*,#1152,.F.);+#2070=ORIENTED_EDGE('',*,*,#2071,.T.);+#2071=EDGE_CURVE('',#1148,#1216,#2072,.T.);+#2072=LINE('',#1092,#396);+#2073=ORIENTED_EDGE('',*,*,#1236,.T.);+#2074=ORIENTED_EDGE('',*,*,#776,.F.);+#2075=ORIENTED_EDGE('',*,*,#1090,.F.);+#2076=PLANE('',#2077);+#2077=AXIS2_PLACEMENT_3D('',#1092,#758,#335);+#2078=ADVANCED_FACE('',(#2079),#2088,.F.);+#2079=FACE_BOUND('',#2080,.F.);+#2080=EDGE_LOOP('',(#2081,#2082,#1361,#2085,#2086,#2087));+#2081=ORIENTED_EDGE('',*,*,#1293,.F.);+#2082=ORIENTED_EDGE('',*,*,#2083,.T.);+#2083=EDGE_CURVE('',#1289,#1357,#2084,.T.);+#2084=LINE('',#1233,#396);+#2085=ORIENTED_EDGE('',*,*,#1374,.T.);+#2086=ORIENTED_EDGE('',*,*,#784,.F.);+#2087=ORIENTED_EDGE('',*,*,#1231,.F.);+#2088=PLANE('',#2089);+#2089=AXIS2_PLACEMENT_3D('',#1233,#758,#335);+#2090=ADVANCED_FACE('',(#2091,#2111),#2121,.F.);+#2091=FACE_BOUND('',#2092,.F.);+#2092=EDGE_LOOP('',(#2093,#2094,#2095,#2096,#2101,#2106,#2109,#2110));+#2093=ORIENTED_EDGE('',*,*,#829,.T.);+#2094=ORIENTED_EDGE('',*,*,#843,.T.);+#2095=ORIENTED_EDGE('',*,*,#889,.T.);+#2096=ORIENTED_EDGE('',*,*,#2097,.T.);+#2097=EDGE_CURVE('',#885,#2098,#2100,.T.);+#2098=VERTEX_POINT('',#2099);+#2099=CARTESIAN_POINT('',(1.680085640382,-2.260171280765,1.75));+#2100=LINE('',#886,#65);+#2101=ORIENTED_EDGE('',*,*,#2102,.T.);+#2102=EDGE_CURVE('',#2098,#2103,#2105,.T.);+#2103=VERTEX_POINT('',#2104);+#2104=CARTESIAN_POINT('',(-1.680085640382,-2.260171280765,1.75));+#2105=LINE('',#2099,#72);+#2106=ORIENTED_EDGE('',*,*,#2107,.T.);+#2107=EDGE_CURVE('',#2103,#798,#2108,.T.);+#2108=LINE('',#2104,#79);+#2109=ORIENTED_EDGE('',*,*,#797,.T.);+#2110=ORIENTED_EDGE('',*,*,#815,.T.);+#2111=FACE_BOUND('',#2112,.F.);+#2112=EDGE_LOOP('',(#2113));+#2113=ORIENTED_EDGE('',*,*,#2114,.F.);+#2114=EDGE_CURVE('',#2115,#2115,#2117,.T.);+#2115=VERTEX_POINT('',#2116);+#2116=CARTESIAN_POINT('',(-1.110171280765,1.310171280765,1.75));+#2117=CIRCLE('',#2118,0.3);+#2118=AXIS2_PLACEMENT_3D('',#2119,#2120,#59);+#2119=CARTESIAN_POINT('',(-1.110171280765,1.610171280765,1.75));+#2120=DIRECTION('',(0.,-0.,-1.));+#2121=PLANE('',#2122);+#2122=AXIS2_PLACEMENT_3D('',#812,#758,#2123);+#2123=DIRECTION('',(0.596575959062,-0.802556617983,0.));+#2124=ADVANCED_FACE('',(#2125),#2133,.F.);+#2125=FACE_BOUND('',#2126,.F.);+#2126=EDGE_LOOP('',(#2127,#2128,#2129,#2130));+#2127=ORIENTED_EDGE('',*,*,#923,.T.);+#2128=ORIENTED_EDGE('',*,*,#802,.T.);+#2129=ORIENTED_EDGE('',*,*,#2107,.F.);+#2130=ORIENTED_EDGE('',*,*,#2131,.F.);+#2131=EDGE_CURVE('',#924,#2103,#2132,.T.);+#2132=B_SPLINE_CURVE_WITH_KNOTS('',1,(#925,#2104),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#2133=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#925,#2104),(#327,#799)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.194454364826),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#2134=ADVANCED_FACE('',(#2135),#2144,.F.);+#2135=FACE_BOUND('',#2136,.F.);+#2136=EDGE_LOOP('',(#2137,#2138,#1760,#2141,#2142,#2143));+#2137=ORIENTED_EDGE('',*,*,#1693,.F.);+#2138=ORIENTED_EDGE('',*,*,#2139,.T.);+#2139=EDGE_CURVE('',#1689,#1756,#2140,.T.);+#2140=LINE('',#1635,#58);+#2141=ORIENTED_EDGE('',*,*,#1770,.T.);+#2142=ORIENTED_EDGE('',*,*,#860,.F.);+#2143=ORIENTED_EDGE('',*,*,#1633,.F.);+#2144=PLANE('',#2145);+#2145=AXIS2_PLACEMENT_3D('',#1635,#758,#73);+#2146=ADVANCED_FACE('',(#2147),#2156,.F.);+#2147=FACE_BOUND('',#2148,.F.);+#2148=EDGE_LOOP('',(#2149,#2150,#1900,#2153,#2154,#2155));+#2149=ORIENTED_EDGE('',*,*,#1833,.F.);+#2150=ORIENTED_EDGE('',*,*,#2151,.T.);+#2151=EDGE_CURVE('',#1829,#1896,#2152,.T.);+#2152=LINE('',#1775,#58);+#2153=ORIENTED_EDGE('',*,*,#1910,.T.);+#2154=ORIENTED_EDGE('',*,*,#868,.F.);+#2155=ORIENTED_EDGE('',*,*,#1773,.F.);+#2156=PLANE('',#2157);+#2157=AXIS2_PLACEMENT_3D('',#1775,#758,#73);+#2158=ADVANCED_FACE('',(#2159),#2168,.F.);+#2159=FACE_BOUND('',#2160,.F.);+#2160=EDGE_LOOP('',(#2161,#2162,#2039,#2165,#2166,#2167));+#2161=ORIENTED_EDGE('',*,*,#1973,.F.);+#2162=ORIENTED_EDGE('',*,*,#2163,.T.);+#2163=EDGE_CURVE('',#1969,#2036,#2164,.T.);+#2164=LINE('',#1915,#58);+#2165=ORIENTED_EDGE('',*,*,#937,.T.);+#2166=ORIENTED_EDGE('',*,*,#876,.F.);+#2167=ORIENTED_EDGE('',*,*,#1913,.F.);+#2168=PLANE('',#2169);+#2169=AXIS2_PLACEMENT_3D('',#1915,#758,#73);+#2170=ADVANCED_FACE('',(#2171),#2179,.F.);+#2171=FACE_BOUND('',#2172,.F.);+#2172=EDGE_LOOP('',(#2173,#2174,#2177,#2178));+#2173=ORIENTED_EDGE('',*,*,#933,.T.);+#2174=ORIENTED_EDGE('',*,*,#2175,.T.);+#2175=EDGE_CURVE('',#929,#2098,#2176,.T.);+#2176=B_SPLINE_CURVE_WITH_KNOTS('',1,(#930,#2099),.UNSPECIFIED.,.F.,.F.,(2,2),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#2177=ORIENTED_EDGE('',*,*,#2097,.F.);+#2178=ORIENTED_EDGE('',*,*,#884,.F.);+#2179=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#882,#886),(#930,#2099)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,0.194454364826),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#2180=ADVANCED_FACE('',(#2181),#2188,.T.);+#2181=FACE_BOUND('',#2182,.F.);+#2182=EDGE_LOOP('',(#2183,#1620,#2186,#2187));+#2183=ORIENTED_EDGE('',*,*,#2184,.T.);+#2184=EDGE_CURVE('',#1549,#1617,#2185,.T.);+#2185=LINE('',#1550,#58);+#2186=ORIENTED_EDGE('',*,*,#900,.F.);+#2187=ORIENTED_EDGE('',*,*,#1555,.F.);+#2188=CYLINDRICAL_SURFACE('',#2189,0.3);+#2189=AXIS2_PLACEMENT_3D('',#1509,#87,#1558);+#2190=ADVANCED_FACE('',(#2191),#2197,.F.);+#2191=FACE_BOUND('',#2192,.F.);+#2192=EDGE_LOOP('',(#2193,#2194,#2195,#2196));+#2193=ORIENTED_EDGE('',*,*,#928,.T.);+#2194=ORIENTED_EDGE('',*,*,#2131,.T.);+#2195=ORIENTED_EDGE('',*,*,#2102,.F.);+#2196=ORIENTED_EDGE('',*,*,#2175,.F.);+#2197=B_SPLINE_SURFACE_WITH_KNOTS('',1,1,((#930,#2099),(#925,#2104)),.UNSPECIFIED.,.F.,.F.,.F.,(2,2),(2,2),(0.,3.475),(0.,1.),.PIECEWISE_BEZIER_KNOTS.);+#2198=ADVANCED_FACE('',(#2199),#2206,.T.);+#2199=FACE_BOUND('',#2200,.F.);+#2200=EDGE_LOOP('',(#2201,#1073,#2204,#2205));+#2201=ORIENTED_EDGE('',*,*,#2202,.T.);+#2202=EDGE_CURVE('',#998,#1070,#2203,.T.);+#2203=LINE('',#999,#396);+#2204=ORIENTED_EDGE('',*,*,#2059,.F.);+#2205=ORIENTED_EDGE('',*,*,#1004,.F.);+#2206=CYLINDRICAL_SURFACE('',#2207,0.3);+#2207=AXIS2_PLACEMENT_3D('',#955,#1031,#1008);+#2208=ADVANCED_FACE('',(#2209),#2216,.F.);+#2209=FACE_BOUND('',#2210,.F.);+#2210=EDGE_LOOP('',(#2211,#1068,#2214,#2215));+#2211=ORIENTED_EDGE('',*,*,#2212,.T.);+#2212=EDGE_CURVE('',#991,#1064,#2213,.T.);+#2213=LINE('',#992,#396);+#2214=ORIENTED_EDGE('',*,*,#2202,.F.);+#2215=ORIENTED_EDGE('',*,*,#997,.F.);+#2216=PLANE('',#2217);+#2217=AXIS2_PLACEMENT_3D('',#992,#2218,#1002);+#2218=DIRECTION('',(0.986841372087,-1.129181146488E-17,-0.161691392282));+#2219=ADVANCED_FACE('',(#2220),#2227,.F.);+#2220=FACE_BOUND('',#2221,.F.);+#2221=EDGE_LOOP('',(#2222,#1062,#2225,#2226));+#2222=ORIENTED_EDGE('',*,*,#2223,.T.);+#2223=EDGE_CURVE('',#986,#1059,#2224,.T.);+#2224=LINE('',#987,#396);+#2225=ORIENTED_EDGE('',*,*,#2212,.F.);+#2226=ORIENTED_EDGE('',*,*,#990,.F.);+#2227=CYLINDRICAL_SURFACE('',#2228,1.E-01);+#2228=AXIS2_PLACEMENT_3D('',#971,#1031,#758);+#2229=ADVANCED_FACE('',(#2230),#2237,.F.);+#2230=FACE_BOUND('',#2231,.F.);+#2231=EDGE_LOOP('',(#2232,#1057,#2235,#2236));+#2232=ORIENTED_EDGE('',*,*,#2233,.T.);+#2233=EDGE_CURVE('',#981,#1054,#2234,.T.);+#2234=LINE('',#982,#396);+#2235=ORIENTED_EDGE('',*,*,#2223,.F.);+#2236=ORIENTED_EDGE('',*,*,#985,.F.);+#2237=PLANE('',#2238);+#2238=AXIS2_PLACEMENT_3D('',#982,#758,#335);+#2239=ADVANCED_FACE('',(#2240),#2247,.F.);+#2240=FACE_BOUND('',#2241,.F.);+#2241=EDGE_LOOP('',(#2242,#1052,#2245,#2246));+#2242=ORIENTED_EDGE('',*,*,#2243,.T.);+#2243=EDGE_CURVE('',#976,#1049,#2244,.T.);+#2244=LINE('',#977,#396);+#2245=ORIENTED_EDGE('',*,*,#2233,.F.);+#2246=ORIENTED_EDGE('',*,*,#980,.F.);+#2247=PLANE('',#2248);+#2248=AXIS2_PLACEMENT_3D('',#977,#335,#13);+#2249=ADVANCED_FACE('',(#2250),#2257,.F.);+#2250=FACE_BOUND('',#2251,.F.);+#2251=EDGE_LOOP('',(#2252,#1047,#2255,#2256));+#2252=ORIENTED_EDGE('',*,*,#2253,.T.);+#2253=EDGE_CURVE('',#967,#1042,#2254,.T.);+#2254=LINE('',#968,#396);+#2255=ORIENTED_EDGE('',*,*,#2243,.F.);+#2256=ORIENTED_EDGE('',*,*,#975,.F.);+#2257=PLANE('',#2258);+#2258=AXIS2_PLACEMENT_3D('',#968,#13,#385);+#2259=ADVANCED_FACE('',(#2260),#2267,.T.);+#2260=FACE_BOUND('',#2261,.F.);+#2261=EDGE_LOOP('',(#2262,#1040,#2265,#2266));+#2262=ORIENTED_EDGE('',*,*,#2263,.T.);+#2263=EDGE_CURVE('',#960,#1037,#2264,.T.);+#2264=LINE('',#961,#396);+#2265=ORIENTED_EDGE('',*,*,#2253,.F.);+#2266=ORIENTED_EDGE('',*,*,#966,.F.);+#2267=CYLINDRICAL_SURFACE('',#2268,0.3);+#2268=AXIS2_PLACEMENT_3D('',#971,#1031,#973);+#2269=ADVANCED_FACE('',(#2270),#2275,.F.);+#2270=FACE_BOUND('',#2271,.F.);+#2271=EDGE_LOOP('',(#2272,#1035,#2273,#2274));+#2272=ORIENTED_EDGE('',*,*,#1026,.T.);+#2273=ORIENTED_EDGE('',*,*,#2263,.F.);+#2274=ORIENTED_EDGE('',*,*,#959,.F.);+#2275=PLANE('',#2276);+#2276=AXIS2_PLACEMENT_3D('',#952,#2277,#964);+#2277=DIRECTION('',(-0.986841372087,1.129181146488E-17,0.161691392282));+#2278=ADVANCED_FACE('',(#2279),#2286,.T.);+#2279=FACE_BOUND('',#2280,.F.);+#2280=EDGE_LOOP('',(#2281,#1214,#2284,#2285));+#2281=ORIENTED_EDGE('',*,*,#2282,.T.);+#2282=EDGE_CURVE('',#1143,#1211,#2283,.T.);+#2283=LINE('',#1144,#396);+#2284=ORIENTED_EDGE('',*,*,#2071,.F.);+#2285=ORIENTED_EDGE('',*,*,#1147,.F.);+#2286=CYLINDRICAL_SURFACE('',#2287,0.3);+#2287=AXIS2_PLACEMENT_3D('',#1107,#1031,#1008);+#2288=ADVANCED_FACE('',(#2289),#2296,.F.);+#2289=FACE_BOUND('',#2290,.F.);+#2290=EDGE_LOOP('',(#2291,#1209,#2294,#2295));+#2291=ORIENTED_EDGE('',*,*,#2292,.T.);+#2292=EDGE_CURVE('',#1137,#1205,#2293,.T.);+#2293=LINE('',#1138,#396);+#2294=ORIENTED_EDGE('',*,*,#2282,.F.);+#2295=ORIENTED_EDGE('',*,*,#1142,.F.);+#2296=PLANE('',#2297);+#2297=AXIS2_PLACEMENT_3D('',#1138,#2218,#1002);+#2298=ADVANCED_FACE('',(#2299),#2306,.F.);+#2299=FACE_BOUND('',#2300,.F.);+#2300=EDGE_LOOP('',(#2301,#1203,#2304,#2305));+#2301=ORIENTED_EDGE('',*,*,#2302,.T.);+#2302=EDGE_CURVE('',#1132,#1200,#2303,.T.);+#2303=LINE('',#1133,#396);+#2304=ORIENTED_EDGE('',*,*,#2292,.F.);+#2305=ORIENTED_EDGE('',*,*,#1136,.F.);+#2306=CYLINDRICAL_SURFACE('',#2307,1.E-01);+#2307=AXIS2_PLACEMENT_3D('',#1119,#1031,#758);+#2308=ADVANCED_FACE('',(#2309),#2316,.F.);+#2309=FACE_BOUND('',#2310,.F.);+#2310=EDGE_LOOP('',(#2311,#1198,#2314,#2315));+#2311=ORIENTED_EDGE('',*,*,#2312,.T.);+#2312=EDGE_CURVE('',#1127,#1195,#2313,.T.);+#2313=LINE('',#1128,#396);+#2314=ORIENTED_EDGE('',*,*,#2302,.F.);+#2315=ORIENTED_EDGE('',*,*,#1131,.F.);+#2316=PLANE('',#2317);+#2317=AXIS2_PLACEMENT_3D('',#1128,#758,#335);+#2318=ADVANCED_FACE('',(#2319),#2326,.F.);+#2319=FACE_BOUND('',#2320,.F.);+#2320=EDGE_LOOP('',(#2321,#1193,#2324,#2325));+#2321=ORIENTED_EDGE('',*,*,#2322,.T.);+#2322=EDGE_CURVE('',#1122,#1190,#2323,.T.);+#2323=LINE('',#1123,#396);+#2324=ORIENTED_EDGE('',*,*,#2312,.F.);+#2325=ORIENTED_EDGE('',*,*,#1126,.F.);+#2326=PLANE('',#2327);+#2327=AXIS2_PLACEMENT_3D('',#1123,#335,#13);+#2328=ADVANCED_FACE('',(#2329),#2336,.F.);+#2329=FACE_BOUND('',#2330,.F.);+#2330=EDGE_LOOP('',(#2331,#1188,#2334,#2335));+#2331=ORIENTED_EDGE('',*,*,#2332,.T.);+#2332=EDGE_CURVE('',#1115,#1183,#2333,.T.);+#2333=LINE('',#1116,#396);+#2334=ORIENTED_EDGE('',*,*,#2322,.F.);+#2335=ORIENTED_EDGE('',*,*,#1121,.F.);+#2336=PLANE('',#2337);+#2337=AXIS2_PLACEMENT_3D('',#1116,#13,#385);+#2338=ADVANCED_FACE('',(#2339),#2346,.T.);+#2339=FACE_BOUND('',#2340,.F.);+#2340=EDGE_LOOP('',(#2341,#1181,#2344,#2345));+#2341=ORIENTED_EDGE('',*,*,#2342,.T.);+#2342=EDGE_CURVE('',#1110,#1178,#2343,.T.);+#2343=LINE('',#1111,#396);+#2344=ORIENTED_EDGE('',*,*,#2332,.F.);+#2345=ORIENTED_EDGE('',*,*,#1114,.F.);+#2346=CYLINDRICAL_SURFACE('',#2347,0.3);+#2347=AXIS2_PLACEMENT_3D('',#1119,#1031,#973);+#2348=ADVANCED_FACE('',(#2349),#2354,.F.);+#2349=FACE_BOUND('',#2350,.F.);+#2350=EDGE_LOOP('',(#2351,#1176,#2352,#2353));+#2351=ORIENTED_EDGE('',*,*,#1168,.T.);+#2352=ORIENTED_EDGE('',*,*,#2342,.F.);+#2353=ORIENTED_EDGE('',*,*,#1109,.F.);+#2354=PLANE('',#2355);+#2355=AXIS2_PLACEMENT_3D('',#1104,#2277,#964);+#2356=ADVANCED_FACE('',(#2357),#2364,.T.);+#2357=FACE_BOUND('',#2358,.F.);+#2358=EDGE_LOOP('',(#2359,#1355,#2362,#2363));+#2359=ORIENTED_EDGE('',*,*,#2360,.T.);+#2360=EDGE_CURVE('',#1284,#1352,#2361,.T.);+#2361=LINE('',#1285,#396);+#2362=ORIENTED_EDGE('',*,*,#2083,.F.);+#2363=ORIENTED_EDGE('',*,*,#1288,.F.);+#2364=CYLINDRICAL_SURFACE('',#2365,0.3);+#2365=AXIS2_PLACEMENT_3D('',#1248,#1031,#1008);+#2366=ADVANCED_FACE('',(#2367),#2374,.F.);+#2367=FACE_BOUND('',#2368,.F.);+#2368=EDGE_LOOP('',(#2369,#1350,#2372,#2373));+#2369=ORIENTED_EDGE('',*,*,#2370,.T.);+#2370=EDGE_CURVE('',#1278,#1346,#2371,.T.);+#2371=LINE('',#1279,#396);+#2372=ORIENTED_EDGE('',*,*,#2360,.F.);+#2373=ORIENTED_EDGE('',*,*,#1283,.F.);+#2374=PLANE('',#2375);+#2375=AXIS2_PLACEMENT_3D('',#1279,#2218,#1002);+#2376=ADVANCED_FACE('',(#2377),#2384,.F.);+#2377=FACE_BOUND('',#2378,.F.);+#2378=EDGE_LOOP('',(#2379,#1344,#2382,#2383));+#2379=ORIENTED_EDGE('',*,*,#2380,.T.);+#2380=EDGE_CURVE('',#1273,#1341,#2381,.T.);+#2381=LINE('',#1274,#396);+#2382=ORIENTED_EDGE('',*,*,#2370,.F.);+#2383=ORIENTED_EDGE('',*,*,#1277,.F.);+#2384=CYLINDRICAL_SURFACE('',#2385,1.E-01);+#2385=AXIS2_PLACEMENT_3D('',#1260,#1031,#758);+#2386=ADVANCED_FACE('',(#2387),#2394,.F.);+#2387=FACE_BOUND('',#2388,.F.);+#2388=EDGE_LOOP('',(#2389,#1339,#2392,#2393));+#2389=ORIENTED_EDGE('',*,*,#2390,.T.);+#2390=EDGE_CURVE('',#1268,#1336,#2391,.T.);+#2391=LINE('',#1269,#396);+#2392=ORIENTED_EDGE('',*,*,#2380,.F.);+#2393=ORIENTED_EDGE('',*,*,#1272,.F.);+#2394=PLANE('',#2395);+#2395=AXIS2_PLACEMENT_3D('',#1269,#758,#335);+#2396=ADVANCED_FACE('',(#2397),#2404,.F.);+#2397=FACE_BOUND('',#2398,.F.);+#2398=EDGE_LOOP('',(#2399,#1334,#2402,#2403));+#2399=ORIENTED_EDGE('',*,*,#2400,.T.);+#2400=EDGE_CURVE('',#1263,#1331,#2401,.T.);+#2401=LINE('',#1264,#396);+#2402=ORIENTED_EDGE('',*,*,#2390,.F.);+#2403=ORIENTED_EDGE('',*,*,#1267,.F.);+#2404=PLANE('',#2405);+#2405=AXIS2_PLACEMENT_3D('',#1264,#335,#13);+#2406=ADVANCED_FACE('',(#2407),#2414,.F.);+#2407=FACE_BOUND('',#2408,.F.);+#2408=EDGE_LOOP('',(#2409,#1329,#2412,#2413));+#2409=ORIENTED_EDGE('',*,*,#2410,.T.);+#2410=EDGE_CURVE('',#1256,#1324,#2411,.T.);+#2411=LINE('',#1257,#396);+#2412=ORIENTED_EDGE('',*,*,#2400,.F.);+#2413=ORIENTED_EDGE('',*,*,#1262,.F.);+#2414=PLANE('',#2415);+#2415=AXIS2_PLACEMENT_3D('',#1257,#13,#385);+#2416=ADVANCED_FACE('',(#2417),#2424,.T.);+#2417=FACE_BOUND('',#2418,.F.);+#2418=EDGE_LOOP('',(#2419,#1322,#2422,#2423));+#2419=ORIENTED_EDGE('',*,*,#2420,.T.);+#2420=EDGE_CURVE('',#1251,#1319,#2421,.T.);+#2421=LINE('',#1252,#396);+#2422=ORIENTED_EDGE('',*,*,#2410,.F.);+#2423=ORIENTED_EDGE('',*,*,#1255,.F.);+#2424=CYLINDRICAL_SURFACE('',#2425,0.3);+#2425=AXIS2_PLACEMENT_3D('',#1260,#1031,#973);+#2426=ADVANCED_FACE('',(#2427),#2432,.F.);+#2427=FACE_BOUND('',#2428,.F.);+#2428=EDGE_LOOP('',(#2429,#1317,#2430,#2431));+#2429=ORIENTED_EDGE('',*,*,#1309,.T.);+#2430=ORIENTED_EDGE('',*,*,#2420,.F.);+#2431=ORIENTED_EDGE('',*,*,#1250,.F.);+#2432=PLANE('',#2433);+#2433=AXIS2_PLACEMENT_3D('',#1245,#2277,#964);+#2434=ADVANCED_FACE('',(#2435),#2442,.F.);+#2435=FACE_BOUND('',#2436,.F.);+#2436=EDGE_LOOP('',(#2437,#1486,#2440,#2441));+#2437=ORIENTED_EDGE('',*,*,#2438,.T.);+#2438=EDGE_CURVE('',#1416,#1482,#2439,.T.);+#2439=LINE('',#1417,#396);+#2440=ORIENTED_EDGE('',*,*,#2048,.F.);+#2441=ORIENTED_EDGE('',*,*,#1421,.F.);+#2442=PLANE('',#2443);+#2443=AXIS2_PLACEMENT_3D('',#1417,#2218,#1002);+#2444=ADVANCED_FACE('',(#2445),#2452,.F.);+#2445=FACE_BOUND('',#2446,.F.);+#2446=EDGE_LOOP('',(#2447,#1480,#2450,#2451));+#2447=ORIENTED_EDGE('',*,*,#2448,.T.);+#2448=EDGE_CURVE('',#1411,#1477,#2449,.T.);+#2449=LINE('',#1412,#396);+#2450=ORIENTED_EDGE('',*,*,#2438,.F.);+#2451=ORIENTED_EDGE('',*,*,#1415,.F.);+#2452=CYLINDRICAL_SURFACE('',#2453,1.E-01);+#2453=AXIS2_PLACEMENT_3D('',#1398,#1031,#758);+#2454=ADVANCED_FACE('',(#2455),#2462,.F.);+#2455=FACE_BOUND('',#2456,.F.);+#2456=EDGE_LOOP('',(#2457,#1475,#2460,#2461));+#2457=ORIENTED_EDGE('',*,*,#2458,.T.);+#2458=EDGE_CURVE('',#1406,#1472,#2459,.T.);+#2459=LINE('',#1407,#396);+#2460=ORIENTED_EDGE('',*,*,#2448,.F.);+#2461=ORIENTED_EDGE('',*,*,#1410,.F.);+#2462=PLANE('',#2463);+#2463=AXIS2_PLACEMENT_3D('',#1407,#758,#335);+#2464=ADVANCED_FACE('',(#2465),#2472,.F.);+#2465=FACE_BOUND('',#2466,.F.);+#2466=EDGE_LOOP('',(#2467,#1470,#2470,#2471));+#2467=ORIENTED_EDGE('',*,*,#2468,.T.);+#2468=EDGE_CURVE('',#1401,#1467,#2469,.T.);+#2469=LINE('',#1402,#396);+#2470=ORIENTED_EDGE('',*,*,#2458,.F.);+#2471=ORIENTED_EDGE('',*,*,#1405,.F.);+#2472=PLANE('',#2473);+#2473=AXIS2_PLACEMENT_3D('',#1402,#335,#13);+#2474=ADVANCED_FACE('',(#2475),#2482,.F.);+#2475=FACE_BOUND('',#2476,.F.);+#2476=EDGE_LOOP('',(#2477,#1465,#2480,#2481));+#2477=ORIENTED_EDGE('',*,*,#2478,.T.);+#2478=EDGE_CURVE('',#1394,#1460,#2479,.T.);+#2479=LINE('',#1395,#396);+#2480=ORIENTED_EDGE('',*,*,#2468,.F.);+#2481=ORIENTED_EDGE('',*,*,#1400,.F.);+#2482=PLANE('',#2483);+#2483=AXIS2_PLACEMENT_3D('',#1395,#13,#385);+#2484=ADVANCED_FACE('',(#2485),#2492,.T.);+#2485=FACE_BOUND('',#2486,.F.);+#2486=EDGE_LOOP('',(#2487,#1458,#2490,#2491));+#2487=ORIENTED_EDGE('',*,*,#2488,.T.);+#2488=EDGE_CURVE('',#1389,#1455,#2489,.T.);+#2489=LINE('',#1390,#396);+#2490=ORIENTED_EDGE('',*,*,#2478,.F.);+#2491=ORIENTED_EDGE('',*,*,#1393,.F.);+#2492=CYLINDRICAL_SURFACE('',#2493,0.3);+#2493=AXIS2_PLACEMENT_3D('',#1398,#1031,#973);+#2494=ADVANCED_FACE('',(#2495),#2500,.F.);+#2495=FACE_BOUND('',#2496,.F.);+#2496=EDGE_LOOP('',(#2497,#1453,#2498,#2499));+#2497=ORIENTED_EDGE('',*,*,#1445,.T.);+#2498=ORIENTED_EDGE('',*,*,#2488,.F.);+#2499=ORIENTED_EDGE('',*,*,#1388,.F.);+#2500=PLANE('',#2501);+#2501=AXIS2_PLACEMENT_3D('',#1383,#2277,#964);+#2502=ADVANCED_FACE('',(#2503),#2510,.F.);+#2503=FACE_BOUND('',#2504,.F.);+#2504=EDGE_LOOP('',(#2505,#1615,#2508,#2509));+#2505=ORIENTED_EDGE('',*,*,#2506,.T.);+#2506=EDGE_CURVE('',#1543,#1611,#2507,.T.);+#2507=LINE('',#1544,#58);+#2508=ORIENTED_EDGE('',*,*,#2184,.F.);+#2509=ORIENTED_EDGE('',*,*,#1548,.F.);+#2510=PLANE('',#2511);+#2511=AXIS2_PLACEMENT_3D('',#1544,#2512,#1553);+#2512=DIRECTION('',(-0.986841372087,-1.095614012943E-16,-0.161691392282));+#2513=ADVANCED_FACE('',(#2514),#2521,.F.);+#2514=FACE_BOUND('',#2515,.F.);+#2515=EDGE_LOOP('',(#2516,#1609,#2519,#2520));+#2516=ORIENTED_EDGE('',*,*,#2517,.T.);+#2517=EDGE_CURVE('',#1538,#1606,#2518,.T.);+#2518=LINE('',#1539,#58);+#2519=ORIENTED_EDGE('',*,*,#2506,.F.);+#2520=ORIENTED_EDGE('',*,*,#1542,.F.);+#2521=CYLINDRICAL_SURFACE('',#1546,1.E-01);+#2522=ADVANCED_FACE('',(#2523),#2530,.F.);+#2523=FACE_BOUND('',#2524,.F.);+#2524=EDGE_LOOP('',(#2525,#1604,#2528,#2529));+#2525=ORIENTED_EDGE('',*,*,#2526,.T.);+#2526=EDGE_CURVE('',#1533,#1601,#2527,.T.);+#2527=LINE('',#1534,#58);+#2528=ORIENTED_EDGE('',*,*,#2517,.F.);+#2529=ORIENTED_EDGE('',*,*,#1537,.F.);+#2530=PLANE('',#2531);+#2531=AXIS2_PLACEMENT_3D('',#1534,#758,#73);+#2532=ADVANCED_FACE('',(#2533),#2540,.F.);+#2533=FACE_BOUND('',#2534,.F.);+#2534=EDGE_LOOP('',(#2535,#1599,#2538,#2539));+#2535=ORIENTED_EDGE('',*,*,#2536,.T.);+#2536=EDGE_CURVE('',#1528,#1596,#2537,.T.);+#2537=LINE('',#1529,#58);+#2538=ORIENTED_EDGE('',*,*,#2526,.F.);+#2539=ORIENTED_EDGE('',*,*,#1532,.F.);+#2540=PLANE('',#2541);+#2541=AXIS2_PLACEMENT_3D('',#1529,#73,#13);+#2542=ADVANCED_FACE('',(#2543),#2550,.F.);+#2543=FACE_BOUND('',#2544,.F.);+#2544=EDGE_LOOP('',(#2545,#1594,#2548,#2549));+#2545=ORIENTED_EDGE('',*,*,#2546,.T.);+#2546=EDGE_CURVE('',#1520,#1589,#2547,.T.);+#2547=LINE('',#1521,#58);+#2548=ORIENTED_EDGE('',*,*,#2536,.F.);+#2549=ORIENTED_EDGE('',*,*,#1527,.F.);+#2550=PLANE('',#2551);+#2551=AXIS2_PLACEMENT_3D('',#1521,#13,#28);+#2552=ADVANCED_FACE('',(#2553),#2560,.T.);+#2553=FACE_BOUND('',#2554,.F.);+#2554=EDGE_LOOP('',(#2555,#1587,#2558,#2559));+#2555=ORIENTED_EDGE('',*,*,#2556,.T.);+#2556=EDGE_CURVE('',#1513,#1584,#2557,.T.);+#2557=LINE('',#1514,#58);+#2558=ORIENTED_EDGE('',*,*,#2546,.F.);+#2559=ORIENTED_EDGE('',*,*,#1519,.F.);+#2560=CYLINDRICAL_SURFACE('',#2561,0.3);+#2561=AXIS2_PLACEMENT_3D('',#1524,#87,#1525);+#2562=ADVANCED_FACE('',(#2563),#2568,.F.);+#2563=FACE_BOUND('',#2564,.F.);+#2564=EDGE_LOOP('',(#2565,#1582,#2566,#2567));+#2565=ORIENTED_EDGE('',*,*,#1575,.T.);+#2566=ORIENTED_EDGE('',*,*,#2556,.F.);+#2567=ORIENTED_EDGE('',*,*,#1512,.F.);+#2568=PLANE('',#2569);+#2569=AXIS2_PLACEMENT_3D('',#1506,#2570,#1517);+#2570=DIRECTION('',(0.986841372087,1.095614012943E-16,0.161691392282));+#2571=ADVANCED_FACE('',(#2572),#2579,.T.);+#2572=FACE_BOUND('',#2573,.F.);+#2573=EDGE_LOOP('',(#2574,#1754,#2577,#2578));+#2574=ORIENTED_EDGE('',*,*,#2575,.T.);+#2575=EDGE_CURVE('',#1684,#1751,#2576,.T.);+#2576=LINE('',#1685,#58);+#2577=ORIENTED_EDGE('',*,*,#2139,.F.);+#2578=ORIENTED_EDGE('',*,*,#1688,.F.);+#2579=CYLINDRICAL_SURFACE('',#2580,0.3);+#2580=AXIS2_PLACEMENT_3D('',#1648,#87,#1558);+#2581=ADVANCED_FACE('',(#2582),#2589,.F.);+#2582=FACE_BOUND('',#2583,.F.);+#2583=EDGE_LOOP('',(#2584,#1749,#2587,#2588));+#2584=ORIENTED_EDGE('',*,*,#2585,.T.);+#2585=EDGE_CURVE('',#1678,#1745,#2586,.T.);+#2586=LINE('',#1679,#58);+#2587=ORIENTED_EDGE('',*,*,#2575,.F.);+#2588=ORIENTED_EDGE('',*,*,#1683,.F.);+#2589=PLANE('',#2590);+#2590=AXIS2_PLACEMENT_3D('',#1679,#2512,#1553);+#2591=ADVANCED_FACE('',(#2592),#2599,.F.);+#2592=FACE_BOUND('',#2593,.F.);+#2593=EDGE_LOOP('',(#2594,#1743,#2597,#2598));+#2594=ORIENTED_EDGE('',*,*,#2595,.T.);+#2595=EDGE_CURVE('',#1673,#1740,#2596,.T.);+#2596=LINE('',#1674,#58);+#2597=ORIENTED_EDGE('',*,*,#2585,.F.);+#2598=ORIENTED_EDGE('',*,*,#1677,.F.);+#2599=CYLINDRICAL_SURFACE('',#1681,1.E-01);+#2600=ADVANCED_FACE('',(#2601),#2608,.F.);+#2601=FACE_BOUND('',#2602,.F.);+#2602=EDGE_LOOP('',(#2603,#1738,#2606,#2607));+#2603=ORIENTED_EDGE('',*,*,#2604,.T.);+#2604=EDGE_CURVE('',#1668,#1735,#2605,.T.);+#2605=LINE('',#1669,#58);+#2606=ORIENTED_EDGE('',*,*,#2595,.F.);+#2607=ORIENTED_EDGE('',*,*,#1672,.F.);+#2608=PLANE('',#2609);+#2609=AXIS2_PLACEMENT_3D('',#1669,#758,#73);+#2610=ADVANCED_FACE('',(#2611),#2618,.F.);+#2611=FACE_BOUND('',#2612,.F.);+#2612=EDGE_LOOP('',(#2613,#1733,#2616,#2617));+#2613=ORIENTED_EDGE('',*,*,#2614,.T.);+#2614=EDGE_CURVE('',#1663,#1730,#2615,.T.);+#2615=LINE('',#1664,#58);+#2616=ORIENTED_EDGE('',*,*,#2604,.F.);+#2617=ORIENTED_EDGE('',*,*,#1667,.F.);+#2618=PLANE('',#2619);+#2619=AXIS2_PLACEMENT_3D('',#1664,#73,#13);+#2620=ADVANCED_FACE('',(#2621),#2628,.F.);+#2621=FACE_BOUND('',#2622,.F.);+#2622=EDGE_LOOP('',(#2623,#1728,#2626,#2627));+#2623=ORIENTED_EDGE('',*,*,#2624,.T.);+#2624=EDGE_CURVE('',#1656,#1723,#2625,.T.);+#2625=LINE('',#1657,#58);+#2626=ORIENTED_EDGE('',*,*,#2614,.F.);+#2627=ORIENTED_EDGE('',*,*,#1662,.F.);+#2628=PLANE('',#2629);+#2629=AXIS2_PLACEMENT_3D('',#1657,#13,#28);+#2630=ADVANCED_FACE('',(#2631),#2638,.T.);+#2631=FACE_BOUND('',#2632,.F.);+#2632=EDGE_LOOP('',(#2633,#1721,#2636,#2637));+#2633=ORIENTED_EDGE('',*,*,#2634,.T.);+#2634=EDGE_CURVE('',#1651,#1718,#2635,.T.);+#2635=LINE('',#1652,#58);+#2636=ORIENTED_EDGE('',*,*,#2624,.F.);+#2637=ORIENTED_EDGE('',*,*,#1655,.F.);+#2638=CYLINDRICAL_SURFACE('',#2639,0.3);+#2639=AXIS2_PLACEMENT_3D('',#1660,#87,#1525);+#2640=ADVANCED_FACE('',(#2641),#2646,.F.);+#2641=FACE_BOUND('',#2642,.F.);+#2642=EDGE_LOOP('',(#2643,#1716,#2644,#2645));+#2643=ORIENTED_EDGE('',*,*,#1709,.T.);+#2644=ORIENTED_EDGE('',*,*,#2634,.F.);+#2645=ORIENTED_EDGE('',*,*,#1650,.F.);+#2646=PLANE('',#2647);+#2647=AXIS2_PLACEMENT_3D('',#1645,#2570,#1517);+#2648=ADVANCED_FACE('',(#2649),#2656,.T.);+#2649=FACE_BOUND('',#2650,.F.);+#2650=EDGE_LOOP('',(#2651,#1894,#2654,#2655));+#2651=ORIENTED_EDGE('',*,*,#2652,.T.);+#2652=EDGE_CURVE('',#1824,#1891,#2653,.T.);+#2653=LINE('',#1825,#58);+#2654=ORIENTED_EDGE('',*,*,#2151,.F.);+#2655=ORIENTED_EDGE('',*,*,#1828,.F.);+#2656=CYLINDRICAL_SURFACE('',#2657,0.3);+#2657=AXIS2_PLACEMENT_3D('',#1788,#87,#1558);+#2658=ADVANCED_FACE('',(#2659),#2666,.F.);+#2659=FACE_BOUND('',#2660,.F.);+#2660=EDGE_LOOP('',(#2661,#1889,#2664,#2665));+#2661=ORIENTED_EDGE('',*,*,#2662,.T.);+#2662=EDGE_CURVE('',#1818,#1885,#2663,.T.);+#2663=LINE('',#1819,#58);+#2664=ORIENTED_EDGE('',*,*,#2652,.F.);+#2665=ORIENTED_EDGE('',*,*,#1823,.F.);+#2666=PLANE('',#2667);+#2667=AXIS2_PLACEMENT_3D('',#1819,#2512,#1553);+#2668=ADVANCED_FACE('',(#2669),#2676,.F.);+#2669=FACE_BOUND('',#2670,.F.);+#2670=EDGE_LOOP('',(#2671,#1883,#2674,#2675));+#2671=ORIENTED_EDGE('',*,*,#2672,.T.);+#2672=EDGE_CURVE('',#1813,#1880,#2673,.T.);+#2673=LINE('',#1814,#58);+#2674=ORIENTED_EDGE('',*,*,#2662,.F.);+#2675=ORIENTED_EDGE('',*,*,#1817,.F.);+#2676=CYLINDRICAL_SURFACE('',#1821,1.E-01);+#2677=ADVANCED_FACE('',(#2678),#2685,.F.);+#2678=FACE_BOUND('',#2679,.F.);+#2679=EDGE_LOOP('',(#2680,#1878,#2683,#2684));+#2680=ORIENTED_EDGE('',*,*,#2681,.T.);+#2681=EDGE_CURVE('',#1808,#1875,#2682,.T.);+#2682=LINE('',#1809,#58);+#2683=ORIENTED_EDGE('',*,*,#2672,.F.);+#2684=ORIENTED_EDGE('',*,*,#1812,.F.);+#2685=PLANE('',#2686);+#2686=AXIS2_PLACEMENT_3D('',#1809,#758,#73);+#2687=ADVANCED_FACE('',(#2688),#2695,.F.);+#2688=FACE_BOUND('',#2689,.F.);+#2689=EDGE_LOOP('',(#2690,#1873,#2693,#2694));+#2690=ORIENTED_EDGE('',*,*,#2691,.T.);+#2691=EDGE_CURVE('',#1803,#1870,#2692,.T.);+#2692=LINE('',#1804,#58);+#2693=ORIENTED_EDGE('',*,*,#2681,.F.);+#2694=ORIENTED_EDGE('',*,*,#1807,.F.);+#2695=PLANE('',#2696);+#2696=AXIS2_PLACEMENT_3D('',#1804,#73,#13);+#2697=ADVANCED_FACE('',(#2698),#2705,.F.);+#2698=FACE_BOUND('',#2699,.F.);+#2699=EDGE_LOOP('',(#2700,#1868,#2703,#2704));+#2700=ORIENTED_EDGE('',*,*,#2701,.T.);+#2701=EDGE_CURVE('',#1796,#1863,#2702,.T.);+#2702=LINE('',#1797,#58);+#2703=ORIENTED_EDGE('',*,*,#2691,.F.);+#2704=ORIENTED_EDGE('',*,*,#1802,.F.);+#2705=PLANE('',#2706);+#2706=AXIS2_PLACEMENT_3D('',#1797,#13,#28);+#2707=ADVANCED_FACE('',(#2708),#2715,.T.);+#2708=FACE_BOUND('',#2709,.F.);+#2709=EDGE_LOOP('',(#2710,#1861,#2713,#2714));+#2710=ORIENTED_EDGE('',*,*,#2711,.T.);+#2711=EDGE_CURVE('',#1791,#1858,#2712,.T.);+#2712=LINE('',#1792,#58);+#2713=ORIENTED_EDGE('',*,*,#2701,.F.);+#2714=ORIENTED_EDGE('',*,*,#1795,.F.);+#2715=CYLINDRICAL_SURFACE('',#2716,0.3);+#2716=AXIS2_PLACEMENT_3D('',#1800,#87,#1525);+#2717=ADVANCED_FACE('',(#2718),#2723,.F.);+#2718=FACE_BOUND('',#2719,.F.);+#2719=EDGE_LOOP('',(#2720,#1856,#2721,#2722));+#2720=ORIENTED_EDGE('',*,*,#1849,.T.);+#2721=ORIENTED_EDGE('',*,*,#2711,.F.);+#2722=ORIENTED_EDGE('',*,*,#1790,.F.);+#2723=PLANE('',#2724);+#2724=AXIS2_PLACEMENT_3D('',#1785,#2570,#1517);+#2725=ADVANCED_FACE('',(#2726),#2733,.T.);+#2726=FACE_BOUND('',#2727,.F.);+#2727=EDGE_LOOP('',(#2728,#2034,#2731,#2732));+#2728=ORIENTED_EDGE('',*,*,#2729,.T.);+#2729=EDGE_CURVE('',#1964,#2031,#2730,.T.);+#2730=LINE('',#1965,#58);+#2731=ORIENTED_EDGE('',*,*,#2163,.F.);+#2732=ORIENTED_EDGE('',*,*,#1968,.F.);+#2733=CYLINDRICAL_SURFACE('',#2734,0.3);+#2734=AXIS2_PLACEMENT_3D('',#1928,#87,#1558);+#2735=ADVANCED_FACE('',(#2736),#2743,.F.);+#2736=FACE_BOUND('',#2737,.F.);+#2737=EDGE_LOOP('',(#2738,#2029,#2741,#2742));+#2738=ORIENTED_EDGE('',*,*,#2739,.T.);+#2739=EDGE_CURVE('',#1958,#2025,#2740,.T.);+#2740=LINE('',#1959,#58);+#2741=ORIENTED_EDGE('',*,*,#2729,.F.);+#2742=ORIENTED_EDGE('',*,*,#1963,.F.);+#2743=PLANE('',#2744);+#2744=AXIS2_PLACEMENT_3D('',#1959,#2512,#1553);+#2745=ADVANCED_FACE('',(#2746),#2753,.F.);+#2746=FACE_BOUND('',#2747,.F.);+#2747=EDGE_LOOP('',(#2748,#2023,#2751,#2752));+#2748=ORIENTED_EDGE('',*,*,#2749,.T.);+#2749=EDGE_CURVE('',#1953,#2020,#2750,.T.);+#2750=LINE('',#1954,#58);+#2751=ORIENTED_EDGE('',*,*,#2739,.F.);+#2752=ORIENTED_EDGE('',*,*,#1957,.F.);+#2753=CYLINDRICAL_SURFACE('',#1961,1.E-01);+#2754=ADVANCED_FACE('',(#2755),#2762,.F.);+#2755=FACE_BOUND('',#2756,.F.);+#2756=EDGE_LOOP('',(#2757,#2018,#2760,#2761));+#2757=ORIENTED_EDGE('',*,*,#2758,.T.);+#2758=EDGE_CURVE('',#1948,#2015,#2759,.T.);+#2759=LINE('',#1949,#58);+#2760=ORIENTED_EDGE('',*,*,#2749,.F.);+#2761=ORIENTED_EDGE('',*,*,#1952,.F.);+#2762=PLANE('',#2763);+#2763=AXIS2_PLACEMENT_3D('',#1949,#758,#73);+#2764=ADVANCED_FACE('',(#2765),#2772,.F.);+#2765=FACE_BOUND('',#2766,.F.);+#2766=EDGE_LOOP('',(#2767,#2013,#2770,#2771));+#2767=ORIENTED_EDGE('',*,*,#2768,.T.);+#2768=EDGE_CURVE('',#1943,#2010,#2769,.T.);+#2769=LINE('',#1944,#58);+#2770=ORIENTED_EDGE('',*,*,#2758,.F.);+#2771=ORIENTED_EDGE('',*,*,#1947,.F.);+#2772=PLANE('',#2773);+#2773=AXIS2_PLACEMENT_3D('',#1944,#73,#13);+#2774=ADVANCED_FACE('',(#2775),#2782,.F.);+#2775=FACE_BOUND('',#2776,.F.);+#2776=EDGE_LOOP('',(#2777,#2008,#2780,#2781));+#2777=ORIENTED_EDGE('',*,*,#2778,.T.);+#2778=EDGE_CURVE('',#1936,#2003,#2779,.T.);+#2779=LINE('',#1937,#58);+#2780=ORIENTED_EDGE('',*,*,#2768,.F.);+#2781=ORIENTED_EDGE('',*,*,#1942,.F.);+#2782=PLANE('',#2783);+#2783=AXIS2_PLACEMENT_3D('',#1937,#13,#28);+#2784=ADVANCED_FACE('',(#2785),#2792,.T.);+#2785=FACE_BOUND('',#2786,.F.);+#2786=EDGE_LOOP('',(#2787,#2001,#2790,#2791));+#2787=ORIENTED_EDGE('',*,*,#2788,.T.);+#2788=EDGE_CURVE('',#1931,#1998,#2789,.T.);+#2789=LINE('',#1932,#58);+#2790=ORIENTED_EDGE('',*,*,#2778,.F.);+#2791=ORIENTED_EDGE('',*,*,#1935,.F.);+#2792=CYLINDRICAL_SURFACE('',#2793,0.3);+#2793=AXIS2_PLACEMENT_3D('',#1940,#87,#1525);+#2794=ADVANCED_FACE('',(#2795),#2800,.F.);+#2795=FACE_BOUND('',#2796,.F.);+#2796=EDGE_LOOP('',(#2797,#1996,#2798,#2799));+#2797=ORIENTED_EDGE('',*,*,#1989,.T.);+#2798=ORIENTED_EDGE('',*,*,#2788,.F.);+#2799=ORIENTED_EDGE('',*,*,#1930,.F.);+#2800=PLANE('',#2801);+#2801=AXIS2_PLACEMENT_3D('',#1925,#2570,#1517);+#2802=ADVANCED_FACE('',(#2803),#2804,.F.);+#2803=FACE_BOUND('',#2112,.T.);+#2804=PLANE('',#2805);+#2805=AXIS2_PLACEMENT_3D('',#2119,#758,#59);+#2806=( GEOMETRIC_REPRESENTATION_CONTEXT(3) GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#2810)) GLOBAL_UNIT_ASSIGNED_CONTEXT((#2807,#2808,#2809)) REPRESENTATION_CONTEXT('Context #1','3D Context with UNIT and UNCERTAINTY') );+#2807=( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) );+#2808=( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) );+#2809=( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() );+#2810=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#2807,'distance_accuracy_value','confusion accuracy');+#2811=PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7));+#2812=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#2813,#2823,#2824,#2825,#2826,#2827,#2828,#2829,#2830,#2831,#2832,#2833,#2834,#2835,#2836,#2845,#2846,#2847,#2848,#2849,#2850,#2851,#2852,#2853,#2854,#2855,#2856,#2857,#2858,#2859,#2860,#2861,#2862,#2863,#2864,#2865,#2866,#2867,#2868,#2869,#2870,#2871,#2872,#2873,#2874,#2875,#2876,#2877,#2878,#2879,#2880,#2881,#2882,#2883,#2884,#2885,#2886,#2887,#2888,#2889,#2890,#2891,#2892,#2893,#2894,#2895,#2896,#2897,#2898,#2899,#2900,#2901,#2902,#2903,#2904,#2905,#2906,#2907,#2908,#2909,#2910,#2911,#2912,#2913,#2914,#2915,#2916,#2917,#2918,#2919,#2920,#2921,#2922,#2923,#2924,#2925,#2926,#2927,#2928,#2929,#2930,#2931,#2932,#2933,#2934,#2935,#2936,#2937,#2938,#2939,#2940,#2941,#2942,#2943,#2944,#2945,#2946,#2947,#2948,#2949,#2950,#2951,#2952,#2953,#2954,#2955,#2956,#2957,#2958,#2959,#2960,#2961,#2962,#2963,#2964,#2965,#2966,#2967,#2968,#2969,#2970,#2971,#2972,#2973,#2974,#2975,#2976),#2806);+#2813=STYLED_ITEM('color',(#2814),#17);+#2814=PRESENTATION_STYLE_ASSIGNMENT((#2815,#2821));+#2815=SURFACE_STYLE_USAGE(.BOTH.,#2816);+#2816=SURFACE_SIDE_STYLE('',(#2817));+#2817=SURFACE_STYLE_FILL_AREA(#2818);+#2818=FILL_AREA_STYLE('',(#2819));+#2819=FILL_AREA_STYLE_COLOUR('',#2820);+#2820=COLOUR_RGB('',0.147999998088,0.145000001626,0.145000001626);+#2821=CURVE_STYLE('',#2822,POSITIVE_LENGTH_MEASURE(0.1),#2820);+#2822=DRAUGHTING_PRE_DEFINED_CURVE_FONT('continuous');+#2823=STYLED_ITEM('color',(#2814),#43);+#2824=STYLED_ITEM('color',(#2814),#96);+#2825=STYLED_ITEM('color',(#2814),#109);+#2826=STYLED_ITEM('color',(#2814),#128);+#2827=STYLED_ITEM('color',(#2814),#141);+#2828=STYLED_ITEM('color',(#2814),#186);+#2829=STYLED_ITEM('color',(#2814),#231);+#2830=STYLED_ITEM('color',(#2814),#244);+#2831=STYLED_ITEM('color',(#2814),#257);+#2832=STYLED_ITEM('color',(#2814),#266);+#2833=STYLED_ITEM('color',(#2814),#281);+#2834=STYLED_ITEM('color',(#2814),#345);+#2835=STYLED_ITEM('color',(#2814),#356);+#2836=STYLED_ITEM('color',(#2837),#375);+#2837=PRESENTATION_STYLE_ASSIGNMENT((#2838,#2844));+#2838=SURFACE_STYLE_USAGE(.BOTH.,#2839);+#2839=SURFACE_SIDE_STYLE('',(#2840));+#2840=SURFACE_STYLE_FILL_AREA(#2841);+#2841=FILL_AREA_STYLE('',(#2842));+#2842=FILL_AREA_STYLE_COLOUR('',#2843);+#2843=COLOUR_RGB('',0.823999987314,0.819999987296,0.781000009244);+#2844=CURVE_STYLE('',#2822,POSITIVE_LENGTH_MEASURE(0.1),#2843);+#2845=STYLED_ITEM('color',(#2814),#400);+#2846=STYLED_ITEM('color',(#2837),#418);+#2847=STYLED_ITEM('color',(#2814),#439);+#2848=STYLED_ITEM('color',(#2837),#457);+#2849=STYLED_ITEM('color',(#2814),#478);+#2850=STYLED_ITEM('color',(#2837),#496);+#2851=STYLED_ITEM('color',(#2814),#517);+#2852=STYLED_ITEM('color',(#2814),#527);+#2853=STYLED_ITEM('color',(#2837),#539);+#2854=STYLED_ITEM('color',(#2814),#560);+#2855=STYLED_ITEM('color',(#2837),#578);+#2856=STYLED_ITEM('color',(#2814),#599);+#2857=STYLED_ITEM('color',(#2837),#617);+#2858=STYLED_ITEM('color',(#2814),#638);+#2859=STYLED_ITEM('color',(#2837),#656);+#2860=STYLED_ITEM('color',(#2814),#677);+#2861=STYLED_ITEM('color',(#2814),#694);+#2862=STYLED_ITEM('color',(#2814),#709);+#2863=STYLED_ITEM('color',(#2814),#724);+#2864=STYLED_ITEM('color',(#2837),#735);+#2865=STYLED_ITEM('color',(#2814),#759);+#2866=STYLED_ITEM('color',(#2814),#805);+#2867=STYLED_ITEM('color',(#2814),#819);+#2868=STYLED_ITEM('color',(#2814),#833);+#2869=STYLED_ITEM('color',(#2814),#847);+#2870=STYLED_ITEM('color',(#2837),#893);+#2871=STYLED_ITEM('color',(#2814),#913);+#2872=STYLED_ITEM('color',(#2837),#944);+#2873=STYLED_ITEM('color',(#2837),#1014);+#2874=STYLED_ITEM('color',(#2837),#1032);+#2875=STYLED_ITEM('color',(#2814),#1085);+#2876=STYLED_ITEM('color',(#2837),#1096);+#2877=STYLED_ITEM('color',(#2837),#1156);+#2878=STYLED_ITEM('color',(#2837),#1173);+#2879=STYLED_ITEM('color',(#2814),#1226);+#2880=STYLED_ITEM('color',(#2837),#1237);+#2881=STYLED_ITEM('color',(#2837),#1297);+#2882=STYLED_ITEM('color',(#2837),#1314);+#2883=STYLED_ITEM('color',(#2814),#1367);+#2884=STYLED_ITEM('color',(#2837),#1375);+#2885=STYLED_ITEM('color',(#2837),#1433);+#2886=STYLED_ITEM('color',(#2837),#1450);+#2887=STYLED_ITEM('color',(#2837),#1498);+#2888=STYLED_ITEM('color',(#2837),#1563);+#2889=STYLED_ITEM('color',(#2837),#1579);+#2890=STYLED_ITEM('color',(#2814),#1627);+#2891=STYLED_ITEM('color',(#2837),#1637);+#2892=STYLED_ITEM('color',(#2837),#1697);+#2893=STYLED_ITEM('color',(#2837),#1713);+#2894=STYLED_ITEM('color',(#2814),#1766);+#2895=STYLED_ITEM('color',(#2837),#1777);+#2896=STYLED_ITEM('color',(#2837),#1837);+#2897=STYLED_ITEM('color',(#2837),#1853);+#2898=STYLED_ITEM('color',(#2814),#1906);+#2899=STYLED_ITEM('color',(#2837),#1917);+#2900=STYLED_ITEM('color',(#2837),#1977);+#2901=STYLED_ITEM('color',(#2837),#1993);+#2902=STYLED_ITEM('color',(#2837),#2044);+#2903=STYLED_ITEM('color',(#2837),#2054);+#2904=STYLED_ITEM('color',(#2837),#2066);+#2905=STYLED_ITEM('color',(#2837),#2078);+#2906=STYLED_ITEM('color',(#2814),#2090);+#2907=STYLED_ITEM('color',(#2814),#2124);+#2908=STYLED_ITEM('color',(#2837),#2134);+#2909=STYLED_ITEM('color',(#2837),#2146);+#2910=STYLED_ITEM('color',(#2837),#2158);+#2911=STYLED_ITEM('color',(#2814),#2170);+#2912=STYLED_ITEM('color',(#2837),#2180);+#2913=STYLED_ITEM('color',(#2814),#2190);+#2914=STYLED_ITEM('color',(#2837),#2198);+#2915=STYLED_ITEM('color',(#2837),#2208);+#2916=STYLED_ITEM('color',(#2837),#2219);+#2917=STYLED_ITEM('color',(#2837),#2229);+#2918=STYLED_ITEM('color',(#2837),#2239);+#2919=STYLED_ITEM('color',(#2837),#2249);+#2920=STYLED_ITEM('color',(#2837),#2259);+#2921=STYLED_ITEM('color',(#2837),#2269);+#2922=STYLED_ITEM('color',(#2837),#2278);+#2923=STYLED_ITEM('color',(#2837),#2288);+#2924=STYLED_ITEM('color',(#2837),#2298);+#2925=STYLED_ITEM('color',(#2837),#2308);+#2926=STYLED_ITEM('color',(#2837),#2318);+#2927=STYLED_ITEM('color',(#2837),#2328);+#2928=STYLED_ITEM('color',(#2837),#2338);+#2929=STYLED_ITEM('color',(#2837),#2348);+#2930=STYLED_ITEM('color',(#2837),#2356);+#2931=STYLED_ITEM('color',(#2837),#2366);+#2932=STYLED_ITEM('color',(#2837),#2376);+#2933=STYLED_ITEM('color',(#2837),#2386);+#2934=STYLED_ITEM('color',(#2837),#2396);+#2935=STYLED_ITEM('color',(#2837),#2406);+#2936=STYLED_ITEM('color',(#2837),#2416);+#2937=STYLED_ITEM('color',(#2837),#2426);+#2938=STYLED_ITEM('color',(#2837),#2434);+#2939=STYLED_ITEM('color',(#2837),#2444);+#2940=STYLED_ITEM('color',(#2837),#2454);+#2941=STYLED_ITEM('color',(#2837),#2464);+#2942=STYLED_ITEM('color',(#2837),#2474);+#2943=STYLED_ITEM('color',(#2837),#2484);+#2944=STYLED_ITEM('color',(#2837),#2494);+#2945=STYLED_ITEM('color',(#2837),#2502);+#2946=STYLED_ITEM('color',(#2837),#2513);+#2947=STYLED_ITEM('color',(#2837),#2522);+#2948=STYLED_ITEM('color',(#2837),#2532);+#2949=STYLED_ITEM('color',(#2837),#2542);+#2950=STYLED_ITEM('color',(#2837),#2552);+#2951=STYLED_ITEM('color',(#2837),#2562);+#2952=STYLED_ITEM('color',(#2837),#2571);+#2953=STYLED_ITEM('color',(#2837),#2581);+#2954=STYLED_ITEM('color',(#2837),#2591);+#2955=STYLED_ITEM('color',(#2837),#2600);+#2956=STYLED_ITEM('color',(#2837),#2610);+#2957=STYLED_ITEM('color',(#2837),#2620);+#2958=STYLED_ITEM('color',(#2837),#2630);+#2959=STYLED_ITEM('color',(#2837),#2640);+#2960=STYLED_ITEM('color',(#2837),#2648);+#2961=STYLED_ITEM('color',(#2837),#2658);+#2962=STYLED_ITEM('color',(#2837),#2668);+#2963=STYLED_ITEM('color',(#2837),#2677);+#2964=STYLED_ITEM('color',(#2837),#2687);+#2965=STYLED_ITEM('color',(#2837),#2697);+#2966=STYLED_ITEM('color',(#2837),#2707);+#2967=STYLED_ITEM('color',(#2837),#2717);+#2968=STYLED_ITEM('color',(#2837),#2725);+#2969=STYLED_ITEM('color',(#2837),#2735);+#2970=STYLED_ITEM('color',(#2837),#2745);+#2971=STYLED_ITEM('color',(#2837),#2754);+#2972=STYLED_ITEM('color',(#2837),#2764);+#2973=STYLED_ITEM('color',(#2837),#2774);+#2974=STYLED_ITEM('color',(#2837),#2784);+#2975=STYLED_ITEM('color',(#2837),#2794);+#2976=STYLED_ITEM('color',(#2977),#2802);+#2977=PRESENTATION_STYLE_ASSIGNMENT((#2978,#2984));+#2978=SURFACE_STYLE_USAGE(.BOTH.,#2979);+#2979=SURFACE_SIDE_STYLE('',(#2980));+#2980=SURFACE_STYLE_FILL_AREA(#2981);+#2981=FILL_AREA_STYLE('',(#2982));+#2982=FILL_AREA_STYLE_COLOUR('',#2983);+#2983=COLOUR_RGB('',0.690999998585,0.664000007176,0.597999987832);+#2984=CURVE_STYLE('',#2822,POSITIVE_LENGTH_MEASURE(0.1),#2983);+ENDSEC;+END-ISO-10303-21;
provenance/tools/build_soic8.pyadded+126@@ -0,0 +1,126 @@+#!/usr/bin/env python3+"""Build a Microchip SN (SOIC-8, 3.90 mm body) gull-wing model from the package drawing values+(DS20005284B p.23-24, drawing C04-00057-SN Rev L), in KiCad's 3D frame: Z up, seated on z = 0, centred on the+footprint origin, pins along x, pin 1 at (-x, +y) (footprint pad 1 at (-x, -y) in KiCad's Y-down footprint).+Bend radii, lead angle, mold draft and the pin-1 dimple follow KiCad's own SOIC-8 library model so the leads keep+radiused gull-wing bends; only the flat foot is longer, so the gauge-plane foot L lands inside 0.40 .. 1.27.+usage: build_soic8.py out.step [params.json] (writes a two-part assembly: body (black epoxy), pins (tin))"""+import sys, json, math+import cadquery as cq++P = dict(+ N=8, e=1.27, E=6.00, E1=3.90, D=4.90, A=1.75, A1=0.10,+ b=0.41, c=0.20, # lead width / thickness (drawing: b 0.31..0.51, c 0.17..0.25)+ parting=0.825, # parting line height (KiCad library model; not printed)+ top_inset=0.19, bot_inset=0.115, # mold draft insets per side (KiCad model: 11.6 deg top, 9.0 deg bottom; drawing 5..15)+ r_in=0.10, # inner bend radius (drawing R, R1 >= 0.07; KiCad 0.10)+ lead_angle=9.3, # rise off vertical, degrees (KiCad model)+ z_shoulder=0.925, # lead centreline height where it leaves the body (KiCad model)+ foot_flat=0.39, # flat bottom length at z = 0, tuned so gauge-plane L = target+ pin1=dict(x=-1.11, y=1.61, d=0.60, depth=0.05),+ detail="full", # full | low (bends as 3 straight segments) | superlow (1 segment, undrafted body)+)+if len(sys.argv) > 2:+ P.update(json.load(open(sys.argv[2])))++def lead_profile_path(sign):+ """centreline of one lead in the XZ plane, from inside the body to the tip, for the -x row (sign=-1)."""+ c, r = P["c"], P["r_in"] + P["c"] / 2 # centreline radius of both bends+ tip = P["E"] / 2+ zc_foot = c / 2+ a = math.radians(P["lead_angle"])+ # bottom bend: horizontal foot (going outward) <- rise. Work outward in |x|.+ x_fb = tip - P["foot_flat"] # where the flat (centreline) foot starts, |x|+ # bottom bend centre above the foot start+ cb = (x_fb, zc_foot + r)+ # rise direction (going up and inward): from bottom bend end+ # point on bottom arc where tangent equals rise direction: angle from centre+ pb_end = (cb[0] - r * math.cos(a), cb[1] - r * math.sin(a))+ # top bend: centre below shoulder centreline+ ct_z = P["z_shoulder"] - r+ pt_start_z = ct_z + r * math.sin(a)+ # rise line from pb_end going up-inward with angle a off vertical+ dz = pt_start_z - pb_end[1]+ pt_start = (pb_end[0] - dz * math.tan(a), pt_start_z)+ ct = (pt_start[0] - r * math.cos(a), ct_z)+ x_sh = ct[0] # shoulder end (|x|) where top bend begins+ inner = P["E1"] / 2 - 0.35 # start well inside the body+ pts = dict(inner=inner, x_sh=x_sh, ct=ct, pt_start=pt_start, pb_end=pb_end, cb=cb, x_fb=x_fb, tip=tip, r=r)+ return pts++def arc(wp, c, r, t0, t1, s, top):+ """bend from angle t0 to t1: top bend points (c.x + r sin t, c.z + r cos t); bottom (c.x - r cos t, c.z - r sin t).+ full detail = true arc; low = 3 chords; superlow = 1 chord."""+ pt = (lambda t: (c[0] + r * math.sin(t), c[1] + r * math.cos(t))) if top else (lambda t: (c[0] - r * math.cos(t), c[1] - r * math.sin(t)))+ if P["detail"] == "full":+ m, e = pt((t0 + t1) / 2), pt(t1)+ return wp.threePointArc((s * m[0], m[1]), (s * e[0], e[1]))+ n = 3 if P["detail"] == "low" else 1+ for i in range(1, n + 1):+ q = pt(t0 + (t1 - t0) * i / n); wp = wp.lineTo(s * q[0], q[1])+ return wp++def make_lead(y, sign):+ q = lead_profile_path(sign)+ r, a = q["r"], math.radians(P["lead_angle"])+ s = sign+ zc = P["z_shoulder"]+ # build path in XZ (workplane XZ: local x = global x, local y = global z)+ wp = cq.Workplane("XZ").moveTo(s * q["inner"], zc).lineTo(s * q["x_sh"], zc)+ # top bend: from (x_sh, zc) to pt_start, centre ct; mid angle+ m = math.radians(90 - P["lead_angle"]) / 2 + math.radians(P["lead_angle"])+ mid_t = (q["ct"][0] + r * math.sin(math.pi / 2 - (math.pi / 2 - a) / 2) , q["ct"][1] + r * math.cos(math.pi / 2 - (math.pi / 2 - a) / 2))+ # parametric: top-bend arc points at angle phi from +z axis rotating outward: (ct.x + r sin phi, ct.z + r cos phi), phi 0 -> 90-a+ phi_end = math.pi / 2 - a+ pm = (q["ct"][0] + r * math.sin(phi_end / 2), q["ct"][1] + r * math.cos(phi_end / 2))+ pe = (q["ct"][0] + r * math.sin(phi_end), q["ct"][1] + r * math.cos(phi_end))+ wp = arc(wp, q["ct"], r, 0.0, phi_end, s, top=True)+ wp = wp.lineTo(s * q["pb_end"][0], q["pb_end"][1])+ # bottom bend: centre cb, from pb_end (angle a from -x... ) to (x_fb, c/2)+ cb = q["cb"]+ # points on bottom arc: (cb.x - r cos t, cb.z - r sin t), t from a -> 90deg+ t_mid = (a + math.pi / 2) / 2+ pm2 = (cb[0] - r * math.cos(t_mid), cb[1] - r * math.sin(t_mid))+ wp = arc(wp, cb, r, a, math.pi / 2, s, top=False)+ wp = wp.lineTo(s * q["tip"], P["c"] / 2)+ path = wp.wire().val()+ # profile: rectangle b (along y) x c (normal to path) at the path start, plane normal = path tangent (x)+ start = cq.Vector(s * q["inner"], y, zc)+ prof = cq.Workplane(cq.Plane(origin=start, xDir=(0, 1, 0), normal=(s, 0, 0))).rect(P["b"], P["c"])+ return prof.sweep(cq.Workplane().add(path), transition="round" if P["detail"] == "full" else "right").val()++def body():+ E1, D, A, A1, pz = P["E1"], P["D"], P["A"], P["A1"], P["parting"]+ if P["detail"] == "superlow":+ b = cq.Workplane("XY").workplane(offset=A1).rect(E1, D).extrude(A - A1)+ p1 = P["pin1"]+ dimple = cq.Workplane("XY").workplane(offset=A - p1["depth"]).center(p1["x"], p1["y"]).circle(p1["d"] / 2).extrude(p1["depth"] + 0.01)+ return b.cut(dimple).val()+ lo = cq.Workplane("XY").workplane(offset=A1).rect(E1 - 2 * P["bot_inset"], D - 2 * P["bot_inset"]) \+ .workplane(offset=pz - A1).rect(E1, D).loft()+ hi = cq.Workplane("XY").workplane(offset=pz).rect(E1, D) \+ .workplane(offset=A - pz).rect(E1 - 2 * P["top_inset"], D - 2 * P["top_inset"]).loft()+ b = lo.union(hi)+ p1 = P["pin1"]+ dimple = cq.Workplane("XY").workplane(offset=A - p1["depth"]).center(p1["x"], p1["y"]).circle(p1["d"] / 2).extrude(p1["depth"] + 0.01)+ return b.cut(dimple).val()++def main(out):+ n2 = P["N"] // 2+ ys = [(n2 - 1) / 2 * P["e"] - i * P["e"] for i in range(n2)] # +y .. -y (pin 1 at +y)+ leads = []+ for i, y in enumerate(ys):+ leads.append(make_lead(y, -1)) # pins 1..4 on -x, pin 1 at +y+ for i, y in enumerate(reversed(ys)):+ leads.append(make_lead(y, +1)) # pins 5..8 on +x, pin 5 at -y, pin 8 at +y+ bd = body()+ # trim the lead stubs that sit inside the body so body and pins do not overlap+ pins = cq.Compound.makeCompound([l.cut(bd) for l in leads])+ asm = cq.Assembly(name="SOIC-8_SN")+ asm.add(bd, name="body", color=cq.Color(0.1, 0.1, 0.1))+ asm.add(pins, name="pins", color=cq.Color(0.82, 0.82, 0.80))+ asm.save(out, exportType="STEP")+ print(json.dumps({"out": out, "params": P}, default=str))++if __name__ == "__main__":+ main(sys.argv[1])
provenance/tools/dims.pyadded+46@@ -0,0 +1,46 @@+#!/usr/bin/env python3+"""Measure a SOIC-8 gull-wing STEP (KiCad frame: Z up, seated on z = 0, pins along +-x, pitch along y),+whether body and leads are separate solids or one fused solid, using plane sections:+ body : section y = 0 (between leads) -> E1 (molded width, widest), A1 (standoff), A (overall height);+ section x = 0 -> D (molded length)+ leads : section y = lead centre -> tip-to-tip E, gauge-plane foot L (JEDEC: tip to where the lead's lower+ outer surface crosses z = 0.25); section x = foot (tip + 0.15) -> lead width b (per lead), thickness c+usage: dims.py part.step [lead_y] (lead_y default -1.905)"""+import sys, json, cadquery as cq+from OCP.BRepAlgoAPI import BRepAlgoAPI_Section+from OCP.gp import gp_Pln, gp_Pnt, gp_Dir++def sec(shape, p, d):+ s = BRepAlgoAPI_Section(shape.wrapped, gp_Pln(gp_Pnt(*p), gp_Dir(*d))); s.Build()+ return cq.Shape.cast(s.Shape())++a = cq.importers.importStep(sys.argv[1]); shp = cq.Compound.makeCompound(a.solids().vals())+ly = float(sys.argv[2]) if len(sys.argv) > 2 else -1.905+bb = shp.BoundingBox()+r = lambda v: round(v, 4)+o = {"file": sys.argv[1].split("/")[-1], "solids": len(a.solids().vals()),+ "overall_bbox": [r(v) for v in (bb.xmin, bb.ymin, bb.zmin, bb.xmax, bb.ymax, bb.zmax)]}+b0 = sec(shp, (0, 0, 0), (0, 1, 0)).BoundingBox()+o["E1_body_width"] = r(b0.xlen); o["A1_standoff"] = r(b0.zmin); o["A_overall_height"] = r(b0.zmax)+o["A2_molded_thickness"] = r(b0.zmax - b0.zmin)+b1 = sec(shp, (0, 0, 0), (1, 0, 0)).BoundingBox(); o["D_body_length"] = r(b1.ylen)+prof = sec(shp, (0, ly, 0), (0, 1, 0)); pb = prof.BoundingBox()+o["E_tip_to_tip"] = r(pb.xlen)+g = sec(prof, (0, 0, 0.25), (0, 0, 1))+xs = sorted(v.X for v in g.Vertices() if v.X < 0)+o["gauge_crossings_x"] = [r(x) for x in xs]+o["L_gauge"] = r(xs[0] - pb.xmin) if xs else None+foot = sec(shp, (pb.xmin + 0.15, 0, 0), (1, 0, 0))+# group edges by y into leads+ys = sorted(set(r(v.Y) for v in foot.Vertices()))+groups = []; +for y in ys:+ if groups and y - groups[-1][-1] < 0.3: groups[-1].append(y)+ else: groups.append([y])+o["foot_leads_y"] = [[g_[0], g_[-1]] for g_ in groups]+o["b_lead_width"] = [r(g_[-1] - g_[0]) for g_ in groups]+o["pitch"] = [r((groups[i+1][0] + groups[i+1][-1]) / 2 - (groups[i][0] + groups[i][-1]) / 2) for i in range(len(groups) - 1)]+zs = [v.Z for v in foot.Vertices()]+o["c_lead_thickness"] = r(max(zs) - min(zs)) if zs else None+o["foot_z"] = [r(min(zs)), r(max(zs))] if zs else None+print(json.dumps(o, indent=1))
provenance/tools/footprint-create.jsonadded+83@@ -0,0 +1,83 @@+{+ "footprintName": "mcp2562fd-e-sn",+ "description": "Microchip SN 8-lead SOIC, 3.90 mm body, 1.27 mm pitch; land pattern per Microchip drawing C04-02057-SN Rev L (C 5.40, X1 0.60, Y1 1.55), DS20005284B p.25",+ "tags": "SOIC SO SOIC-8 SN Microchip MCP2562FD",+ "pads": [+ {+ "number": "1",+ "x": -2.7,+ "y": -1.905,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "2",+ "x": -2.7,+ "y": -0.635,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "3",+ "x": -2.7,+ "y": 0.635,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "4",+ "x": -2.7,+ "y": 1.905,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "5",+ "x": 2.7,+ "y": 1.905,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "6",+ "x": 2.7,+ "y": 0.635,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "7",+ "x": 2.7,+ "y": -0.635,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ },+ {+ "number": "8",+ "x": 2.7,+ "y": -1.905,+ "dx": 1.55,+ "dy": 0.6,+ "shape": "rect"+ }+ ],+ "body": {+ "x1": -1.95,+ "y1": -2.45,+ "x2": 1.95,+ "y2": 2.45+ },+ "courtyard": {+ "x1": -3.75,+ "y1": -2.7,+ "x2": 3.75,+ "y2": 2.7+ }+}
provenance/tools/fp_check.pyadded+50@@ -0,0 +1,50 @@+#!/usr/bin/env python3+"""Pad-by-pad comparison of the page footprint against Microchip's recommended land pattern (C04-02057-SN Rev L:+E 1.27 BSC, C 5.40, X1 0.60, Y1 1.55) and against KiCad's SOIC-8_3.9x4.9mm_P1.27mm; draws the three with the+3D model's lead footprints (z <= 0.01 mm contact area and the gauge-plane foot) in KiCad's footprint frame (Y down).+usage: fp_check.py page.kicad_mod kicad.kicad_mod model.step out.json out.png"""+import re, sys, json+import matplotlib; matplotlib.use("Agg")+import matplotlib.pyplot as plt+from matplotlib.patches import Rectangle+page, kic, step, oj, op = sys.argv[1:6]+def pads(p):+ s = open(p).read(); out = {}+ for m in re.finditer(r'\(pad "(\d+)" smd (\w+)\s*\(at (\S+) (\S+)\)\s*\(size (\S+) (\S+)\)', s):+ n, sh, x, y, w, h = m.groups(); out[n] = dict(shape=sh, x=float(x), y=float(y), w=float(w), h=float(h))+ return out+C, X1, Y1, E = 5.40, 0.60, 1.55, 1.27+mc = {}+ys = [-1.5 * E, -0.5 * E, 0.5 * E, 1.5 * E]+for i, y in enumerate(ys): mc[str(i + 1)] = dict(x=-C / 2, y=round(y, 4), w=Y1, h=X1)+for i, y in enumerate(reversed(ys)): mc[str(i + 5)] = dict(x=C / 2, y=round(y, 4), w=Y1, h=X1)+pp, kp = pads(page), pads(kic)+rows = []; ok = True+for n in sorted(mc, key=int):+ a, b, k = mc[n], pp[n], kp[n]+ d = {key: round(b[key] - a[key], 4) for key in ("x", "y", "w", "h")}+ match = all(abs(v) < 1e-6 for v in d.values()); ok &= match+ rows.append(dict(pad=n, microchip=a, page=b, page_minus_microchip=d, match=match, kicad=k,+ kicad_minus_microchip={key: round(k[key] - a[key], 4) for key in ("x", "y", "w", "h")}))+res = dict(schema="adom/footprint-check@1", reference="Microchip DS20005284B p.25, drawing C04-02057-SN Rev L (recommended land pattern)",+ values_mm=dict(E=E, C=C, X1=X1, Y1=Y1), page_footprint=page.split("/")[-1], all_pads_match=ok, pads=rows,+ kicad_comparison="KiCad SOIC-8_3.9x4.9mm_P1.27mm (IPC-7351 nominal, JEDEC MS-012AA): pads 1.95 x 0.60 at x = +-2.475, roundrect 25 %; centre 0.225 mm inboard of Microchip's, 0.40 mm longer, inner edge 0.425 mm further under the body (1.500 vs 1.925 from centre), outer edge 0.025 mm shorter (3.450 vs 3.475). Pitch, width and pin order identical. The page follows Microchip's drawing.")+json.dump(res, open(oj, "w"), indent=1)+fig, ax = plt.subplots(figsize=(8, 7), dpi=120); ax.set_facecolor("white")+ax.add_patch(Rectangle((-1.95, -2.45), 3.9, 4.9, fill=False, ec="#555", lw=1, ls="-"))+for n, p in pp.items():+ ax.add_patch(Rectangle((p["x"] - p["w"] / 2, p["y"] - p["h"] / 2), p["w"], p["h"], fc="#00b8b1", alpha=0.45, ec="#00807a"))+ ax.text(p["x"], p["y"], n, ha="center", va="center", fontsize=9, weight="bold")+for n, p in kp.items():+ ax.add_patch(Rectangle((p["x"] - p["w"] / 2, p["y"] - p["h"] / 2), p["w"], p["h"], fill=False, ec="#d9822b", lw=1.2, ls="--"))+# model lead contact: flat foot from the generator params (x 2.587..3.0 at z = 0), width 0.41, y flipped (3D +y = footprint -y)+for s in (-1, 1):+ for y in ys:+ ax.add_patch(Rectangle((min(s * 2.587, s * 3.0), y - 0.205), 0.413, 0.41, fc="#333", alpha=0.6))+ ax.add_patch(Rectangle((min(s * 2.5, s * 3.0), y - 0.205), 0.5, 0.41, fill=False, ec="#000", lw=0.6, ls=":"))+ax.annotate("pin 1", (-3.475, -2.3), fontsize=9)+ax.set_xlim(-4.2, 4.2); ax.set_ylim(3.2, -3.4); ax.set_aspect("equal"); ax.grid(alpha=0.2)+ax.set_title("MCP2562FD-E/SN footprint check (KiCad frame, Y down, mm)", fontsize=10)+fig.text(0.02, 0.02, "teal: page pads = Microchip C04-02057-SN (C 5.40, X1 0.60, Y1 1.55); orange dashed: KiCad SOIC-8 pads\n"+ "dark: 3D model flat foot (0.413 mm); dotted: gauge-plane foot L = 0.50 mm; grey: body 3.90 x 4.90", fontsize=7.5, va="bottom")+fig.subplots_adjust(bottom=0.12); fig.savefig(op, bbox_inches="tight"); print(json.dumps({"all_pads_match": ok}))
provenance/tools/glb_batch.pyadded+89@@ -0,0 +1,89 @@+#!/usr/bin/env python3+"""Lossless primitive batching for a step2glb chip GLB (uncompressed float accessors), plus an optional graft of+the reviewed Adom.LaserEtch mark from another GLB in the same frame.+ * every mesh node keeps its name (body, pins, Adom.LaserEtch); its primitives are joined per material+ (positions, normals and indices concatenated; geometry unchanged)+ * --etch-from etched.glb copies that file's Adom.LaserEtch mesh node (with its material) into this scene+usage: glb_batch.py in.glb out.glb [--etch-from etched.glb]+prints JSON stats: triangles, primitives, bytes, nodes, bounds (mm)"""+import sys, json, struct+import numpy as np+from pygltflib import GLTF2, Buffer, BufferView, Accessor, Mesh, Primitive, Node, Material, PbrMetallicRoughness, Attributes++CT = {5126: np.float32, 5125: np.uint32, 5123: np.uint16, 5121: np.uint8}+NC = {"SCALAR": 1, "VEC2": 2, "VEC3": 3, "VEC4": 4}++def read(g, blob, ai):+ a = g.accessors[ai]; bv = g.bufferViews[a.bufferView]+ dt = CT[a.componentType]; n = NC[a.type]+ off = (bv.byteOffset or 0) + (a.byteOffset or 0)+ stride = bv.byteStride or np.dtype(dt).itemsize * n+ if stride == np.dtype(dt).itemsize * n:+ return np.frombuffer(blob, dt, a.count * n, off).reshape(a.count, n) if n > 1 else np.frombuffer(blob, dt, a.count, off)+ raw = np.frombuffer(blob, np.uint8, stride * (a.count - 1) + np.dtype(dt).itemsize * n, off)+ return np.stack([np.frombuffer(raw[i * stride:i * stride + np.dtype(dt).itemsize * n].tobytes(), dt) for i in range(a.count)])++def parts(path):+ g = GLTF2().load(path); blob = g.binary_blob()+ out = []+ for ni, n in enumerate(g.nodes):+ if n.mesh is None: continue+ by_mat = {}+ for p in g.meshes[n.mesh].primitives:+ P = read(g, blob, p.attributes.POSITION).astype(np.float32)+ N = read(g, blob, p.attributes.NORMAL).astype(np.float32) if p.attributes.NORMAL is not None else None+ I = read(g, blob, p.indices).astype(np.uint32) if p.indices is not None else np.arange(len(P), dtype=np.uint32)+ by_mat.setdefault(p.material, []).append((P, N, I))+ out.append((ni, n.name, by_mat))+ return g, out++def main():+ src, dst = sys.argv[1], sys.argv[2]+ etch = sys.argv[sys.argv.index("--etch-from") + 1] if "--etch-from" in sys.argv else None+ g, ps = parts(src)+ data = bytearray(); bviews = []; accs = []+ def add(arr, target, comp, typ, minmax=False):+ nonlocal data+ while len(data) % 4: data += b"\0"+ off = len(data); b = arr.tobytes(); data += b+ bviews.append(BufferView(buffer=0, byteOffset=off, byteLength=len(b), target=target))+ a = Accessor(bufferView=len(bviews) - 1, componentType=comp, count=len(arr), type=typ)+ if minmax: a.min = arr.min(0).tolist(); a.max = arr.max(0).tolist()+ accs.append(a); return len(accs) - 1+ def build_mesh(name, by_mat, matmap):+ prims = []+ for mi, lst in by_mat.items():+ Ps, Ns, Is, o = [], [], [], 0+ for P, N, I in lst:+ Ps.append(P); Ns.append(N if N is not None else np.zeros_like(P)); Is.append(I + o); o += len(P)+ P = np.concatenate(Ps); N = np.concatenate(Ns); I = np.concatenate(Is).astype(np.uint32)+ pa = add(P, 34962, 5126, "VEC3", True); na = add(N, 34962, 5126, "VEC3")+ ia = add(I, 34963, 5125, "SCALAR")+ prims.append(Primitive(attributes=Attributes(POSITION=pa, NORMAL=na), indices=ia, material=matmap(mi)))+ return Mesh(name=name, primitives=prims)+ meshes = []+ for ni, name, by_mat in ps:+ meshes.append(build_mesh(name, by_mat, lambda m: m)); g.nodes[ni].mesh = len(meshes) - 1+ if etch:+ ge, pe = parts(etch)+ hits = [x for x in pe if (x[1] or "").startswith("Adom.LaserEtch")]+ if not hits: sys.exit("ERROR: no Adom.LaserEtch node in " + etch)+ for ni, name, by_mat in hits:+ def mm(m):+ em = ge.materials[m]+ g.materials.append(Material(name=em.name, pbrMetallicRoughness=PbrMetallicRoughness(+ baseColorFactor=list(em.pbrMetallicRoughness.baseColorFactor), metallicFactor=0.0, roughnessFactor=0.7)))+ return len(g.materials) - 1+ meshes.append(build_mesh(name, by_mat, mm))+ g.nodes.append(Node(name=name, mesh=len(meshes) - 1))+ g.nodes[g.scenes[g.scene or 0].nodes[0]].children.append(len(g.nodes) - 1)+ g.meshes = meshes; g.accessors = accs; g.bufferViews = bviews+ g.buffers = [Buffer(byteLength=len(data))]; g.set_binary_blob(bytes(data))+ g.save(dst)+ tris = sum(accs[p.indices].count // 3 for m in meshes for p in m.primitives)+ allp = np.concatenate([np.array(accs[p.attributes.POSITION].min + accs[p.attributes.POSITION].max).reshape(2, 3) for m in meshes for p in m.primitives])+ import os+ print(json.dumps({"out": dst, "triangles": tris, "primitives": sum(len(m.primitives) for m in meshes),+ "bytes": os.path.getsize(dst), "nodes": [n.name for n in g.nodes if n.mesh is not None],+ "boundsMm": [round(v * 1000, 4) for v in list(allp.min(0)) + list(allp.max(0))]}))+main()
provenance/tools/lead_compare.pyadded+25@@ -0,0 +1,25 @@+#!/usr/bin/env python3+"""Lead profile comparison: section through pin 1's centre line (y = +1.905 in the 3D frame) of two STEPs, with the+0.25 mm gauge plane and each model's gauge-plane foot L marked. usage: lead_compare.py a.step labelA b.step labelB out.png"""+import sys, cadquery as cq+import matplotlib; matplotlib.use("Agg"); import matplotlib.pyplot as plt+from OCP.BRepAlgoAPI import BRepAlgoAPI_Section+from OCP.gp import gp_Pln, gp_Pnt, gp_Dir+def prof(path):+ s = cq.Compound.makeCompound(cq.importers.importStep(path).solids().vals())+ sec = BRepAlgoAPI_Section(s.wrapped, gp_Pln(gp_Pnt(0, 1.905, 0), gp_Dir(0, 1, 0))); sec.Build(); p = cq.Shape.cast(sec.Shape())+ g = BRepAlgoAPI_Section(p.wrapped, gp_Pln(gp_Pnt(0, 0, 0.25), gp_Dir(0, 0, 1))); g.Build()+ xs = sorted(v.X for v in cq.Shape.cast(g.Shape()).Vertices() if v.X < 0)+ tip = p.BoundingBox().xmin+ return [[(q.x, q.z) for q in e.positions([i / 24 for i in range(25)])] for e in p.Edges()], tip, xs[0] - tip+fig, axs = plt.subplots(1, 2, figsize=(11, 4.2), dpi=120)+for ax, (path, lab) in zip(axs, [(sys.argv[1], sys.argv[2]), (sys.argv[3], sys.argv[4])]):+ edges, tip, L = prof(path)+ for e in edges: ax.plot([p[0] for p in e], [p[1] for p in e], color="#222", lw=1.2)+ ax.axhline(0.25, color="#d9822b", ls="--", lw=0.8); ax.axhline(0, color="#888", lw=0.6)+ ax.annotate("", (tip, 0.33), (tip + L, 0.33), arrowprops=dict(arrowstyle="<->", color="#00807a"))+ ax.text(tip + L / 2, 0.38, f"L = {L:.3f} mm", ha="center", color="#00807a", fontsize=9)+ ax.set_xlim(-3.1, -1.4); ax.set_ylim(-0.1, 1.85); ax.set_aspect("equal"); ax.grid(alpha=0.2)+ ax.set_title(lab, fontsize=9)+fig.suptitle("Pin 1 lead, section through its centre line; dashed: 0.25 mm gauge plane. Microchip C04-00057-SN: L 0.40 to 1.27 mm", fontsize=9)+fig.savefig(sys.argv[5], bbox_inches="tight"); print(sys.argv[5])
provenance/tools/materials.pyadded+30@@ -0,0 +1,30 @@+#!/usr/bin/env python3+"""Physical materials for a chip GLB by part (node name from the STEP assembly). step2glb writes base colours only,+so glTF defaults (metallic 1, roughness 1) render everything as rough metal. Sets:+ body -> "Adom.Body (epoxy)" metallic 0, roughness 0.55 (colour kept)+ pins -> "Adom.Leads (matte tin)" metallic 1, roughness 0.35, tin colour+ Adom.LaserEtch -> "Adom.LaserEtch (virtual MPN)" metallic 0, roughness 0.7 (colour kept)+usage: materials.py in.glb [out.glb]"""+import sys+from pygltflib import GLTF2, PbrMetallicRoughness+TIN = [0.72, 0.72, 0.70, 1.0]+SPEC = {"body": ("Adom.Body (epoxy)", 0.0, 0.55, None), "pins": ("Adom.Leads (matte tin)", 1.0, 0.35, TIN),+ "Adom.LaserEtch": ("Adom.LaserEtch (virtual MPN)", 0.0, 0.7, None)}+src = sys.argv[1]; out = sys.argv[2] if len(sys.argv) > 2 else src+g = GLTF2().load(src); seen = {}+for n in g.nodes:+ if n.mesh is None: continue+ key = next((k for k in SPEC if (n.name or "").startswith(k)), None)+ if key is None: continue+ for p in g.meshes[n.mesh].primitives:+ if p.material is None: continue+ if seen.get(p.material, key) != key: sys.exit(f"ERROR: material {p.material} shared by {seen[p.material]} and {key}")+ seen[p.material] = key+ name, metal, rough, col = SPEC[key]; m = g.materials[p.material]+ pbr = m.pbrMetallicRoughness or PbrMetallicRoughness()+ pbr.metallicFactor, pbr.roughnessFactor = metal, rough+ if col: pbr.baseColorFactor = col+ m.pbrMetallicRoughness = pbr; m.name = name+missing = [k for k in ("body", "pins") if k not in seen.values()]+if missing: sys.exit(f"ERROR: no {missing} part in {src}")+g.save(out); print("OK", out, sorted(set(seen.values())))
provenance/tools/page_meta.pyadded+161@@ -0,0 +1,161 @@+#!/usr/bin/env python3+"""Write models.json, lod/manifest.json, provenance/3d-model.json and verification.json for the page from the files+on disk (hashes, sizes, triangle counts). Run from the page root. usage: page_meta.py"""+import json, hashlib, os, subprocess, sys+from pygltflib import GLTF2+D = "2026-10-21"; S = "mcp2562fd-e-sn"; MPN = "MCP2562FD-E/SN"+def sha(p): return hashlib.sha256(open(p, "rb").read()).hexdigest()+def blob(p): return subprocess.check_output(["git", "hash-object", p]).decode().strip()+def glbstats(p):+ g = GLTF2().load(p)+ tris = sum(g.accessors[pr.indices].count // 3 for m in g.meshes for pr in m.primitives)+ return dict(triangles=tris, primitives=sum(len(m.primitives) for m in g.meshes),+ nodes=[n.name for n in g.nodes if n.mesh is not None])+mark = {"text": "MCP2562 / FD-E/SN (two lines)", "surface": "top, along the pin rows, upright with pin 1 lower left",+ "colour": "light grey on black epoxy", "virtual": True,+ "note": "virtual identification mark (the orderable MPN) by adom-chip-laser; Microchip's real marking is 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17)"}+def rec(path, **k):+ r = dict(path=path, format=path.rsplit(".", 1)[1], sha256=sha(path), git_blob=blob(path), bytes=os.path.getsize(path)); r.update(k); return r+models = [+ rec(f"{S}-etched.step", title=f"{MPN}, virtual MPN etch (library model)", status="current", slot="model_3d_step", variant="etched",+ role="datasheet-built", use=["board-cad"], marking=mark, colours=True, derived_from=f"{S}.step",+ unique="The board-CAD model: built from Microchip's SN drawing values with the MPN etched on top in the Adom.LaserEtch group; bound by the KiCad footprint, the Fusion .lbr and the Altium PcbLib",+ source="provenance/tools/build_soic8.py + adom-chip-laser 0.2.0 (service-occt etch, placed by adom-aiflow-etch)", thumb=f"docs/models/{S}-etched-glb-top.png", thumb_bottom=f"docs/models/{S}-etched-bottom.png"),+ rec(f"{S}.step", title=f"{MPN}, unmarked", status="current", slot="model_3d_step_plain", variant="plain", role="datasheet-built",+ use=["board-cad", "archive"], marking=None, colours=True, derived_from="Microchip DS20005284B p.23-24 (C04-00057-SN Rev L)",+ unique="The same package without any marking", source="provenance/tools/build_soic8.py with provenance/tools/params.json", thumb=f"docs/models/{S}-glb-top.png"),+ rec(f"{S}-etched.glb", title=f"{MPN}, virtual MPN etch (GLB, board use and page viewer)", status="current", slot="model_3d", variant="etched",+ role="derived", use=["render", "board-insertion", "wiki-hero"], marking=mark, colours=True, derived_from=f"{S}-etched.step",+ unique="Web copy of the etched STEP, clean (no pad outlines, labels or silkscreen), primitives batched per part, matte-tin leads and epoxy body",+ source="step2glb 0.13.2 --compress none + provenance/tools/glb_batch.py + materials.py", thumb=f"docs/models/{S}-etched-glb-top.png"),+ rec(f"{S}.glb", title=f"{MPN}, unmarked (GLB)", status="current", slot="model_3d_plain", variant="plain", role="derived",+ use=["render", "board-insertion"], marking=None, colours=True, derived_from=f"{S}.step",+ unique="Web copy of the unmarked STEP", source="step2glb 0.13.2 --compress none + glb_batch.py + materials.py", thumb=f"docs/models/{S}-glb-top.png"),+ rec("provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.step", title="KiCad library SOIC-8_3.9x4.9mm_P1.27mm (compared, not used)", status="previous",+ variant="original", role="derived", use=["archive"], marking=None, colours=True, derived_from="gitlab.com/kicad/libraries/kicad-packages3D (master, fetched 2026-10-21)",+ unique="KiCad's generic SOIC-8 model, kept as the comparison reference: its gauge-plane foot is 0.362 mm, under Microchip's 0.40 mm minimum",+ source="KiCad packages3D, CC-BY-SA 4.0 with the KiCad libraries exception"),+]+for l in ["high", "medium", "low", "super-low"]:+ p = f"lod/{S}-{l}.glb"+ models.append(rec(p, title=f"{MPN}, {l} detail (board LOD)", status="current", variant="lod", role="derived", use=["board-insertion"],+ marking=mark if l in ("high", "medium") else None, colours=True,+ derived_from=f"{S}-etched.step" if l == "high" else ("provenance/tools/params-low.json" if l in ("medium", "low") else "provenance/tools/params-superlow.json"),+ unique={"high": "Identical to the etched GLB", "medium": "Bends as 3 straight segments, etch grafted from the high level",+ "low": "Bends as 3 straight segments, no etch", "super-low": "Undrafted body, one-segment bends, no etch"}[l],+ source="build_soic8.py detail level + step2glb + glb_batch.py", thumb=f"lod/{S}-{l}.png"))+json.dump({"schema": "adom/models@1", "part": MPN, "updated": D, "models": models}, open("models.json", "w"), indent=1)++levels = []+for l in ["high", "medium", "low", "super-low"]:+ p = f"lod/{S}-{l}.glb"; st = glbstats(p)+ levels.append(dict(level=l, path=p, sha256=sha(p), sizeBytes=os.path.getsize(p), triangles=st["triangles"], primitives=st["primitives"],+ nodes=st["nodes"], boundsMm=[-3.0, -2.45, 0.0, 3.0, 2.45, 1.755 if l in ("high", "medium") else 1.75],+ markingIncluded=l in ("high", "medium"), helperNodes=[], extensions=[],+ derivation={"high": "the etched GLB itself: etched STEP, step2glb uncompressed, primitives batched per part (lossless)",+ "medium": "the same generator at detail=low (bends as 3 chords, drafted body, pin-1 dimple), Adom.LaserEtch mesh grafted unchanged from high",+ "low": "generator detail=low, no marking (unreadable at this size)",+ "super-low": "generator detail=superlow: undrafted body, one-chord bends, pin-1 dimple kept, no marking"}[l],+ review="candidate: inspected as cached images (depth-buffered render); not qualified in a streaming LOD viewer",+ preview=dict(path=f"lod/{S}-{l}.png", sha256=sha(f"lod/{S}-{l}.png"), view="iso (front-left, from above), same camera on every level")))+json.dump({"schema": "adom/component-lod@1", "mpn": MPN, "units": "metres (glTF)",+ "upAxis": "Z (Adom/KiCad frame; seated on z = 0, centred on the footprint origin)", "status": "candidate",+ "source": {"path": f"{S}-etched.step", "sha256": sha(f"{S}-etched.step")},+ "generator": "provenance/tools/build_soic8.py (detail full/low/superlow) -> step2glb 0.13.2 convert --compress none -> provenance/tools/glb_batch.py (lossless batching per part; etch graft on medium) -> materials.py; previews by render_glb.py",+ "levels": levels}, open("lod/manifest.json", "w"), indent=1)++dm = json.load(open("provenance/dims-model.json")); dk = json.load(open("provenance/dims-kicad-library.json"))+dims = [("e pitch", "1.27 BSC", "1.270", "1.270"), ("A overall height", "max 1.75", f"{dm['A_overall_height']:.3f}", f"{dk['A_overall_height']:.3f}"),+ ("A2 molded thickness", "min 1.25", f"{dm['A2_molded_thickness']:.3f}", f"{dk['A2_molded_thickness']:.3f}"),+ ("A1 standoff", "0.10 / - / 0.25", f"{dm['A1_standoff']:.3f}", f"{dk['A1_standoff']:.3f}"),+ ("E overall width", "6.00 BSC", f"{dm['E_tip_to_tip']:.3f}", f"{dk['E_tip_to_tip']:.3f}"),+ ("E1 molded width", "3.90 BSC", f"{dm['E1_body_width']:.3f}", f"{dk['E1_body_width']:.3f}"),+ ("D overall length", "4.90 BSC", f"{dm['D_body_length']:.3f}", f"{dk['D_body_length']:.3f}"),+ ("L foot length (gauge plane 0.25 mm)", "0.40 / - / 1.27", f"{dm['L_gauge']:.3f}", f"{dk['L_gauge']:.3f}"),+ ("L foot, flat bottom only", "0.40 / - / 1.27", "0.413", "0.275"),+ ("L1 footprint (tip to body)", "1.04 REF", "1.050", "1.050"),+ ("c lead thickness", "0.17 / - / 0.25", f"{dm['c_lead_thickness']:.3f}", f"{dk['c_lead_thickness']:.3f}"),+ ("b lead width", "0.31 / - / 0.51", "0.410", "0.410"),+ ("R, R1 bend radius (inner)", "min 0.07", "0.10", "0.10"),+ ("theta1 mold draft", "5 to 15 deg", "9.0 (bottom) / 11.6 (top)", "9.0 / 11.6"),+ ("h chamfer", "0.25 to 0.50 (optional)", "not modelled", "not modelled")]+prov = {+ "schema": "adom/3d-model-provenance@1", "mpn": MPN, "date": D,+ "classification": "Datasheet-built: a CadQuery model generated from Microchip's printed SN package values, with KiCad's library model's bend radii, lead angle, mold draft and pin-1 dimple; produced by Claude (AI) for Adom. Not manufacturer CAD and not a Microchip certification.",+ "method_chosen": "3 (build from the drawing): Microchip's own STEP was not reachable and KiCad's library model fails the drawing's L minimum",+ "manufacturer_step": {"tried": "https://www.microchip.com/en-us/product/MCP2562FD (CAD/CAE models on the product page; served through a third-party CAD portal)", "result": "HTTP 403 to a plain request on 2026-10-21; no browser session was used, so the Microchip model was not obtained", "status": "not reachable"},+ "datasheet": {"doc": "Microchip DS20005284B (Revision B, March 2026), MCP2561/2FD High-Speed CAN Flexible Data Rate Transceiver",+ "file": "docs/mcp2562fd-e-sn-datasheet.pdf", "url": "https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf",+ "sha256": sha("docs/mcp2562fd-e-sn-datasheet.pdf"), "drawing_pages": "p.23-24 (C04-00057-SN Rev L), p.25 land pattern (C04-02057-SN Rev L)", "marking_page": "p.17"},+ "kicad_library_check": {+ "model": "KiCad packages3D Package_SO.3dshapes/SOIC-8_3.9x4.9mm_P1.27mm.step (CC-BY-SA 4.0)", "file": "provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.step",+ "sha256": sha("provenance/kicad-reference/SOIC-8_3.9x4.9mm_P1.27mm.step"),+ "measured": "L, the foot length", "datasheet": "0.40 min / 1.27 max (no nominal printed)", "kicad_library": round(dk["L_gauge"], 3), "built": round(dm["L_gauge"], 3),+ "method": "section through pin 1's centre line (plane y = +1.905 in the 3D frame), cut at the 0.25 mm gauge plane (z = 0.25); L = distance from the lead tip to where the lead's lower outer surface crosses the gauge plane (JEDEC definition); provenance/tools/dims.py. The flat bottom alone (the reading of Microchip's View C without a gauge plane) is 0.275 mm on KiCad's model and 0.413 mm on this one, so the verdict holds either way.",+ "verdict": "Every other printed dimension of KiCad's model is inside the drawing, but its foot is 0.362 mm at the gauge plane (0.275 mm flat), under Microchip's 0.40 mm minimum, so it was not used as is. KiCad's package generator was not run (it would be downloaded code); the model was rebuilt with the same bend shape and a longer flat foot instead.",+ "evidence": "docs/proof/mcp2562fd-e-sn-lead-vs-kicad.png"},+ "model": {"file": f"{S}.step", "sha256": sha(f"{S}.step"), "builder": "provenance/tools/build_soic8.py (CadQuery 2.x, OpenCascade)", "params": "provenance/tools/params.json",+ "how": "drafted two-part body loft (parting line 0.825), eight swept leads (rectangle b x c along a centreline with two 0.20 mm centreline-radius bends, 9.3 deg off vertical), pin-1 dimple 0.60 mm diameter, 0.05 mm deep; flat foot 0.413 mm tuned so the gauge-plane L is 0.50 mm",+ "L_target": "0.50 mm, chosen inside 0.40 to 1.27 (neither Microchip nor JEDEC MS-012 prints a nominal)",+ "frame": "Z up, seated on z = 0, centred on the KiCad footprint origin, pin 1 at (-x, +y) = footprint pad 1 at (-2.70, -1.905) in KiCad's Y-down footprint frame; binds with zero offset and rotation",+ "parts": {"body": "black epoxy", "pins": "matte tin"},+ "dimensions_mm": [dict(item=a, datasheet_min_typ_max=b, model=c, kicad_library=d) for a, b, c, d in dims],+ "pin1_mark": "0.60 mm dimple at (-1.11, +1.61) on the top face, KiCad's position for its pin-1 circle; Microchip note 1: the pin-1 index may vary but lies in the hatched pin-1 quadrant",+ "not_modelled": "optional end chamfer h; mold flash", "measurements": ["provenance/dims-model.json", "provenance/dims-kicad-library.json"]},+ "etched": {"file": f"{S}-etched.step", "sha256": sha(f"{S}-etched.step"), "tool": "adom-chip-laser 0.2.0 service (service-occt /laser-etch, flat light mark 5 um above the face, Adom.LaserEtch group), placed by adom-aiflow-etch's planner with the page footprint",+ "lines": ["MCP2562", "FD-E/SN"], "capMm": 0.473, "virtual": True, "gate": "adom-aiflow-etch check: PASS (axis, upright, size, band, flat, group, colour, widget)",+ "first_try": "a direct adom-chip-laser etch (surface=top) failed the gate's size check (0.27 mm text, 56 % of what fits) and is not published",+ "check_image": "docs/proof/mcp2562fd-e-sn-etched.check.png", "plan": "docs/proof/mcp2562fd-e-sn-etched.mark-plan.json",+ "real_marking": "Microchip marks the SOIC as 2562FDE / SN e3 YYWW / NNN (DS20005284B p.17); the etch is the orderable MPN instead, as a virtual identification aid"},+ "glb": {f: sha(f) for f in [f"{S}.glb", f"{S}-etched.glb"]},+ "outline": {"file": "artwork/MCP2562FD-E-SN-3d-outline-dark-named.svg", "sha256": sha("artwork/MCP2562FD-E-SN-3d-outline-dark-named.svg"),+ "tool": "adom-aiflow-etch outline (service body outline + single-stroke name on the planned band)", "gate": "PASS"},+ "tools": {"adom-chip-laser": "0.2.0", "adom-aiflow-etch": "adom/adom-aiflow (installed)", "step2glb": "0.13.2", "adom-symbol": "1.2.6", "adom-footprint": "1.0.26", "adom-lbr": "2.47.5", "cadquery": "2.x (local venv)"},+ "license": "Model, etch and artwork authored by Adom: CC-BY-4.0. The KiCad reference model in provenance/kicad-reference keeps CC-BY-SA 4.0 with the KiCad libraries exception. The Microchip datasheet keeps Microchip's terms."+}+json.dump(prov, open("provenance/3d-model.json", "w"), indent=1)++files = {p: sha(p) for p in [f"{S}.kicad_sym", f"{S}.kicad_mod", f"{S}.step", f"{S}-etched.step", f"{S}-etched.glb", f"{S}.lbr",+ "altium/MCP2562FD-E-SN.SchLib", "altium/MCP2562FD-E-SN.PcbLib", "docs/mcp2562fd-e-sn-datasheet.pdf"]}+BY = {"name": "Claude (AI), automated checks, not yet reviewed by a person", "handle": "claude"}+def ev(*paths): return [{"label": p.rsplit("/", 1)[-1], "href": p} for p in paths]+def chk(*items): return [{"text": t, "result": r} for t, r in items]+ver = {"schema": "adom/verification@1", "part": MPN,+ "variants": [{"mpn": MPN, "note": "tube packaging; MCP2562FDT-E/SN is the same part on tape and reel (DS20005284B p.29)", "stocked": False}],+ "entries": [+ {"date": D, "by": BY, "status": "verified", "title": "Pinout matches the datasheet", "scope": ["symbol"], "variants": ["*"],+ "checks": chk(("Symbol pins match DS20005284B Table 1-2 (p.4), MCP2562FD PDIP/SOIC: 1 TXD, 2 VSS, 3 VDD, 4 RXD, 5 VIO, 6 CANL, 7 CANH, 8 STBY", "pass"),+ ("Electrical types: TXD and STBY input, RXD output, CANH and CANL bidirectional, VDD, VIO and VSS power", "pass"),+ ("Pin n maps to pad n, read back from the Fusion .lbr and the Altium SchLib/PcbLib", "pass"),+ ("Every pin sits on the 2.54 mm grid (adom-symbol 1.2.6 put the first pin of each column at y = -2.00; snapped by provenance/tools/snap_symbol.py)", "note")),+ "evidence": ev("docs/figures/mcp2562fd-e-sn-ds-p1.png", "docs/figures/mcp2562fd-e-sn-ds-p4.png"),+ "files": {k: files[k] for k in [f"{S}.kicad_sym", f"{S}.lbr", "altium/MCP2562FD-E-SN.SchLib"]}},+ {"date": D, "by": BY, "status": "verified", "title": "Footprint equals Microchip's recommended land pattern", "scope": ["footprint"], "variants": ["*"],+ "checks": chk(("All 8 pads equal C04-02057-SN Rev L: 1.55 x 0.60 mm rectangles at x = +-2.70 (C 5.40), pitch 1.27, pad 1 at (-2.70, -1.905)", "pass"),+ ("KiCad's SOIC-8_3.9x4.9mm_P1.27mm differs (1.95 x 0.60 at +-2.475, 0.425 mm further under the body); recorded in provenance/footprint-check.json", "note"),+ ("Courtyard 7.50 x 5.40 mm, 0.25 mm beyond pads and body", "pass")),+ "evidence": ev("docs/proof/mcp2562fd-e-sn-footprint-check.png", "docs/figures/mcp2562fd-e-sn-ds-p25.png", "provenance/footprint-check.json"),+ "files": {f"{S}.kicad_mod": files[f"{S}.kicad_mod"]}},+ {"date": D, "by": BY, "status": "verified", "title": "Pin 1 orientation agrees across footprint, 3D model, symbol and datasheet", "scope": ["footprint", "3d"], "variants": ["*"],+ "checks": chk(("Footprint pad 1 top left (KiCad Y down) with the silkscreen pin-1 bar above it", "pass"),+ ("3D pin 1 lead at (-x, +y) in the Z-up model, which is pad 1 after KiCad's Y flip; pin-1 dimple in the same corner", "pass"),+ ("Pins run counter-clockwise seen from the top, as in the datasheet top view (p.23): the footprint is that view turned 90 degrees, not mirrored", "pass"),+ ("The MPN etch reads upright with pin 1 lower left (adom-aiflow-etch gate PASS)", "pass")),+ "evidence": ev("docs/proof/mcp2562fd-e-sn-footprint-check.png", "docs/proof/mcp2562fd-e-sn-etched.check.png", "docs/figures/mcp2562fd-e-sn-ds-p23.png"),+ "files": {k: files[k] for k in [f"{S}.kicad_mod", f"{S}-etched.step"]}},+ {"date": D, "by": BY, "status": "verified", "title": "3D model inside Microchip's package drawing", "scope": ["3d"], "variants": ["*"],+ "checks": chk(("E 6.00, E1 3.90, D 4.90, A 1.75, A1 0.10, c 0.20, b 0.41: inside C04-00057-SN Rev L (p.24)", "pass"),+ ("Foot L 0.500 mm at the 0.25 mm gauge plane (0.413 mm flat): inside 0.40 to 1.27", "pass"),+ ("KiCad's library SOIC-8 model was not used: L 0.362 mm at the gauge plane (0.275 mm flat), under the 0.40 mm minimum", "note"),+ ("Microchip's own STEP was not reachable from the product page without a signed-in browser", "note")),+ "evidence": ev("docs/proof/mcp2562fd-e-sn-lead-vs-kicad.png", "provenance/3d-model.json", "docs/figures/mcp2562fd-e-sn-ds-p24.png"),+ "files": {k: files[k] for k in [f"{S}.step", f"{S}-etched.step", f"{S}-etched.glb"]}},+ {"date": D, "by": BY, "status": "open", "title": "Still to do", "scope": ["3d", "library"], "variants": ["*"],+ "checks": chk(("Compare against Microchip's own STEP once someone downloads it through a signed-in browser", "open"),+ ("Open the KiCad, Fusion and Altium libraries in the native tools; so far they are checked by lint and read-back only", "open"),+ ("Annotated hero GLB (adom-hero pad outlines and labels) not built; the viewer shows the clean etched model", "open"),+ ("Overlay of the model on the datasheet drawing views not made", "open")),+ "evidence": [], "files": {}}+ ]}+json.dump(ver, open("verification.json", "w"), indent=1)+print("OK")
provenance/tools/params-low.jsonadded+1@@ -0,0 +1 @@+{"foot_flat":0.413,"detail":"low"}
provenance/tools/params-superlow.jsonadded+1@@ -0,0 +1 @@+{"foot_flat":0.413,"detail":"superlow"}
provenance/tools/params.jsonadded+1@@ -0,0 +1 @@+{"foot_flat":0.413}
provenance/tools/render_glb.pyadded+71@@ -0,0 +1,71 @@+#!/usr/bin/env python3+"""Depth-buffered orthographic render of an uncompressed chip GLB (Z up), for previews and checks.+usage: render_glb.py model.glb out.png [--view iso|top|bottom|front|side|corner] [--size 480] [--bg 36,40,46]+iso: from front-left-up (pin-1 side, -x/+y quadrant shown at the left); top: looking down -Z, +Y up;+bottom: looking up +Z (mirrored as seen from below); front: along +Y; side: along -X."""+import sys, math, argparse, json+import numpy as np+from PIL import Image+sys.path.insert(0, __file__.rsplit("/", 1)[0])+from pygltflib import GLTF2++ap = argparse.ArgumentParser(); ap.add_argument("glb"); ap.add_argument("out")+ap.add_argument("--view", default="iso"); ap.add_argument("--size", type=int, default=480)+ap.add_argument("--bg", default="36,40,46"); a = ap.parse_args()+CT = {5126: np.float32, 5125: np.uint32, 5123: np.uint16}+g = GLTF2().load(a.glb); blob = g.binary_blob()+def acc(i):+ x = g.accessors[i]; bv = g.bufferViews[x.bufferView]; n = {"SCALAR": 1, "VEC3": 3}[x.type]+ arr = np.frombuffer(blob, CT[x.componentType], x.count * n, (bv.byteOffset or 0) + (x.byteOffset or 0))+ return arr.reshape(-1, n) if n > 1 else arr+def mat(n):+ if n.matrix: return np.array(n.matrix).reshape(4, 4).T+ M = np.eye(4)+ if n.scale: M = M @ np.diag(list(n.scale) + [1])+ return M+tris = []+def walk(ni, M):+ n = g.nodes[ni]; M = M @ mat(n)+ if n.mesh is not None:+ for p in g.meshes[n.mesh].primitives:+ P = acc(p.attributes.POSITION).astype(float) * 1000; P = (np.c_[P, np.ones(len(P))] @ M.T)[:, :3]+ I = acc(p.indices).reshape(-1, 3)+ m = g.materials[p.material]; pbr = m.pbrMetallicRoughness+ tris.append((P[I], np.array(pbr.baseColorFactor[:3]), pbr.metallicFactor or 0.0, n.name))+ for c in n.children or []: walk(c, M)+for r in g.scenes[g.scene or 0].nodes: walk(r, np.eye(4))+def R(view):+ def rz(d): t = math.radians(d); return np.array([[math.cos(t), -math.sin(t), 0], [math.sin(t), math.cos(t), 0], [0, 0, 1]])+ def rx(d): t = math.radians(d); return np.array([[1, 0, 0], [0, math.cos(t), -math.sin(t)], [0, math.sin(t), math.cos(t)]])+ return {"top": np.eye(3), "bottom": rx(180), "front": rx(-90), "side": rx(-90) @ rz(90),+ "iso": rx(-55) @ rz(-35), "corner": rx(-70) @ rz(-30)}[view]+Rm = R(a.view)+allp = np.concatenate([t[0].reshape(-1, 3) for t in tris]) @ Rm.T+lo, hi = allp[:, :2].min(0), allp[:, :2].max(0); S = a.size * 3; k = 0.86 * S / max(hi - lo)+c0 = (lo + hi) / 2+img = np.zeros((S, S, 3)); img[:] = np.array([int(v) for v in a.bg.split(",")]) / 255; zb = np.full((S, S), -1e9)+L1 = np.array([-0.4, 0.5, 0.8]); L1 /= np.linalg.norm(L1); L2 = np.array([0.6, -0.3, 0.4]); L2 /= np.linalg.norm(L2)+for T, col, metal, name in tris:+ V = T @ Rm.T+ for tri in V:+ n = np.cross(tri[1] - tri[0], tri[2] - tri[0]); ln = np.linalg.norm(n)+ if ln == 0: continue+ n /= ln+ if n[2] < 0: n = -n+ sh = 0.35 + 0.55 * max(0, n @ L1) + 0.25 * max(0, n @ L2)+ c = np.clip(col ** (1 / 2.2) * sh + (0.15 * metal * max(0, n @ L1) ** 8), 0, 1)+ xy = (tri[:, :2] - c0) * k + S / 2; xy[:, 1] = S - xy[:, 1]+ x0, y0 = np.floor(xy.min(0)).astype(int); x1, y1 = np.ceil(xy.max(0)).astype(int)+ x0, y0 = max(x0, 0), max(y0, 0); x1, y1 = min(x1, S - 1), min(y1, S - 1)+ if x1 < x0 or y1 < y0: continue+ X, Y = np.meshgrid(np.arange(x0, x1 + 1) + 0.5, np.arange(y0, y1 + 1) + 0.5)+ (ax, ay), (bx, by), (cx, cy) = xy+ d = (by - cy) * (ax - cx) + (cx - bx) * (ay - cy)+ if abs(d) < 1e-12: continue+ w1 = ((by - cy) * (X - cx) + (cx - bx) * (Y - cy)) / d; w2 = ((cy - ay) * (X - cx) + (ax - cx) * (Y - cy)) / d; w3 = 1 - w1 - w2+ inside = (w1 >= -1e-6) & (w2 >= -1e-6) & (w3 >= -1e-6)+ z = w1 * tri[0, 2] + w2 * tri[1, 2] + w3 * tri[2, 2] + (0.002 if name.startswith("Adom.LaserEtch") else 0)+ sub = zb[y0:y1 + 1, x0:x1 + 1]; m = inside & (z > sub)+ sub[m] = z[m]; img[y0:y1 + 1, x0:x1 + 1][m] = c+im = Image.fromarray((img * 255).astype(np.uint8)).resize((a.size, a.size), Image.LANCZOS)+im.save(a.out); print(a.out)
provenance/tools/render_sym.pyadded+25@@ -0,0 +1,25 @@+#!/usr/bin/env python3+"""Quick matplotlib render of a .kicad_sym (rectangle, polylines, captions, pins with names and numbers) for a+visual check. usage: render_sym.py in.kicad_sym out.png"""+import re, sys+import matplotlib; matplotlib.use("Agg")+import matplotlib.pyplot as plt+s = open(sys.argv[1]).read()+fig, ax = plt.subplots(figsize=(10, 7), dpi=130); ax.set_facecolor("#0d1117"); fig.patch.set_facecolor("#0d1117")+for m in re.finditer(r"\(rectangle \(start (\S+) (\S+)\) \(end (\S+) (\S+)\)", s):+ x1, y1, x2, y2 = map(float, m.groups()); ax.plot([x1, x2, x2, x1, x1], [y1, y1, y2, y2, y1], color="#8b949e", lw=1.2)+for m in re.finditer(r"\(polyline\s*\(pts(.*?)\)\s*\(stroke", s, re.S):+ pts = [(float(a), float(b)) for a, b in re.findall(r"\(xy (\S+) (\S+)\)", m.group(1))]+ ax.plot([p[0] for p in pts], [p[1] for p in pts], color="#e6edf3", lw=0.5)+for m in re.finditer(r'\(text "([^"]+)" \(at (\S+) (\S+) 0\).*?justify (\w+)', s, re.S):+ ax.text(float(m.group(2)), float(m.group(3)), m.group(1), color="#8C6BF7", fontsize=7, ha=m.group(4), va="center", weight="bold")+for m in re.finditer(r'\(pin (\w+) line \(at (\S+) (\S+) (\d+)\) \(length (\S+)\) \(name "([^"]+)"\) \(number "([^"]+)"\)', s):+ t, x, y, a, L, nm, no = m.groups(); x, y, L = float(x), float(y), float(L)+ dx = L if a == "0" else -L+ ax.plot([x, x + dx], [y, y], color="#00e6dc", lw=1.2)+ ax.text(x + dx + (0.8 if a == "0" else -0.8), y, nm, color="white", fontsize=7, ha="left" if a == "0" else "right", va="center")+ ax.text(x + dx / 2, y + 0.4, no, color="#8b949e", fontsize=6, ha="center")+for prop in ("Reference", "Value"):+ m = re.search(r'\(property "%s" "([^"]*)"\s*\(at (\S+) (\S+)' % prop, s)+ if m: ax.text(float(m.group(2)), float(m.group(3)), m.group(1), color="#c9d1d9", fontsize=8, ha="center", va="center")+ax.set_aspect("equal"); ax.axis("off"); fig.savefig(sys.argv[2], bbox_inches="tight", facecolor=fig.get_facecolor()); print(sys.argv[2])
provenance/tools/snap_symbol.pyadded+26@@ -0,0 +1,26 @@+#!/usr/bin/env python3+"""Post-process an adom-symbol 1.2.6 .kicad_sym: put every pin end on the 2.54 mm grid (the tool places the first+pin of each column at y = -2.00), move each group caption with its first pin, set Value to the exact MPN and the+Footprint to the page's library footprint. usage: snap_symbol.py in.kicad_sym out.kicad_sym MPN LIB:FOOTPRINT"""+import re, sys+src, out, mpn, fp = sys.argv[1:5]+s = open(src).read()+g = 2.54+moves = {}+def pin(m):+ x, y = float(m.group(2)), float(m.group(3)); ny = round(y / g) * g+ moves.setdefault(round(y, 2), round(ny, 2))+ return f"{m.group(1)}(at {x:.2f} {ny:.2f} {m.group(4)})"+s = re.sub(r"(\(pin \w+ line )\(at (-?[\d.]+) (-?[\d.]+) (\d+)\)", pin, s)+def cap(m):+ y = float(m.group(3)); py = round(y - 2.0, 2)+ ny = moves.get(py, py + 2.0 - 2.0) + 2.0 if py in moves else y+ return f'{m.group(1)}(at {m.group(2)} {ny:.2f} 0)'+s = re.sub(r'(\(text "[^"]+" )\(at (-?[\d.]+) (-?[\d.]+) 0\)', cap, s)+low = min(moves.values())+s = re.sub(r"\(rectangle \(start (-?[\d.]+) ([\d.]+)\) \(end (-?[\d.]+) (-?[\d.]+)\)",+ lambda m: f"(rectangle (start {m.group(1)} {m.group(2)}) (end {m.group(3)} {low - g:.2f})", s, count=1)+s = re.sub(r'\(property "Value" "[^"]*"', f'(property "Value" "{mpn}"', s, count=1)+s = re.sub(r'\(property "Footprint" "[^"]*"', f'(property "Footprint" "{fp}"', s, count=1)+open(out, "w").write(s)+print("pin y moves:", moves)
provenance/tools/svg_poly_png.pyadded+16@@ -0,0 +1,16 @@+#!/usr/bin/env python3+"""Rasterize a polyline-only SVG (chip outline art) to PNG with Pillow. usage: svg_poly_png.py in.svg out.png [size] [bg]"""+import sys, re+from PIL import Image, ImageDraw+src, out = sys.argv[1], sys.argv[2]; size = int(sys.argv[3]) if len(sys.argv) > 3 else 320+bg = sys.argv[4] if len(sys.argv) > 4 else "#0d1117"+s = open(src).read()+vb = [float(v) for v in re.search(r'viewBox="([^"]+)"', s).group(1).split()]+k = size / vb[2]+im = Image.new("RGB", (size, int(vb[3] * k)), bg); d = ImageDraw.Draw(im)+for m in re.finditer(r'<(polyline|polygon)[^>]*points="([^"]+)"[^>]*?(?:stroke="([^"]+)")?[^>]*/>', s):+ pts = [tuple(float(v) for v in p.split(",")) for p in m.group(2).split()]+ pts = [((x - vb[0]) * k, (y - vb[1]) * k) for x, y in pts]+ col = m.group(3) or "#e6edf3"+ if len(pts) > 1: d.line(pts, fill=col, width=max(1, int(1.5 * k)))+im.save(out); print(out, im.size)
provenance/tools/symbol-create.jsonadded+92@@ -0,0 +1,92 @@+{+ "symbolName": "MCP2562FD-E-SN",+ "mpn": "MCP2562FD-E/SN",+ "manufacturer": "Microchip Technology",+ "package": "SOIC-8 (SN, 3.90 mm body)",+ "pinCount": 8,+ "description": "High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8",+ "datasheetUrl": "https://ww1.microchip.com/downloads/aemDocuments/documents/APID/ProductDocuments/DataSheets/MCP2561-2FD-High-Speed-CAN-Flexible-Data-Rate-Transceiver-DS20005284.pdf",+ "footprint": "mcp2562fd-e-sn:mcp2562fd-e-sn",+ "reference": "U",+ "distributors": {+ "mouser": "579-MCP2562FD-E/SN",+ "digikey": "MCP2562FD-E/SN-ND",+ "lcsc": "C124016"+ },+ "wikiUrl": "https://wiki.adom.inc/adom/mcp2562fd-e-sn",+ "pinLayout": "left-right",+ "pins": [+ {+ "number": "1",+ "name": "TXD",+ "type": "input",+ "group": "Controller",+ "description": "Transmit data input from the CAN controller. Low drives the bus Dominant, high leaves it Recessive. Internal pull-up (nominal 33 kOhm) to VIO (DS20005284B p.5, 1.7.1)."+ },+ {+ "number": "4",+ "name": "RXD",+ "type": "output",+ "group": "Controller",+ "description": "Receive data output, CMOS push-pull supplied from VIO: high when the bus is Recessive, low when Dominant (p.5, 1.7.4)."+ },+ {+ "number": "8",+ "name": "STBY",+ "type": "input",+ "group": "Controller",+ "description": "Mode select: low = Normal mode, high = Standby (transmitter and high-speed receiver off, low-power wake-up receiver on). Internal MOS pull-up to VIO (p.5, 1.7.9)."+ },+ {+ "number": "7",+ "name": "CANH",+ "type": "bidirectional",+ "group": "CAN bus",+ "description": "CAN high-level bus I/O; disconnected from the bus when the device is unpowered (p.5, 1.7.8)."+ },+ {+ "number": "6",+ "name": "CANL",+ "type": "bidirectional",+ "group": "CAN bus",+ "description": "CAN low-level bus I/O; disconnected from the bus when the device is unpowered (p.5, 1.7.7)."+ },+ {+ "number": "3",+ "name": "VDD",+ "type": "power_in",+ "group": "Power",+ "description": "Supply voltage, 4.5 V to 5.5 V; supplies the transmitter and receivers (p.5, 1.7.3; p.9)."+ },+ {+ "number": "5",+ "name": "VIO",+ "type": "power_in",+ "group": "Power",+ "description": "Digital I/O supply, 1.8 V to 5.5 V; sets the logic level of TXD, RXD and STBY (p.5, 1.7.6; p.9)."+ },+ {+ "number": "2",+ "name": "VSS",+ "type": "power_in",+ "group": "Ground",+ "description": "Ground (p.5, 1.7.2)."+ }+ ],+ "pinDescriptions": {+ "TXD": "Transmit data input from the CAN controller. Low drives the bus Dominant, high leaves it Recessive. Internal pull-up (nominal 33 kOhm) to VIO (DS20005284B p.5, 1.7.1).",+ "RXD": "Receive data output, CMOS push-pull supplied from VIO: high when the bus is Recessive, low when Dominant (p.5, 1.7.4).",+ "STBY": "Mode select: low = Normal mode, high = Standby (transmitter and high-speed receiver off, low-power wake-up receiver on). Internal MOS pull-up to VIO (p.5, 1.7.9).",+ "CANH": "CAN high-level bus I/O; disconnected from the bus when the device is unpowered (p.5, 1.7.8).",+ "CANL": "CAN low-level bus I/O; disconnected from the bus when the device is unpowered (p.5, 1.7.7).",+ "VDD": "Supply voltage, 4.5 V to 5.5 V; supplies the transmitter and receivers (p.5, 1.7.3; p.9).",+ "VIO": "Digital I/O supply, 1.8 V to 5.5 V; sets the logic level of TXD, RXD and STBY (p.5, 1.7.6; p.9).",+ "VSS": "Ground (p.5, 1.7.2)."+ },+ "groupDescriptions": {+ "Controller": "Logic interface to the CAN controller or MCU. TXD and STBY are inputs and RXD is an output, all referenced to VIO, so the transceiver talks directly to 1.8 V to 5.5 V logic.",+ "CAN bus": "Differential CAN bus pair, ISO 11898-2 and ISO 11898-5. Both pins are high impedance when the part is unpowered, so a dead node does not load the bus.",+ "Power": "VDD (4.5 V to 5.5 V) powers the transmitter and receivers; VIO (1.8 V to 5.5 V) powers the digital I/O level shifter. Decouple each with 0.1 uF (Figure 1-2, p.6).",+ "Ground": "VSS, the common ground for VDD and VIO."+ }+}
verification.jsonadded+247@@ -0,0 +1,247 @@+{+ "schema": "adom/verification@1",+ "part": "MCP2562FD-E/SN",+ "variants": [+ {+ "mpn": "MCP2562FD-E/SN",+ "note": "tube packaging; MCP2562FDT-E/SN is the same part on tape and reel (DS20005284B p.29)",+ "stocked": false+ }+ ],+ "entries": [+ {+ "date": "2026-10-21",+ "by": {+ "name": "Claude (AI), automated checks, not yet reviewed by a person",+ "handle": "claude"+ },+ "status": "verified",+ "title": "Pinout matches the datasheet",+ "scope": [+ "symbol"+ ],+ "variants": [+ "*"+ ],+ "checks": [+ {+ "text": "Symbol pins match DS20005284B Table 1-2 (p.4), MCP2562FD PDIP/SOIC: 1 TXD, 2 VSS, 3 VDD, 4 RXD, 5 VIO, 6 CANL, 7 CANH, 8 STBY",+ "result": "pass"+ },+ {+ "text": "Electrical types: TXD and STBY input, RXD output, CANH and CANL bidirectional, VDD, VIO and VSS power",+ "result": "pass"+ },+ {+ "text": "Pin n maps to pad n, read back from the Fusion .lbr and the Altium SchLib/PcbLib",+ "result": "pass"+ },+ {+ "text": "Every pin sits on the 2.54 mm grid (adom-symbol 1.2.6 put the first pin of each column at y = -2.00; snapped by provenance/tools/snap_symbol.py)",+ "result": "note"+ }+ ],+ "evidence": [+ {+ "label": "mcp2562fd-e-sn-ds-p1.png",+ "href": "docs/figures/mcp2562fd-e-sn-ds-p1.png"+ },+ {+ "label": "mcp2562fd-e-sn-ds-p4.png",+ "href": "docs/figures/mcp2562fd-e-sn-ds-p4.png"+ }+ ],+ "files": {+ "mcp2562fd-e-sn.kicad_sym": "64ce1f2ff60b7f452965e4e24380c84936ef723749a616fb2c04817df2e1b25d",+ "mcp2562fd-e-sn.lbr": "7c48981ebd6549afd02115fbe06f2dafb2d8f4f5059efa9a8e71addb31879e98",+ "altium/MCP2562FD-E-SN.SchLib": "96557a0303664d911adc084971a49cbb7f40a2d5ca4f5fba2e85b7af382edd2f"+ }+ },+ {+ "date": "2026-10-21",+ "by": {+ "name": "Claude (AI), automated checks, not yet reviewed by a person",+ "handle": "claude"+ },+ "status": "verified",+ "title": "Footprint equals Microchip's recommended land pattern",+ "scope": [+ "footprint"+ ],+ "variants": [+ "*"+ ],+ "checks": [+ {+ "text": "All 8 pads equal C04-02057-SN Rev L: 1.55 x 0.60 mm rectangles at x = +-2.70 (C 5.40), pitch 1.27, pad 1 at (-2.70, -1.905)",+ "result": "pass"+ },+ {+ "text": "KiCad's SOIC-8_3.9x4.9mm_P1.27mm differs (1.95 x 0.60 at +-2.475, 0.425 mm further under the body); recorded in provenance/footprint-check.json",+ "result": "note"+ },+ {+ "text": "Courtyard 7.50 x 5.40 mm, 0.25 mm beyond pads and body",+ "result": "pass"+ }+ ],+ "evidence": [+ {+ "label": "mcp2562fd-e-sn-footprint-check.png",+ "href": "docs/proof/mcp2562fd-e-sn-footprint-check.png"+ },+ {+ "label": "mcp2562fd-e-sn-ds-p25.png",+ "href": "docs/figures/mcp2562fd-e-sn-ds-p25.png"+ },+ {+ "label": "footprint-check.json",+ "href": "provenance/footprint-check.json"+ }+ ],+ "files": {+ "mcp2562fd-e-sn.kicad_mod": "4fbc6fe8d4b4e33ed77ec42b265d7136c2040438169c129798cde00db261e109"+ }+ },+ {+ "date": "2026-10-21",+ "by": {+ "name": "Claude (AI), automated checks, not yet reviewed by a person",+ "handle": "claude"+ },+ "status": "verified",+ "title": "Pin 1 orientation agrees across footprint, 3D model, symbol and datasheet",+ "scope": [+ "footprint",+ "3d"+ ],+ "variants": [+ "*"+ ],+ "checks": [+ {+ "text": "Footprint pad 1 top left (KiCad Y down) with the silkscreen pin-1 bar above it",+ "result": "pass"+ },+ {+ "text": "3D pin 1 lead at (-x, +y) in the Z-up model, which is pad 1 after KiCad's Y flip; pin-1 dimple in the same corner",+ "result": "pass"+ },+ {+ "text": "Pins run counter-clockwise seen from the top, as in the datasheet top view (p.23): the footprint is that view turned 90 degrees, not mirrored",+ "result": "pass"+ },+ {+ "text": "The MPN etch reads upright with pin 1 lower left (adom-aiflow-etch gate PASS)",+ "result": "pass"+ }+ ],+ "evidence": [+ {+ "label": "mcp2562fd-e-sn-footprint-check.png",+ "href": "docs/proof/mcp2562fd-e-sn-footprint-check.png"+ },+ {+ "label": "mcp2562fd-e-sn-etched.check.png",+ "href": "docs/proof/mcp2562fd-e-sn-etched.check.png"+ },+ {+ "label": "mcp2562fd-e-sn-ds-p23.png",+ "href": "docs/figures/mcp2562fd-e-sn-ds-p23.png"+ }+ ],+ "files": {+ "mcp2562fd-e-sn.kicad_mod": "4fbc6fe8d4b4e33ed77ec42b265d7136c2040438169c129798cde00db261e109",+ "mcp2562fd-e-sn-etched.step": "312b626ec67e979028ea640bd76a6d93874bd62054c73085ea2f1eea25065027"+ }+ },+ {+ "date": "2026-10-21",+ "by": {+ "name": "Claude (AI), automated checks, not yet reviewed by a person",+ "handle": "claude"+ },+ "status": "verified",+ "title": "3D model inside Microchip's package drawing",+ "scope": [+ "3d"+ ],+ "variants": [+ "*"+ ],+ "checks": [+ {+ "text": "E 6.00, E1 3.90, D 4.90, A 1.75, A1 0.10, c 0.20, b 0.41: inside C04-00057-SN Rev L (p.24)",+ "result": "pass"+ },+ {+ "text": "Foot L 0.500 mm at the 0.25 mm gauge plane (0.413 mm flat): inside 0.40 to 1.27",+ "result": "pass"+ },+ {+ "text": "KiCad's library SOIC-8 model was not used: L 0.362 mm at the gauge plane (0.275 mm flat), under the 0.40 mm minimum",+ "result": "note"+ },+ {+ "text": "Microchip's own STEP was not reachable from the product page without a signed-in browser",+ "result": "note"+ }+ ],+ "evidence": [+ {+ "label": "mcp2562fd-e-sn-lead-vs-kicad.png",+ "href": "docs/proof/mcp2562fd-e-sn-lead-vs-kicad.png"+ },+ {+ "label": "3d-model.json",+ "href": "provenance/3d-model.json"+ },+ {+ "label": "mcp2562fd-e-sn-ds-p24.png",+ "href": "docs/figures/mcp2562fd-e-sn-ds-p24.png"+ }+ ],+ "files": {+ "mcp2562fd-e-sn.step": "8b668368e9ffd03575f4b5c2fef99dc8e9ce14b26ebd782684aaa2cc463c3a58",+ "mcp2562fd-e-sn-etched.step": "312b626ec67e979028ea640bd76a6d93874bd62054c73085ea2f1eea25065027",+ "mcp2562fd-e-sn-etched.glb": "5f79bd363586ef65c033a61bbc3a8b0dc44d2e583bcacea57ec1ffbd131ff0df"+ }+ },+ {+ "date": "2026-10-21",+ "by": {+ "name": "Claude (AI), automated checks, not yet reviewed by a person",+ "handle": "claude"+ },+ "status": "open",+ "title": "Still to do",+ "scope": [+ "3d",+ "library"+ ],+ "variants": [+ "*"+ ],+ "checks": [+ {+ "text": "Compare against Microchip's own STEP once someone downloads it through a signed-in browser",+ "result": "open"+ },+ {+ "text": "Open the KiCad, Fusion and Altium libraries in the native tools; so far they are checked by lint and read-back only",+ "result": "open"+ },+ {+ "text": "Annotated hero GLB (adom-hero pad outlines and labels) not built; the viewer shows the clean etched model",+ "result": "open"+ },+ {+ "text": "Overlay of the model on the datasheet drawing views not made",+ "result": "open"+ }+ ],+ "evidence": [],+ "files": {}+ }+ ]+}
viewers/footprint.htmladded+210@@ -0,0 +1,210 @@+<!doctype html><html><head><meta charset="utf-8">+<title>mcp2562fd-e-sn - adom-footprint</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+/* ── adom-footprint shared viewer core (CSS) ───────────────────────────────+ Included VERBATIM by both the live app (app.html) and the static embed+ (embed.html) so the canvas, zoom toolbar and layer-panel rows look identical+ and cannot drift. Self-contained literal colours (no dependency on either+ file's CSS vars). Class prefix: av- */++.av-vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:radial-gradient(circle at 50% 42%,#121a26 0%,#0d1117 72%)}+.av-vp.grab{cursor:grabbing}+/* DIRECT child only — the zoom-toolbar button icons (.av-tools svg) also live+ inside .av-vp; without '>' they'd inherit position:absolute and stack at 0,0. */+.av-vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}++/* zoom toolbar */+/* Grouped translucent toolbar (matches adom-symbol's .tools): one container, borderless+ buttons that highlight on hover — instead of individually-boxed buttons. */+.av-tools{position:absolute;left:10px;top:10px;display:flex;gap:3px;padding:3px;z-index:5;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #222b38;border-radius:9px}+.av-tools button{width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:#cfd8e2;cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}+.av-tools button svg{width:16px;height:16px;display:block}+.av-tools button:hover{background:#222b38;color:#37c8a6}+.av-tools button:focus,.av-tools button:focus-visible{outline:none}+.av-panhint{position:absolute;right:10px;bottom:9px;color:#8b949e;font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}++/* layer panel rows */+.av-lrow{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;cursor:pointer}+.av-lrow:hover{background:#161c27}+.av-lrow .sw{width:13px;height:13px;border-radius:3px;border:1px solid rgba(255,255,255,.15);flex:0 0 13px}+.av-lrow .sw.ring{background:transparent!important}+.av-lrow .ln{flex:1;font-size:13px}+.av-lrow .meta{font-size:10px;color:#8b949e}+.av-lrow .chk{width:16px;height:16px;border-radius:4px;border:1.5px solid #3a4757;display:grid;place-items:center;color:#0b0f17;font-size:11px}+.av-lrow.on .chk{background:#37c8a6;border-color:#37c8a6}+.av-lrow.off .ln,.av-lrow.off .sw{opacity:.4}+.av-lrow.special{background:linear-gradient(100deg,rgba(55,200,166,.10),transparent);border:1px solid rgba(55,200,166,.25);margin-top:4px}+.av-lrow.special .ln{color:#7ef0d2;font-weight:600}++:root{--bg:#0d1117;--panel:#11161f;--border:#222b38;--text:#e6edf3;--muted:#8b949e;--accent:#37c8a6}+*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}+body{background:var(--bg);color:var(--text);font-family:'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+header{display:flex;align-items:center;gap:9px;padding:9px 14px;border-bottom:1px solid var(--border);flex:0 0 auto}+header .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}+header .b{font-weight:700;font-size:14px}header .b span{color:var(--muted);font-weight:400}+header .nm{margin-left:auto;font-weight:600;font-size:13px;color:#cfd8e2}+main{flex:1;display:flex;min-height:0}+.vpwrap{flex:1;position:relative;min-width:0}+aside{flex:0 0 248px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}+.layers{padding:6px}+.note{font-size:11px;color:var(--muted);line-height:1.45;padding:8px 11px}+.note b{color:#7ef0d2}+</style></head>+<body>+ <header><span class="dot"></span><span class="b">adom-footprint <span>· interactive</span></span><span class="nm">mcp2562fd-e-sn</span></header>+ <main>+ <div class="vpwrap">+ <div class="av-vp" id="vp">+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4.750 -3.750 9.500 7.450" preserveAspectRatio="xMidYMid meet"><g class="adom-layer-courtyard"><rect x="-3.750" y="-2.700" width="7.500" height="5.400" fill="none" stroke="#FF26E2" stroke-width="0.05" stroke-dasharray="0.2,0.1"/></g><g class="adom-layer-fab"><rect x="-1.950" y="-2.450" width="3.900" height="4.900" fill="none" stroke="#6e7681" stroke-width="0.1"/></g><g class="adom-layer-copper"><g data-pad="1" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="-3.475" y="-2.205" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="2" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="-3.475" y="-0.935" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="3" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="-3.475" y="0.335" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="4" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="-3.475" y="1.605" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="5" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="1.925" y="1.605" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="6" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="1.925" y="0.335" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="7" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="1.925" y="-0.935" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g><g data-pad="8" data-shape="rect" data-size="1.550x0.600" data-mount="smd"><rect x="1.925" y="-2.205" width="1.550" height="0.600" fill="#C83434" stroke="#ef5350" stroke-width="0.04"/></g></g><g class="adom-layer-heatsink"></g><g class="adom-layer-drill"></g><g class="adom-layer-silk"><line x1="-2.070" y1="-2.570" x2="2.070" y2="-2.570" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="2.070" y1="-1.390" x2="2.070" y2="-1.150" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="2.070" y1="-0.120" x2="2.070" y2="0.120" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="2.070" y1="1.150" x2="2.070" y2="1.390" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="2.070" y1="2.570" x2="-2.070" y2="2.570" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-2.070" y1="1.390" x2="-2.070" y2="1.150" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-2.070" y1="0.120" x2="-2.070" y2="-0.120" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-2.070" y1="-1.150" x2="-2.070" y2="-1.390" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/><line x1="-2.250" y1="-2.750" x2="-1.650" y2="-2.750" stroke="#00cccc" stroke-width="0.12" stroke-linecap="round"/></g><g class="adom-layer-padnum"><text x="-2.700" y="-1.905" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">1</text><text x="-2.700" y="-0.635" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">2</text><text x="-2.700" y="0.635" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">3</text><text x="-2.700" y="1.905" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">4</text><text x="2.700" y="1.905" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">5</text><text x="2.700" y="0.635" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">6</text><text x="2.700" y="-0.635" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">7</text><text x="2.700" y="-1.905" text-anchor="middle" dominant-baseline="central" font-size="0.252" fill="#fff" font-family="sans-serif" style="pointer-events:none">8</text></g><g class="adom-layer-paste-apertures"><rect x="-3.475" y="-2.205" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 -2.700 -1.905)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.475" y="-0.935" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 -2.700 -0.635)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.475" y="0.335" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 -2.700 0.635)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="-3.475" y="1.605" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 -2.700 1.905)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.925" y="1.605" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 2.700 1.905)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.925" y="0.335" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 2.700 0.635)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.925" y="-0.935" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 2.700 -0.635)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/><rect x="1.925" y="-2.205" width="1.550" height="0.600" rx="0.05" transform="rotate(0.00 2.700 -1.905)" fill="none" stroke="#8aa0b8" stroke-width="0.03" stroke-dasharray="0.12 0.08" opacity="0.7"/></g><g class="adom-layer-paste-dots"><circle cx="-3.200" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.950" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.700" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.450" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.200" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.200" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.950" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.700" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.450" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.200" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.200" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.950" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.700" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.450" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.200" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-3.200" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.950" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.700" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.450" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="-2.200" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.200" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.450" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.700" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.950" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.200" cy="1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.200" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.450" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.700" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.950" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.200" cy="0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.200" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.450" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.700" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.950" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.200" cy="-0.635" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.200" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.450" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.700" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="2.950" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/><circle cx="3.200" cy="-1.905" r="0.150" fill="#37c8a6" opacity="0.92"/></g></svg>+ </div>+ </div>+ <aside>+ <div class="ah">Layers</div>+ <div class="layers" id="layers"></div>+ <div class="note">The <b>solder paste jet</b> layer shows the 300µm paste-dispensing dots that travel with the footprint. Off by default — toggle it on.</div>+ </aside>+ </main>+<script>/* ── adom-footprint shared viewer core (window.AV) ─────────────────────────+ Single source of truth for the layer list, toggle behaviour, defaults,+ pan/zoom and toolbar icons. Included VERBATIM by both app.html (live) and+ embed.html (static) so the two viewers cannot drift. Pure client-side; works+ on any SVG that carries the <g class="adom-layer-*"> groups. */+(function(){+ var ICON_ZIN='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg>';+ var ICON_ZOUT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg>';+ // Zoom-to-FIT = a magnifier with a small square inside (fit content to view).+ // Deliberately NOT the four-corner expand/"fullscreen" glyph.+ var ICON_FIT='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5"/><rect x="7.6" y="7.6" width="5.8" height="5.8" rx="1.2"/></svg>';++ // The canonical layer list. Every layer is a <g class="adom-layer-*"> in the+ // self-rendered SVG, so toggling is group-based (robust) — never colour-match.+ // `kind:'group'` on every entry: all layers are toggled by their <g> group+ // (robust), never by colour-match. (app.html still reads def.kind.)+ var LAYER_DEFS=[+ {key:'copper', name:'Copper', kind:'group', sel:'.adom-layer-copper', sw:'#C83434'},+ // Auto-generated thermal-via array under the exposed pad — only present (and+ // listed) when the footprint has an exposed thermal pad.+ {key:'heatsink', name:'Heatsink vias', kind:'group', sel:'.adom-layer-heatsink', sw:'#e8a13a'},+ {key:'padnum', name:'Pad numbers', kind:'group', sel:'.adom-layer-padnum', sw:'#ffffff', ring:true},+ {key:'silk', name:'Silkscreen', kind:'group', sel:'.adom-layer-silk', sw:'#00cccc'},+ {key:'fab', name:'Fab (F.Fab)', kind:'group', sel:'.adom-layer-fab', sw:'#6e7681', ring:true},+ {key:'courtyard', name:'Courtyard', kind:'group', sel:'.adom-layer-courtyard', sw:'#FF26E2', ring:true},+ {key:'drill', name:'Drill', kind:'group', sel:'.adom-layer-drill', sw:'#888888', ring:true},+ {key:'paste-ap', name:'Paste apertures', kind:'group', sel:'.adom-layer-paste-apertures', sw:'#8aa0b8', ring:true},+ // Generic name — the 300µm solder-paste dispensing dots. Off by default.+ {key:'paste-dots',name:'Solder paste jet', kind:'group', sel:'.adom-layer-paste-dots', sw:'#37c8a6', special:true},+ ];++ // True only if the group actually holds drawn geometry (not an empty <g>) — so+ // layers with nothing in THIS footprint aren't listed as dead, dim rows.+ function groupHasGeo(svg,def){+ if(!svg) return false; var n=0,g=svg.querySelectorAll(def.sel);+ for(var i=0;i<g.length;i++){ n+=g[i].querySelectorAll('path,rect,circle,line,polygon,polyline,text').length; }+ return n>0;+ }+ function layerPresent(svg,def){ return groupHasGeo(svg,def); }+ function applyLayer(svg,def,on){+ if(!svg) return; var g=svg.querySelectorAll(def.sel);+ for(var i=0;i<g.length;i++) g[i].style.display=on?'':'none';+ }++ // Build layer rows into a container. opts:+ // svg, container, state {key:bool}, meta {pasteDots,pasteApertures},+ // onToggle(key,on). Missing state key -> special OFF, others ON. Skips empty+ // non-special groups. Returns the keys actually shown.+ function buildLayers(opts){+ var svg=opts.svg, box=opts.container, state=opts.state||{}, meta=opts.meta||{}, shown=[];+ box.innerHTML='';+ LAYER_DEFS.forEach(function(def){+ if(!def.special && !groupHasGeo(svg,def)) return;+ var on = def.special ? (state[def.key]===true) : (state[def.key]!==false);+ var m = def.key==='paste-dots' ? ((meta.pasteDots||0)+' @ 300µm')+ : def.key==='paste-ap' ? ((meta.pasteApertures||0)+' openings') : '';+ var row=document.createElement('div');+ row.className='av-lrow '+(on?'on':'off')+(def.special?' special':'');+ row.innerHTML='<span class="sw'+(def.ring?' ring':'')+'" style="'+(def.ring?('border-color:'+def.sw):('background:'+def.sw))+'"></span>'+ +'<span class="ln">'+def.name+'</span>'+(m?'<span class="meta">'+m+'</span>':'')+ +'<span class="chk">'+(on?'✓':'')+'</span>';+ row.onclick=function(){+ var nv=!row.classList.contains('on');+ row.classList.toggle('on',nv); row.classList.toggle('off',!nv);+ row.querySelector('.chk').textContent=nv?'✓':'';+ state[def.key]=nv; applyLayer(svg,def,nv);+ if(opts.onToggle) opts.onToggle(def.key,nv);+ };+ box.appendChild(row); applyLayer(svg,def,on); shown.push(def.key);+ });+ return shown;+ }++ // Wire pan + zoom on a viewport element (the box that contains the <svg>).+ // Returns a controller {fit, zoomIn, zoomOut, apply}.+ function initViewport(vp){+ var svg=vp.querySelector('svg');+ if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+ var s=1,tx=0,ty=0;+ function apply(){ var el=vp.querySelector('svg'); if(el) el.style.transform='translate('+tx+'px,'+ty+'px) scale('+s+')'; }+ function zoomAt(cx,cy,f){ tx=cx-(cx-tx)*f; ty=cy-(cy-ty)*f; s*=f; apply(); }+ function fit(){ s=1;tx=0;ty=0;apply(); }+ // Smooth, delta-PROPORTIONAL zoom (matches adom-symbol). A fixed per-event+ // factor makes the trackpad leap — one gentle two-finger nudge fires a burst+ // of tiny wheel events and a fixed 1.12× compounds. Instead derive the factor+ // from how much actually scrolled (exp → smooth + reversible), normalise+ // device units, and clamp one event so a chunky mouse notch can't jump.+ var ZOOM_K=0.0022; // sensitivity: lower = gentler+ vp.addEventListener('wheel',function(e){+ e.preventDefault();+ var d=e.deltaY;+ if(e.deltaMode===1) d*=16; else if(e.deltaMode===2) d*=vp.clientHeight;+ d=Math.max(-50,Math.min(50,d));+ var r=vp.getBoundingClientRect();+ zoomAt(e.clientX-r.left,e.clientY-r.top,Math.exp(-d*ZOOM_K));+ },{passive:false});+ var drag=false,lx=0,ly=0;+ vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.av-tools'))return; drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+ vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+ vp.addEventListener('pointerup',function(){ drag=false;vp.classList.remove('grab'); });+ fit();+ return {+ fit:fit,+ zoomIn:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1.2); },+ zoomOut:function(){ var r=vp.getBoundingClientRect(); zoomAt(r.width/2,r.height/2,1/1.2); },+ apply:apply+ };+ }++ // Inject the standard zoom toolbar (+ / − / fit) + pan hint into a viewport,+ // wired to a controller from initViewport. Idempotent.+ function addToolbar(vp,ctl){+ if(vp.querySelector('.av-tools')) return;+ var t=document.createElement('div'); t.className='av-tools';+ t.innerHTML='<button data-z="in" title="Zoom in">'+ICON_ZIN+'</button>'+ +'<button data-z="out" title="Zoom out">'+ICON_ZOUT+'</button>'+ +'<button data-z="fit" title="Zoom to fit">'+ICON_FIT+'</button>';+ vp.appendChild(t);+ t.querySelector('[data-z="in"]').onclick=ctl.zoomIn;+ t.querySelector('[data-z="out"]').onclick=ctl.zoomOut;+ t.querySelector('[data-z="fit"]').onclick=ctl.fit;+ var h=document.createElement('div'); h.className='av-panhint'; h.textContent='drag to pan · scroll to zoom'; vp.appendChild(h);+ }++ window.AV={+ LAYER_DEFS:LAYER_DEFS, groupHasGeo:groupHasGeo, layerPresent:layerPresent,+ applyLayer:applyLayer, buildLayers:buildLayers, initViewport:initViewport,+ addToolbar:addToolbar, ICON_FIT:ICON_FIT, ICON_ZIN:ICON_ZIN, ICON_ZOUT:ICON_ZOUT+ };+})();+</script>+<script>+var META={"pasteApertures":8,"pasteDots":40};+(function(){+ var vp=document.getElementById('vp');+ var svg=vp.querySelector('svg');+ var ctl=AV.initViewport(vp);+ AV.addToolbar(vp,ctl);+ AV.buildLayers({ svg:svg, container:document.getElementById('layers'), state:{}, meta:META });+})();+</script>+</body></html>
viewers/symbol.htmladded+5071@@ -0,0 +1,5071 @@+<!doctype html><html><head><meta charset="utf-8">+<title>MCP2562FD-E-SN - adom-symbol</title>+<meta name="viewport" content="width=device-width,initial-scale=1">+<style>+@font-face{font-family:'Satoshi';font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Satoshi';font-weight:500;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}@font-face{font-family:'Familjen Grotesk';font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}+ /* Canonical Adom dark-theme tokens (adom/guides/brand.md) */+ :root{+ --bg:#0d1117;--surface:#161b22;--elevated:#1c2128;--overlay:#21262d;+ --border:#30363d;--border-muted:#21262d;+ --text:#e6edf3;--text2:#8b949e;--text3:#484f58;+ --accent:#00b8b0;--accent-bright:#00e6dc;--purple:#8c6bf7;+ /* aliases used by the viewport + pin-list rules further down */+ --panel:#161b22;--panel2:#1c2128;--muted:#8b949e;+ }+ *{box-sizing:border-box;margin:0;padding:0}+ html,body{height:100%}+ body{background:var(--bg);color:var(--text);font:13px/1.4 'Satoshi','Segoe UI',system-ui,sans-serif;display:flex;flex-direction:column;overflow:hidden}+ /* ── Canonical Adom app header (adom/guides/adom-app-header.md) ── */+ header{display:flex;align-items:center;gap:12px;padding:0 16px;height:44px;flex:0 0 44px;border-bottom:1px solid var(--border-muted);background:var(--surface);position:relative;font-family:'Familjen Grotesk',sans-serif}+ header .brand{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.01em;cursor:default;flex-shrink:0;outline:none}+ header .brand svg.logo{width:16px;height:16px;flex-shrink:0}+ header .brand:hover .app-name{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}+ header .brand .app-name{color:var(--accent)}+ header .brand .app-subtitle{color:var(--text2);font-weight:500}+ header .brand .sep{color:var(--text3);font-weight:400}+ header .vsep{width:1px;height:18px;background:var(--border);flex-shrink:0}+ header .subject{display:flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:default}+ header .subject-name{color:var(--text);font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}+ header .subject-meta{display:flex;align-items:center;gap:6px;color:var(--text2);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;white-space:nowrap}+ header .subject-meta .sep{color:var(--text3)}+ @media(max-width:720px){header .subject-meta{display:none}}+ /* Floating in-canvas viewer toolbar (frosted, matches the app's glass cards) */+ .tools{position:absolute;left:12px;top:12px;z-index:5;display:flex;gap:3px;padding:3px;background:rgba(22,27,34,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:9px}+ .tools button{width:30px;height:30px;display:grid;place-items:center;background:transparent;border:none;border-radius:6px;color:var(--text2);cursor:pointer;transition:background .15s ease,color .15s ease}+ .tools button:hover{background:var(--elevated);color:var(--accent-bright)}+ .tools button svg{width:16px;height:16px;display:block}+ header .hover-popover{position:absolute;top:calc(100% + 6px);left:16px;background:var(--elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);padding:12px 14px;min-width:300px;max-width:420px;font-family:'Satoshi',sans-serif;font-size:12px;color:var(--text);z-index:99999;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .12s ease,transform .12s ease}+ header .hover-popover.show{opacity:1;transform:none;pointer-events:auto}+ header .hover-popover .popover-title{font-family:'Familjen Grotesk',sans-serif;font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}+ header .hover-popover .popover-row{display:flex;gap:12px;padding:3px 0;align-items:baseline}+ header .hover-popover .popover-row .k{color:var(--text3);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:10px;text-transform:lowercase;width:64px;flex-shrink:0}+ header .hover-popover .popover-row .v{color:var(--text);font-family:'Satoshi',sans-serif;font-size:12px;flex:1}+ header .hover-popover .popover-actions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-muted);display:flex;gap:12px}+ header .hover-popover .popover-link{color:var(--accent);text-decoration:none;font-family:'Familjen Grotesk',sans-serif;font-size:12px;font-weight:600}+ header .hover-popover .popover-link:hover{text-decoration:underline}+ main{flex:1;display:flex;min-height:0}+ .vpwrap{flex:1;position:relative;min-width:0}+ /* Schematic-workbench grid, identical to the main app's #stage. */+ .vp{position:absolute;inset:0;overflow:hidden;cursor:grab;background:+ radial-gradient(120% 120% at 50% 30%,rgba(0,184,177,.05),transparent 60%),+ linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px,+ linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/22px 22px}+ .vp.grab{cursor:grabbing}+ /* Only the DIRECT-CHILD symbol svg gets the pan/zoom transform — scoping to+ `.vp > svg` (not `.vp svg`) keeps it off any nested icon svgs. */+ .vp > svg{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:0 0;display:block}+ .hint{position:absolute;right:10px;bottom:9px;color:var(--muted);font-size:11px;z-index:5;pointer-events:none;user-select:none;-webkit-user-select:none}+ aside{flex:0 0 268px;border-left:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}+ aside .ah{padding:9px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}+ aside input{flex:1;background:var(--panel2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:5px 8px;outline:none}+ aside input:focus{border-color:var(--accent)}+ .pins{flex:1;overflow:auto}+ .pin{padding:7px 12px;border-bottom:1px solid #1a212c;cursor:pointer}+ .pin:hover{background:var(--panel2)}+ .pin.on{background:#15202e}+ .pin .row{display:flex;align-items:center;gap:8px}+ .pin .num{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:#8fa0b4;min-width:22px;text-align:right}+ .pin .nme{font-weight:600;font-size:13px}+ .pin .ty{margin-left:auto;font-size:10px;padding:1px 6px;border-radius:5px;border:1px solid;white-space:nowrap}+ .pin .d{font-size:11.5px;color:#aeb6c2;line-height:1.45;margin:5px 0 1px 30px;display:none}+ .pin.on .d{display:block}+ .empty{color:var(--muted);font-size:12px;padding:14px}+ @media(max-width:620px){aside{flex-basis:200px}}+ /* pin panel header — reads like a studio section */+ aside .ah .atitle{font-family:'Familjen Grotesk',sans-serif;font-weight:600;font-size:12px;color:var(--text);white-space:nowrap}+ aside .ah .acount{margin-left:5px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--text3)}+ /* bottom info bar — mirrors the main app footer */+ footer{flex:0 0 auto;display:flex;align-items:center;height:26px;border-top:1px solid var(--border);background:var(--surface);font-size:11px;color:var(--text2);padding:0 14px;overflow:hidden}+ footer .it{display:flex;align-items:center;gap:6px;white-space:nowrap;min-width:0}+ footer .it+.it::before{content:"";width:1px;height:13px;background:var(--border);margin:0 12px;flex:0 0 1px}+ footer .k{color:var(--text3);text-transform:uppercase;font-size:9px;letter-spacing:.4px;flex:0 0 auto}+ footer .v{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}+ footer .descit{min-width:0;overflow:hidden}+ /* pin hover — highlight + tooltip, parity with the live SymView */+ .vp > svg text,.vp > svg g.stroked-text{pointer-events:none}+ .hit{fill:rgba(0,230,220,0);stroke:none;cursor:pointer}+ .vp > svg g.stroked-text.hl path{stroke:var(--accent-bright)!important;fill:var(--accent-bright)!important}+ .vp > svg path.hl{stroke:var(--accent-bright)!important;stroke-width:.22!important}+ #pinmark{pointer-events:none;fill:rgba(0,230,220,.18);stroke:var(--accent-bright);stroke-width:.12;opacity:0;transition:opacity .1s}+ #tip{position:fixed;z-index:9999;max-width:300px;background:rgba(22,27,34,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(0,184,177,.34);border-radius:10px;padding:9px 12px;color:var(--text);font-size:12px;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 12px 40px rgba(0,0,0,.55)}+ #tip.show{opacity:1}+ #tip .r1{display:flex;align-items:baseline;gap:8px;justify-content:space-between}+ #tip .nm{font-weight:700;font-size:13px}+ #tip .pn{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;color:var(--muted);white-space:nowrap}+ #tip .badge{display:inline-block;margin-top:5px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.2px}+ #tip .desc{margin-top:6px;color:#aeb6c2;font-size:11.5px}+</style></head>+<body>+ <header>+ <div class="brand" data-tooltip-target="app-info" tabindex="0">+ <svg class="logo" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="7" y="4" width="10" height="16" rx="1.5"/><path d="M7 8H3M7 12H3M7 16H3M21 8h-4M21 12h-4M21 16h-4"/></svg>+ <span class="app-name">adom-symbol</span>+ <span class="sep">·</span>+ <span class="app-subtitle">symbol viewer</span>+ </div>+ <div class="vsep" aria-hidden="true"></div>+ <div class="subject">+ <span class="subject-name">MCP2562FD-E-SN</span>+ <span class="subject-meta"><span class="sep">·</span><span>8 pins</span><span class="sep">·</span><span>mcp2562fd-e-sn</span></span>+ </div>+ <div class="hover-popover" id="app-info" role="dialog" aria-label="About adom-symbol">+ <div class="popover-title">adom-symbol</div>+ <div class="popover-row"><span class="k">about</span><span class="v">Interactive KiCad schematic-symbol viewer: pan/zoom, per-pin hover, and a filterable pin list.</span></div>+ <div class="popover-row"><span class="k">version</span><span class="v">v1.2.6</span></div>+ <div class="popover-row"><span class="k">engine</span><span class="v">service-kicad</span></div>+ <div class="popover-row"><span class="k">mfr</span><span class="v">Microchip Technology</span></div>+ <div class="popover-row"><span class="k">author</span><span class="v">Adom Inc · adom.inc</span></div>+ <div class="popover-actions">+ <a class="popover-link" href="https://wiki.adom.inc/adom/adom-symbol" target="_blank" rel="noopener">Open wiki ↗</a>+ </div>+ </div>+ </header>+ <main>+ <div class="vpwrap">+ <div class="vp" id="vp">+ <div class="tools">+ <button id="zout" title="Zoom out" aria-label="Zoom out"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M8 10.5h5"/></svg></button>+ <button id="zin" title="Zoom in" aria-label="Zoom in"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M20 20l-4.5-4.5M10.5 8v5M8 10.5h5"/></svg></button>+ <button id="fit" title="Fit to window" aria-label="Fit to window"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2"/><rect x="8" y="9" width="8" height="6" rx="1"/></svg></button>+ </div>+ <div class="hint">drag to pan · scroll to zoom</div>+ <svg+ xmlns:svg="http://www.w3.org/2000/svg"+ xmlns="http://www.w3.org/2000/svg"+ xmlns:xlink="http://www.w3.org/1999/xlink"+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"+ version="1.1"+ width="53.720mm" height="39.130mm" viewBox="73.1400 89.4200 53.7200 39.1300">++<defs>+ <linearGradient id="adom-body-grad" x1="0" y1="0" x2="0" y2="1">+ <stop offset="0%" stop-color="#1a2332"/>+ <stop offset="100%" stop-color="#141c27"/>+ </linearGradient>+</defs>+<style><![CDATA[+ /* Stroked text groups (KiCad renders text as paths in <g class="stroked-text">) */+ g.stroked-text path {+ stroke: #ffffff !important;+ fill: #ffffff !important;+ }+ text[opacity="0"] {+ fill: #ffffff !important;+ }+ .pin-highlight path {+ stroke: #00e6dc !important;+ }+ .pin-highlight g.stroked-text path {+ stroke: #00e6dc !important;+ }+ .group-highlight g.stroked-text path {+ stroke: #FFD180 !important;+ }+]]></style>+<defs>+ <radialGradient id="adom-canvas-glow" cx="100" cy="108.985" r="37.604" gradientUnits="userSpaceOnUse">+ <stop offset="0%" stop-color="#00b8b0" stop-opacity="0.06"/>+ <stop offset="70%" stop-color="#00b8b0" stop-opacity="0"/>+ </radialGradient>+ <pattern id="adom-canvas-grid" x="0" y="0" width="2.54" height="2.54" patternUnits="userSpaceOnUse">+ <line x1="0" y1="0" x2="2.54" y2="0" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+ <line x1="0" y1="0" x2="0" y2="2.54" stroke="rgba(255,255,255,0.025)" stroke-width="0.06"/>+ </pattern>+</defs>+<rect x="73.14" y="89.42" width="53.72" height="39.13" fill="#0d1117"/>+<rect x="73.14" y="89.42" width="53.72" height="39.13" fill="url(#adom-canvas-grid)"/>+<rect x="73.14" y="89.42" width="53.72" height="39.13" fill="url(#adom-canvas-glow)"/>++ +<g style="fill:none; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000;+stroke-linecap:round; stroke-linejoin:round;"+ transform="translate(0 0) scale(1 1)">+</g>+<g style="fill:none; fill-opacity:1.0000; +stroke:none; stroke-width:0.0001; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="0.000000" y="0.000000" width="297.002200" height="210.007200" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++++++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++++<g class="stroked-text">++++++</g>+<g class="stroked-text">+++++++++++</g>+<g class="stroked-text">++++++++++++++</g>+<g class="stroked-text">++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>++++<g class="stroked-text">++++</g>+<g class="stroked-text">+++++++++++++++++++</g>+<g class="stroked-text">++++++++++++++++</g>+<g class="stroked-text">+++++++++++++</g>+<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>+<g class="stroked-text">+++++++++++++++++++++++++++++++++++</g>+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.4000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g>++<g class="stroked-text">+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.3000; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">++<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>+<g class="stroked-text">+</g>++</g>+<g style="fill:url(#adom-body-grad); fill-opacity:1.0000; stroke:none;">+<rect x="82.220000" y="97.460000" width="35.560000" height="22.860000" rx="0.000000" />+</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.2540; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<rect x="82.220000" y="97.460000" width="35.560000" height="22.860000" rx="0.000000" />+<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.0840,110.0800+96.0840,110.3380+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.0840,110.3380+96.5420,110.6030+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.5420,110.3440+96.0840,110.0800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.5420,110.6030+96.5420,110.3440+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.5460,109.8130+96.0840,110.0800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.6560,109.6410+96.6280,109.7230+96.5740,109.7920+96.5460,109.8130+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.7460,108.9570+96.6560,109.6410+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.8780,108.3750+97.0370,108.4670+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.8780,108.3750+96.9160,108.2660+96.9550,108.1570+96.9940,108.0490+97.0330,107.9400+97.0710,107.8310+97.1100,107.7230+97.1480,107.6140+97.1870,107.5060+97.2260,107.3970+97.2640,107.2880+97.3030,107.1800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 96.9300,108.5640+96.9060,108.4780+96.8830,108.3920+96.8780,108.3750+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.0040,110.0780+96.5420,110.3440+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.0040,110.0780+96.5460,109.8130+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.0040,110.3360+96.5420,110.6030+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.0770,108.4410+96.9920,108.5020+96.9120,108.5850+96.8600,108.6580+96.8150,108.7380+96.7790,108.8200+96.7550,108.9030+96.7460,108.9570+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.1150,109.9060+96.6560,109.6410+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.1150,109.9060+97.0870,109.9880+97.0330,110.0570+97.0040,110.0780+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.2050,109.2220+96.7460,108.9570+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.2050,109.2220+97.1150,109.9060+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.3030,107.1800+102.3590,110.0990+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.3040,108.3090+97.0770,108.4410+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.3350,109.8200+97.3110,109.9290+97.2790,110.0120+97.2380,110.0930+97.1870,110.1680+97.1300,110.2350+97.0470,110.3080+97.0040,110.3360+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.3830,109.4540+98.1500,109.8970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.4250,109.1360+97.3350,109.8200+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.5040,110.9000+97.5040,111.1580+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.5040,111.1580+97.9630,111.4230+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.5350,108.7050+97.0770,108.4410+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.5350,108.7050+97.4510,108.7670+97.3710,108.8500+97.3180,108.9230+97.2730,109.0020+97.2380,109.0850+97.2140,109.1680+97.2050,109.2220+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.5350,108.9640+97.4690,109.0280+97.4310,109.1090+97.4250,109.1360+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.7170,108.8590+97.5350,108.9640+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.7170,108.8590+98.4580,109.2870+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.7170,108.8590+97.7320,108.7680+97.7460,108.6780+97.7610,108.5870+97.7630,108.5740+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.7630,108.5740+97.5350,108.7050+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.7630,108.5740+97.6790,108.5260+97.5960,108.4780+97.5130,108.4300+97.4290,108.3820+97.3460,108.3330+97.3040,108.3090+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.9630,111.1650+97.5040,110.9000+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.9630,111.4230+97.9630,111.1650+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 97.9660,110.6330+97.5040,110.9000+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.0770,110.4610+98.0490,110.5430+97.9950,110.6130+97.9660,110.6330+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.1670,109.7770+98.0770,110.4610+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.2830,107.1800+98.3070,107.0930+98.3770,107.0160+98.4870,106.9550+98.5760,106.9270+98.6730,106.9100+98.7740,106.9060+98.8750,106.9140+98.9690,106.9350+99.0550,106.9660+99.0930,106.9860+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.4250,110.8980+97.9630,111.1650+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.4250,110.8980+97.9660,110.6330+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.4250,111.1560+97.9630,111.4230+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.4970,109.2610+98.4130,109.3230+98.3330,109.4060+98.2800,109.4780+98.2350,109.5580+98.2000,109.6400+98.1760,109.7230+98.1670,109.7770+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.5350,110.7260+98.0770,110.4610+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.5350,110.7260+98.5080,110.8080+98.4530,110.8780+98.4250,110.8980+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.6250,110.0420+98.1670,109.7770+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.6250,110.0420+98.5350,110.7260+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.7250,109.1300+98.4970,109.2610+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.7560,110.6400+98.7310,110.7490+98.7000,110.8320+98.6580,110.9130+98.6080,110.9880+98.5510,111.0550+98.4680,111.1290+98.4250,111.1560+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.8040,110.2750+99.5710,110.7180+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.8460,109.9560+98.7560,110.6400+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.9250,111.7200+98.9250,111.9790+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.9250,111.9790+99.3830,112.2430+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.9560,109.5260+98.4970,109.2610+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.9560,109.5260+98.8710,109.5870+98.7920,109.6710+98.7390,109.7430+98.6940,109.8220+98.6590,109.9050+98.6350,109.9880+98.6250,110.0420+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 98.9560,109.7840+98.8900,109.8480+98.8510,109.9290+98.8460,109.9560+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.0930,106.9860+99.1660,107.0400+99.2170,107.1120+99.2320,107.1800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.0930,107.0510+98.9770,107.0010+98.8870,106.9810+98.7920,106.9710+98.6960,106.9730+98.6020,106.9860+98.5140,107.0090+98.4030,107.0620+98.3250,107.1320+98.2860,107.2120+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.1370,109.6790+98.9560,109.7840+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.1370,109.6790+99.8780,110.1070+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.1370,109.6790+99.1520,109.5890+99.1670,109.4980+99.1820,109.4070+99.1830,109.3950+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.1830,109.3950+98.9560,109.5260+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.1830,109.3950+99.1000,109.3460+99.0170,109.2980+98.9330,109.2500+98.8500,109.2020+98.7670,109.1540+98.7250,109.1300+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.2290,107.2120+99.1900,107.1320+99.1220,107.0690+99.0930,107.0510+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.2320,107.1800+99.1890,107.2940+99.1160,107.3590+99.0140,107.4100+98.8910,107.4430+98.7570,107.4540+98.6230,107.4430+98.5010,107.4100+98.3990,107.3590+98.3260,107.2940+98.2830,107.1800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.3830,111.9850+98.9250,111.7200+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.3830,112.2430+99.3830,111.9850+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.3870,111.4530+98.9250,111.7200+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.4970,111.2810+99.4700,111.3640+99.4150,111.4330+99.3870,111.4530+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.5870,110.5970+99.4970,111.2810+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.8460,111.7180+99.3830,111.9850+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.8460,111.7180+99.3870,111.4530+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.8460,111.9770+99.3830,112.2430+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.9190,110.0810+99.8330,110.1430+99.7540,110.2260+99.7010,110.2990+99.6560,110.3780+99.6210,110.4610+99.5970,110.5430+99.5870,110.5970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.9560,111.5460+99.4970,111.2810+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 99.9560,111.5460+99.9280,111.6280+99.8740,111.6980+99.8460,111.7180+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.0460,110.8620+99.5870,110.5970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.0460,110.8620+99.9560,111.5460+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.1450,109.9500+99.9190,110.0810+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.1770,111.4600+100.1530,111.5690+100.1210,111.6530+100.0790,111.7330+100.0280,111.8080+99.9720,111.8760+99.8890,111.9490+99.8460,111.9770+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.2250,111.0950+100.9920,111.5380+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.2660,110.7760+100.1770,111.4600+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.3460,112.5400+100.3460,112.7990+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.3460,112.7990+100.8050,113.0640+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.3770,110.3460+99.9190,110.0810+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.3770,110.3460+100.2920,110.4070+100.2120,110.4900+100.1600,110.5640+100.1150,110.6430+100.0800,110.7250+100.0560,110.8080+100.0460,110.8620+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.3770,110.6040+100.3100,110.6680+100.2720,110.7490+100.2660,110.7760+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.5580,110.4990+100.3770,110.6040+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.5580,110.4990+101.2990,110.9270+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.5580,110.4990+100.5730,110.4090+100.5870,110.3180+100.6020,110.2270+100.6040,110.2140+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.6040,110.2140+100.3770,110.3460+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.6040,110.2140+100.5210,110.1670+100.4370,110.1180+100.3540,110.0700+100.2710,110.0220+100.1870,109.9740+100.1450,109.9500+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.7280,107.2190+100.8790,107.3060+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.8050,112.8050+100.3460,112.5400+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.8050,113.0640+100.8050,112.8050+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.8080,112.2740+100.3460,112.5400+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.9160,107.1100+100.5200,107.3390+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.9160,107.1100+101.1620,107.2510+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 100.9180,112.1020+100.8900,112.1840+100.8360,112.2530+100.8080,112.2740+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.0080,111.4180+100.9180,112.1020+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.2410,104.9060+97.3030,107.1800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.2560,107.3060+100.8600,107.5350+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.2560,107.3060+101.3890,107.3820+101.4270,107.4700+101.3700,107.5460+101.2760,107.6010+101.1430,107.6330+100.9920,107.6110+100.8600,107.5350+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.2660,112.5390+100.8050,112.8050+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.2660,112.5390+100.8080,112.2740+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.2660,112.7970+100.8050,113.0640+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.3390,110.9010+101.2540,110.9630+101.1750,111.0460+101.1220,111.1190+101.0770,111.1980+101.0420,111.2800+101.0180,111.3640+101.0080,111.4180+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.3770,112.3670+100.9180,112.1020+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.3770,112.3670+101.3490,112.4490+101.2950,112.5180+101.2660,112.5390+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.4270,107.6660+101.7670,107.8620+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.4660,111.6820+101.0080,111.4180+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.4660,111.6820+101.3770,112.3670+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.5310,106.7770+101.1340,107.0060+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.5310,106.7770+101.2850,107.0930+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.5660,110.7700+101.3390,110.9010+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.5980,112.2810+101.5730,112.3900+101.5410,112.4730+101.4990,112.5530+101.4490,112.6290+101.3920,112.6960+101.3090,112.7690+101.2660,112.7970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.6450,111.9150+102.3590,112.3270+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.6870,111.5970+101.5980,112.2810+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.7480,108.0480+101.9930,108.1900+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.7980,111.1660+101.3390,110.9010+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.7980,111.1660+101.7120,111.2280+101.6330,111.3110+101.5800,111.3840+101.5360,111.4630+101.5000,111.5450+101.4760,111.6280+101.4660,111.6820+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.7980,111.4240+101.7310,111.4890+101.6930,111.5690+101.6870,111.5970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.8330,106.9520+101.2850,107.0930+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.8330,106.9520+101.4360,107.1810+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.9560,107.9270+102.1060,108.0150+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.9790,111.3200+101.7980,111.4240+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.9790,111.3200+102.3590,111.5400+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 101.9790,111.3200+101.9940,111.2290+102.0080,111.1380+102.0230,111.0480+102.0250,111.0350+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.0250,111.0350+101.7980,111.1660+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.0250,111.0350+101.9420,110.9870+101.8580,110.9390+101.7750,110.8910+101.6910,110.8420+101.6080,110.7940+101.5660,110.7700+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.1440,107.8180+101.7480,108.0480+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.1440,107.8180+102.3900,107.9610+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.1540,107.2460+102.1540,107.1370+102.0780,107.0930+101.9460,107.0830+101.8140,107.1150+101.7200,107.1700+101.6620,107.2460+101.7570,107.3660+101.8890,107.3770+101.9460,107.3660+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3590,110.0990+106.2970,107.8260+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3590,111.5400+106.7220,109.0210+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3590,111.5400+102.3590,111.4090+102.3590,111.2770+102.3590,111.1470+102.3590,111.0160+102.3590,110.8850+102.3590,110.7540+102.3590,110.6230+102.3590,110.4920+102.3590,110.3610+102.3590,110.2300+102.3590,110.0990+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3590,112.3270+106.4650,109.9570+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3590,112.3270+102.3590,112.2200+102.3590,112.1120+102.3590,112.0050+102.3590,111.8980+102.3590,111.7900+102.3590,111.6830+102.3590,111.5750+102.3590,111.5400+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3810,107.2680+101.9840,107.4970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.3810,107.2680+102.5510,107.3660+102.5690,107.4640+102.4560,107.5080+102.3430,107.4860+102.1730,107.3880+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.6830,107.5510+102.7960,107.5300+102.9280,107.5840+102.9280,107.6710+102.8340,107.7040+102.7390,107.7150+102.3620,107.7150+102.6260,107.8680+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 102.8810,108.1570+101.9370,108.3090+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.1080,108.4400+103.0700,108.3530+102.9950,108.3090+102.8440,108.2870+102.7870,108.3640+102.8810,108.4840+102.8810,108.5710+102.7490,108.6040+102.5980,108.5380+102.5600,108.4510+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.2970,108.4840+102.9000,108.7130+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.2970,108.4840+103.1650,108.8660+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.3630,107.8350+103.1740,107.7260+102.9850,107.8130+103.0990,107.8350+103.1930,107.9110+103.1550,107.9980+103.0420,108.0420+102.8910,108.0200+102.7960,107.9440+102.8150,107.8900+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.5610,108.6370+103.1650,108.8660+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.7030,108.0970+103.6460,107.9980+103.4770,107.9880+103.3630,108.0310+103.2680,108.0860+103.2120,108.1840+103.3440,108.2600+103.4950,108.2390+103.5520,108.1400+103.4190,108.0640+103.2680,108.0860+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 103.8160,108.2060+103.9290,108.1840+104.0620,108.2390+104.0620,108.3260+103.9670,108.3580+103.8730,108.3700+103.4950,108.3700+103.7600,108.5220+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.2970,107.8260+101.2410,104.9060+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.4410,108.2300+106.7600,108.4140+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.4650,109.9570+106.4880,109.8720+106.5120,109.7870+106.5350,109.7020+106.5580,109.6160+106.5820,109.5310+106.6050,109.4460+106.6290,109.3610+106.6520,109.2760+106.6750,109.1910+106.6990,109.1060+106.7220,109.0210+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.5130,108.4320+106.5230,108.4380+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.5160,108.4420+106.5230,108.4380+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.5230,108.4380+106.6060,108.4020+106.6940,108.3930+106.7600,108.4140+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.6040,108.6900+106.6330,108.7410+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.6330,108.7410+106.6200,108.7330+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.6330,108.7410+106.6420,108.7950+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.6930,109.1270+106.7230,109.3210+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.7220,109.0210+106.6840,108.9120+106.6450,108.8030+106.6060,108.6950+106.5670,108.5860+106.5290,108.4770+106.4900,108.3690+106.4520,108.2600+106.4130,108.1520+106.3740,108.0430+106.3360,107.9340+106.2970,107.8260+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.7230,109.3210+106.6510,109.2800+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.7230,109.3210+106.7510,109.4100+106.8100,109.4740+106.8170,109.4780+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.7600,108.4140+106.8220,108.4760+106.8530,108.5620+106.8540,108.5710+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.8170,109.4780+106.6260,109.3690+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.8170,109.4780+106.9040,109.5010+106.9950,109.4830+107.0540,109.4550+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.8540,108.5710+106.9440,109.1520+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.8840,108.7650+107.0580,108.6650+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.9410,109.1310+107.0540,109.1970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.9440,109.1520+106.9750,109.2050+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 106.9750,109.2050+107.0540,109.1970+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 107.0540,109.1970+107.5160,108.9300+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 107.0540,109.4550+107.5160,109.1890+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 107.0580,108.6650+107.5160,108.9300+" /> +<path style="fill:none; +stroke:#4a5568; stroke-width:0.0847; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;fill:none"+d="M 107.5160,108.9300+107.5160,109.1890+" /> +</g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="83.2400" y="100.9210"+textLength="5.9651" font-size="1.0160" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">Controller</text>+<g class="stroked-text">+<path d="M83.9570 100.8120+L83.9207 100.8483+" />+<path d="M83.9207 100.8483+L83.8119 100.8845+" />+<path d="M83.8119 100.8845+L83.7393 100.8845+" />+<path d="M83.7393 100.8845+L83.6304 100.8483+" />+<path d="M83.6304 100.8483+L83.5579 100.7757+" />+<path d="M83.5579 100.7757+L83.5216 100.7031+" />+<path d="M83.5216 100.7031+L83.4853 100.5580+" />+<path d="M83.4853 100.5580+L83.4853 100.4491+" />+<path d="M83.4853 100.4491+L83.5216 100.3040+" />+<path d="M83.5216 100.3040+L83.5579 100.2314+" />+<path d="M83.5579 100.2314+L83.6304 100.1588+" />+<path d="M83.6304 100.1588+L83.7393 100.1225+" />+<path d="M83.7393 100.1225+L83.8119 100.1225+" />+<path d="M83.8119 100.1225+L83.9207 100.1588+" />+<path d="M83.9207 100.1588+L83.9570 100.1951+" />+<path d="M84.3924 100.8845+L84.3199 100.8483+" />+<path d="M84.3199 100.8483+L84.2836 100.8120+" />+<path d="M84.2836 100.8120+L84.2473 100.7394+" />+<path d="M84.2473 100.7394+L84.2473 100.5217+" />+<path d="M84.2473 100.5217+L84.2836 100.4491+" />+<path d="M84.2836 100.4491+L84.3199 100.4128+" />+<path d="M84.3199 100.4128+L84.3924 100.3765+" />+<path d="M84.3924 100.3765+L84.5013 100.3765+" />+<path d="M84.5013 100.3765+L84.5739 100.4128+" />+<path d="M84.5739 100.4128+L84.6102 100.4491+" />+<path d="M84.6102 100.4491+L84.6464 100.5217+" />+<path d="M84.6464 100.5217+L84.6464 100.7394+" />+<path d="M84.6464 100.7394+L84.6102 100.8120+" />+<path d="M84.6102 100.8120+L84.5739 100.8483+" />+<path d="M84.5739 100.8483+L84.5013 100.8845+" />+<path d="M84.5013 100.8845+L84.3924 100.8845+" />+<path d="M84.9730 100.3765+L84.9730 100.8845+" />+<path d="M84.9730 100.4491+L85.0093 100.4128+" />+<path d="M85.0093 100.4128+L85.0818 100.3765+" />+<path d="M85.0818 100.3765+L85.1907 100.3765+" />+<path d="M85.1907 100.3765+L85.2633 100.4128+" />+<path d="M85.2633 100.4128+L85.2996 100.4854+" />+<path d="M85.2996 100.4854+L85.2996 100.8845+" />+<path d="M85.5535 100.3765+L85.8438 100.3765+" />+<path d="M85.6624 100.1225+L85.6624 100.7757+" />+<path d="M85.6624 100.7757+L85.6987 100.8483+" />+<path d="M85.6987 100.8483+L85.7712 100.8845+" />+<path d="M85.7712 100.8845+L85.8438 100.8845+" />+<path d="M86.0978 100.8845+L86.0978 100.3765+" />+<path d="M86.0978 100.5217+L86.1341 100.4491+" />+<path d="M86.1341 100.4491+L86.1704 100.4128+" />+<path d="M86.1704 100.4128+L86.2429 100.3765+" />+<path d="M86.2429 100.3765+L86.3155 100.3765+" />+<path d="M86.6783 100.8845+L86.6058 100.8483+" />+<path d="M86.6058 100.8483+L86.5695 100.8120+" />+<path d="M86.5695 100.8120+L86.5332 100.7394+" />+<path d="M86.5332 100.7394+L86.5332 100.5217+" />+<path d="M86.5332 100.5217+L86.5695 100.4491+" />+<path d="M86.5695 100.4491+L86.6058 100.4128+" />+<path d="M86.6058 100.4128+L86.6783 100.3765+" />+<path d="M86.6783 100.3765+L86.7872 100.3765+" />+<path d="M86.7872 100.3765+L86.8598 100.4128+" />+<path d="M86.8598 100.4128+L86.8961 100.4491+" />+<path d="M86.8961 100.4491+L86.9323 100.5217+" />+<path d="M86.9323 100.5217+L86.9323 100.7394+" />+<path d="M86.9323 100.7394+L86.8961 100.8120+" />+<path d="M86.8961 100.8120+L86.8598 100.8483+" />+<path d="M86.8598 100.8483+L86.7872 100.8845+" />+<path d="M86.7872 100.8845+L86.6783 100.8845+" />+<path d="M87.3677 100.8845+L87.2952 100.8483+" />+<path d="M87.2952 100.8483+L87.2589 100.7757+" />+<path d="M87.2589 100.7757+L87.2589 100.1225+" />+<path d="M87.7668 100.8845+L87.6943 100.8483+" />+<path d="M87.6943 100.8483+L87.6580 100.7757+" />+<path d="M87.6580 100.7757+L87.6580 100.1225+" />+<path d="M88.3474 100.8483+L88.2748 100.8845+" />+<path d="M88.2748 100.8845+L88.1297 100.8845+" />+<path d="M88.1297 100.8845+L88.0571 100.8483+" />+<path d="M88.0571 100.8483+L88.0208 100.7757+" />+<path d="M88.0208 100.7757+L88.0208 100.4854+" />+<path d="M88.0208 100.4854+L88.0571 100.4128+" />+<path d="M88.0571 100.4128+L88.1297 100.3765+" />+<path d="M88.1297 100.3765+L88.2748 100.3765+" />+<path d="M88.2748 100.3765+L88.3474 100.4128+" />+<path d="M88.3474 100.4128+L88.3837 100.4854+" />+<path d="M88.3837 100.4854+L88.3837 100.5580+" />+<path d="M88.3837 100.5580+L88.0208 100.6305+" />+<path d="M88.7102 100.8845+L88.7102 100.3765+" />+<path d="M88.7102 100.5217+L88.7465 100.4491+" />+<path d="M88.7465 100.4491+L88.7828 100.4128+" />+<path d="M88.7828 100.4128+L88.8553 100.3765+" />+<path d="M88.8553 100.3765+L88.9279 100.3765+" />+</g><text x="83.2400" y="113.6210"+textLength="5.0945" font-size="1.0160" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">CAN bus</text>+<g class="stroked-text">+<path d="M83.9570 113.5120+L83.9207 113.5483+" />+<path d="M83.9207 113.5483+L83.8119 113.5845+" />+<path d="M83.8119 113.5845+L83.7393 113.5845+" />+<path d="M83.7393 113.5845+L83.6304 113.5483+" />+<path d="M83.6304 113.5483+L83.5579 113.4757+" />+<path d="M83.5579 113.4757+L83.5216 113.4031+" />+<path d="M83.5216 113.4031+L83.4853 113.2580+" />+<path d="M83.4853 113.2580+L83.4853 113.1491+" />+<path d="M83.4853 113.1491+L83.5216 113.0040+" />+<path d="M83.5216 113.0040+L83.5579 112.9314+" />+<path d="M83.5579 112.9314+L83.6304 112.8588+" />+<path d="M83.6304 112.8588+L83.7393 112.8225+" />+<path d="M83.7393 112.8225+L83.8119 112.8225+" />+<path d="M83.8119 112.8225+L83.9207 112.8588+" />+<path d="M83.9207 112.8588+L83.9570 112.8951+" />+<path d="M84.2473 113.3668+L84.6102 113.3668+" />+<path d="M84.1747 113.5845+L84.4287 112.8225+" />+<path d="M84.4287 112.8225+L84.6827 113.5845+" />+<path d="M84.9367 113.5845+L84.9367 112.8225+" />+<path d="M84.9367 112.8225+L85.3721 113.5845+" />+<path d="M85.3721 113.5845+L85.3721 112.8225+" />+<path d="M86.3156 113.5845+L86.3156 112.8225+" />+<path d="M86.3156 113.1128+L86.3882 113.0765+" />+<path d="M86.3882 113.0765+L86.5333 113.0765+" />+<path d="M86.5333 113.0765+L86.6059 113.1128+" />+<path d="M86.6059 113.1128+L86.6422 113.1491+" />+<path d="M86.6422 113.1491+L86.6784 113.2217+" />+<path d="M86.6784 113.2217+L86.6784 113.4394+" />+<path d="M86.6784 113.4394+L86.6422 113.5120+" />+<path d="M86.6422 113.5120+L86.6059 113.5483+" />+<path d="M86.6059 113.5483+L86.5333 113.5845+" />+<path d="M86.5333 113.5845+L86.3882 113.5845+" />+<path d="M86.3882 113.5845+L86.3156 113.5483+" />+<path d="M87.3316 113.0765+L87.3316 113.5845+" />+<path d="M87.0050 113.0765+L87.0050 113.4757+" />+<path d="M87.0050 113.4757+L87.0413 113.5483+" />+<path d="M87.0413 113.5483+L87.1138 113.5845+" />+<path d="M87.1138 113.5845+L87.2227 113.5845+" />+<path d="M87.2227 113.5845+L87.2953 113.5483+" />+<path d="M87.2953 113.5483+L87.3316 113.5120+" />+<path d="M87.6581 113.5483+L87.7307 113.5845+" />+<path d="M87.7307 113.5845+L87.8758 113.5845+" />+<path d="M87.8758 113.5845+L87.9484 113.5483+" />+<path d="M87.9484 113.5483+L87.9847 113.4757+" />+<path d="M87.9847 113.4757+L87.9847 113.4394+" />+<path d="M87.9847 113.4394+L87.9484 113.3668+" />+<path d="M87.9484 113.3668+L87.8758 113.3305+" />+<path d="M87.8758 113.3305+L87.7670 113.3305+" />+<path d="M87.7670 113.3305+L87.6944 113.2943+" />+<path d="M87.6944 113.2943+L87.6581 113.2217+" />+<path d="M87.6581 113.2217+L87.6581 113.1854+" />+<path d="M87.6581 113.1854+L87.6944 113.1128+" />+<path d="M87.6944 113.1128+L87.7670 113.0765+" />+<path d="M87.7670 113.0765+L87.8758 113.0765+" />+<path d="M87.8758 113.0765+L87.9484 113.1128+" />+</g><text x="116.7600" y="100.9210"+textLength="3.6793" font-size="1.0160" lengthAdjust="spacingAndGlyphs"+text-anchor="end" opacity="0" stroke-opacity="0">Power</text>+<g class="stroked-text">+<path d="M113.4667 100.8845+L113.4667 100.1225+" />+<path d="M113.4667 100.1225+L113.7570 100.1225+" />+<path d="M113.7570 100.1225+L113.8295 100.1588+" />+<path d="M113.8295 100.1588+L113.8658 100.1951+" />+<path d="M113.8658 100.1951+L113.9021 100.2677+" />+<path d="M113.9021 100.2677+L113.9021 100.3765+" />+<path d="M113.9021 100.3765+L113.8658 100.4491+" />+<path d="M113.8658 100.4491+L113.8295 100.4854+" />+<path d="M113.8295 100.4854+L113.7570 100.5217+" />+<path d="M113.7570 100.5217+L113.4667 100.5217+" />+<path d="M114.3375 100.8845+L114.2650 100.8483+" />+<path d="M114.2650 100.8483+L114.2287 100.8120+" />+<path d="M114.2287 100.8120+L114.1924 100.7394+" />+<path d="M114.1924 100.7394+L114.1924 100.5217+" />+<path d="M114.1924 100.5217+L114.2287 100.4491+" />+<path d="M114.2287 100.4491+L114.2650 100.4128+" />+<path d="M114.2650 100.4128+L114.3375 100.3765+" />+<path d="M114.3375 100.3765+L114.4464 100.3765+" />+<path d="M114.4464 100.3765+L114.5190 100.4128+" />+<path d="M114.5190 100.4128+L114.5553 100.4491+" />+<path d="M114.5553 100.4491+L114.5915 100.5217+" />+<path d="M114.5915 100.5217+L114.5915 100.7394+" />+<path d="M114.5915 100.7394+L114.5553 100.8120+" />+<path d="M114.5553 100.8120+L114.5190 100.8483+" />+<path d="M114.5190 100.8483+L114.4464 100.8845+" />+<path d="M114.4464 100.8845+L114.3375 100.8845+" />+<path d="M114.8455 100.3765+L114.9907 100.8845+" />+<path d="M114.9907 100.8845+L115.1358 100.5217+" />+<path d="M115.1358 100.5217+L115.2809 100.8845+" />+<path d="M115.2809 100.8845+L115.4261 100.3765+" />+<path d="M116.0067 100.8483+L115.9341 100.8845+" />+<path d="M115.9341 100.8845+L115.7890 100.8845+" />+<path d="M115.7890 100.8845+L115.7164 100.8483+" />+<path d="M115.7164 100.8483+L115.6801 100.7757+" />+<path d="M115.6801 100.7757+L115.6801 100.4854+" />+<path d="M115.6801 100.4854+L115.7164 100.4128+" />+<path d="M115.7164 100.4128+L115.7890 100.3765+" />+<path d="M115.7890 100.3765+L115.9341 100.3765+" />+<path d="M115.9341 100.3765+L116.0067 100.4128+" />+<path d="M116.0067 100.4128+L116.0430 100.4854+" />+<path d="M116.0430 100.4854+L116.0430 100.5580+" />+<path d="M116.0430 100.5580+L115.6801 100.6305+" />+<path d="M116.3695 100.8845+L116.3695 100.3765+" />+<path d="M116.3695 100.5217+L116.4058 100.4491+" />+<path d="M116.4058 100.4491+L116.4421 100.4128+" />+<path d="M116.4421 100.4128+L116.5146 100.3765+" />+<path d="M116.5146 100.3765+L116.5872 100.3765+" />+</g><text x="116.7600" y="111.0810"+textLength="4.2961" font-size="1.0160" lengthAdjust="spacingAndGlyphs"+text-anchor="end" opacity="0" stroke-opacity="0">Ground</text>+<g class="stroked-text">+<path d="M113.2490 110.3188+L113.1765 110.2825+" />+<path d="M113.1765 110.2825+L113.0676 110.2825+" />+<path d="M113.0676 110.2825+L112.9587 110.3188+" />+<path d="M112.9587 110.3188+L112.8862 110.3914+" />+<path d="M112.8862 110.3914+L112.8499 110.4640+" />+<path d="M112.8499 110.4640+L112.8136 110.6091+" />+<path d="M112.8136 110.6091+L112.8136 110.7180+" />+<path d="M112.8136 110.7180+L112.8499 110.8631+" />+<path d="M112.8499 110.8631+L112.8862 110.9357+" />+<path d="M112.8862 110.9357+L112.9587 111.0083+" />+<path d="M112.9587 111.0083+L113.0676 111.0445+" />+<path d="M113.0676 111.0445+L113.1402 111.0445+" />+<path d="M113.1402 111.0445+L113.2490 111.0083+" />+<path d="M113.2490 111.0083+L113.2853 110.9720+" />+<path d="M113.2853 110.9720+L113.2853 110.7180+" />+<path d="M113.2853 110.7180+L113.1402 110.7180+" />+<path d="M113.6119 111.0445+L113.6119 110.5365+" />+<path d="M113.6119 110.6817+L113.6482 110.6091+" />+<path d="M113.6482 110.6091+L113.6845 110.5728+" />+<path d="M113.6845 110.5728+L113.7570 110.5365+" />+<path d="M113.7570 110.5365+L113.8296 110.5365+" />+<path d="M114.1924 111.0445+L114.1199 111.0083+" />+<path d="M114.1199 111.0083+L114.0836 110.9720+" />+<path d="M114.0836 110.9720+L114.0473 110.8994+" />+<path d="M114.0473 110.8994+L114.0473 110.6817+" />+<path d="M114.0473 110.6817+L114.0836 110.6091+" />+<path d="M114.0836 110.6091+L114.1199 110.5728+" />+<path d="M114.1199 110.5728+L114.1924 110.5365+" />+<path d="M114.1924 110.5365+L114.3013 110.5365+" />+<path d="M114.3013 110.5365+L114.3739 110.5728+" />+<path d="M114.3739 110.5728+L114.4102 110.6091+" />+<path d="M114.4102 110.6091+L114.4464 110.6817+" />+<path d="M114.4464 110.6817+L114.4464 110.8994+" />+<path d="M114.4464 110.8994+L114.4102 110.9720+" />+<path d="M114.4102 110.9720+L114.3739 111.0083+" />+<path d="M114.3739 111.0083+L114.3013 111.0445+" />+<path d="M114.3013 111.0445+L114.1924 111.0445+" />+<path d="M115.0996 110.5365+L115.0996 111.0445+" />+<path d="M114.7730 110.5365+L114.7730 110.9357+" />+<path d="M114.7730 110.9357+L114.8093 111.0083+" />+<path d="M114.8093 111.0083+L114.8818 111.0445+" />+<path d="M114.8818 111.0445+L114.9907 111.0445+" />+<path d="M114.9907 111.0445+L115.0633 111.0083+" />+<path d="M115.0633 111.0083+L115.0996 110.9720+" />+<path d="M115.4624 110.5365+L115.4624 111.0445+" />+<path d="M115.4624 110.6091+L115.4987 110.5728+" />+<path d="M115.4987 110.5728+L115.5712 110.5365+" />+<path d="M115.5712 110.5365+L115.6801 110.5365+" />+<path d="M115.6801 110.5365+L115.7527 110.5728+" />+<path d="M115.7527 110.5728+L115.7890 110.6454+" />+<path d="M115.7890 110.6454+L115.7890 111.0445+" />+<path d="M116.4784 111.0445+L116.4784 110.2825+" />+<path d="M116.4784 111.0083+L116.4058 111.0445+" />+<path d="M116.4058 111.0445+L116.2606 111.0445+" />+<path d="M116.2606 111.0445+L116.1881 111.0083+" />+<path d="M116.1881 111.0083+L116.1518 110.9720+" />+<path d="M116.1518 110.9720+L116.1155 110.8994+" />+<path d="M116.1155 110.8994+L116.1155 110.6817+" />+<path d="M116.1155 110.6817+L116.1518 110.6091+" />+<path d="M116.1518 110.6091+L116.1881 110.5728+" />+<path d="M116.1881 110.5728+L116.2606 110.5365+" />+<path d="M116.2606 110.5365+L116.4058 110.5365+" />+<path d="M116.4058 110.5365+L116.4784 110.5728+" />+</g><path d="M82.2200 102.5400+L79.6800 102.5400+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="83.2360" y="103.1750"+textLength="3.6503" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">TXD</text>+<g class="stroked-text">+<path d="M83.4571 101.8495+L84.1828 101.8495+" />+<path d="M83.8200 103.1195+L83.8200 101.8495+" />+<path d="M84.4852 101.8495+L85.3318 103.1195+" />+<path d="M85.3318 101.8495+L84.4852 103.1195+" />+<path d="M85.8156 103.1195+L85.8156 101.8495+" />+<path d="M85.8156 101.8495+L86.1180 101.8495+" />+<path d="M86.1180 101.8495+L86.2994 101.9100+" />+<path d="M86.2994 101.9100+L86.4204 102.0310+" />+<path d="M86.4204 102.0310+L86.4809 102.1519+" />+<path d="M86.4809 102.1519+L86.5413 102.3938+" />+<path d="M86.5413 102.3938+L86.5413 102.5752+" />+<path d="M86.5413 102.5752+L86.4809 102.8171+" />+<path d="M86.4809 102.8171+L86.4204 102.9381+" />+<path d="M86.4204 102.9381+L86.2994 103.0591+" />+<path d="M86.2994 103.0591+L86.1180 103.1195+" />+<path d="M86.1180 103.1195+L85.8156 103.1195+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="80.9500" y="102.2860"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">1</text>+<g class="stroked-text">+<path d="M81.3129 102.1225+L80.5872 102.1225+" />+<path d="M80.9500 102.1225+L80.9500 100.8525+" />+<path d="M80.9500 100.8525+L80.8291 101.0340+" />+<path d="M80.8291 101.0340+L80.7081 101.1549+" />+<path d="M80.7081 101.1549+L80.5872 101.2154+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M117.7800 112.7000+L120.3200 112.7000+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="116.7640" y="113.3350"+textLength="3.7108" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="end" opacity="0" stroke-opacity="0">VSS</text>+<g class="stroked-text">+<path d="M113.2771 112.0095+L113.7004 113.2795+" />+<path d="M113.7004 113.2795+L114.1238 112.0095+" />+<path d="M114.4867 113.2191+L114.6681 113.2795+" />+<path d="M114.6681 113.2795+L114.9705 113.2795+" />+<path d="M114.9705 113.2795+L115.0914 113.2191+" />+<path d="M115.0914 113.2191+L115.1519 113.1586+" />+<path d="M115.1519 113.1586+L115.2124 113.0376+" />+<path d="M115.2124 113.0376+L115.2124 112.9167+" />+<path d="M115.2124 112.9167+L115.1519 112.7957+" />+<path d="M115.1519 112.7957+L115.0914 112.7352+" />+<path d="M115.0914 112.7352+L114.9705 112.6748+" />+<path d="M114.9705 112.6748+L114.7286 112.6143+" />+<path d="M114.7286 112.6143+L114.6076 112.5538+" />+<path d="M114.6076 112.5538+L114.5471 112.4933+" />+<path d="M114.5471 112.4933+L114.4867 112.3724+" />+<path d="M114.4867 112.3724+L114.4867 112.2514+" />+<path d="M114.4867 112.2514+L114.5471 112.1305+" />+<path d="M114.5471 112.1305+L114.6076 112.0700+" />+<path d="M114.6076 112.0700+L114.7286 112.0095+" />+<path d="M114.7286 112.0095+L115.0309 112.0095+" />+<path d="M115.0309 112.0095+L115.2124 112.0700+" />+<path d="M115.6962 113.2191+L115.8776 113.2795+" />+<path d="M115.8776 113.2795+L116.1800 113.2795+" />+<path d="M116.1800 113.2795+L116.3009 113.2191+" />+<path d="M116.3009 113.2191+L116.3614 113.1586+" />+<path d="M116.3614 113.1586+L116.4219 113.0376+" />+<path d="M116.4219 113.0376+L116.4219 112.9167+" />+<path d="M116.4219 112.9167+L116.3614 112.7957+" />+<path d="M116.3614 112.7957+L116.3009 112.7352+" />+<path d="M116.3009 112.7352+L116.1800 112.6748+" />+<path d="M116.1800 112.6748+L115.9381 112.6143+" />+<path d="M115.9381 112.6143+L115.8171 112.5538+" />+<path d="M115.8171 112.5538+L115.7566 112.4933+" />+<path d="M115.7566 112.4933+L115.6962 112.3724+" />+<path d="M115.6962 112.3724+L115.6962 112.2514+" />+<path d="M115.6962 112.2514+L115.7566 112.1305+" />+<path d="M115.7566 112.1305+L115.8171 112.0700+" />+<path d="M115.8171 112.0700+L115.9381 112.0095+" />+<path d="M115.9381 112.0095+L116.2404 112.0095+" />+<path d="M116.2404 112.0095+L116.4219 112.0700+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="119.0500" y="112.4460"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">2</text>+<g class="stroked-text">+<path d="M118.6872 111.1335+L118.7476 111.0730+" />+<path d="M118.7476 111.0730+L118.8686 111.0125+" />+<path d="M118.8686 111.0125+L119.1710 111.0125+" />+<path d="M119.1710 111.0125+L119.2919 111.0730+" />+<path d="M119.2919 111.0730+L119.3524 111.1335+" />+<path d="M119.3524 111.1335+L119.4129 111.2544+" />+<path d="M119.4129 111.2544+L119.4129 111.3754+" />+<path d="M119.4129 111.3754+L119.3524 111.5568+" />+<path d="M119.3524 111.5568+L118.6267 112.2825+" />+<path d="M118.6267 112.2825+L119.4129 112.2825+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M117.7800 102.5400+L120.3200 102.5400+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="116.7640" y="103.1750"+textLength="3.8318" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="end" opacity="0" stroke-opacity="0">VDD</text>+<g class="stroked-text">+<path d="M113.1561 101.8495+L113.5794 103.1195+" />+<path d="M113.5794 103.1195+L114.0028 101.8495+" />+<path d="M114.4261 103.1195+L114.4261 101.8495+" />+<path d="M114.4261 101.8495+L114.7285 101.8495+" />+<path d="M114.7285 101.8495+L114.9099 101.9100+" />+<path d="M114.9099 101.9100+L115.0309 102.0310+" />+<path d="M115.0309 102.0310+L115.0914 102.1519+" />+<path d="M115.0914 102.1519+L115.1518 102.3938+" />+<path d="M115.1518 102.3938+L115.1518 102.5752+" />+<path d="M115.1518 102.5752+L115.0914 102.8171+" />+<path d="M115.0914 102.8171+L115.0309 102.9381+" />+<path d="M115.0309 102.9381+L114.9099 103.0591+" />+<path d="M114.9099 103.0591+L114.7285 103.1195+" />+<path d="M114.7285 103.1195+L114.4261 103.1195+" />+<path d="M115.6961 103.1195+L115.6961 101.8495+" />+<path d="M115.6961 101.8495+L115.9985 101.8495+" />+<path d="M115.9985 101.8495+L116.1799 101.9100+" />+<path d="M116.1799 101.9100+L116.3009 102.0310+" />+<path d="M116.3009 102.0310+L116.3614 102.1519+" />+<path d="M116.3614 102.1519+L116.4218 102.3938+" />+<path d="M116.4218 102.3938+L116.4218 102.5752+" />+<path d="M116.4218 102.5752+L116.3614 102.8171+" />+<path d="M116.3614 102.8171+L116.3009 102.9381+" />+<path d="M116.3009 102.9381+L116.1799 103.0591+" />+<path d="M116.1799 103.0591+L115.9985 103.1195+" />+<path d="M115.9985 103.1195+L115.6961 103.1195+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="119.0500" y="102.2860"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">3</text>+<g class="stroked-text">+<path d="M118.6267 100.8525+L119.4129 100.8525+" />+<path d="M119.4129 100.8525+L118.9895 101.3363+" />+<path d="M118.9895 101.3363+L119.1710 101.3363+" />+<path d="M119.1710 101.3363+L119.2919 101.3968+" />+<path d="M119.2919 101.3968+L119.3524 101.4573+" />+<path d="M119.3524 101.4573+L119.4129 101.5782+" />+<path d="M119.4129 101.5782+L119.4129 101.8806+" />+<path d="M119.4129 101.8806+L119.3524 102.0016+" />+<path d="M119.3524 102.0016+L119.2919 102.0621+" />+<path d="M119.2919 102.0621+L119.1710 102.1225+" />+<path d="M119.1710 102.1225+L118.8081 102.1225+" />+<path d="M118.8081 102.1225+L118.6872 102.0621+" />+<path d="M118.6872 102.0621+L118.6267 102.0016+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M82.2200 105.0800+L79.6800 105.0800+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="83.2360" y="105.7150"+textLength="3.9527" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">RXD</text>+<g class="stroked-text">+<path d="M84.3642 105.6595+L83.9409 105.0548+" />+<path d="M83.6385 105.6595+L83.6385 104.3895+" />+<path d="M83.6385 104.3895+L84.1223 104.3895+" />+<path d="M84.1223 104.3895+L84.2433 104.4500+" />+<path d="M84.2433 104.4500+L84.3038 104.5105+" />+<path d="M84.3038 104.5105+L84.3642 104.6314+" />+<path d="M84.3642 104.6314+L84.3642 104.8129+" />+<path d="M84.3642 104.8129+L84.3038 104.9338+" />+<path d="M84.3038 104.9338+L84.2433 104.9943+" />+<path d="M84.2433 104.9943+L84.1223 105.0548+" />+<path d="M84.1223 105.0548+L83.6385 105.0548+" />+<path d="M84.7876 104.3895+L85.6342 105.6595+" />+<path d="M85.6342 104.3895+L84.7876 105.6595+" />+<path d="M86.1180 105.6595+L86.1180 104.3895+" />+<path d="M86.1180 104.3895+L86.4204 104.3895+" />+<path d="M86.4204 104.3895+L86.6018 104.4500+" />+<path d="M86.6018 104.4500+L86.7228 104.5710+" />+<path d="M86.7228 104.5710+L86.7833 104.6919+" />+<path d="M86.7833 104.6919+L86.8437 104.9338+" />+<path d="M86.8437 104.9338+L86.8437 105.1152+" />+<path d="M86.8437 105.1152+L86.7833 105.3571+" />+<path d="M86.7833 105.3571+L86.7228 105.4781+" />+<path d="M86.7228 105.4781+L86.6018 105.5991+" />+<path d="M86.6018 105.5991+L86.4204 105.6595+" />+<path d="M86.4204 105.6595+L86.1180 105.6595+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="80.9500" y="104.8260"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">4</text>+<g class="stroked-text">+<path d="M81.1919 103.8159+L81.1919 104.6625+" />+<path d="M80.8895 103.3321+L80.5872 104.2392+" />+<path d="M80.5872 104.2392+L81.3733 104.2392+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M117.7800 105.0800+L120.3200 105.0800+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="116.7640" y="105.7150"+textLength="3.2271" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="end" opacity="0" stroke-opacity="0">VIO</text>+<g class="stroked-text">+<path d="M113.7608 104.3895+L114.1841 105.6595+" />+<path d="M114.1841 105.6595+L114.6075 104.3895+" />+<path d="M115.0308 105.6595+L115.0308 104.3895+" />+<path d="M115.8775 104.3895+L116.1194 104.3895+" />+<path d="M116.1194 104.3895+L116.2404 104.4500+" />+<path d="M116.2404 104.4500+L116.3613 104.5710+" />+<path d="M116.3613 104.5710+L116.4218 104.8129+" />+<path d="M116.4218 104.8129+L116.4218 105.2362+" />+<path d="M116.4218 105.2362+L116.3613 105.4781+" />+<path d="M116.3613 105.4781+L116.2404 105.5991+" />+<path d="M116.2404 105.5991+L116.1194 105.6595+" />+<path d="M116.1194 105.6595+L115.8775 105.6595+" />+<path d="M115.8775 105.6595+L115.7566 105.5991+" />+<path d="M115.7566 105.5991+L115.6356 105.4781+" />+<path d="M115.6356 105.4781+L115.5752 105.2362+" />+<path d="M115.5752 105.2362+L115.5752 104.8129+" />+<path d="M115.5752 104.8129+L115.6356 104.5710+" />+<path d="M115.6356 104.5710+L115.7566 104.4500+" />+<path d="M115.7566 104.4500+L115.8775 104.3895+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="119.0500" y="104.8260"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">5</text>+<g class="stroked-text">+<path d="M119.3524 103.3925+L118.7476 103.3925+" />+<path d="M118.7476 103.3925+L118.6872 103.9973+" />+<path d="M118.6872 103.9973+L118.7476 103.9368+" />+<path d="M118.7476 103.9368+L118.8686 103.8763+" />+<path d="M118.8686 103.8763+L119.1710 103.8763+" />+<path d="M119.1710 103.8763+L119.2919 103.9368+" />+<path d="M119.2919 103.9368+L119.3524 103.9973+" />+<path d="M119.3524 103.9973+L119.4129 104.1182+" />+<path d="M119.4129 104.1182+L119.4129 104.4206+" />+<path d="M119.4129 104.4206+L119.3524 104.5416+" />+<path d="M119.3524 104.5416+L119.2919 104.6021+" />+<path d="M119.2919 104.6021+L119.1710 104.6625+" />+<path d="M119.1710 104.6625+L118.8686 104.6625+" />+<path d="M118.8686 104.6625+L118.7476 104.6021+" />+<path d="M118.7476 104.6021+L118.6872 104.5416+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M82.2200 117.7800+L79.6800 117.7800+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="83.2360" y="118.4150"+textLength="4.9204" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">CANL</text>+<g class="stroked-text">+<path d="M84.3642 118.2386+L84.3038 118.2991+" />+<path d="M84.3038 118.2991+L84.1223 118.3595+" />+<path d="M84.1223 118.3595+L84.0014 118.3595+" />+<path d="M84.0014 118.3595+L83.8200 118.2991+" />+<path d="M83.8200 118.2991+L83.6990 118.1781+" />+<path d="M83.6990 118.1781+L83.6385 118.0571+" />+<path d="M83.6385 118.0571+L83.5781 117.8152+" />+<path d="M83.5781 117.8152+L83.5781 117.6338+" />+<path d="M83.5781 117.6338+L83.6385 117.3919+" />+<path d="M83.6385 117.3919+L83.6990 117.2710+" />+<path d="M83.6990 117.2710+L83.8200 117.1500+" />+<path d="M83.8200 117.1500+L84.0014 117.0895+" />+<path d="M84.0014 117.0895+L84.1223 117.0895+" />+<path d="M84.1223 117.0895+L84.3038 117.1500+" />+<path d="M84.3038 117.1500+L84.3642 117.2105+" />+<path d="M84.8481 117.9967+L85.4528 117.9967+" />+<path d="M84.7271 118.3595+L85.1504 117.0895+" />+<path d="M85.1504 117.0895+L85.5738 118.3595+" />+<path d="M85.9971 118.3595+L85.9971 117.0895+" />+<path d="M85.9971 117.0895+L86.7228 118.3595+" />+<path d="M86.7228 118.3595+L86.7228 117.0895+" />+<path d="M87.9324 118.3595+L87.3276 118.3595+" />+<path d="M87.3276 118.3595+L87.3276 117.0895+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="80.9500" y="117.5260"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">6</text>+<g class="stroked-text">+<path d="M81.1919 116.0925+L80.9500 116.0925+" />+<path d="M80.9500 116.0925+L80.8291 116.1530+" />+<path d="M80.8291 116.1530+L80.7686 116.2135+" />+<path d="M80.7686 116.2135+L80.6476 116.3949+" />+<path d="M80.6476 116.3949+L80.5872 116.6368+" />+<path d="M80.5872 116.6368+L80.5872 117.1206+" />+<path d="M80.5872 117.1206+L80.6476 117.2416+" />+<path d="M80.6476 117.2416+L80.7081 117.3021+" />+<path d="M80.7081 117.3021+L80.8291 117.3625+" />+<path d="M80.8291 117.3625+L81.0710 117.3625+" />+<path d="M81.0710 117.3625+L81.1919 117.3021+" />+<path d="M81.1919 117.3021+L81.2524 117.2416+" />+<path d="M81.2524 117.2416+L81.3129 117.1206+" />+<path d="M81.3129 117.1206+L81.3129 116.8182+" />+<path d="M81.3129 116.8182+L81.2524 116.6973+" />+<path d="M81.2524 116.6973+L81.1919 116.6368+" />+<path d="M81.1919 116.6368+L81.0710 116.5763+" />+<path d="M81.0710 116.5763+L80.8291 116.5763+" />+<path d="M80.8291 116.5763+L80.7081 116.6368+" />+<path d="M80.7081 116.6368+L80.6476 116.6973+" />+<path d="M80.6476 116.6973+L80.5872 116.8182+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M82.2200 115.2400+L79.6800 115.2400+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="83.2360" y="115.8750"+textLength="5.2228" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">CANH</text>+<g class="stroked-text">+<path d="M84.3642 115.6986+L84.3038 115.7591+" />+<path d="M84.3038 115.7591+L84.1223 115.8195+" />+<path d="M84.1223 115.8195+L84.0014 115.8195+" />+<path d="M84.0014 115.8195+L83.8200 115.7591+" />+<path d="M83.8200 115.7591+L83.6990 115.6381+" />+<path d="M83.6990 115.6381+L83.6385 115.5171+" />+<path d="M83.6385 115.5171+L83.5781 115.2752+" />+<path d="M83.5781 115.2752+L83.5781 115.0938+" />+<path d="M83.5781 115.0938+L83.6385 114.8519+" />+<path d="M83.6385 114.8519+L83.6990 114.7310+" />+<path d="M83.6990 114.7310+L83.8200 114.6100+" />+<path d="M83.8200 114.6100+L84.0014 114.5495+" />+<path d="M84.0014 114.5495+L84.1223 114.5495+" />+<path d="M84.1223 114.5495+L84.3038 114.6100+" />+<path d="M84.3038 114.6100+L84.3642 114.6705+" />+<path d="M84.8481 115.4567+L85.4528 115.4567+" />+<path d="M84.7271 115.8195+L85.1504 114.5495+" />+<path d="M85.1504 114.5495+L85.5738 115.8195+" />+<path d="M85.9971 115.8195+L85.9971 114.5495+" />+<path d="M85.9971 114.5495+L86.7228 115.8195+" />+<path d="M86.7228 115.8195+L86.7228 114.5495+" />+<path d="M87.3276 115.8195+L87.3276 114.5495+" />+<path d="M87.3276 115.1543+L88.0533 115.1543+" />+<path d="M88.0533 115.8195+L88.0533 114.5495+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="80.9500" y="114.9860"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">7</text>+<g class="stroked-text">+<path d="M80.5267 113.5525+L81.3733 113.5525+" />+<path d="M81.3733 113.5525+L80.8291 114.8225+" />+</g></g>+<g style="fill:none; +stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<path d="M82.2200 107.6200+L79.6800 107.6200+" />+</g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="83.2360" y="108.2550"+textLength="4.7389" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="start" opacity="0" stroke-opacity="0">STBY</text>+<g class="stroked-text">+<path d="M83.5781 108.1391+L83.7595 108.1995+" />+<path d="M83.7595 108.1995+L84.0619 108.1995+" />+<path d="M84.0619 108.1995+L84.1828 108.1391+" />+<path d="M84.1828 108.1391+L84.2433 108.0786+" />+<path d="M84.2433 108.0786+L84.3038 107.9576+" />+<path d="M84.3038 107.9576+L84.3038 107.8367+" />+<path d="M84.3038 107.8367+L84.2433 107.7157+" />+<path d="M84.2433 107.7157+L84.1828 107.6552+" />+<path d="M84.1828 107.6552+L84.0619 107.5948+" />+<path d="M84.0619 107.5948+L83.8200 107.5343+" />+<path d="M83.8200 107.5343+L83.6990 107.4738+" />+<path d="M83.6990 107.4738+L83.6385 107.4133+" />+<path d="M83.6385 107.4133+L83.5781 107.2924+" />+<path d="M83.5781 107.2924+L83.5781 107.1714+" />+<path d="M83.5781 107.1714+L83.6385 107.0505+" />+<path d="M83.6385 107.0505+L83.6990 106.9900+" />+<path d="M83.6990 106.9900+L83.8200 106.9295+" />+<path d="M83.8200 106.9295+L84.1223 106.9295+" />+<path d="M84.1223 106.9295+L84.3038 106.9900+" />+<path d="M84.6666 106.9295+L85.3923 106.9295+" />+<path d="M85.0295 108.1995+L85.0295 106.9295+" />+<path d="M86.2390 107.5343+L86.4204 107.5948+" />+<path d="M86.4204 107.5948+L86.4809 107.6552+" />+<path d="M86.4809 107.6552+L86.5413 107.7762+" />+<path d="M86.5413 107.7762+L86.5413 107.9576+" />+<path d="M86.5413 107.9576+L86.4809 108.0786+" />+<path d="M86.4809 108.0786+L86.4204 108.1391+" />+<path d="M86.4204 108.1391+L86.2994 108.1995+" />+<path d="M86.2994 108.1995+L85.8156 108.1995+" />+<path d="M85.8156 108.1995+L85.8156 106.9295+" />+<path d="M85.8156 106.9295+L86.2390 106.9295+" />+<path d="M86.2390 106.9295+L86.3599 106.9900+" />+<path d="M86.3599 106.9900+L86.4204 107.0505+" />+<path d="M86.4204 107.0505+L86.4809 107.1714+" />+<path d="M86.4809 107.1714+L86.4809 107.2924+" />+<path d="M86.4809 107.2924+L86.4204 107.4133+" />+<path d="M86.4204 107.4133+L86.3599 107.4738+" />+<path d="M86.3599 107.4738+L86.2390 107.5343+" />+<path d="M86.2390 107.5343+L85.8156 107.5343+" />+<path d="M87.3275 107.5948+L87.3275 108.1995+" />+<path d="M86.9042 106.9295+L87.3275 107.5948+" />+<path d="M87.3275 107.5948+L87.7509 106.9295+" />+</g></g>+<g style="fill:none; +stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="80.9500" y="107.3660"+textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">8</text>+<g class="stroked-text">+<path d="M80.8291 106.4768+L80.7081 106.4163+" />+<path d="M80.7081 106.4163+L80.6476 106.3559+" />+<path d="M80.6476 106.3559+L80.5872 106.2349+" />+<path d="M80.5872 106.2349+L80.5872 106.1744+" />+<path d="M80.5872 106.1744+L80.6476 106.0535+" />+<path d="M80.6476 106.0535+L80.7081 105.9930+" />+<path d="M80.7081 105.9930+L80.8291 105.9325+" />+<path d="M80.8291 105.9325+L81.0710 105.9325+" />+<path d="M81.0710 105.9325+L81.1919 105.9930+" />+<path d="M81.1919 105.9930+L81.2524 106.0535+" />+<path d="M81.2524 106.0535+L81.3129 106.1744+" />+<path d="M81.3129 106.1744+L81.3129 106.2349+" />+<path d="M81.3129 106.2349+L81.2524 106.3559+" />+<path d="M81.2524 106.3559+L81.1919 106.4163+" />+<path d="M81.1919 106.4163+L81.0710 106.4768+" />+<path d="M81.0710 106.4768+L80.8291 106.4768+" />+<path d="M80.8291 106.4768+L80.7081 106.5373+" />+<path d="M80.7081 106.5373+L80.6476 106.5978+" />+<path d="M80.6476 106.5978+L80.5872 106.7187+" />+<path d="M80.5872 106.7187+L80.5872 106.9606+" />+<path d="M80.5872 106.9606+L80.6476 107.0816+" />+<path d="M80.6476 107.0816+L80.7081 107.1421+" />+<path d="M80.7081 107.1421+L80.8291 107.2025+" />+<path d="M80.8291 107.2025+L81.0710 107.2025+" />+<path d="M81.0710 107.2025+L81.1919 107.1421+" />+<path d="M81.1919 107.1421+L81.2524 107.0816+" />+<path d="M81.2524 107.0816+L81.3129 106.9606+" />+<path d="M81.3129 106.9606+L81.3129 106.7187+" />+<path d="M81.3129 106.7187+L81.2524 106.5978+" />+<path d="M81.2524 106.5978+L81.1919 106.5373+" />+<path d="M81.1919 106.5373+L81.0710 106.4768+" />+</g></g>+<g style="fill:none; +stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; +stroke-linecap:round; stroke-linejoin:round;">+<text x="100.0000" y="95.5550"+textLength="2.6223" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">U?</text>+<g class="stroked-text">+<path d="M99.0928 94.2295+L99.0928 95.2576+" />+<path d="M99.0928 95.2576+L99.1533 95.3786+" />+<path d="M99.1533 95.3786+L99.2138 95.4391+" />+<path d="M99.2138 95.4391+L99.3347 95.4995+" />+<path d="M99.3347 95.4995+L99.5766 95.4995+" />+<path d="M99.5766 95.4995+L99.6976 95.4391+" />+<path d="M99.6976 95.4391+L99.7581 95.3786+" />+<path d="M99.7581 95.3786+L99.8185 95.2576+" />+<path d="M99.8185 95.2576+L99.8185 94.2295+" />+<path d="M100.6048 95.3786+L100.6652 95.4391+" />+<path d="M100.6652 95.4391+L100.6048 95.4995+" />+<path d="M100.6048 95.4995+L100.5443 95.4391+" />+<path d="M100.5443 95.4391+L100.6048 95.3786+" />+<path d="M100.6048 95.3786+L100.6048 95.4995+" />+<path d="M100.3629 94.2900+L100.4838 94.2295+" />+<path d="M100.4838 94.2295+L100.7862 94.2295+" />+<path d="M100.7862 94.2295+L100.9071 94.2900+" />+<path d="M100.9071 94.2900+L100.9676 94.4110+" />+<path d="M100.9676 94.4110+L100.9676 94.5319+" />+<path d="M100.9676 94.5319+L100.9071 94.6529+" />+<path d="M100.9071 94.6529+L100.8467 94.7133+" />+<path d="M100.8467 94.7133+L100.7257 94.7738+" />+<path d="M100.7257 94.7738+L100.6652 94.8343+" />+<path d="M100.6652 94.8343+L100.6048 94.9552+" />+<path d="M100.6048 94.9552+L100.6048 95.0157+" />+</g><text x="100.0000" y="123.6850"+textLength="17.9831" font-size="1.6933" lengthAdjust="spacingAndGlyphs"+text-anchor="middle" opacity="0" stroke-opacity="0">MCP2562FD-E/SN</text>+<g class="stroked-text">+<path d="M91.4124 123.6295+L91.4124 122.3595+" />+<path d="M91.4124 122.3595+L91.8358 123.2667+" />+<path d="M91.8358 123.2667+L92.2591 122.3595+" />+<path d="M92.2591 122.3595+L92.2591 123.6295+" />+<path d="M93.5895 123.5086+L93.5291 123.5691+" />+<path d="M93.5291 123.5691+L93.3476 123.6295+" />+<path d="M93.3476 123.6295+L93.2267 123.6295+" />+<path d="M93.2267 123.6295+L93.0453 123.5691+" />+<path d="M93.0453 123.5691+L92.9243 123.4481+" />+<path d="M92.9243 123.4481+L92.8638 123.3271+" />+<path d="M92.8638 123.3271+L92.8034 123.0852+" />+<path d="M92.8034 123.0852+L92.8034 122.9038+" />+<path d="M92.8034 122.9038+L92.8638 122.6619+" />+<path d="M92.8638 122.6619+L92.9243 122.5410+" />+<path d="M92.9243 122.5410+L93.0453 122.4200+" />+<path d="M93.0453 122.4200+L93.2267 122.3595+" />+<path d="M93.2267 122.3595+L93.3476 122.3595+" />+<path d="M93.3476 122.3595+L93.5291 122.4200+" />+<path d="M93.5291 122.4200+L93.5895 122.4805+" />+<path d="M94.1338 123.6295+L94.1338 122.3595+" />+<path d="M94.1338 122.3595+L94.6176 122.3595+" />+<path d="M94.6176 122.3595+L94.7386 122.4200+" />+<path d="M94.7386 122.4200+L94.7991 122.4805+" />+<path d="M94.7991 122.4805+L94.8595 122.6014+" />+<path d="M94.8595 122.6014+L94.8595 122.7829+" />+<path d="M94.8595 122.7829+L94.7991 122.9038+" />+<path d="M94.7991 122.9038+L94.7386 122.9643+" />+<path d="M94.7386 122.9643+L94.6176 123.0248+" />+<path d="M94.6176 123.0248+L94.1338 123.0248+" />+<path d="M95.3434 122.4805+L95.4038 122.4200+" />+<path d="M95.4038 122.4200+L95.5248 122.3595+" />+<path d="M95.5248 122.3595+L95.8272 122.3595+" />+<path d="M95.8272 122.3595+L95.9481 122.4200+" />+<path d="M95.9481 122.4200+L96.0086 122.4805+" />+<path d="M96.0086 122.4805+L96.0691 122.6014+" />+<path d="M96.0691 122.6014+L96.0691 122.7224+" />+<path d="M96.0691 122.7224+L96.0086 122.9038+" />+<path d="M96.0086 122.9038+L95.2829 123.6295+" />+<path d="M95.2829 123.6295+L96.0691 123.6295+" />+<path d="M97.2181 122.3595+L96.6133 122.3595+" />+<path d="M96.6133 122.3595+L96.5529 122.9643+" />+<path d="M96.5529 122.9643+L96.6133 122.9038+" />+<path d="M96.6133 122.9038+L96.7343 122.8433+" />+<path d="M96.7343 122.8433+L97.0367 122.8433+" />+<path d="M97.0367 122.8433+L97.1576 122.9038+" />+<path d="M97.1576 122.9038+L97.2181 122.9643+" />+<path d="M97.2181 122.9643+L97.2786 123.0852+" />+<path d="M97.2786 123.0852+L97.2786 123.3876+" />+<path d="M97.2786 123.3876+L97.2181 123.5086+" />+<path d="M97.2181 123.5086+L97.1576 123.5691+" />+<path d="M97.1576 123.5691+L97.0367 123.6295+" />+<path d="M97.0367 123.6295+L96.7343 123.6295+" />+<path d="M96.7343 123.6295+L96.6133 123.5691+" />+<path d="M96.6133 123.5691+L96.5529 123.5086+" />+<path d="M98.3671 122.3595+L98.1252 122.3595+" />+<path d="M98.1252 122.3595+L98.0043 122.4200+" />+<path d="M98.0043 122.4200+L97.9438 122.4805+" />+<path d="M97.9438 122.4805+L97.8228 122.6619+" />+<path d="M97.8228 122.6619+L97.7624 122.9038+" />+<path d="M97.7624 122.9038+L97.7624 123.3876+" />+<path d="M97.7624 123.3876+L97.8228 123.5086+" />+<path d="M97.8228 123.5086+L97.8833 123.5691+" />+<path d="M97.8833 123.5691+L98.0043 123.6295+" />+<path d="M98.0043 123.6295+L98.2462 123.6295+" />+<path d="M98.2462 123.6295+L98.3671 123.5691+" />+<path d="M98.3671 123.5691+L98.4276 123.5086+" />+<path d="M98.4276 123.5086+L98.4881 123.3876+" />+<path d="M98.4881 123.3876+L98.4881 123.0852+" />+<path d="M98.4881 123.0852+L98.4276 122.9643+" />+<path d="M98.4276 122.9643+L98.3671 122.9038+" />+<path d="M98.3671 122.9038+L98.2462 122.8433+" />+<path d="M98.2462 122.8433+L98.0043 122.8433+" />+<path d="M98.0043 122.8433+L97.8833 122.9038+" />+<path d="M97.8833 122.9038+L97.8228 122.9643+" />+<path d="M97.8228 122.9643+L97.7624 123.0852+" />+<path d="M98.9719 122.4805+L99.0323 122.4200+" />+<path d="M99.0323 122.4200+L99.1533 122.3595+" />+<path d="M99.1533 122.3595+L99.4557 122.3595+" />+<path d="M99.4557 122.3595+L99.5766 122.4200+" />+<path d="M99.5766 122.4200+L99.6371 122.4805+" />+<path d="M99.6371 122.4805+L99.6976 122.6014+" />+<path d="M99.6976 122.6014+L99.6976 122.7224+" />+<path d="M99.6976 122.7224+L99.6371 122.9038+" />+<path d="M99.6371 122.9038+L98.9114 123.6295+" />+<path d="M98.9114 123.6295+L99.6976 123.6295+" />+<path d="M100.6652 122.9643+L100.2418 122.9643+" />+<path d="M100.2418 123.6295+L100.2418 122.3595+" />+<path d="M100.2418 122.3595+L100.8466 122.3595+" />+<path d="M101.3304 123.6295+L101.3304 122.3595+" />+<path d="M101.3304 122.3595+L101.6328 122.3595+" />+<path d="M101.6328 122.3595+L101.8142 122.4200+" />+<path d="M101.8142 122.4200+L101.9352 122.5410+" />+<path d="M101.9352 122.5410+L101.9957 122.6619+" />+<path d="M101.9957 122.6619+L102.0561 122.9038+" />+<path d="M102.0561 122.9038+L102.0561 123.0852+" />+<path d="M102.0561 123.0852+L101.9957 123.3271+" />+<path d="M101.9957 123.3271+L101.9352 123.4481+" />+<path d="M101.9352 123.4481+L101.8142 123.5691+" />+<path d="M101.8142 123.5691+L101.6328 123.6295+" />+<path d="M101.6328 123.6295+L101.3304 123.6295+" />+<path d="M102.6004 123.1457+L103.5681 123.1457+" />+<path d="M104.1728 122.9643+L104.5962 122.9643+" />+<path d="M104.7776 123.6295+L104.1728 123.6295+" />+<path d="M104.1728 123.6295+L104.1728 122.3595+" />+<path d="M104.1728 122.3595+L104.7776 122.3595+" />+<path d="M106.2290 122.2991+L105.1404 123.9319+" />+<path d="M106.5919 123.5691+L106.7733 123.6295+" />+<path d="M106.7733 123.6295+L107.0757 123.6295+" />+<path d="M107.0757 123.6295+L107.1966 123.5691+" />+<path d="M107.1966 123.5691+L107.2571 123.5086+" />+<path d="M107.2571 123.5086+L107.3176 123.3876+" />+<path d="M107.3176 123.3876+L107.3176 123.2667+" />+<path d="M107.3176 123.2667+L107.2571 123.1457+" />+<path d="M107.2571 123.1457+L107.1966 123.0852+" />+<path d="M107.1966 123.0852+L107.0757 123.0248+" />+<path d="M107.0757 123.0248+L106.8338 122.9643+" />+<path d="M106.8338 122.9643+L106.7128 122.9038+" />+<path d="M106.7128 122.9038+L106.6523 122.8433+" />+<path d="M106.6523 122.8433+L106.5919 122.7224+" />+<path d="M106.5919 122.7224+L106.5919 122.6014+" />+<path d="M106.5919 122.6014+L106.6523 122.4805+" />+<path d="M106.6523 122.4805+L106.7128 122.4200+" />+<path d="M106.7128 122.4200+L106.8338 122.3595+" />+<path d="M106.8338 122.3595+L107.1361 122.3595+" />+<path d="M107.1361 122.3595+L107.3176 122.4200+" />+<path d="M107.8618 123.6295+L107.8618 122.3595+" />+<path d="M107.8618 122.3595+L108.5875 123.6295+" />+<path d="M108.5875 123.6295+L108.5875 122.3595+" />+</g></g> +</svg>+ </div>+ </div>+ <aside>+ <div class="ah"><span class="atitle">Pins <span class="acount">8</span></span><input id="q" placeholder="Filter…"></div>+ <div class="pins" id="pins"></div>+ </aside>+ </main>+ <footer><span class="it"><span class="k">MFR</span><span class="v">Microchip Technology</span></span><span class="it"><span class="k">PKG</span><span class="v">mcp2562fd-e-sn</span></span><span class="it"><span class="k">PINS</span><span class="v">8</span></span><span class="it descit"><span class="k">DESC</span><span class="v">High-speed CAN FD transceiver with VIO pin (1.8 V to 5.5 V I/O), ISO 11898-2/-5, SOIC-8. 2-column symbol, pins grouped b…</span></span></footer>+ <div id="tip"></div>+<script>// viewer_core.js — the ONE symbol-viewer engine, compiled into BOTH the live+// adom-symbol app (SymView) AND the standalone embed export. Neither file should+// reimplement pan/zoom or pin-hover; they call into here so they can never drift.+window.AdomSymViewer = (function(){+ var ZOOM_K = 0.0022; // wheel sensitivity (lower = gentler). The feel.+ var MIN_SCALE = 0.05, MAX_SCALE = 60;++ function clampScale(s){ return Math.max(MIN_SCALE, Math.min(s, MAX_SCALE)); }++ // Device-independent wheel zoom: normalize deltaMode + cap one notch, then hand+ // the pointer-anchored factor to the host's zoomAt(cx, cy, factor). This is the+ // exact math the app has always used — the embed now shares it verbatim.+ function attachWheelZoom(el, zoomAt){+ el.addEventListener('wheel', function(e){+ e.preventDefault();+ var d = e.deltaY;+ if(e.deltaMode === 1) d *= 16; // lines -> px+ else if(e.deltaMode === 2) d *= el.clientHeight; // pages -> px+ d = Math.max(-50, Math.min(50, d)); // cap one event's contribution+ var r = el.getBoundingClientRect();+ zoomAt(e.clientX - r.left, e.clientY - r.top, Math.exp(-d * ZOOM_K));+ }, { passive: false });+ }++ // ---- shared pin-hover engine (glyph pairing + hit-box geometry) ----+ function norm(s){ return String(s || '').replace(/[~{}]/g, '').trim(); }++ // Pair each invisible <text opacity="0"> with the visible <g class="stroked-text">+ // glyph that follows it in document order (handles rotated top/bottom pins).+ function glyphLabels(svg){+ var out = [], pending = null;+ if(!svg) return out;+ svg.querySelectorAll('text, g.stroked-text').forEach(function(n){+ if(n.classList && n.classList.contains('stroked-text')){+ if(pending){ var k = norm(pending.textContent); if(k) out.push({ k: k, group: n }); pending = null; }+ } else if(n.getAttribute && n.getAttribute('opacity') === '0'){ pending = n; }+ });+ return out;+ }++ // Build one transparent hit-rect per pin label (number + name), matched to each+ // pin's glyph by proximity to the pin tip (so duplicate names resolve to the+ // right pin). Rects are appended to `svg` in user space so they pan/zoom with it.+ // pins: [{number,name,x,y,angle,length,...}]+ // offset: {x,y} symbol->svg-unit origin (state.offset)+ // NS: the svg namespace+ // cb: { enter(pin,ev), move(ev), leave(), click(pin,ev)? }+ // Returns { textMap } so the host can highlight a pin's glyphs on demand.+ function buildPinHits(svg, pins, offset, NS, cb){+ var textMap = new Map();+ if(!svg || !offset || !pins || !pins.length) return { textMap: textMap };+ cb = cb || {};+ var gl = glyphLabels(svg);+ gl.forEach(function(o){ if(!textMap.has(o.k)) textMap.set(o.k, []); textMap.get(o.k).push(o.group); });+ var labels = [];+ gl.forEach(function(o){ var b; try { b = o.group.getBBox(); } catch(e){ return; }+ if(!b || !b.width) return;+ labels.push({ k: o.k, box: b, cx: b.x + b.width/2, cy: b.y + b.height/2, used: false }); });+ function pick(k, ax, ay){ k = norm(k); var best = null, bd = 1e9;+ labels.forEach(function(l){ if(l.used || l.k !== k) return; var d = Math.hypot(l.cx - ax, l.cy - ay); if(d < bd){ bd = d; best = l; } });+ if(best) best.used = true; return best; }+ function addBox(b, p){+ var pad = 0.45, r = document.createElementNS(NS, 'rect');+ r.setAttribute('class', 'hit');+ r.setAttribute('x', b.x - pad); r.setAttribute('y', b.y - pad);+ r.setAttribute('width', b.width + pad*2); r.setAttribute('height', b.height + pad*2); r.setAttribute('rx', .3);+ r.addEventListener('mouseenter', function(ev){ if(cb.enter) cb.enter(p, ev); });+ r.addEventListener('mousemove', function(ev){ if(cb.move) cb.move(ev); });+ r.addEventListener('mouseleave', function(){ if(cb.leave) cb.leave(); });+ if(cb.click) r.addEventListener('click', function(ev){ cb.click(p, ev); });+ svg.appendChild(r);+ }+ pins.forEach(function(p){+ var tipX = offset.x + p.x, tipY = offset.y - p.y, L = p.length || 2.54, dx = 0, dy = 0;+ if(p.angle === 0) dx = 1; else if(p.angle === 180) dx = -1; else if(p.angle === 90) dy = -1; else if(p.angle === 270) dy = 1;+ var nl = pick(p.number, tipX + dx*L*0.5, tipY + dy*L*0.5 - (dx !== 0 ? 0.9 : 0)); // number: over the wire+ var ml = pick(p.name, tipX + dx*(L+2), tipY + dy*(L+2)); // name: inside the body+ if(nl) addBox(nl.box, p);+ if(ml) addBox(ml.box, p);+ if(!nl && !ml){ // discrete parts: no glyphs+ var ex = tipX + dx*L, ey = tipY + dy*L, HT = 1.0;+ addBox({ x: Math.min(tipX, ex) - (dx === 0 ? HT : 0.3), y: Math.min(tipY, ey) - (dy === 0 ? HT : 0.3),+ width: Math.abs(ex - tipX) + (dx === 0 ? HT*2 : 0.6), height: Math.abs(ey - tipY) + (dy === 0 ? HT*2 : 0.6) }, p);+ }+ });+ return { textMap: textMap };+ }++ return {+ ZOOM_K: ZOOM_K, clampScale: clampScale, attachWheelZoom: attachWheelZoom,+ norm: norm, glyphLabels: glyphLabels, buildPinHits: buildPinHits+ };+})();+</script>+<script>+var PINS=[{"angle":0,"color":"#66bb6a","desc":"","length":2.54,"name":"TXD","number":"1","type":"Input","x":-20.32,"y":-2.54},{"angle":0,"color":"#42a5f5","desc":"","length":2.54,"name":"RXD","number":"4","type":"Output","x":-20.32,"y":-5.08},{"angle":0,"color":"#66bb6a","desc":"","length":2.54,"name":"STBY","number":"8","type":"Input","x":-20.32,"y":-7.62},{"angle":0,"color":"#ab47bc","desc":"","length":2.54,"name":"CANH","number":"7","type":"Bidirectional","x":-20.32,"y":-15.24},{"angle":0,"color":"#ab47bc","desc":"","length":2.54,"name":"CANL","number":"6","type":"Bidirectional","x":-20.32,"y":-17.78},{"angle":180,"color":"#ef5350","desc":"","length":2.54,"name":"VDD","number":"3","type":"Power Input","x":20.32,"y":-2.54},{"angle":180,"color":"#ef5350","desc":"","length":2.54,"name":"VIO","number":"5","type":"Power Input","x":20.32,"y":-5.08},{"angle":180,"color":"#ef5350","desc":"","length":2.54,"name":"VSS","number":"2","type":"Power Input","x":20.32,"y":-12.7}], OFF={"x":100,"y":100};+(function(){+ // The symbol svg is the DIRECT child of #vp; querySelector('svg') alone would+ // grab a toolbar button's zoom icon (also broke pan/zoom before this fix).+ var vp=document.getElementById('vp'), svg=vp.querySelector(':scope > svg')||vp.querySelector('svg');+ if(svg){ svg.removeAttribute('width'); svg.removeAttribute('height'); }+ var scale=1,tx=0,ty=0;+ function apply(){ if(svg) svg.style.transform='translate('+tx+'px,'+ty+'px) scale('+scale+')'; }+ // pointer-anchored zoom with the SHARED scale clamp (same limits as the app).+ function zoomAt(cx,cy,f){ var ns=AdomSymViewer.clampScale(scale*f); var r=ns/scale; tx=cx-(cx-tx)*r; ty=cy-(cy-ty)*r; scale=ns; apply(); }+ function fit(){ scale=1;tx=0;ty=0;apply(); }+ // Wheel/trackpad zoom feel comes from the SHARED engine — identical to SymView.+ AdomSymViewer.attachWheelZoom(vp, zoomAt);+ var drag=false,lx=0,ly=0;+ vp.addEventListener('pointerdown',function(e){ if(e.target.closest('.tools'))return; /* let toolbar buttons receive their click */ drag=true;lx=e.clientX;ly=e.clientY;vp.classList.add('grab');vp.setPointerCapture(e.pointerId); });+ vp.addEventListener('pointermove',function(e){ if(!drag)return; tx+=e.clientX-lx;ty+=e.clientY-ly;lx=e.clientX;ly=e.clientY;apply(); });+ vp.addEventListener('pointerup',function(e){ drag=false;vp.classList.remove('grab'); });+ document.getElementById('zin').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1.2); };+ document.getElementById('zout').onclick=function(){ var r=vp.getBoundingClientRect();zoomAt(r.width/2,r.height/2,1/1.2); };+ document.getElementById('fit').onclick=fit;+ // pin panel+ var box=document.getElementById('pins');+ function render(filter){+ box.innerHTML='';+ var f=(filter||'').toLowerCase();+ var shown=PINS.filter(function(p){ return !f || (p.name+' '+p.number+' '+p.type).toLowerCase().indexOf(f)>=0; });+ if(!shown.length){ box.innerHTML='<div class="empty">No pins match.</div>'; return; }+ shown.forEach(function(p){+ var el=document.createElement('div'); el.className='pin';+ var col=p.color||'#8b949e';+ el.innerHTML='<div class="row"><span class="num">'+esc(p.number)+'</span>'+ +'<span class="nme">'+esc(p.name)+'</span>'+ +'<span class="ty" style="color:'+col+';border-color:'+col+'66">'+esc(p.type||'')+'</span></div>'+ +(p.desc?'<div class="d">'+esc(p.desc)+'</div>':'');+ el.onclick=function(){ el.classList.toggle('on'); };+ el.addEventListener('mouseenter',function(){ highlightPin(p); });+ el.addEventListener('mouseleave',function(){ clearHL(); });+ box.appendChild(el);+ });+ }+ function esc(s){ return String(s==null?'':s).replace(/[&<>"]/g,function(c){return{'&':'&','<':'<','>':'>','"':'"'}[c];}); }+ document.getElementById('q').addEventListener('input',function(e){ render(e.target.value); });+ render('');++ // ── pin hover: highlight + tooltip on the SVG, parity with the live SymView ──+ var NS='http://www.w3.org/2000/svg';+ var tip=document.getElementById('tip');+ var textMap=new Map();+ function highlightPin(p){+ clearHL();+ [p.name,p.number].forEach(function(k){ var a=textMap.get(AdomSymViewer.norm(k)); if(a) a.forEach(function(g){ g.classList.add('hl'); }); });+ var m=document.getElementById('pinmark');+ if(m && OFF){ m.setAttribute('cx',OFF.x+p.x); m.setAttribute('cy',OFF.y-p.y); m.setAttribute('r',0.7); m.style.opacity='1'; }+ }+ function clearHL(){+ if(svg) svg.querySelectorAll('.hl').forEach(function(e){ e.classList.remove('hl'); });+ var m=document.getElementById('pinmark'); if(m) m.style.opacity='0';+ }+ function showTip(p,x,y){+ var col=p.color||'#8b949e';+ var h='<div class="r1"><span class="nm">'+esc(p.name||'(unnamed)')+'</span><span class="pn">Pin '+esc(p.number)+'</span></div>';+ if(p.type) h+='<span class="badge" style="background:'+col+'22;color:'+col+';border:1px solid '+col+'44">'+esc(p.type)+'</span>';+ if(p.desc) h+='<div class="desc">'+esc(p.desc)+'</div>';+ tip.innerHTML=h; tip.classList.add('show'); posTip(x,y);+ }+ function posTip(x,y){+ var w=tip.offsetWidth||260, hh=tip.offsetHeight||110, tx=x+14, ty=y+14;+ if(tx+w>innerWidth-14) tx=x-w-14;+ if(ty+hh>innerHeight-14) ty=y-hh-14;+ tip.style.left=Math.max(8,tx)+'px'; tip.style.top=Math.max(8,ty)+'px';+ }+ function hideTip(){ tip.classList.remove('show'); clearHL(); }+ // Build the pin hit-zones with the SHARED engine — the exact glyph-pairing ++ // hit-box code the app's SymView uses. The embed only supplies the tooltip.+ if(svg && OFF){+ if(!document.getElementById('pinmark')){ var pm=document.createElementNS(NS,'circle'); pm.id='pinmark'; svg.appendChild(pm); }+ var hideT=null;+ var hits=AdomSymViewer.buildPinHits(svg, PINS, OFF, NS, {+ enter:function(p,ev){ clearTimeout(hideT); showTip(p,ev.clientX,ev.clientY); highlightPin(p); },+ move:function(ev){ if(tip.classList.contains('show')) posTip(ev.clientX,ev.clientY); },+ leave:function(){ clearTimeout(hideT); hideT=setTimeout(hideTip,45); }+ });+ textMap=hits.textMap;+ }++ apply();+})();++// ── app-info header popover: interactive hover you can move into (600ms show,+// 220ms hide-grace) so the wiki link stays reachable. Per adom-app-header.md. ──+(function(){+ var SHOW_DELAY=600, HIDE_GRACE=220;+ document.querySelectorAll('header [data-tooltip-target]').forEach(function(trigger){+ var target=document.getElementById(trigger.dataset.tooltipTarget);+ if(!target) return;+ var showTimer=null, hideTimer=null;+ function show(){ clearTimeout(hideTimer); if(target.classList.contains('show')) return; clearTimeout(showTimer); showTimer=setTimeout(function(){ target.classList.add('show'); }, SHOW_DELAY); }+ function queueHide(){ clearTimeout(showTimer); clearTimeout(hideTimer); hideTimer=setTimeout(function(){ target.classList.remove('show'); }, HIDE_GRACE); }+ trigger.addEventListener('mouseenter',show); trigger.addEventListener('mouseleave',queueHide);+ trigger.addEventListener('focus',show); trigger.addEventListener('blur',queueHide);+ target.addEventListener('mouseenter',show); target.addEventListener('mouseleave',queueHide);+ trigger.addEventListener('click',function(e){ clearTimeout(showTimer); target.classList.toggle('show'); e.stopPropagation(); });+ document.addEventListener('click',function(e){ if(!target.contains(e.target) && !trigger.contains(e.target)) target.classList.remove('show'); });+ });+})();+</script>+</body></html>