diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
deleted file mode 100644
index 3c9a7fb..0000000
--- a/.github/FUNDING.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-# These are supported funding model platforms
-
-github: [mrzealot] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
-patreon: # Replace with a single Patreon username
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
-custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/23creus.yaml b/23creus.yaml
index 54e288b..d063d21 100644
--- a/23creus.yaml
+++ b/23creus.yaml
@@ -1,4 +1,3 @@
-# yaml-language-server: $schema=./meta/schema.json
units:
kx: cx
ky: cy
@@ -68,78 +67,6 @@ points:
outlines:
# outer border
- farouter:
- - what: polygon
- points:
- - ref: matrix_inner_num
- shift: [13, 13]
- - ref: matrix_middle_num
- shift: [13, 13]
- - ref: matrix_middle_num
- shift: [-13, 13]
- - ref: matrix_pinky_num
- shift: [-13, 13]
- - ref: matrix_pinky_bottom
- shift: [-13, -13]
- - ref: matrix_pinky_bottom
- shift: [13, -13]
- - ref: matrix_inner_bottom
- shift: [-13, -13]
- - ref: matrix_inner_bottom
- shift: [13, -13]
- - ref: mirror_matrix_inner_bottom
- shift: [13, -13]
- - ref: mirror_matrix_inner_bottom
- shift: [-13, -13]
- - ref: mirror_matrix_pinky_bottom
- shift: [13, -13]
- - ref: mirror_matrix_pinky_bottom
- shift: [-13, -13]
- - ref: mirror_matrix_pinky_num
- shift: [-13, 13]
- - ref: mirror_matrix_middle_num
- shift: [-13, 13]
- - ref: mirror_matrix_middle_num
- shift: [13, 13]
- - ref: mirror_matrix_inner_num
- shift: [13, 13]
-
- compatouter:
- - what: polygon
- points:
- - ref: matrix_inner_num
- shift: [11, 11]
- - ref: matrix_middle_num
- shift: [11, 11]
- - ref: matrix_middle_num
- shift: [-11, 11]
- - ref: matrix_pinky_num
- shift: [-11, 11]
- - ref: matrix_pinky_bottom
- shift: [-11, -11]
- - ref: matrix_pinky_bottom
- shift: [11, -11]
- - ref: matrix_inner_bottom
- shift: [-11, -11]
- - ref: matrix_inner_bottom
- shift: [11, -11]
- - ref: mirror_matrix_inner_bottom
- shift: [11, -11]
- - ref: mirror_matrix_inner_bottom
- shift: [-11, -11]
- - ref: mirror_matrix_pinky_bottom
- shift: [11, -11]
- - ref: mirror_matrix_pinky_bottom
- shift: [-11, -11]
- - ref: mirror_matrix_pinky_num
- shift: [-11, 11]
- - ref: mirror_matrix_middle_num
- shift: [-11, 11]
- - ref: mirror_matrix_middle_num
- shift: [11, 11]
- - ref: mirror_matrix_inner_num
- shift: [11, 11]
-
outer:
- what: polygon
points:
@@ -185,14 +112,14 @@ outlines:
aggregate.parts:
- matrix_inner_bottom
- mirror_matrix_inner_bottom
- shift: [0, 40]
+ shift: [0, 0]
# 14mm holes for cherry switches
keyholes:
- what: rectangle
where: true
asym: source
- size: 13.8
+ size: 13.5
# keycaps
keycaps:
@@ -207,21 +134,6 @@ outlines:
- -keyholes
- -chip
- # far outer switchplate
- farouterswitchplate:
- - farouter
- - -keyholes
- - -chip
-
-cases:
- laser:
- - name: farouterswitchplate
- extrude: 6.5
- - name: compatouter
- extrude: 5.2
- shift: [0, 0, 1.3]
- operation: subtract
-
pcbs:
main:
outlines:
@@ -237,7 +149,14 @@ pcbs:
to: "{{column_net}}"
keycaps: true
hotswap: true
-
+ #led:
+ # what: rgb
+ # where: true
+ # adjust:
+ # shift: [0, -5]
+ # params:
+ # din: "{{label}}"
+ # dout: P02
diode:
what: diode
where: true
@@ -245,9 +164,8 @@ pcbs:
from: "{{colrow}}"
to: "{{row_net}}"
adjust:
- shift: [0, -5]
- rotate: 180
-
+ shift: [-8, -0]
+ rotate: 90
reset:
what: button
params:
@@ -259,7 +177,6 @@ pcbs:
- matrix_inner_bottom
- mirror_matrix_inner_bottom
rotate: 90
-
mcu:
what: promicro
where:
diff --git a/23treus.yaml b/23treus.yaml
index 2984107..56ffaaf 100644
--- a/23treus.yaml
+++ b/23treus.yaml
@@ -145,8 +145,6 @@ outlines:
- -keyholes
- -chip
-cases:
-
pcbs:
main:
outlines:
diff --git a/Makefile b/Makefile
index 60e09c0..e732de1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
all: node_modules
- node src/cli.js 23creus.yaml -d -o output
- cp output/pcbs/main.kicad_pcb kicad/23creus/
+ node src/cli.js 23creus.yaml -o output
+ cp output/pcbs/main.kicad_pcb kicad/45treus/
node_modules:
npm ci
diff --git a/README.md b/README.md
deleted file mode 100644
index ae404e1..0000000
--- a/README.md
+++ /dev/null
@@ -1,111 +0,0 @@
-
-# Ergogen
-
-***Ergonomic Keyboard Generator***
-
-
-
-
-
-The project aims to provide a common configuration format to describe ***ergonomic*** 2D layouts and generate automatic plates, cases, as well as un-routed PCBs for them. The project grew out of (and is an integral part of) the [Absolem keyboard], and shares its [Discord] server as well.
-
-
-
-
-
-
-
----
-
-[![Button WebUI]][WebUI]
-[![Button Documentation]][Documentation]
-[![Button Discord]][Discord]
-[![Button Donate]][Donate]
-
----
-
-
-
-
-
-
-## Getting Started
-
-Until there's a proper "Getting started" guide, try getting acquainted with **Ergogen** by following these steps in order:
-
-
-
-1. Read the **[Documentation]**.
-
- D'uuh.
- They're not complete by any measure, but should give you a fairly good idea what you're dealing with here.
-
-
-
-2. Try one of the web-based deployments.
-
- [![Button Official]][WebUI]
- [![Button Unofficial]][Unofficial]
-
- The unofficial deployment is probably better, tbh, and will soon be replacing the official one.
- Choose either one, then click things, look at outputs and see if things start to make sense.
-
- There is no need for you to download the **CLI** unless you want to do one of the following:
-
- - Preview in-development features
- - Use custom modifications
- - Contribute code
-
-
-
-3. Search the [`ergogen`][Topic] topic on GitHub.
-
- There, you can look at (and reverse engineer) a variety of real life configs using **Ergogen**.
- Pop them into the web UI to see what they do, tinker with them and things should start to make more sense.
-
-
-
-4. If a question persists after all of the above, feel free to ask it over on **[Discord]** and we'll do our best to help you out.
-
-
-
-## Contributions
-
-Feature ideas, documentation improvements, examples, tests, or pull requests welcome!
-Get in touch on our **[Discord]**, and we can definitely find something you can help with, if you'd like to.
-
-
-
-## Sponsors
-
-Huge thanks go to everyone who chooses to support my work!
-But even huger thanks are due to the following, *distinguished* sponsors:
-
-- [perce](https://madebyperce.com/)
-- [Cache](https://github.com/MvEerd)
-- [Neil Gilmour](https://github.com/neilgilmour)
-- [ochief](https://github.com/ochief)
-- [Alyx Brett](https://github.com/alyx-brett)
-
-
-
-[Absolem keyboard]: https://zealot.hu/absolem
-[Documentation]: https://docs.ergogen.xyz
-[Discord]: http://discord.ergogen.xyz
-[WebUI]: https://ergogen.xyz
-[Unofficial]: https://ergogen.cache.works/
-[Topic]: https://github.com/topics/ergogen
-[Donate]: https://github.com/sponsors/mrzealot
-
-
-
-[Button WebUI]: https://img.shields.io/badge/Deployment-37a779?style=for-the-badge&logoColor=white&logo=AppleArcade
-[Button Unofficial]: https://img.shields.io/badge/Unofficial-yellow?style=for-the-badge
-[Button Official]: https://img.shields.io/badge/Official-37a779?style=for-the-badge
-[Button Documentation]: https://img.shields.io/badge/Documentation-1793D1?style=for-the-badge&logoColor=white&logo=GitBook
-[Button Discord]: https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logoColor=white&logo=Discord
-[Button Donate]: https://img.shields.io/badge/Donate-EA4AAA?style=for-the-badge&logoColor=white&logo=githubsponsors
diff --git a/kicad/23creus/23creus.kicad_prl b/kicad/23creus/23creus.kicad_prl
index 4beb8e5..ac5a5b3 100644
--- a/kicad/23creus/23creus.kicad_prl
+++ b/kicad/23creus/23creus.kicad_prl
@@ -1,14 +1,12 @@
{
"board": {
- "active_layer": 37,
+ "active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
- "hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
- "images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
diff --git a/kicad/23creus/23creus.kicad_pro b/kicad/23creus/23creus.kicad_pro
index 65fc3e8..c75a0d5 100644
--- a/kicad/23creus/23creus.kicad_pro
+++ b/kicad/23creus/23creus.kicad_pro
@@ -1,6 +1,5 @@
{
"board": {
- "3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
@@ -45,6 +44,7 @@
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
+ "45_degree_only": false,
"min_clearance": 0.508
}
},
@@ -57,43 +57,32 @@
"rule_severities": {
"annular_width": "error",
"clearance": "error",
- "connection_width": "warning",
"copper_edge_clearance": "error",
- "copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
- "footprint": "error",
- "footprint_type_mismatch": "ignore",
+ "footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
- "isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
- "lib_footprint_issues": "warning",
- "lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
- "padstack": "warning",
+ "padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
- "silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
- "solder_mask_bridge": "error",
- "starved_thermal": "error",
- "text_height": "warning",
- "text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
@@ -102,75 +91,32 @@
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
+ "zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
+ "allow_blind_buried_vias": false,
+ "allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
- "min_connection": 0.0,
"min_copper_edge_clearance": 0.075,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
- "min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
- "min_text_height": 0.7999999999999999,
- "min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
- "min_via_annular_width": 0.09999999999999999,
+ "min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
- "solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
- "teardrop_options": [
- {
- "td_allow_use_two_tracks": true,
- "td_curve_segcount": 5,
- "td_on_pad_in_zone": false,
- "td_onpadsmd": true,
- "td_onroundshapesonly": false,
- "td_ontrackend": false,
- "td_onviapad": true
- }
- ],
- "teardrop_parameters": [
- {
- "td_curve_segcount": 0,
- "td_height_ratio": 1.0,
- "td_length_ratio": 0.5,
- "td_maxheight": 2.0,
- "td_maxlen": 1.0,
- "td_target_name": "td_round_shape",
- "td_width_to_size_filter_ratio": 0.9
- },
- {
- "td_curve_segcount": 0,
- "td_height_ratio": 1.0,
- "td_length_ratio": 0.5,
- "td_maxheight": 2.0,
- "td_maxlen": 1.0,
- "td_target_name": "td_rect_shape",
- "td_width_to_size_filter_ratio": 0.9
- },
- {
- "td_curve_segcount": 0,
- "td_height_ratio": 1.0,
- "td_length_ratio": 0.5,
- "td_maxheight": 2.0,
- "td_maxlen": 1.0,
- "td_target_name": "td_track_end",
- "td_width_to_size_filter_ratio": 0.9
- }
- ],
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
- "layer_presets": [],
- "viewports": []
+ "layer_presets": []
},
"boards": [],
"cvpcb": {
@@ -392,7 +338,7 @@
"net_settings": {
"classes": [
{
- "bus_width": 12,
+ "bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
@@ -406,276 +352,13 @@
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
- "wire_width": 6
+ "wire_width": 6.0
}
],
"meta": {
- "version": 3
+ "version": 2
},
- "net_colors": null,
- "netclass_assignments": null,
- "netclass_patterns": [
- {
- "netclass": "Default",
- "pattern": ""
- },
- {
- "netclass": "Default",
- "pattern": "pinky_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P21"
- },
- {
- "netclass": "Default",
- "pattern": "pinky_home"
- },
- {
- "netclass": "Default",
- "pattern": "pinky_top"
- },
- {
- "netclass": "Default",
- "pattern": "pinky_num"
- },
- {
- "netclass": "Default",
- "pattern": "ring_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P20"
- },
- {
- "netclass": "Default",
- "pattern": "ring_home"
- },
- {
- "netclass": "Default",
- "pattern": "ring_top"
- },
- {
- "netclass": "Default",
- "pattern": "ring_num"
- },
- {
- "netclass": "Default",
- "pattern": "middle_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P19"
- },
- {
- "netclass": "Default",
- "pattern": "middle_home"
- },
- {
- "netclass": "Default",
- "pattern": "middle_top"
- },
- {
- "netclass": "Default",
- "pattern": "middle_num"
- },
- {
- "netclass": "Default",
- "pattern": "index_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P18"
- },
- {
- "netclass": "Default",
- "pattern": "index_home"
- },
- {
- "netclass": "Default",
- "pattern": "index_top"
- },
- {
- "netclass": "Default",
- "pattern": "index_num"
- },
- {
- "netclass": "Default",
- "pattern": "inner_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P15"
- },
- {
- "netclass": "Default",
- "pattern": "inner_home"
- },
- {
- "netclass": "Default",
- "pattern": "inner_top"
- },
- {
- "netclass": "Default",
- "pattern": "inner_num"
- },
- {
- "netclass": "Default",
- "pattern": "thumb_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P14"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_pinky_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P2"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_pinky_home"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_pinky_top"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_pinky_num"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_ring_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P3"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_ring_home"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_ring_top"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_ring_num"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_middle_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P4"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_middle_home"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_middle_top"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_middle_num"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_index_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P5"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_index_home"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_index_top"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_index_num"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_inner_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P6"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_inner_home"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_inner_top"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_inner_num"
- },
- {
- "netclass": "Default",
- "pattern": "mirror_thumb_bottom"
- },
- {
- "netclass": "Default",
- "pattern": "P7"
- },
- {
- "netclass": "Default",
- "pattern": "P16"
- },
- {
- "netclass": "Default",
- "pattern": "P10"
- },
- {
- "netclass": "Default",
- "pattern": "P9"
- },
- {
- "netclass": "Default",
- "pattern": "P8"
- },
- {
- "netclass": "Default",
- "pattern": "RST"
- },
- {
- "netclass": "Default",
- "pattern": "GND"
- },
- {
- "netclass": "Default",
- "pattern": "RAW"
- },
- {
- "netclass": "Default",
- "pattern": "VCC"
- },
- {
- "netclass": "Default",
- "pattern": "P1"
- },
- {
- "netclass": "Default",
- "pattern": "P0"
- }
- ]
+ "net_colors": null
},
"pcbnew": {
"last_paths": {
diff --git a/kicad/23creus/main.kicad_pcb b/kicad/23creus/main.kicad_pcb
deleted file mode 100644
index ee475df..0000000
--- a/kicad/23creus/main.kicad_pcb
+++ /dev/null
@@ -1,7254 +0,0 @@
-
-
-(kicad_pcb (version 20171130) (host pcbnew 5.1.6)
-
- (page A3)
- (title_block
- (title main)
- (rev v1.0.0)
- (company Unknown)
- )
-
- (general
- (thickness 1.6)
- )
-
- (layers
- (0 F.Cu signal)
- (31 B.Cu signal)
- (32 B.Adhes user)
- (33 F.Adhes user)
- (34 B.Paste user)
- (35 F.Paste user)
- (36 B.SilkS user)
- (37 F.SilkS user)
- (38 B.Mask user)
- (39 F.Mask user)
- (40 Dwgs.User user)
- (41 Cmts.User user)
- (42 Eco1.User user)
- (43 Eco2.User user)
- (44 Edge.Cuts user)
- (45 Margin user)
- (46 B.CrtYd user)
- (47 F.CrtYd user)
- (48 B.Fab user)
- (49 F.Fab user)
- )
-
- (setup
- (last_trace_width 0.25)
- (trace_clearance 0.2)
- (zone_clearance 0.508)
- (zone_45_only no)
- (trace_min 0.2)
- (via_size 0.8)
- (via_drill 0.4)
- (via_min_size 0.4)
- (via_min_drill 0.3)
- (uvia_size 0.3)
- (uvia_drill 0.1)
- (uvias_allowed no)
- (uvia_min_size 0.2)
- (uvia_min_drill 0.1)
- (edge_width 0.05)
- (segment_width 0.2)
- (pcb_text_width 0.3)
- (pcb_text_size 1.5 1.5)
- (mod_edge_width 0.12)
- (mod_text_size 1 1)
- (mod_text_width 0.15)
- (pad_size 1.524 1.524)
- (pad_drill 0.762)
- (pad_to_mask_clearance 0.05)
- (aux_axis_origin 0 0)
- (visible_elements FFFFFF7F)
- (pcbplotparams
- (layerselection 0x010fc_ffffffff)
- (usegerberextensions false)
- (usegerberattributes true)
- (usegerberadvancedattributes true)
- (creategerberjobfile true)
- (excludeedgelayer true)
- (linewidth 0.100000)
- (plotframeref false)
- (viasonmask false)
- (mode 1)
- (useauxorigin false)
- (hpglpennumber 1)
- (hpglpenspeed 20)
- (hpglpendiameter 15.000000)
- (psnegative false)
- (psa4output false)
- (plotreference true)
- (plotvalue true)
- (plotinvisibletext false)
- (padsonsilk false)
- (subtractmaskfromsilk false)
- (outputformat 1)
- (mirror false)
- (drillshape 1)
- (scaleselection 1)
- (outputdirectory ""))
- )
-
- (net 0 "")
-(net 1 "pinky_bottom")
-(net 2 "P21")
-(net 3 "pinky_home")
-(net 4 "pinky_top")
-(net 5 "pinky_num")
-(net 6 "ring_bottom")
-(net 7 "P20")
-(net 8 "ring_home")
-(net 9 "ring_top")
-(net 10 "ring_num")
-(net 11 "middle_bottom")
-(net 12 "P19")
-(net 13 "middle_home")
-(net 14 "middle_top")
-(net 15 "middle_num")
-(net 16 "index_bottom")
-(net 17 "P18")
-(net 18 "index_home")
-(net 19 "index_top")
-(net 20 "index_num")
-(net 21 "inner_bottom")
-(net 22 "P15")
-(net 23 "inner_home")
-(net 24 "inner_top")
-(net 25 "inner_num")
-(net 26 "thumb_bottom")
-(net 27 "P14")
-(net 28 "mirror_pinky_bottom")
-(net 29 "P2")
-(net 30 "mirror_pinky_home")
-(net 31 "mirror_pinky_top")
-(net 32 "mirror_pinky_num")
-(net 33 "mirror_ring_bottom")
-(net 34 "P3")
-(net 35 "mirror_ring_home")
-(net 36 "mirror_ring_top")
-(net 37 "mirror_ring_num")
-(net 38 "mirror_middle_bottom")
-(net 39 "P4")
-(net 40 "mirror_middle_home")
-(net 41 "mirror_middle_top")
-(net 42 "mirror_middle_num")
-(net 43 "mirror_index_bottom")
-(net 44 "P5")
-(net 45 "mirror_index_home")
-(net 46 "mirror_index_top")
-(net 47 "mirror_index_num")
-(net 48 "mirror_inner_bottom")
-(net 49 "P6")
-(net 50 "mirror_inner_home")
-(net 51 "mirror_inner_top")
-(net 52 "mirror_inner_num")
-(net 53 "mirror_thumb_bottom")
-(net 54 "P7")
-(net 55 "P16")
-(net 56 "P10")
-(net 57 "P9")
-(net 58 "P8")
-(net 59 "RST")
-(net 60 "GND")
-(net 61 "RAW")
-(net 62 "VCC")
-(net 63 "P1")
-(net 64 "P0")
-
- (net_class Default "This is the default net class."
- (clearance 0.2)
- (trace_width 0.25)
- (via_dia 0.8)
- (via_drill 0.4)
- (uvia_dia 0.3)
- (uvia_drill 0.1)
- (add_net "")
-(add_net "pinky_bottom")
-(add_net "P21")
-(add_net "pinky_home")
-(add_net "pinky_top")
-(add_net "pinky_num")
-(add_net "ring_bottom")
-(add_net "P20")
-(add_net "ring_home")
-(add_net "ring_top")
-(add_net "ring_num")
-(add_net "middle_bottom")
-(add_net "P19")
-(add_net "middle_home")
-(add_net "middle_top")
-(add_net "middle_num")
-(add_net "index_bottom")
-(add_net "P18")
-(add_net "index_home")
-(add_net "index_top")
-(add_net "index_num")
-(add_net "inner_bottom")
-(add_net "P15")
-(add_net "inner_home")
-(add_net "inner_top")
-(add_net "inner_num")
-(add_net "thumb_bottom")
-(add_net "P14")
-(add_net "mirror_pinky_bottom")
-(add_net "P2")
-(add_net "mirror_pinky_home")
-(add_net "mirror_pinky_top")
-(add_net "mirror_pinky_num")
-(add_net "mirror_ring_bottom")
-(add_net "P3")
-(add_net "mirror_ring_home")
-(add_net "mirror_ring_top")
-(add_net "mirror_ring_num")
-(add_net "mirror_middle_bottom")
-(add_net "P4")
-(add_net "mirror_middle_home")
-(add_net "mirror_middle_top")
-(add_net "mirror_middle_num")
-(add_net "mirror_index_bottom")
-(add_net "P5")
-(add_net "mirror_index_home")
-(add_net "mirror_index_top")
-(add_net "mirror_index_num")
-(add_net "mirror_inner_bottom")
-(add_net "P6")
-(add_net "mirror_inner_home")
-(add_net "mirror_inner_top")
-(add_net "mirror_inner_num")
-(add_net "mirror_thumb_bottom")
-(add_net "P7")
-(add_net "P16")
-(add_net "P10")
-(add_net "P9")
-(add_net "P8")
-(add_net "RST")
-(add_net "GND")
-(add_net "RAW")
-(add_net "VCC")
-(add_net "P1")
-(add_net "P0")
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 0 0 -23)
-
-
- (fp_text reference "S1" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 1 "pinky_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 7.4238914 -17.4895922 -23)
-
-
- (fp_text reference "S2" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 3 "pinky_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 14.8477829 -34.9791844 -23)
-
-
- (fp_text reference "S3" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 4 "pinky_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 22.2716743 -52.4687766 -23)
-
-
- (fp_text reference "S4" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 5 "pinky_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 18.5922643 3.5465065 -23)
-
-
- (fp_text reference "S5" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 6 "ring_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 26.0161557 -13.9430858 -23)
-
-
- (fp_text reference "S6" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 8 "ring_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 33.4400472 -31.432678 -23)
-
-
- (fp_text reference "S7" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 9 "ring_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 40.8639386 -48.9222702 -23)
-
-
- (fp_text reference "S8" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 10 "ring_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 37.5752597 6.1725081 -23)
-
-
- (fp_text reference "S9" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 11 "middle_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 44.9991512 -11.3170841 -23)
-
-
- (fp_text reference "S10" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 13 "middle_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 52.4230426 -28.8066764 -23)
-
-
- (fp_text reference "S11" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 14 "middle_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 59.8469341 -46.2962686 -23)
-
-
- (fp_text reference "S12" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 15 "middle_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 52.6509439 18.0035582 -23)
-
-
- (fp_text reference "S13" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 16 "index_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 60.0748353 0.513966 -23)
-
-
- (fp_text reference "S14" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 18 "index_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 67.4987268 -16.9756262 -23)
-
-
- (fp_text reference "S15" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 19 "index_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 74.9226182 -34.4652184 -23)
-
-
- (fp_text reference "S16" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 20 "index_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 67.3358969 30.7551132 -23)
-
-
- (fp_text reference "S17" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 21 "inner_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 74.7597883 13.265521 -23)
-
-
- (fp_text reference "S18" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 23 "inner_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 82.1836798 -4.2240712 -23)
-
-
- (fp_text reference "S19" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 24 "inner_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 89.6075712 -21.7136634 -23)
-
-
- (fp_text reference "S20" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 25 "inner_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 88.272548 28.7785906 -23)
-
-
- (fp_text reference "S21" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 26 "thumb_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 27 "P14"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 218.545096 0 23)
-
-
- (fp_text reference "S22" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 28 "mirror_pinky_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 211.1212046 -17.4895922 23)
-
-
- (fp_text reference "S23" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 30 "mirror_pinky_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 203.6973131 -34.9791844 23)
-
-
- (fp_text reference "S24" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 31 "mirror_pinky_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 196.2734217 -52.4687766 23)
-
-
- (fp_text reference "S25" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 32 "mirror_pinky_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 199.9528317 3.5465065 23)
-
-
- (fp_text reference "S26" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 33 "mirror_ring_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 192.5289403 -13.9430858 23)
-
-
- (fp_text reference "S27" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 35 "mirror_ring_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 185.1050488 -31.432678 23)
-
-
- (fp_text reference "S28" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 36 "mirror_ring_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 177.68115740000002 -48.9222702 23)
-
-
- (fp_text reference "S29" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 37 "mirror_ring_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 180.9698363 6.1725081 23)
-
-
- (fp_text reference "S30" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 38 "mirror_middle_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 173.5459448 -11.3170841 23)
-
-
- (fp_text reference "S31" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 40 "mirror_middle_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 166.1220534 -28.8066764 23)
-
-
- (fp_text reference "S32" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 41 "mirror_middle_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 158.6981619 -46.2962686 23)
-
-
- (fp_text reference "S33" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 42 "mirror_middle_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 165.89415209999999 18.0035582 23)
-
-
- (fp_text reference "S34" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 43 "mirror_index_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 158.4702607 0.513966 23)
-
-
- (fp_text reference "S35" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 45 "mirror_index_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 151.04636920000002 -16.9756262 23)
-
-
- (fp_text reference "S36" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 46 "mirror_index_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 143.6224778 -34.4652184 23)
-
-
- (fp_text reference "S37" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 47 "mirror_index_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 151.2091991 30.7551132 23)
-
-
- (fp_text reference "S38" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 48 "mirror_inner_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 143.7853077 13.265521 23)
-
-
- (fp_text reference "S39" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 50 "mirror_inner_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 136.3614162 -4.2240712 23)
-
-
- (fp_text reference "S40" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 51 "mirror_inner_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 128.9375248 -21.7136634 23)
-
-
- (fp_text reference "S41" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 52 "mirror_inner_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 130.272548 28.7785906 23)
-
-
- (fp_text reference "S42" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 53 "mirror_thumb_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 54 "P7"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 218.545096 0 23)
-
-
- (fp_text reference "S43" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 28 "mirror_pinky_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 211.1212046 -17.4895922 23)
-
-
- (fp_text reference "S44" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 30 "mirror_pinky_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 203.6973131 -34.9791844 23)
-
-
- (fp_text reference "S45" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 31 "mirror_pinky_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 196.2734217 -52.4687766 23)
-
-
- (fp_text reference "S46" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 32 "mirror_pinky_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 29 "P2"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 199.9528317 3.5465065 23)
-
-
- (fp_text reference "S47" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 33 "mirror_ring_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 192.5289403 -13.9430858 23)
-
-
- (fp_text reference "S48" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 35 "mirror_ring_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 185.1050488 -31.432678 23)
-
-
- (fp_text reference "S49" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 36 "mirror_ring_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 177.68115740000002 -48.9222702 23)
-
-
- (fp_text reference "S50" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 37 "mirror_ring_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 34 "P3"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 180.9698363 6.1725081 23)
-
-
- (fp_text reference "S51" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 38 "mirror_middle_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 173.5459448 -11.3170841 23)
-
-
- (fp_text reference "S52" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 40 "mirror_middle_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 166.1220534 -28.8066764 23)
-
-
- (fp_text reference "S53" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 41 "mirror_middle_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 158.6981619 -46.2962686 23)
-
-
- (fp_text reference "S54" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 42 "mirror_middle_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 39 "P4"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 165.89415209999999 18.0035582 23)
-
-
- (fp_text reference "S55" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 43 "mirror_index_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 158.4702607 0.513966 23)
-
-
- (fp_text reference "S56" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 45 "mirror_index_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 151.04636920000002 -16.9756262 23)
-
-
- (fp_text reference "S57" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 46 "mirror_index_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 143.6224778 -34.4652184 23)
-
-
- (fp_text reference "S58" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 47 "mirror_index_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 44 "P5"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 151.2091991 30.7551132 23)
-
-
- (fp_text reference "S59" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 48 "mirror_inner_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 143.7853077 13.265521 23)
-
-
- (fp_text reference "S60" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 50 "mirror_inner_home"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 136.3614162 -4.2240712 23)
-
-
- (fp_text reference "S61" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 51 "mirror_inner_top"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 128.9375248 -21.7136634 23)
-
-
- (fp_text reference "S62" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 52 "mirror_inner_num"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 49 "P6"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 130.272548 28.7785906 23)
-
-
- (fp_text reference "S63" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 53 "mirror_thumb_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 54 "P7"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 0 0 -23)
-
-
- (fp_text reference "S64" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 1 "pinky_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 7.4238914 -17.4895922 -23)
-
-
- (fp_text reference "S65" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 3 "pinky_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 14.8477829 -34.9791844 -23)
-
-
- (fp_text reference "S66" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 4 "pinky_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 22.2716743 -52.4687766 -23)
-
-
- (fp_text reference "S67" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 5 "pinky_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "P21"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 18.5922643 3.5465065 -23)
-
-
- (fp_text reference "S68" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 6 "ring_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 26.0161557 -13.9430858 -23)
-
-
- (fp_text reference "S69" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 8 "ring_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 33.4400472 -31.432678 -23)
-
-
- (fp_text reference "S70" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 9 "ring_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 40.8639386 -48.9222702 -23)
-
-
- (fp_text reference "S71" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 10 "ring_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 7 "P20"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 37.5752597 6.1725081 -23)
-
-
- (fp_text reference "S72" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 11 "middle_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 44.9991512 -11.3170841 -23)
-
-
- (fp_text reference "S73" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 13 "middle_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 52.4230426 -28.8066764 -23)
-
-
- (fp_text reference "S74" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 14 "middle_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 59.8469341 -46.2962686 -23)
-
-
- (fp_text reference "S75" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 15 "middle_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 12 "P19"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 52.6509439 18.0035582 -23)
-
-
- (fp_text reference "S76" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 16 "index_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 60.0748353 0.513966 -23)
-
-
- (fp_text reference "S77" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 18 "index_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 67.4987268 -16.9756262 -23)
-
-
- (fp_text reference "S78" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 19 "index_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 74.9226182 -34.4652184 -23)
-
-
- (fp_text reference "S79" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 20 "index_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 17 "P18"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 67.3358969 30.7551132 -23)
-
-
- (fp_text reference "S80" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 21 "inner_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 74.7597883 13.265521 -23)
-
-
- (fp_text reference "S81" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 23 "inner_home"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 82.1836798 -4.2240712 -23)
-
-
- (fp_text reference "S82" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 24 "inner_top"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 89.6075712 -21.7136634 -23)
-
-
- (fp_text reference "S83" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 25 "inner_num"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 22 "P15"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 88.272548 28.7785906 -23)
-
-
- (fp_text reference "S84" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 26 "thumb_bottom"))
- (pad 2 smd rect (at 8.275 -3.75 -23) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 27 "P14"))
- )
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at -1.9536556 4.6025243 157)
-
-
- (fp_text reference "D1" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 1 "pinky_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 1 "pinky_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 1 "pinky_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 5.470235799999999 -12.887067900000002 157)
-
-
- (fp_text reference "D2" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 3 "pinky_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 3 "pinky_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 3 "pinky_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 12.894127300000001 -30.376660100000002 157)
-
-
- (fp_text reference "D3" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 4 "pinky_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 4 "pinky_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 4 "pinky_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 20.3180187 -47.8662523 157)
-
-
- (fp_text reference "D4" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 5 "pinky_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 5 "pinky_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 5 "pinky_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 16.6386087 8.1490308 157)
-
-
- (fp_text reference "D5" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 6 "ring_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 6 "ring_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 6 "ring_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 24.062500099999998 -9.3405615 157)
-
-
- (fp_text reference "D6" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 8 "ring_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 8 "ring_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 8 "ring_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 31.4863916 -26.8301537 157)
-
-
- (fp_text reference "D7" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 9 "ring_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 9 "ring_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 9 "ring_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 38.910283 -44.3197459 157)
-
-
- (fp_text reference "D8" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 10 "ring_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 10 "ring_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 10 "ring_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 35.6216041 10.7750324 157)
-
-
- (fp_text reference "D9" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 11 "middle_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 11 "middle_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 11 "middle_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 43.0454956 -6.714559800000001 157)
-
-
- (fp_text reference "D10" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 13 "middle_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 13 "middle_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 13 "middle_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 50.469387000000005 -24.2041521 157)
-
-
- (fp_text reference "D11" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 14 "middle_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 14 "middle_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 14 "middle_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 57.8932785 -41.6937443 157)
-
-
- (fp_text reference "D12" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 15 "middle_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 15 "middle_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 15 "middle_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 50.697288300000004 22.6060825 157)
-
-
- (fp_text reference "D13" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 16 "index_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 16 "index_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 16 "index_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 58.1211797 5.1164903 157)
-
-
- (fp_text reference "D14" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 18 "index_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 18 "index_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 18 "index_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 65.5450712 -12.373101900000002 157)
-
-
- (fp_text reference "D15" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 19 "index_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 19 "index_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 19 "index_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 72.9689626 -29.8626941 157)
-
-
- (fp_text reference "D16" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 20 "index_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 20 "index_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 20 "index_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 65.38224129999999 35.3576375 157)
-
-
- (fp_text reference "D17" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 21 "inner_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 21 "inner_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 21 "inner_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 72.80613269999999 17.8680453 157)
-
-
- (fp_text reference "D18" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 23 "inner_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 23 "inner_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 23 "inner_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 80.23002419999999 0.37845309999999976 157)
-
-
- (fp_text reference "D19" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 24 "inner_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 24 "inner_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 24 "inner_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 87.65391559999999 -17.111139100000003 157)
-
-
- (fp_text reference "D20" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 25 "inner_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 25 "inner_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 25 "inner_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 86.3188924 33.3811149 157)
-
-
- (fp_text reference "D21" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 26 "thumb_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 26 "thumb_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 26 "thumb_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 220.4987516 4.6025243 -157)
-
-
- (fp_text reference "D22" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 28 "mirror_pinky_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 28 "mirror_pinky_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 28 "mirror_pinky_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 213.0748602 -12.887067900000002 -157)
-
-
- (fp_text reference "D23" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 30 "mirror_pinky_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 30 "mirror_pinky_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 30 "mirror_pinky_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 205.6509687 -30.376660100000002 -157)
-
-
- (fp_text reference "D24" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 31 "mirror_pinky_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 31 "mirror_pinky_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 31 "mirror_pinky_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 198.2270773 -47.8662523 -157)
-
-
- (fp_text reference "D25" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 32 "mirror_pinky_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 32 "mirror_pinky_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 32 "mirror_pinky_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 201.90648729999998 8.1490308 -157)
-
-
- (fp_text reference "D26" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 33 "mirror_ring_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 33 "mirror_ring_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 33 "mirror_ring_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 194.48259589999998 -9.3405615 -157)
-
-
- (fp_text reference "D27" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 35 "mirror_ring_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 35 "mirror_ring_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 35 "mirror_ring_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 187.05870439999998 -26.8301537 -157)
-
-
- (fp_text reference "D28" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 36 "mirror_ring_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 36 "mirror_ring_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 36 "mirror_ring_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 179.634813 -44.3197459 -157)
-
-
- (fp_text reference "D29" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 37 "mirror_ring_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 37 "mirror_ring_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 37 "mirror_ring_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 182.9234919 10.7750324 -157)
-
-
- (fp_text reference "D30" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 38 "mirror_middle_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 38 "mirror_middle_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 38 "mirror_middle_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 175.4996004 -6.714559800000001 -157)
-
-
- (fp_text reference "D31" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 40 "mirror_middle_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 40 "mirror_middle_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 40 "mirror_middle_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 168.075709 -24.2041521 -157)
-
-
- (fp_text reference "D32" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 41 "mirror_middle_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 41 "mirror_middle_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 41 "mirror_middle_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 160.6518175 -41.6937443 -157)
-
-
- (fp_text reference "D33" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 42 "mirror_middle_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 42 "mirror_middle_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 42 "mirror_middle_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 167.84780769999998 22.6060825 -157)
-
-
- (fp_text reference "D34" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 43 "mirror_index_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 43 "mirror_index_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 43 "mirror_index_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 160.4239163 5.1164903 -157)
-
-
- (fp_text reference "D35" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 45 "mirror_index_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 45 "mirror_index_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 45 "mirror_index_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 153.0000248 -12.373101900000002 -157)
-
-
- (fp_text reference "D36" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 46 "mirror_index_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 46 "mirror_index_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 46 "mirror_index_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 145.5761334 -29.8626941 -157)
-
-
- (fp_text reference "D37" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 47 "mirror_index_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 47 "mirror_index_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 47 "mirror_index_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 153.1628547 35.3576375 -157)
-
-
- (fp_text reference "D38" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 48 "mirror_inner_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 48 "mirror_inner_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 48 "mirror_inner_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 145.7389633 17.8680453 -157)
-
-
- (fp_text reference "D39" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 50 "mirror_inner_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 50 "mirror_inner_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 50 "mirror_inner_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 138.3150718 0.37845309999999976 -157)
-
-
- (fp_text reference "D40" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 51 "mirror_inner_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 51 "mirror_inner_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 51 "mirror_inner_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 130.8911804 -17.111139100000003 -157)
-
-
- (fp_text reference "D41" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 52 "mirror_inner_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 52 "mirror_inner_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 52 "mirror_inner_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 132.2262036 33.3811149 -157)
-
-
- (fp_text reference "D42" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 53 "mirror_thumb_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 53 "mirror_thumb_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 53 "mirror_thumb_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 220.4987516 4.6025243 -157)
-
-
- (fp_text reference "D43" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 28 "mirror_pinky_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 28 "mirror_pinky_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 28 "mirror_pinky_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 213.0748602 -12.887067900000002 -157)
-
-
- (fp_text reference "D44" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 30 "mirror_pinky_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 30 "mirror_pinky_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 30 "mirror_pinky_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 205.6509687 -30.376660100000002 -157)
-
-
- (fp_text reference "D45" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 31 "mirror_pinky_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 31 "mirror_pinky_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 31 "mirror_pinky_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 198.2270773 -47.8662523 -157)
-
-
- (fp_text reference "D46" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 32 "mirror_pinky_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 32 "mirror_pinky_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 32 "mirror_pinky_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 201.90648729999998 8.1490308 -157)
-
-
- (fp_text reference "D47" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 33 "mirror_ring_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 33 "mirror_ring_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 33 "mirror_ring_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 194.48259589999998 -9.3405615 -157)
-
-
- (fp_text reference "D48" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 35 "mirror_ring_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 35 "mirror_ring_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 35 "mirror_ring_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 187.05870439999998 -26.8301537 -157)
-
-
- (fp_text reference "D49" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 36 "mirror_ring_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 36 "mirror_ring_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 36 "mirror_ring_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 179.634813 -44.3197459 -157)
-
-
- (fp_text reference "D50" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 37 "mirror_ring_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 37 "mirror_ring_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 37 "mirror_ring_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 182.9234919 10.7750324 -157)
-
-
- (fp_text reference "D51" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 38 "mirror_middle_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 38 "mirror_middle_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 38 "mirror_middle_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 175.4996004 -6.714559800000001 -157)
-
-
- (fp_text reference "D52" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 40 "mirror_middle_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 40 "mirror_middle_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 40 "mirror_middle_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 168.075709 -24.2041521 -157)
-
-
- (fp_text reference "D53" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 41 "mirror_middle_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 41 "mirror_middle_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 41 "mirror_middle_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 160.6518175 -41.6937443 -157)
-
-
- (fp_text reference "D54" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 42 "mirror_middle_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 42 "mirror_middle_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 42 "mirror_middle_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 167.84780769999998 22.6060825 -157)
-
-
- (fp_text reference "D55" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 43 "mirror_index_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 43 "mirror_index_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 43 "mirror_index_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 160.4239163 5.1164903 -157)
-
-
- (fp_text reference "D56" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 45 "mirror_index_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 45 "mirror_index_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 45 "mirror_index_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 153.0000248 -12.373101900000002 -157)
-
-
- (fp_text reference "D57" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 46 "mirror_index_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 46 "mirror_index_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 46 "mirror_index_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 145.5761334 -29.8626941 -157)
-
-
- (fp_text reference "D58" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 47 "mirror_index_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 47 "mirror_index_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 47 "mirror_index_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 153.1628547 35.3576375 -157)
-
-
- (fp_text reference "D59" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 48 "mirror_inner_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 48 "mirror_inner_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 48 "mirror_inner_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 145.7389633 17.8680453 -157)
-
-
- (fp_text reference "D60" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 50 "mirror_inner_home"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 50 "mirror_inner_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 50 "mirror_inner_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 138.3150718 0.37845309999999976 -157)
-
-
- (fp_text reference "D61" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 51 "mirror_inner_top"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 51 "mirror_inner_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 51 "mirror_inner_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 130.8911804 -17.111139100000003 -157)
-
-
- (fp_text reference "D62" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 52 "mirror_inner_num"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 52 "mirror_inner_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 52 "mirror_inner_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 132.2262036 33.3811149 -157)
-
-
- (fp_text reference "D63" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 53 "mirror_thumb_bottom"))
- (pad 1 smd rect (at -1.65 0 -157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 -157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 53 "mirror_thumb_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 -157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 -157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 53 "mirror_thumb_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at -1.9536556 4.6025243 157)
-
-
- (fp_text reference "D64" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 1 "pinky_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 1 "pinky_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 1 "pinky_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 5.470235799999999 -12.887067900000002 157)
-
-
- (fp_text reference "D65" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 3 "pinky_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 3 "pinky_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 3 "pinky_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 12.894127300000001 -30.376660100000002 157)
-
-
- (fp_text reference "D66" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 4 "pinky_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 4 "pinky_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 4 "pinky_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 20.3180187 -47.8662523 157)
-
-
- (fp_text reference "D67" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 5 "pinky_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 5 "pinky_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 5 "pinky_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 16.6386087 8.1490308 157)
-
-
- (fp_text reference "D68" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 6 "ring_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 6 "ring_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 6 "ring_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 24.062500099999998 -9.3405615 157)
-
-
- (fp_text reference "D69" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 8 "ring_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 8 "ring_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 8 "ring_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 31.4863916 -26.8301537 157)
-
-
- (fp_text reference "D70" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 9 "ring_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 9 "ring_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 9 "ring_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 38.910283 -44.3197459 157)
-
-
- (fp_text reference "D71" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 10 "ring_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 10 "ring_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 10 "ring_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 35.6216041 10.7750324 157)
-
-
- (fp_text reference "D72" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 11 "middle_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 11 "middle_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 11 "middle_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 43.0454956 -6.714559800000001 157)
-
-
- (fp_text reference "D73" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 13 "middle_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 13 "middle_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 13 "middle_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 50.469387000000005 -24.2041521 157)
-
-
- (fp_text reference "D74" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 14 "middle_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 14 "middle_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 14 "middle_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 57.8932785 -41.6937443 157)
-
-
- (fp_text reference "D75" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 15 "middle_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 15 "middle_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 15 "middle_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 50.697288300000004 22.6060825 157)
-
-
- (fp_text reference "D76" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 16 "index_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 16 "index_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 16 "index_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 58.1211797 5.1164903 157)
-
-
- (fp_text reference "D77" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 18 "index_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 18 "index_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 18 "index_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 65.5450712 -12.373101900000002 157)
-
-
- (fp_text reference "D78" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 19 "index_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 19 "index_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 19 "index_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 72.9689626 -29.8626941 157)
-
-
- (fp_text reference "D79" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 20 "index_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 20 "index_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 20 "index_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 65.38224129999999 35.3576375 157)
-
-
- (fp_text reference "D80" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 21 "inner_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 21 "inner_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 21 "inner_bottom"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 72.80613269999999 17.8680453 157)
-
-
- (fp_text reference "D81" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 23 "inner_home"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 56 "P10"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 23 "inner_home"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 56 "P10"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 23 "inner_home"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 80.23002419999999 0.37845309999999976 157)
-
-
- (fp_text reference "D82" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 24 "inner_top"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 57 "P9"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 24 "inner_top"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 57 "P9"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 24 "inner_top"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 87.65391559999999 -17.111139100000003 157)
-
-
- (fp_text reference "D83" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 25 "inner_num"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 58 "P8"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 25 "inner_num"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 58 "P8"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 25 "inner_num"))
- )
-
-
-
-
- (module ComboDiode (layer F.Cu) (tedit 5B24D78E)
-
-
- (at 86.3188924 33.3811149 157)
-
-
- (fp_text reference "D84" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 0.25 0) (end 0.75 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer F.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer F.SilkS) (width 0.1))
- (fp_line (start 0.25 0) (end 0.75 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 0.4) (end -0.35 0) (layer B.SilkS) (width 0.1))
- (fp_line (start 0.25 -0.4) (end 0.25 0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end 0.25 -0.4) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.35 0) (end -0.35 -0.55) (layer B.SilkS) (width 0.1))
- (fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
-
-
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 26 "thumb_bottom"))
- (pad 1 smd rect (at -1.65 0 157) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) (net 55 "P16"))
- (pad 2 smd rect (at 1.65 0 157) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) (net 26 "thumb_bottom"))
-
-
- (pad 1 thru_hole rect (at -3.81 0 157) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) (net 55 "P16"))
- (pad 2 thru_hole circle (at 3.81 0 157) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) (net 26 "thumb_bottom"))
- )
-
-
-
-
- (module E73:SW_TACT_ALPS_SKQGABE010 (layer F.Cu) (tstamp 5BF2CC94)
-
- (descr "Low-profile SMD Tactile Switch, https://www.e-switch.com/product-catalog/tact/product-lines/tl3342-series-low-profile-smt-tact-switch")
- (tags "SPST Tactile Switch")
-
- (at 109.272548 30.7551132 90)
-
- (fp_text reference "B1" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 2.75 1.25) (end 1.25 2.75) (layer F.SilkS) (width 0.15))
- (fp_line (start 2.75 -1.25) (end 1.25 -2.75) (layer F.SilkS) (width 0.15))
- (fp_line (start 2.75 -1.25) (end 2.75 1.25) (layer F.SilkS) (width 0.15))
- (fp_line (start -1.25 2.75) (end 1.25 2.75) (layer F.SilkS) (width 0.15))
- (fp_line (start -1.25 -2.75) (end 1.25 -2.75) (layer F.SilkS) (width 0.15))
- (fp_line (start -2.75 1.25) (end -1.25 2.75) (layer F.SilkS) (width 0.15))
- (fp_line (start -2.75 -1.25) (end -1.25 -2.75) (layer F.SilkS) (width 0.15))
- (fp_line (start -2.75 -1.25) (end -2.75 1.25) (layer F.SilkS) (width 0.15))
-
-
- (pad 1 smd rect (at -3.1 -1.85 90) (size 1.8 1.1) (layers F.Cu F.Paste F.Mask) (net 59 "RST"))
- (pad 1 smd rect (at 3.1 -1.85 90) (size 1.8 1.1) (layers F.Cu F.Paste F.Mask) (net 59 "RST"))
- (pad 2 smd rect (at -3.1 1.85 90) (size 1.8 1.1) (layers F.Cu F.Paste F.Mask) (net 60 "GND"))
- (pad 2 smd rect (at 3.1 1.85 90) (size 1.8 1.1) (layers F.Cu F.Paste F.Mask) (net 60 "GND"))
- )
-
-
-
-
- (module ProMicro (layer F.Cu) (tedit 5B307E4C)
- (at 109.272548 34.7551132 270)
-
-
- (fp_text reference "MCU1" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -19.304 -3.81) (end -14.224 -3.81) (layer Dwgs.User) (width 0.15))
- (fp_line (start -19.304 3.81) (end -19.304 -3.81) (layer Dwgs.User) (width 0.15))
- (fp_line (start -14.224 3.81) (end -19.304 3.81) (layer Dwgs.User) (width 0.15))
- (fp_line (start -14.224 -3.81) (end -14.224 3.81) (layer Dwgs.User) (width 0.15))
-
-
- (fp_line (start -17.78 8.89) (end 15.24 8.89) (layer F.SilkS) (width 0.15))
- (fp_line (start 15.24 8.89) (end 15.24 -8.89) (layer F.SilkS) (width 0.15))
- (fp_line (start 15.24 -8.89) (end -17.78 -8.89) (layer F.SilkS) (width 0.15))
- (fp_line (start -17.78 -8.89) (end -17.78 8.89) (layer F.SilkS) (width 0.15))
-
-
-
- (fp_line (start -15.24 6.35) (end -12.7 6.35) (layer F.SilkS) (width 0.15))
- (fp_line (start -15.24 6.35) (end -15.24 8.89) (layer F.SilkS) (width 0.15))
- (fp_line (start -12.7 6.35) (end -12.7 8.89) (layer F.SilkS) (width 0.15))
-
-
- (fp_text user RAW (at -13.97 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user GND (at -11.43 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user RST (at -8.89 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user VCC (at -6.35 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P21 (at -3.81 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P20 (at -1.27 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P19 (at 1.27 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P18 (at 3.81 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P15 (at 6.35 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P14 (at 8.89 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P16 (at 11.43 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P10 (at 13.97 4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
-
- (fp_text user P01 (at -13.97 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P00 (at -11.43 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user GND (at -8.89 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user GND (at -6.35 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P02 (at -3.81 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P03 (at -1.27 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P04 (at 1.27 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P05 (at 3.81 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P06 (at 6.35 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P07 (at 8.89 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P08 (at 11.43 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P09 (at 13.97 -4.8 360) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
-
-
- (pad 1 thru_hole rect (at -13.97 7.62 270) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 61 "RAW"))
- (pad 2 thru_hole circle (at -11.43 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 60 "GND"))
- (pad 3 thru_hole circle (at -8.89 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 59 "RST"))
- (pad 4 thru_hole circle (at -6.35 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 62 "VCC"))
- (pad 5 thru_hole circle (at -3.81 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 2 "P21"))
- (pad 6 thru_hole circle (at -1.27 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 7 "P20"))
- (pad 7 thru_hole circle (at 1.27 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 12 "P19"))
- (pad 8 thru_hole circle (at 3.81 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 17 "P18"))
- (pad 9 thru_hole circle (at 6.35 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 22 "P15"))
- (pad 10 thru_hole circle (at 8.89 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 27 "P14"))
- (pad 11 thru_hole circle (at 11.43 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 55 "P16"))
- (pad 12 thru_hole circle (at 13.97 7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 56 "P10"))
-
- (pad 13 thru_hole circle (at -13.97 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 63 "P1"))
- (pad 14 thru_hole circle (at -11.43 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 64 "P0"))
- (pad 15 thru_hole circle (at -8.89 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 60 "GND"))
- (pad 16 thru_hole circle (at -6.35 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 60 "GND"))
- (pad 17 thru_hole circle (at -3.81 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 29 "P2"))
- (pad 18 thru_hole circle (at -1.27 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 34 "P3"))
- (pad 19 thru_hole circle (at 1.27 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 39 "P4"))
- (pad 20 thru_hole circle (at 3.81 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 44 "P5"))
- (pad 21 thru_hole circle (at 6.35 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 49 "P6"))
- (pad 22 thru_hole circle (at 8.89 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 54 "P7"))
- (pad 23 thru_hole circle (at 11.43 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 58 "P8"))
- (pad 24 thru_hole circle (at 13.97 -7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) (net 57 "P9"))
- )
-
- (gr_line (start 115.825165 -27.0114006) (end 102.719931 -27.0114006) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 102.719931 -27.0114006) (end 72.9592939 -51.5940058) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 72.9592939 -51.5940058) (end 54.5491969 -59.4086284) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 54.5491969 -59.4086284) (end 16.9739371 -65.58113639999999) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 16.9739371 -65.58113639999999) (end -13.1123598 5.2977372) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start -13.1123598 5.2977372) (end 5.2977372 13.1123598) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 5.2977372 13.1123598) (end 54.223537099999994 36.0528504) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 54.223537099999994 36.0528504) (end 72.6336341 43.867473000000004) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 72.6336341 43.867473000000004) (end 145.9114619 43.867473000000004) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 145.9114619 43.867473000000004) (end 164.3215589 36.0528504) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 164.3215589 36.0528504) (end 213.2473588 13.1123598) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 213.2473588 13.1123598) (end 231.6574558 5.2977372) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 231.6574558 5.2977372) (end 201.5711589 -65.58113639999999) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 201.5711589 -65.58113639999999) (end 163.9958991 -59.4086284) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 163.9958991 -59.4086284) (end 145.5858021 -51.5940058) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 145.5858021 -51.5940058) (end 115.825165 -27.0114006) (angle 90) (layer Edge.Cuts) (width 0.15))
-
-)
-
-
\ No newline at end of file
diff --git a/LICENSE b/license.md
similarity index 100%
rename from LICENSE
rename to license.md
diff --git a/package-lock.json b/package-lock.json
index 35bdcc7..8ea82ff 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,164 +1,86 @@
{
"name": "ergogen",
- "version": "4.0.5",
- "lockfileVersion": 3,
+ "version": "4.0.0",
+ "lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ergogen",
- "version": "4.0.5",
+ "version": "4.0.0",
"license": "MIT",
"dependencies": {
- "fs-extra": "^11.1.0",
+ "fs-extra": "^10.0.1",
"js-yaml": "^3.14.1",
"jszip": "^3.10.1",
"kle-serial": "github:ergogen/kle-serial#ergogen",
"makerjs": "github:ergogen/maker.js#ergogen",
- "mathjs": "^11.5.0",
- "yargs": "^17.6.2"
+ "mathjs": "^10.1.1",
+ "yargs": "^17.3.1"
},
"bin": {
"ergogen": "src/cli.js"
},
"devDependencies": {
- "@rollup/plugin-commonjs": "^24.0.1",
- "@rollup/plugin-json": "^6.0.0",
- "chai": "^4.3.7",
+ "@rollup/plugin-commonjs": "^21.0.2",
+ "@rollup/plugin-json": "^4.1.0",
+ "chai": "^4.3.6",
"chai-as-promised": "^7.1.1",
"dir-compare": "^4.0.0",
- "glob": "^8.1.0",
- "mocha": "^10.2.0",
+ "glob": "^7.2.0",
+ "mocha": "^9.2.1",
"nyc": "^15.1.0",
- "rollup": "^3.10.1",
- "sinon": "^15.0.1"
+ "rollup": "^2.68.0"
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "version": "2.1.2",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.1.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/trace-mapping": "^0.3.0"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/code-frame": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
- "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.23.4",
- "chalk": "^2.4.2"
+ "@babel/highlight": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/code-frame/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/code-frame/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
- },
- "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/code-frame/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/compat-data": {
- "version": "7.20.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz",
- "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==",
+ "version": "7.17.7",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.20.12",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
- "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.20.7",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helpers": "^7.20.7",
- "@babel/parser": "^7.20.7",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.12",
- "@babel/types": "^7.20.7",
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.9",
+ "@babel/helper-compilation-targets": "^7.17.7",
+ "@babel/helper-module-transforms": "^7.17.7",
+ "@babel/helpers": "^7.17.9",
+ "@babel/parser": "^7.17.9",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.2.2",
+ "json5": "^2.2.1",
"semver": "^6.3.0"
},
"engines": {
@@ -170,44 +92,26 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
- "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.23.6",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
+ "@babel/types": "^7.17.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
- "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
+ "version": "7.17.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.20.5",
- "@babel/helper-validator-option": "^7.18.6",
- "browserslist": "^4.21.3",
- "lru-cache": "^5.1.1",
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-validator-option": "^7.16.7",
+ "browserslist": "^4.17.5",
"semver": "^6.3.0"
},
"engines": {
@@ -218,143 +122,126 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
- "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
- "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/types": "^7.23.0"
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
- "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
- "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
+ "version": "7.17.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.20.2",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/helper-validator-identifier": "^7.19.1",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.10",
- "@babel/types": "^7.20.7"
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
- "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+ "version": "7.17.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.20.2"
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.22.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
- "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.5"
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-string-parser": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
- "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
- "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
- "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.20.13",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
- "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.13",
- "@babel/types": "^7.20.7"
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
- "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.22.20",
- "chalk": "^2.4.2",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
"engines": {
@@ -363,9 +250,8 @@
},
"node_modules/@babel/highlight/node_modules/ansi-styles": {
"version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -375,9 +261,8 @@
},
"node_modules/@babel/highlight/node_modules/chalk": {
"version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -389,42 +274,37 @@
},
"node_modules/@babel/highlight/node_modules/color-convert": {
"version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/@babel/highlight/node_modules/color-name": {
"version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@babel/highlight/node_modules/has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/@babel/highlight/node_modules/supports-color": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -433,10 +313,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
- "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -445,45 +324,42 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.20.13",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz",
- "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==",
+ "version": "7.17.9",
+ "license": "MIT",
"dependencies": {
- "regenerator-runtime": "^0.13.11"
+ "regenerator-runtime": "^0.13.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.16.7",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
- "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "version": "7.17.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.23.5",
- "@babel/generator": "^7.23.6",
- "@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-function-name": "^7.23.0",
- "@babel/helper-hoist-variables": "^7.22.5",
- "@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.6",
- "@babel/types": "^7.23.6",
- "debug": "^4.3.1",
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.9",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.17.9",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.17.9",
+ "@babel/types": "^7.17.0",
+ "debug": "^4.1.0",
"globals": "^11.1.0"
},
"engines": {
@@ -491,13 +367,11 @@
}
},
"node_modules/@babel/types": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
- "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "version": "7.17.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.23.4",
- "@babel/helper-validator-identifier": "^7.22.20",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -506,14 +380,12 @@
},
"node_modules/@danmarshall/jscad-typings": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@danmarshall/jscad-typings/-/jscad-typings-1.0.0.tgz",
- "integrity": "sha512-MGGIGDItK2UQSsz7yTrXErQXDAFXR3UPxyQ7WZ5RHOwnv60CBXjmkJlXYMYPkSvo+7fUuQL2/ODcvECtc/fi9g=="
+ "license": "MIT"
},
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"camelcase": "^5.3.1",
"find-up": "^4.1.0",
@@ -527,9 +399,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -540,9 +411,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -552,9 +422,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -567,9 +436,8 @@
},
"node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -579,196 +447,119 @@
},
"node_modules/@istanbuljs/schema": {
"version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "version": "3.0.5",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
- "dev": true
+ "version": "1.4.11",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
+ "version": "0.3.4",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
}
},
"node_modules/@rollup/plugin-commonjs": {
- "version": "24.0.1",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz",
- "integrity": "sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==",
+ "version": "21.1.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@rollup/pluginutils": "^5.0.1",
+ "@rollup/pluginutils": "^3.1.0",
"commondir": "^1.0.1",
- "estree-walker": "^2.0.2",
- "glob": "^8.0.3",
- "is-reference": "1.2.1",
- "magic-string": "^0.27.0"
+ "estree-walker": "^2.0.1",
+ "glob": "^7.1.6",
+ "is-reference": "^1.2.1",
+ "magic-string": "^0.25.7",
+ "resolve": "^1.17.0"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">= 8.0.0"
},
"peerDependencies": {
- "rollup": "^2.68.0||^3.0.0"
- },
- "peerDependenciesMeta": {
- "rollup": {
- "optional": true
- }
+ "rollup": "^2.38.3"
}
},
"node_modules/@rollup/plugin-json": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz",
- "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==",
+ "version": "4.1.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@rollup/pluginutils": "^5.0.1"
- },
- "engines": {
- "node": ">=14.0.0"
+ "@rollup/pluginutils": "^3.0.8"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
- },
- "peerDependenciesMeta": {
- "rollup": {
- "optional": true
- }
+ "rollup": "^1.20.0 || ^2.0.0"
}
},
"node_modules/@rollup/pluginutils": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
- "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
+ "version": "3.1.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^2.0.2",
- "picomatch": "^2.3.1"
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">= 8.0.0"
},
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0"
- },
- "peerDependenciesMeta": {
- "rollup": {
- "optional": true
- }
+ "rollup": "^1.20.0||^2.0.0"
}
},
- "node_modules/@sinonjs/commons": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz",
- "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==",
+ "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "version": "1.0.1",
"dev": true,
- "dependencies": {
- "type-detect": "4.0.8"
- }
- },
- "node_modules/@sinonjs/fake-timers": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz",
- "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^2.0.0"
- }
- },
- "node_modules/@sinonjs/samsam": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz",
- "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^2.0.0",
- "lodash.get": "^4.4.2",
- "type-detect": "^4.0.8"
- }
- },
- "node_modules/@sinonjs/text-encoding": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz",
- "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==",
- "dev": true
+ "license": "MIT"
},
"node_modules/@types/bezier-js": {
"version": "0.0.6",
- "resolved": "https://registry.npmjs.org/@types/bezier-js/-/bezier-js-0.0.6.tgz",
- "integrity": "sha512-kXsAlt8e8N6zt9R6LcMYWB1HkBw3q2g+M9BdI/UE+s4agIONuIscQaRCoInH22+Jas3rw8yLUehL2InaZjyNSA=="
+ "license": "MIT"
},
"node_modules/@types/estree": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
- "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
- "dev": true
+ "version": "0.0.39",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/node": {
"version": "7.10.14",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-7.10.14.tgz",
- "integrity": "sha512-29GS75BE8asnTno3yB6ubOJOO0FboExEqNJy4bpz0GSmW/8wPTNL4h9h63c6s1uTrOopCmJYe/4yJLh5r92ZUA=="
+ "license": "MIT"
},
"node_modules/@types/opentype.js": {
"version": "0.7.2",
- "resolved": "https://registry.npmjs.org/@types/opentype.js/-/opentype.js-0.7.2.tgz",
- "integrity": "sha512-Riz6WyBUBEFs7YqSsJya3SbDHJZ6BmMkY7bzNoue6rtwj+RNilLc+mgOX/eJ0Y0asq16FSU6DatBeOg8ZMy2UQ=="
+ "license": "MIT"
},
"node_modules/@types/pdfkit": {
"version": "0.7.36",
- "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.7.36.tgz",
- "integrity": "sha512-9eRA6MuW+n78yU3HhoIrDxjyAX2++B5MpLDYqHOnaRTquCw+5sYXT+QN8E1eSaxvNUwlRfU3tOm4UzTeGWmBqg==",
+ "license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
+ "node_modules/@ungap/promise-all-settled": {
+ "version": "1.1.2",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/aggregate-error": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"clean-stack": "^2.0.0",
"indent-string": "^4.0.0"
@@ -779,25 +570,22 @@
},
"node_modules/ansi-colors": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -809,10 +597,9 @@
}
},
"node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "version": "3.1.2",
"dev": true,
+ "license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -823,9 +610,8 @@
},
"node_modules/append-transform": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
- "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"default-require-extensions": "^3.0.0"
},
@@ -835,52 +621,45 @@
},
"node_modules/archy": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
- "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/argparse": {
"version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "license": "MIT",
"dependencies": {
"sprintf-js": "~1.0.2"
}
},
"node_modules/assertion-error": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/bezier-js": {
"version": "2.6.1",
- "resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-2.6.1.tgz",
- "integrity": "sha512-jelZM33eNzcZ9snJ/5HqJLw3IzXvA8RFcBjkdOB8SDYyOvW8Y2tTosojAiBTnD1MhbHoWUYNbxUXxBl61TxbRg=="
+ "license": "MIT"
},
"node_modules/binary-extensions": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/brace-expansion": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -888,9 +667,8 @@
},
"node_modules/braces": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fill-range": "^7.0.1"
},
@@ -900,14 +678,11 @@
},
"node_modules/browser-stdout": {
"version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/browserslist": {
- "version": "4.21.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
- "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+ "version": "4.20.2",
"dev": true,
"funding": [
{
@@ -919,11 +694,13 @@
"url": "https://tidelift.com/funding/github/npm/browserslist"
}
],
+ "license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001400",
- "electron-to-chromium": "^1.4.251",
- "node-releases": "^2.0.6",
- "update-browserslist-db": "^1.0.9"
+ "caniuse-lite": "^1.0.30001317",
+ "electron-to-chromium": "^1.4.84",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.2",
+ "picocolors": "^1.0.0"
},
"bin": {
"browserslist": "cli.js"
@@ -934,9 +711,8 @@
},
"node_modules/caching-transform": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
- "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"hasha": "^5.0.0",
"make-dir": "^3.0.0",
@@ -949,17 +725,14 @@
},
"node_modules/camelcase": {
"version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001447",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001447.tgz",
- "integrity": "sha512-bdKU1BQDPeEXe9A39xJnGtY0uRq/z5osrnXUw0TcK+EYno45Y+U7QU9HhHEyzvMDffpYadFXi3idnSNkcwLkTw==",
+ "version": "1.0.30001332",
"dev": true,
"funding": [
{
@@ -970,17 +743,17 @@
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
}
- ]
+ ],
+ "license": "CC-BY-4.0"
},
"node_modules/chai": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
- "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "version": "4.3.6",
"dev": true,
+ "license": "MIT",
"dependencies": {
"assertion-error": "^1.1.0",
"check-error": "^1.0.2",
- "deep-eql": "^4.1.2",
+ "deep-eql": "^3.0.1",
"get-func-name": "^2.0.0",
"loupe": "^2.3.1",
"pathval": "^1.1.1",
@@ -992,9 +765,8 @@
},
"node_modules/chai-as-promised": {
"version": "7.1.1",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz",
- "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",
"dev": true,
+ "license": "WTFPL",
"dependencies": {
"check-error": "^1.0.2"
},
@@ -1004,9 +776,8 @@
},
"node_modules/chalk": {
"version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@@ -1020,9 +791,8 @@
},
"node_modules/chalk/node_modules/supports-color": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -1032,17 +802,14 @@
},
"node_modules/check-error": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"funding": [
{
@@ -1050,6 +817,7 @@
"url": "https://paulmillr.com/funding/"
}
],
+ "license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -1068,38 +836,31 @@
},
"node_modules/clean-stack": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "version": "7.0.4",
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
+ "strip-ansi": "^6.0.0",
"wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
}
},
"node_modules/clone": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
},
@@ -1109,19 +870,16 @@
},
"node_modules/color-name": {
"version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "license": "MIT"
},
"node_modules/commondir": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/complex.js": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.1.1.tgz",
- "integrity": "sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==",
+ "license": "MIT",
"engines": {
"node": "*"
},
@@ -1132,26 +890,25 @@
},
"node_modules/concat-map": {
"version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "dev": true
+ "version": "1.8.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
+ }
},
"node_modules/core-util-is": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ "license": "MIT"
},
"node_modules/cross-spawn": {
"version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -1162,10 +919,9 @@
}
},
"node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "version": "4.3.3",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "2.1.2"
},
@@ -1180,105 +936,89 @@
},
"node_modules/debug/node_modules/ms": {
"version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/decamelize": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/decimal.js": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
- "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
+ "version": "10.3.1",
+ "license": "MIT"
},
"node_modules/deep-eql": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
- "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
+ "version": "3.0.1",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-detect": "^4.0.0"
},
"engines": {
- "node": ">=6"
+ "node": ">=0.12"
}
},
"node_modules/default-require-extensions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz",
- "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==",
+ "version": "3.0.0",
"dev": true,
+ "license": "MIT",
"dependencies": {
"strip-bom": "^4.0.0"
},
"engines": {
"node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/diff": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
- "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.3.1"
}
},
"node_modules/dir-compare": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-4.0.0.tgz",
- "integrity": "sha512-wC7thVKL3V656tO61rbEDE4LTeeYrUC2pAUL00AaXYghBhjjVNRyBlpH6POzb44ZuK23OSrqF6TbSC/QYeqfAg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimatch": "^3.0.4",
"p-limit": "^3.1.0 "
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.284",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
- "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
- "dev": true
+ "version": "1.4.111",
+ "dev": true,
+ "license": "ISC"
},
"node_modules/emoji-regex": {
"version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "license": "MIT"
},
"node_modules/es6-error": {
"version": "4.1.1",
- "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
- "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/escalade": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/escape-latex": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz",
- "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw=="
+ "license": "MIT"
},
"node_modules/escape-string-regexp": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -1288,8 +1028,7 @@
},
"node_modules/esprima": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "license": "BSD-2-Clause",
"bin": {
"esparse": "bin/esparse.js",
"esvalidate": "bin/esvalidate.js"
@@ -1300,15 +1039,13 @@
},
"node_modules/estree-walker": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fill-range": {
"version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -1318,9 +1055,8 @@
},
"node_modules/find-cache-dir": {
"version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
@@ -1335,9 +1071,8 @@
},
"node_modules/find-up": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -1351,18 +1086,16 @@
},
"node_modules/flat": {
"version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"bin": {
"flat": "cli.js"
}
},
"node_modules/foreground-child": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
- "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.0",
"signal-exit": "^3.0.2"
@@ -1373,8 +1106,7 @@
},
"node_modules/fraction.js": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "license": "MIT",
"engines": {
"node": "*"
},
@@ -1385,8 +1117,6 @@
},
"node_modules/fromentries": {
"version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
- "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
"dev": true,
"funding": [
{
@@ -1401,90 +1131,76 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/fs-extra": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz",
- "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==",
+ "version": "10.0.1",
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
- "node": ">=14.14"
+ "node": ">=12"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
+ "license": "ISC"
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/get-caller-file": {
"version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
"engines": {
"node": "6.* || 8.* || >= 10.*"
}
},
"node_modules/get-func-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
- "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
+ "version": "2.0.0",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/get-package-type": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/glob": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
- "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "version": "7.2.0",
"dev": true,
+ "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^5.0.1",
- "once": "^1.3.0"
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
"engines": {
- "node": ">=12"
+ "node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -1492,9 +1208,8 @@
},
"node_modules/glob-parent": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -1502,60 +1217,53 @@
"node": ">= 6"
}
},
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
- "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/globals": {
"version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/graceful-fs": {
"version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
+ "license": "ISC"
},
"node_modules/graham_scan": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/graham_scan/-/graham_scan-1.0.4.tgz",
- "integrity": "sha512-jL+zq9xTYXxsDIf+qy9aaudRXx/X4sqrOlbFkg1ElqCznhYAQ/wXv8cifgzRvzFopStDeIvny5sIu6jgSjnRww=="
+ "license": "MIT"
+ },
+ "node_modules/growl": {
+ "version": "1.10.5",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.x"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
},
"node_modules/has-flag": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/hasha": {
"version": "5.2.2",
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
- "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-stream": "^2.0.0",
"type-fest": "^0.8.0"
@@ -1569,47 +1277,41 @@
},
"node_modules/he": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
+ "license": "MIT",
"bin": {
"he": "bin/he"
}
},
"node_modules/html-escaper": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/immediate": {
"version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
+ "license": "MIT"
},
"node_modules/imurmurhash": {
"version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.19"
}
},
"node_modules/indent-string": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/inflight": {
"version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -1617,14 +1319,12 @@
},
"node_modules/inherits": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "license": "ISC"
},
"node_modules/is-binary-path": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -1632,28 +1332,36 @@
"node": ">=8"
}
},
+ "node_modules/is-core-module": {
+ "version": "2.8.1",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-extglob": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-glob": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -1663,36 +1371,32 @@
},
"node_modules/is-number": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-plain-obj": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/is-reference": {
"version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
- "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/estree": "*"
}
},
"node_modules/is-stream": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -1702,15 +1406,13 @@
},
"node_modules/is-typedarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/is-unicode-supported": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
- "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -1720,38 +1422,33 @@
},
"node_modules/is-windows": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ "license": "MIT"
},
"node_modules/isexe": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/istanbul-lib-coverage": {
"version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
- "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=8"
}
},
"node_modules/istanbul-lib-hook": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
- "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"append-transform": "^2.0.0"
},
@@ -1761,9 +1458,8 @@
},
"node_modules/istanbul-lib-instrument": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"@babel/core": "^7.7.5",
"@istanbuljs/schema": "^0.1.2",
@@ -1775,17 +1471,17 @@
}
},
"node_modules/istanbul-lib-processinfo": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz",
- "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==",
+ "version": "2.0.2",
"dev": true,
+ "license": "ISC",
"dependencies": {
"archy": "^1.0.0",
- "cross-spawn": "^7.0.3",
- "istanbul-lib-coverage": "^3.2.0",
+ "cross-spawn": "^7.0.0",
+ "istanbul-lib-coverage": "^3.0.0-alpha.1",
+ "make-dir": "^3.0.0",
"p-map": "^3.0.0",
"rimraf": "^3.0.0",
- "uuid": "^8.3.2"
+ "uuid": "^3.3.3"
},
"engines": {
"node": ">=8"
@@ -1793,9 +1489,8 @@
},
"node_modules/istanbul-lib-report": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"istanbul-lib-coverage": "^3.0.0",
"make-dir": "^3.0.0",
@@ -1807,9 +1502,8 @@
},
"node_modules/istanbul-lib-report/node_modules/supports-color": {
"version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -1819,9 +1513,8 @@
},
"node_modules/istanbul-lib-source-maps": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
- "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"debug": "^4.1.1",
"istanbul-lib-coverage": "^3.0.0",
@@ -1831,11 +1524,18 @@
"node": ">=10"
}
},
- "node_modules/istanbul-reports": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz",
- "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==",
+ "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
+ "version": "0.6.1",
"dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.4",
+ "dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"html-escaper": "^2.0.0",
"istanbul-lib-report": "^3.0.0"
@@ -1846,19 +1546,16 @@
},
"node_modules/javascript-natural-sort": {
"version": "0.7.1",
- "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
- "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw=="
+ "license": "MIT"
},
"node_modules/js-tokens": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "3.14.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
- "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "license": "MIT",
"dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@@ -1869,9 +1566,8 @@
},
"node_modules/jsesc": {
"version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true,
+ "license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
@@ -1880,9 +1576,8 @@
}
},
"node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "version": "2.2.1",
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
@@ -1892,8 +1587,7 @@
},
"node_modules/jsonfile": {
"version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "license": "MIT",
"dependencies": {
"universalify": "^2.0.0"
},
@@ -1903,8 +1597,7 @@
},
"node_modules/jszip": {
"version": "3.10.1",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
- "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "license": "(MIT OR GPL-3.0-or-later)",
"dependencies": {
"lie": "~3.3.0",
"pako": "~1.0.2",
@@ -1912,16 +1605,9 @@
"setimmediate": "^1.0.5"
}
},
- "node_modules/just-extend": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
- "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
- "dev": true
- },
"node_modules/kdbush": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-2.0.1.tgz",
- "integrity": "sha512-9KqSdmWCkBIisFIGclT0FRagKhI7IVbMyUjsxCFG0Ly1Dg6whlxJ7b9lrq8ifk3X/fGeJzok1R75LQfZTfA5zQ=="
+ "license": "ISC"
},
"node_modules/kle-serial": {
"name": "@ijprest/kle-serial",
@@ -1934,17 +1620,15 @@
},
"node_modules/lie": {
"version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
- "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
}
},
"node_modules/locate-path": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -1957,21 +1641,13 @@
},
"node_modules/lodash.flattendeep": {
"version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
- "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==",
- "dev": true
- },
- "node_modules/lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/log-symbols": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
- "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"chalk": "^4.1.0",
"is-unicode-supported": "^0.1.0"
@@ -1984,40 +1660,25 @@
}
},
"node_modules/loupe": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
- "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "version": "2.3.4",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-func-name": "^2.0.0"
}
},
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
"node_modules/magic-string": {
- "version": "0.27.0",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
- "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
+ "version": "0.25.9",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.13"
- },
- "engines": {
- "node": ">=12"
+ "sourcemap-codec": "^1.4.8"
}
},
"node_modules/make-dir": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"semver": "^6.0.0"
},
@@ -2045,32 +1706,30 @@
}
},
"node_modules/mathjs": {
- "version": "11.5.0",
- "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-11.5.0.tgz",
- "integrity": "sha512-vJ/+SqWtxjW6/aeDRt8xL3TlOVKqwN15BIyTGVqGbIWuiqgY4SxZ0yLuna82YH9CB757iFP7uJ4m3KvVBX7Qcg==",
+ "version": "10.4.3",
+ "license": "Apache-2.0",
"dependencies": {
- "@babel/runtime": "^7.20.6",
- "complex.js": "^2.1.1",
- "decimal.js": "^10.4.3",
+ "@babel/runtime": "^7.17.8",
+ "complex.js": "^2.1.0",
+ "decimal.js": "^10.3.1",
"escape-latex": "^1.2.0",
"fraction.js": "^4.2.0",
"javascript-natural-sort": "^0.7.1",
"seedrandom": "^3.0.5",
"tiny-emitter": "^2.1.0",
- "typed-function": "^4.1.0"
+ "typed-function": "^2.1.0"
},
"bin": {
"mathjs": "bin/cli.js"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 12"
}
},
"node_modules/minimatch": {
"version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -2079,39 +1738,41 @@
}
},
"node_modules/mocha": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz",
- "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+ "version": "9.2.2",
"dev": true,
+ "license": "MIT",
"dependencies": {
+ "@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1",
"browser-stdout": "1.3.1",
"chokidar": "3.5.3",
- "debug": "4.3.4",
+ "debug": "4.3.3",
"diff": "5.0.0",
"escape-string-regexp": "4.0.0",
"find-up": "5.0.0",
"glob": "7.2.0",
+ "growl": "1.10.5",
"he": "1.2.0",
"js-yaml": "4.1.0",
"log-symbols": "4.1.0",
- "minimatch": "5.0.1",
+ "minimatch": "4.2.1",
"ms": "2.1.3",
- "nanoid": "3.3.3",
+ "nanoid": "3.3.1",
"serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1",
"supports-color": "8.1.1",
- "workerpool": "6.2.1",
+ "which": "2.0.2",
+ "workerpool": "6.2.0",
"yargs": "16.2.0",
"yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0"
},
"bin": {
"_mocha": "bin/_mocha",
- "mocha": "bin/mocha.js"
+ "mocha": "bin/mocha"
},
"engines": {
- "node": ">= 14.0.0"
+ "node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
@@ -2120,58 +1781,13 @@
},
"node_modules/mocha/node_modules/argparse": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/mocha/node_modules/cliui": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
- "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^7.0.0"
- }
- },
- "node_modules/mocha/node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/mocha/node_modules/glob/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
+ "license": "Python-2.0"
},
"node_modules/mocha/node_modules/js-yaml": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -2180,31 +1796,20 @@
}
},
"node_modules/mocha/node_modules/minimatch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "version": "4.2.1",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "brace-expansion": "^1.1.7"
},
"engines": {
"node": ">=10"
}
},
- "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"node_modules/mocha/node_modules/yargs": {
"version": "16.2.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
- "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
@@ -2220,15 +1825,13 @@
},
"node_modules/ms": {
"version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/nanoid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
- "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+ "version": "3.3.1",
"dev": true,
+ "license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -2236,24 +1839,10 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/nise": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz",
- "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==",
- "dev": true,
- "dependencies": {
- "@sinonjs/commons": "^2.0.0",
- "@sinonjs/fake-timers": "^10.0.2",
- "@sinonjs/text-encoding": "^0.7.1",
- "just-extend": "^4.0.2",
- "path-to-regexp": "^1.7.0"
- }
- },
"node_modules/node-preload": {
"version": "0.2.1",
- "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
- "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"process-on-spawn": "^1.0.0"
},
@@ -2262,25 +1851,22 @@
}
},
"node_modules/node-releases": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz",
- "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==",
- "dev": true
+ "version": "2.0.3",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/nyc": {
"version": "15.1.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
- "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@istanbuljs/load-nyc-config": "^1.0.0",
"@istanbuljs/schema": "^0.1.2",
@@ -2319,9 +1905,8 @@
},
"node_modules/nyc/node_modules/cliui": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
@@ -2330,9 +1915,8 @@
},
"node_modules/nyc/node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -2341,31 +1925,10 @@
"node": ">=8"
}
},
- "node_modules/nyc/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/nyc/node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -2375,9 +1938,8 @@
},
"node_modules/nyc/node_modules/p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -2390,9 +1952,8 @@
},
"node_modules/nyc/node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -2402,9 +1963,8 @@
},
"node_modules/nyc/node_modules/wrap-ansi": {
"version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -2416,15 +1976,13 @@
},
"node_modules/nyc/node_modules/y18n": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
- "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/nyc/node_modules/yargs": {
"version": "15.4.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
@@ -2444,9 +2002,8 @@
},
"node_modules/nyc/node_modules/yargs-parser": {
"version": "18.1.3",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
@@ -2457,18 +2014,16 @@
},
"node_modules/once": {
"version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/p-limit": {
"version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -2481,9 +2036,8 @@
},
"node_modules/p-locate": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -2496,9 +2050,8 @@
},
"node_modules/p-map": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"aggregate-error": "^3.0.0"
},
@@ -2508,18 +2061,16 @@
},
"node_modules/p-try": {
"version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/package-hash": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
- "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"graceful-fs": "^4.1.15",
"hasha": "^5.0.0",
@@ -2532,71 +2083,54 @@
},
"node_modules/pako": {
"version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "license": "(MIT AND Zlib)"
},
"node_modules/path-exists": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/path-key": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/path-to-regexp": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
- "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "node_modules/path-parse": {
+ "version": "1.0.7",
"dev": true,
- "dependencies": {
- "isarray": "0.0.1"
- }
- },
- "node_modules/path-to-regexp/node_modules/isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
- "dev": true
+ "license": "MIT"
},
"node_modules/pathval": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
- "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
}
},
"node_modules/picocolors": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -2606,9 +2140,8 @@
},
"node_modules/pkg-dir": {
"version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"find-up": "^4.0.0"
},
@@ -2618,9 +2151,8 @@
},
"node_modules/pkg-dir/node_modules/find-up": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -2631,9 +2163,8 @@
},
"node_modules/pkg-dir/node_modules/locate-path": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -2643,9 +2174,8 @@
},
"node_modules/pkg-dir/node_modules/p-limit": {
"version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-try": "^2.0.0"
},
@@ -2658,9 +2188,8 @@
},
"node_modules/pkg-dir/node_modules/p-locate": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -2670,14 +2199,12 @@
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ "license": "MIT"
},
"node_modules/process-on-spawn": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
- "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fromentries": "^1.2.0"
},
@@ -2687,17 +2214,15 @@
},
"node_modules/randombytes": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"safe-buffer": "^5.1.0"
}
},
"node_modules/readable-stream": {
"version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -2710,9 +2235,8 @@
},
"node_modules/readdirp": {
"version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -2721,15 +2245,13 @@
}
},
"node_modules/regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+ "version": "0.13.9",
+ "license": "MIT"
},
"node_modules/release-zalgo": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
- "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"es6-error": "^4.0.1"
},
@@ -2739,32 +2261,44 @@
},
"node_modules/require-directory": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/require-main-filename": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.0",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/resolve-from": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/rimraf": {
"version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -2775,37 +2309,15 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rimraf/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/rollup": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.10.1.tgz",
- "integrity": "sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==",
+ "version": "2.70.2",
"dev": true,
+ "license": "MIT",
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
- "node": ">=14.18.0",
- "npm": ">=8.0.0"
+ "node": ">=10.0.0"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
@@ -2813,48 +2325,41 @@
},
"node_modules/safe-buffer": {
"version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "license": "MIT"
},
"node_modules/seedrandom": {
"version": "3.0.5",
- "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
- "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
+ "license": "MIT"
},
"node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "version": "6.3.0",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/serialize-javascript": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"randombytes": "^2.1.0"
}
},
"node_modules/set-blocking": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/setimmediate": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ "license": "MIT"
},
"node_modules/shebang-command": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -2864,63 +2369,34 @@
},
"node_modules/shebang-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/signal-exit": {
"version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
- "node_modules/sinon": {
- "version": "15.0.1",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.1.tgz",
- "integrity": "sha512-PZXKc08f/wcA/BMRGBze2Wmw50CWPiAH3E21EOi4B49vJ616vW4DQh4fQrqsYox2aNR/N3kCqLuB0PwwOucQrg==",
"dev": true,
- "dependencies": {
- "@sinonjs/commons": "^2.0.0",
- "@sinonjs/fake-timers": "10.0.2",
- "@sinonjs/samsam": "^7.0.1",
- "diff": "^5.0.0",
- "nise": "^5.1.2",
- "supports-color": "^7.2.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/sinon"
- }
- },
- "node_modules/sinon/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
+ "license": "ISC"
},
"node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "version": "0.5.7",
"dev": true,
+ "license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/spawn-wrap": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
- "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"foreground-child": "^2.0.0",
"is-windows": "^1.0.2",
@@ -2935,21 +2411,18 @@
},
"node_modules/sprintf-js": {
"version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
+ "license": "BSD-3-Clause"
},
"node_modules/string_decoder": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/string-width": {
"version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -2961,8 +2434,7 @@
},
"node_modules/strip-ansi": {
"version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -2972,18 +2444,16 @@
},
"node_modules/strip-bom": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/strip-json-comments": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -2993,9 +2463,8 @@
},
"node_modules/supports-color": {
"version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -3006,11 +2475,21 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/test-exclude": {
"version": "6.0.0",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"@istanbuljs/schema": "^0.1.2",
"glob": "^7.1.4",
@@ -3020,45 +2499,22 @@
"node": ">=8"
}
},
- "node_modules/test-exclude/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/tiny-emitter": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
- "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+ "license": "MIT"
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/to-regex-range": {
"version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -3068,92 +2524,57 @@
},
"node_modules/type-detect": {
"version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/type-fest": {
"version": "0.8.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=8"
}
},
"node_modules/typed-function": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-4.1.0.tgz",
- "integrity": "sha512-DGwUl6cioBW5gw2L+6SMupGwH/kZOqivy17E4nsh1JI9fKF87orMmlQx3KISQPmg3sfnOUGlwVkroosvgddrlg==",
+ "version": "2.1.0",
"engines": {
- "node": ">= 14"
+ "node": ">= 10"
}
},
"node_modules/typedarray-to-buffer": {
"version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-typedarray": "^1.0.0"
}
},
"node_modules/universalify": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "license": "MIT",
"engines": {
"node": ">= 10.0.0"
}
},
- "node_modules/update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- }
- ],
- "dependencies": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist-lint": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
"node_modules/util-deprecate": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "license": "MIT"
},
"node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "version": "3.4.0",
"dev": true,
+ "license": "MIT",
"bin": {
- "uuid": "dist/bin/uuid"
+ "uuid": "bin/uuid"
}
},
"node_modules/which": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -3166,20 +2587,17 @@
},
"node_modules/which-module": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/workerpool": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
- "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
- "dev": true
+ "version": "6.2.0",
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -3194,15 +2612,13 @@
},
"node_modules/wrappy": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/write-file-atomic": {
"version": "3.0.3",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"imurmurhash": "^0.1.4",
"is-typedarray": "^1.0.0",
@@ -3212,30 +2628,22 @@
},
"node_modules/y18n": {
"version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true
- },
"node_modules/yargs": {
- "version": "17.6.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz",
- "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==",
+ "version": "17.4.1",
+ "license": "MIT",
"dependencies": {
- "cliui": "^8.0.1",
+ "cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
+ "yargs-parser": "^21.0.0"
},
"engines": {
"node": ">=12"
@@ -3243,18 +2651,16 @@
},
"node_modules/yargs-parser": {
"version": "20.2.4",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
- "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
"dev": true,
+ "license": "ISC",
"engines": {
"node": ">=10"
}
},
"node_modules/yargs-unparser": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"camelcase": "^6.0.0",
"decamelize": "^4.0.0",
@@ -3267,9 +2673,8 @@
},
"node_modules/yargs-unparser/node_modules/camelcase": {
"version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -3279,9 +2684,8 @@
},
"node_modules/yargs-unparser/node_modules/decamelize": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -3290,18 +2694,16 @@
}
},
"node_modules/yargs/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "version": "21.0.1",
+ "license": "ISC",
"engines": {
"node": ">=12"
}
},
"node_modules/yocto-queue": {
"version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -3309,5 +2711,1701 @@
"url": "https://github.com/sponsors/sindresorhus"
}
}
+ },
+ "dependencies": {
+ "@ampproject/remapping": {
+ "version": "2.1.2",
+ "dev": true,
+ "requires": {
+ "@jridgewell/trace-mapping": "^0.3.0"
+ }
+ },
+ "@babel/code-frame": {
+ "version": "7.16.7",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.16.7"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.17.7",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.17.9",
+ "dev": true,
+ "requires": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.9",
+ "@babel/helper-compilation-targets": "^7.17.7",
+ "@babel/helper-module-transforms": "^7.17.7",
+ "@babel/helpers": "^7.17.9",
+ "@babel/parser": "^7.17.9",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.17.9",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.17.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.17.7",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.17.7",
+ "@babel/helper-validator-option": "^7.16.7",
+ "browserslist": "^4.17.5",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/helper-environment-visitor": {
+ "version": "7.16.7",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.17.9",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.17.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.16.7",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.16.7",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.17.7",
+ "dev": true,
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/helper-simple-access": "^7.17.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.3",
+ "@babel/types": "^7.17.0"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.17.7",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.17.0"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.16.7",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.16.7",
+ "dev": true
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.16.7",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.17.9",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.16.7",
+ "@babel/traverse": "^7.17.9",
+ "@babel/types": "^7.17.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.17.9",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.17.9",
+ "dev": true
+ },
+ "@babel/runtime": {
+ "version": "7.17.9",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/template": {
+ "version": "7.16.7",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.17.9",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.17.9",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.17.9",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.17.9",
+ "@babel/types": "^7.17.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.17.0",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.16.7",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@danmarshall/jscad-typings": {
+ "version": "1.0.0"
+ },
+ "@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ }
+ }
+ },
+ "@istanbuljs/schema": {
+ "version": "0.1.3",
+ "dev": true
+ },
+ "@jridgewell/resolve-uri": {
+ "version": "3.0.5",
+ "dev": true
+ },
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.11",
+ "dev": true
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.4",
+ "dev": true,
+ "requires": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "@rollup/plugin-commonjs": {
+ "version": "21.1.0",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "commondir": "^1.0.1",
+ "estree-walker": "^2.0.1",
+ "glob": "^7.1.6",
+ "is-reference": "^1.2.1",
+ "magic-string": "^0.25.7",
+ "resolve": "^1.17.0"
+ }
+ },
+ "@rollup/plugin-json": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "1.0.1",
+ "dev": true
+ }
+ }
+ },
+ "@types/bezier-js": {
+ "version": "0.0.6"
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "7.10.14"
+ },
+ "@types/opentype.js": {
+ "version": "0.7.2"
+ },
+ "@types/pdfkit": {
+ "version": "0.7.36",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@ungap/promise-all-settled": {
+ "version": "1.1.2",
+ "dev": true
+ },
+ "aggregate-error": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ }
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "5.0.1"
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "append-transform": {
+ "version": "2.0.0",
+ "dev": true,
+ "requires": {
+ "default-require-extensions": "^3.0.0"
+ }
+ },
+ "archy": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "assertion-error": {
+ "version": "1.1.0",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "bezier-js": {
+ "version": "2.6.1"
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-stdout": {
+ "version": "1.3.1",
+ "dev": true
+ },
+ "browserslist": {
+ "version": "4.20.2",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001317",
+ "electron-to-chromium": "^1.4.84",
+ "escalade": "^3.1.1",
+ "node-releases": "^2.0.2",
+ "picocolors": "^1.0.0"
+ }
+ },
+ "caching-transform": {
+ "version": "4.0.0",
+ "dev": true,
+ "requires": {
+ "hasha": "^5.0.0",
+ "make-dir": "^3.0.0",
+ "package-hash": "^4.0.0",
+ "write-file-atomic": "^3.0.0"
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001332",
+ "dev": true
+ },
+ "chai": {
+ "version": "4.3.6",
+ "dev": true,
+ "requires": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^3.0.1",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ }
+ },
+ "chai-as-promised": {
+ "version": "7.1.1",
+ "dev": true,
+ "requires": {
+ "check-error": "^1.0.2"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "7.2.0",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "check-error": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "clean-stack": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "clone": {
+ "version": "1.0.4"
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4"
+ },
+ "commondir": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "complex.js": {
+ "version": "2.1.1"
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.8.0",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.3"
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "debug": {
+ "version": "4.3.3",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.2",
+ "dev": true
+ }
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "dev": true
+ },
+ "decimal.js": {
+ "version": "10.3.1"
+ },
+ "deep-eql": {
+ "version": "3.0.1",
+ "dev": true,
+ "requires": {
+ "type-detect": "^4.0.0"
+ }
+ },
+ "default-require-extensions": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "strip-bom": "^4.0.0"
+ }
+ },
+ "diff": {
+ "version": "5.0.0",
+ "dev": true
+ },
+ "dir-compare": {
+ "version": "4.0.0",
+ "dev": true,
+ "requires": {
+ "minimatch": "^3.0.4",
+ "p-limit": "^3.1.0 "
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.4.111",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0"
+ },
+ "es6-error": {
+ "version": "4.1.1",
+ "dev": true
+ },
+ "escalade": {
+ "version": "3.1.1"
+ },
+ "escape-latex": {
+ "version": "1.2.0"
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "esprima": {
+ "version": "4.0.1"
+ },
+ "estree-walker": {
+ "version": "2.0.2",
+ "dev": true
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-cache-dir": {
+ "version": "3.3.2",
+ "dev": true,
+ "requires": {
+ "commondir": "^1.0.1",
+ "make-dir": "^3.0.2",
+ "pkg-dir": "^4.1.0"
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat": {
+ "version": "5.0.2",
+ "dev": true
+ },
+ "foreground-child": {
+ "version": "2.0.0",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "fraction.js": {
+ "version": "4.2.0"
+ },
+ "fromentries": {
+ "version": "1.3.2",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "10.0.1",
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "2.0.5"
+ },
+ "get-func-name": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "get-package-type": {
+ "version": "0.1.0",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.2.0",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "dev": true
+ },
+ "graceful-fs": {
+ "version": "4.2.10"
+ },
+ "graham_scan": {
+ "version": "1.0.4"
+ },
+ "growl": {
+ "version": "1.10.5",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "hasha": {
+ "version": "5.2.2",
+ "dev": true,
+ "requires": {
+ "is-stream": "^2.0.0",
+ "type-fest": "^0.8.0"
+ }
+ },
+ "he": {
+ "version": "1.2.0",
+ "dev": true
+ },
+ "html-escaper": {
+ "version": "2.0.2",
+ "dev": true
+ },
+ "immediate": {
+ "version": "3.0.6"
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4"
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-core-module": {
+ "version": "2.8.1",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0"
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "dev": true
+ },
+ "is-reference": {
+ "version": "1.2.1",
+ "dev": true,
+ "requires": {
+ "@types/estree": "*"
+ }
+ },
+ "is-stream": {
+ "version": "2.0.1",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "dev": true
+ },
+ "is-windows": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0"
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "istanbul-lib-coverage": {
+ "version": "3.2.0",
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "append-transform": "^2.0.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "istanbul-lib-processinfo": {
+ "version": "2.0.2",
+ "dev": true,
+ "requires": {
+ "archy": "^1.0.0",
+ "cross-spawn": "^7.0.0",
+ "istanbul-lib-coverage": "^3.0.0-alpha.1",
+ "make-dir": "^3.0.0",
+ "p-map": "^3.0.0",
+ "rimraf": "^3.0.0",
+ "uuid": "^3.3.3"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "7.2.0",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "3.1.4",
+ "dev": true,
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "javascript-natural-sort": {
+ "version": "0.7.1"
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.1"
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "jszip": {
+ "version": "3.10.1",
+ "requires": {
+ "lie": "~3.3.0",
+ "pako": "~1.0.2",
+ "readable-stream": "~2.3.6",
+ "setimmediate": "^1.0.5"
+ }
+ },
+ "kdbush": {
+ "version": "2.0.1"
+ },
+ "kle-serial": {
+ "version": "git+ssh://git@github.com/ergogen/kle-serial.git#61f29f317d87bbfed0b0b7e646e1b91d4384ac02",
+ "from": "kle-serial@github:ergogen/kle-serial#ergogen",
+ "requires": {
+ "json5": "^2.1.0"
+ }
+ },
+ "lie": {
+ "version": "3.3.0",
+ "requires": {
+ "immediate": "~3.0.5"
+ }
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "dev": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "lodash.flattendeep": {
+ "version": "4.4.0",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ }
+ },
+ "loupe": {
+ "version": "2.3.4",
+ "dev": true,
+ "requires": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.9",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "makerjs": {
+ "version": "git+ssh://git@github.com/ergogen/maker.js.git#a0ca32948845efe8ad5c9ca454f1285926853138",
+ "from": "makerjs@github:ergogen/maker.js#ergogen",
+ "requires": {
+ "@danmarshall/jscad-typings": "^1.0.0",
+ "@types/bezier-js": "^0.0.6",
+ "@types/node": "^7.0.5",
+ "@types/opentype.js": "^0.7.0",
+ "@types/pdfkit": "^0.7.34",
+ "bezier-js": "^2.1.0",
+ "clone": "^1.0.2",
+ "graham_scan": "^1.0.4",
+ "kdbush": "^2.0.1"
+ }
+ },
+ "mathjs": {
+ "version": "10.4.3",
+ "requires": {
+ "@babel/runtime": "^7.17.8",
+ "complex.js": "^2.1.0",
+ "decimal.js": "^10.3.1",
+ "escape-latex": "^1.2.0",
+ "fraction.js": "^4.2.0",
+ "javascript-natural-sort": "^0.7.1",
+ "seedrandom": "^3.0.5",
+ "tiny-emitter": "^2.1.0",
+ "typed-function": "^2.1.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "mocha": {
+ "version": "9.2.2",
+ "dev": true,
+ "requires": {
+ "@ungap/promise-all-settled": "1.1.2",
+ "ansi-colors": "4.1.1",
+ "browser-stdout": "1.3.1",
+ "chokidar": "3.5.3",
+ "debug": "4.3.3",
+ "diff": "5.0.0",
+ "escape-string-regexp": "4.0.0",
+ "find-up": "5.0.0",
+ "glob": "7.2.0",
+ "growl": "1.10.5",
+ "he": "1.2.0",
+ "js-yaml": "4.1.0",
+ "log-symbols": "4.1.0",
+ "minimatch": "4.2.1",
+ "ms": "2.1.3",
+ "nanoid": "3.3.1",
+ "serialize-javascript": "6.0.0",
+ "strip-json-comments": "3.1.1",
+ "supports-color": "8.1.1",
+ "which": "2.0.2",
+ "workerpool": "6.2.0",
+ "yargs": "16.2.0",
+ "yargs-parser": "20.2.4",
+ "yargs-unparser": "2.0.0"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "minimatch": {
+ "version": "4.2.1",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "dev": true,
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ }
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "dev": true
+ },
+ "nanoid": {
+ "version": "3.3.1",
+ "dev": true
+ },
+ "node-preload": {
+ "version": "0.2.1",
+ "dev": true,
+ "requires": {
+ "process-on-spawn": "^1.0.0"
+ }
+ },
+ "node-releases": {
+ "version": "2.0.3",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "nyc": {
+ "version": "15.1.0",
+ "dev": true,
+ "requires": {
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "caching-transform": "^4.0.0",
+ "convert-source-map": "^1.7.0",
+ "decamelize": "^1.2.0",
+ "find-cache-dir": "^3.2.0",
+ "find-up": "^4.1.0",
+ "foreground-child": "^2.0.0",
+ "get-package-type": "^0.1.0",
+ "glob": "^7.1.6",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-hook": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.0",
+ "istanbul-lib-processinfo": "^2.0.2",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "make-dir": "^3.0.0",
+ "node-preload": "^0.2.1",
+ "p-map": "^3.0.0",
+ "process-on-spawn": "^1.0.0",
+ "resolve-from": "^5.0.0",
+ "rimraf": "^3.0.0",
+ "signal-exit": "^3.0.2",
+ "spawn-wrap": "^2.0.0",
+ "test-exclude": "^6.0.0",
+ "yargs": "^15.0.2"
+ },
+ "dependencies": {
+ "cliui": {
+ "version": "6.0.0",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "y18n": {
+ "version": "4.0.3",
+ "dev": true
+ },
+ "yargs": {
+ "version": "15.4.1",
+ "dev": true,
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "p-map": {
+ "version": "3.0.0",
+ "dev": true,
+ "requires": {
+ "aggregate-error": "^3.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "dev": true
+ },
+ "package-hash": {
+ "version": "4.0.0",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.15",
+ "hasha": "^5.0.0",
+ "lodash.flattendeep": "^4.4.0",
+ "release-zalgo": "^1.0.0"
+ }
+ },
+ "pako": {
+ "version": "1.0.11"
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "dev": true
+ },
+ "pathval": {
+ "version": "1.1.1",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "4.2.0",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ }
+ }
+ },
+ "process-nextick-args": {
+ "version": "2.0.1"
+ },
+ "process-on-spawn": {
+ "version": "1.0.0",
+ "dev": true,
+ "requires": {
+ "fromentries": "^1.2.0"
+ }
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.9"
+ },
+ "release-zalgo": {
+ "version": "1.0.0",
+ "dev": true,
+ "requires": {
+ "es6-error": "^4.0.1"
+ }
+ },
+ "require-directory": {
+ "version": "2.1.1"
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.22.0",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "rollup": {
+ "version": "2.70.2",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2"
+ },
+ "seedrandom": {
+ "version": "3.0.5"
+ },
+ "semver": {
+ "version": "6.3.0",
+ "dev": true
+ },
+ "serialize-javascript": {
+ "version": "6.0.0",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "setimmediate": {
+ "version": "1.0.5"
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.7",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "dev": true
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "dev": true
+ },
+ "spawn-wrap": {
+ "version": "2.0.0",
+ "dev": true,
+ "requires": {
+ "foreground-child": "^2.0.0",
+ "is-windows": "^1.0.2",
+ "make-dir": "^3.0.0",
+ "rimraf": "^3.0.0",
+ "signal-exit": "^3.0.2",
+ "which": "^2.0.1"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3"
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-bom": {
+ "version": "4.0.0",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "dev": true
+ },
+ "test-exclude": {
+ "version": "6.0.0",
+ "dev": true,
+ "requires": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "tiny-emitter": {
+ "version": "2.1.0"
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "type-detect": {
+ "version": "4.0.8",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "dev": true
+ },
+ "typed-function": {
+ "version": "2.1.0"
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0"
+ },
+ "util-deprecate": {
+ "version": "1.0.2"
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "dev": true
+ },
+ "workerpool": {
+ "version": "6.2.0",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "y18n": {
+ "version": "5.0.8"
+ },
+ "yargs": {
+ "version": "17.4.1",
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ },
+ "dependencies": {
+ "yargs-parser": {
+ "version": "21.0.1"
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.4",
+ "dev": true
+ },
+ "yargs-unparser": {
+ "version": "2.0.0",
+ "dev": true,
+ "requires": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "6.3.0",
+ "dev": true
+ },
+ "decamelize": {
+ "version": "4.0.0",
+ "dev": true
+ }
+ }
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "dev": true
+ }
}
}
diff --git a/package.json b/package.json
index 8cd2a34..8c71779 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ergogen",
- "version": "4.0.5",
+ "version": "4.0.0",
"description": "Ergonomic keyboard layout generator",
"author": "Bán Dénes ",
"license": "MIT",
@@ -15,25 +15,24 @@
"coverage": "nyc --reporter=html --reporter=text npm test"
},
"dependencies": {
- "fs-extra": "^11.1.0",
+ "fs-extra": "^10.0.1",
"js-yaml": "^3.14.1",
"jszip": "^3.10.1",
"kle-serial": "github:ergogen/kle-serial#ergogen",
"makerjs": "github:ergogen/maker.js#ergogen",
- "mathjs": "^11.5.0",
- "yargs": "^17.6.2"
+ "mathjs": "^10.1.1",
+ "yargs": "^17.3.1"
},
"devDependencies": {
- "@rollup/plugin-commonjs": "^24.0.1",
- "@rollup/plugin-json": "^6.0.0",
- "chai": "^4.3.7",
+ "@rollup/plugin-commonjs": "^21.0.2",
+ "@rollup/plugin-json": "^4.1.0",
+ "chai": "^4.3.6",
"chai-as-promised": "^7.1.1",
"dir-compare": "^4.0.0",
- "glob": "^8.1.0",
- "mocha": "^10.2.0",
+ "glob": "^7.2.0",
+ "mocha": "^9.2.1",
"nyc": "^15.1.0",
- "rollup": "^3.10.1",
- "sinon": "^15.0.1"
+ "rollup": "^2.68.0"
},
"nyc": {
"all": true,
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..8151102
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,22 @@
+# Ergogen
+
+Ergogen is a keyboard generator that aims to provide a common configuration format to describe **ergonomic** 2D layouts, and generate automatic plates, cases, and (un-routed) PCBs for them.
+The project grew out of (and is an integral part of) the [Absolem keyboard](https://zealot.hu/absolem), and shares its [Discord server](https://discord.gg/nbKcAZB) as well.
+
+## Getting started
+
+Until there's a proper "Getting started" guide, try getting acquainted with ergogen by following these steps in order:
+
+1. Read the [docs](https://docs.ergogen.xyz). D'uuh. They're not complete by any measure, but should give you a fairly good idea what you're dealing with here.
+
+1. Try one of the web-based deployments ([official](https://ergogen.xyz); [unofficial](https://ergogen.cache.works/) but probably better and soon to be official) - no need to download the CLI unless you want to A) preview in-development features, B) use custom modifications, or C) contribute code. Click things, look at outputs; see if things start to make sense.
+
+1. Search the [`#ergogen`](https://github.com/topics/ergogen) topic on GitHub to look at (and reverse engineer) a variety of real life configs using ergogen. Pop them into the web UI, see what they do, tinker with them; things should start to make more and more sense.
+
+1. If a question persists after all of the above, feel free to ask it over on [Discord](https://discord.gg/nbKcAZB) and we'll do our best to help you out.
+
+
+## Contributions
+
+Feature ideas, documentation improvements, examples, tests, or pull requests welcome!
+Get in touch [on Discord](https://discord.gg/nbKcAZB), and we can definitely find something you can help with, if you'd like to.
diff --git a/roadmap.md b/roadmap.md
index aa1c837..3629cf0 100644
--- a/roadmap.md
+++ b/roadmap.md
@@ -14,10 +14,6 @@
### Minor
-- Support "direct" anchors, as in, recognize num arrays and parse them as x/y/r
-- Add `origin` to zone-wide and global rotation in points
-- Handle unnecessary (but seemingly consistent, so easy to confuse) `key` subfield of row-level overrides
-- Allow footprints to access raw array/object fields from points with templating
- Include raw kicad footprint integrations
- pull torik's script to be able to convert raw kicad footprints into positionable ergogen ones
- have a `dummy` footprint which can just be updated from schematic
diff --git a/rollup.config.mjs b/rollup.config.js
similarity index 90%
rename from rollup.config.mjs
rename to rollup.config.js
index 002aff5..95bc171 100644
--- a/rollup.config.mjs
+++ b/rollup.config.js
@@ -1,4 +1,4 @@
-import pkg from './package.json' assert { type: 'json' }
+import pkg from './package.json'
import json from '@rollup/plugin-json'
import commonjs from '@rollup/plugin-commonjs'
diff --git a/showcase.png b/showcase.png
deleted file mode 100644
index f3b928f..0000000
Binary files a/showcase.png and /dev/null differ
diff --git a/src/anchor.js b/src/anchor.js
index 3d892ee..e00c612 100644
--- a/src/anchor.js
+++ b/src/anchor.js
@@ -1,7 +1,6 @@
const u = require('./utils')
const a = require('./assert')
const Point = require('./point')
-const m = require('makerjs')
const mirror_ref = exports.mirror = (ref, mirror=true) => {
if (mirror) {
@@ -18,52 +17,15 @@ const aggregator_common = ['parts', 'method']
const aggregators = {
average: (config, name, parts) => {
a.unexpected(config, name, aggregator_common)
- const len = parts.length
- if (len == 0) {
- return new Point()
- }
let x = 0, y = 0, r = 0
+ const len = parts.length
for (const part of parts) {
x += part.x
y += part.y
r += part.r
}
return new Point(x / len, y / len, r / len)
- },
- intersect: (config, name, parts) => {
- // a line is generated from a point by taking their
- // (rotated) Y axis. The line is not extended to
- // +/- Infinity as that doesn't work with makerjs.
- // An arbitrary offset of 1 meter is considered
- // sufficient for practical purposes, and the point
- // coordinates are used as pivot point for the rotation.
- const get_line_from_point = (point, offset=1000) => {
- const origin = [point.x, point.y]
- const p1 = [point.x, point.y - offset]
- const p2 = [point.x, point.y + offset]
-
- let line = new m.paths.Line(p1, p2)
- line = m.path.rotate(line, point.r, origin)
-
- return line
- }
-
- a.unexpected(config, name, aggregator_common)
- a.assert(parts.length==2, `Intersect expects exactly two parts, but it got ${parts.length}!`)
-
- const line1 = get_line_from_point(parts[0])
- const line2 = get_line_from_point(parts[1])
- const intersection = m.path.intersection(line1, line2)
-
- a.assert(intersection, `The points under "${name}.parts" do not intersect!`)
-
- const intersection_point_arr = intersection.intersectionPoints[0]
- const intersection_point = new Point(
- intersection_point_arr[0], intersection_point_arr[1], 0
- )
-
- return intersection_point
- },
+ }
}
const anchor = exports.parse = (raw, name, points={}, start=new Point(), mirror=false) => units => {
@@ -91,7 +53,7 @@ const anchor = exports.parse = (raw, name, points={}, start=new Point(), mirror=
//
// Reference or aggregate handling
//
-
+
let point = start.clone()
if (raw.ref !== undefined && raw.aggregate !== undefined) {
throw new Error(`Fields "ref" and "aggregate" cannot appear together in anchor "${name}"!`)
diff --git a/src/cases.js b/src/cases.js
index 7fabbb1..f6342fc 100644
--- a/src/cases.js
+++ b/src/cases.js
@@ -69,19 +69,15 @@ exports.parse = (config, outlines, units) => {
const extrude = a.sane(part.extrude || 1, `${part_qname}.extrude`, 'number')(units)
const outline = outlines[name]
a.assert(outline, `Field "${part_qname}.name" does not name a valid outline!`)
- // This is a hack to separate multiple calls to the same outline with different extrude values
- // I know it needlessly duplicates a lot of code, but it's the quickest fix in the short term
- // And on the long run, we'll probably be moving to CADQuery anyway...
- const extruded_name = `${name}_extrude_` + ('' + extrude).replace(/\D/g, '_')
- if (!scripts[extruded_name]) {
- scripts[extruded_name] = m.exporter.toJscadScript(outline, {
- functionName: `${extruded_name}_outline_fn`,
+ if (!scripts[name]) {
+ scripts[name] = m.exporter.toJscadScript(outline, {
+ functionName: `${name}_outline_fn`,
extrude: extrude,
indent: 4
})
}
- outline_dependencies.push(extruded_name)
- base = `${extruded_name}_outline_fn()`
+ outline_dependencies.push(name)
+ base = `${name}_outline_fn()`
} else {
a.assert(part.extrude === undefined, `Field "${part_qname}.extrude" should not be used when what=case!`)
a.in(name, `${part_qname}.name`, Object.keys(cases))
diff --git a/src/cli.js b/src/cli.js
index fe0615b..bdaeac0 100755
--- a/src/cli.js
+++ b/src/cli.js
@@ -132,14 +132,12 @@ try {
// output helpers
-const yamldump = data => yaml.dump(data, {indent: 4, noRefs: true})
-
const single = (data, rel) => {
if (!data) return
const abs = path.join(args.o, rel)
fs.mkdirpSync(path.dirname(abs))
if (abs.endsWith('.yaml')) {
- fs.writeFileSync(abs, yamldump(data))
+ fs.writeFileSync(abs, yaml.dump(data, {indent: 4}))
} else {
fs.writeFileSync(abs, data)
}
@@ -150,7 +148,7 @@ const composite = (data, rel) => {
const abs = path.join(args.o, rel)
if (data.yaml) {
fs.mkdirpSync(path.dirname(abs))
- fs.writeFileSync(abs + '.yaml', yamldump(data.yaml))
+ fs.writeFileSync(abs + '.yaml', yaml.dump(data.yaml, {indent: 4}))
}
for (const format of ['svg', 'dxf', 'jscad']) {
if (data[format]) {
diff --git a/src/filter.js b/src/filter.js
index ca091b6..ca1ef01 100644
--- a/src/filter.js
+++ b/src/filter.js
@@ -9,8 +9,9 @@ const _false = () => false
const _and = arr => p => arr.map(e => e(p)).reduce((a, b) => a && b)
const _or = arr => p => arr.map(e => e(p)).reduce((a, b) => a || b)
-const similar = (keys, reference, name, units) => {
+const similar = (key, reference, name, units) => {
let neg = false
+
if (reference.startsWith('-')) {
neg = true
reference = reference.slice(1)
@@ -19,19 +20,15 @@ const similar = (keys, reference, name, units) => {
// support both string or regex as reference
let internal_tester = val => (''+val) == reference
if (reference.startsWith('/')) {
- try {
- const regex_parts = reference.split('/')
- regex_parts.shift() // remove starting slash
- const flags = regex_parts.pop()
- const regex = new RegExp(regex_parts.join('/'), flags)
- internal_tester = val => regex.test(''+val)
- } catch (ex) {
- throw new Error(`Invalid regex "${reference}" found at filter "${name}"!`)
- }
+ const regex_parts = reference.split('/')
+ regex_parts.shift() // remove starting slash
+ const flags = regex_parts.pop()
+ const regex = new RegExp(regex_parts.join('/'), flags)
+ internal_tester = val => regex.test(''+val)
}
// support strings, arrays, or objects as key
- const external_tester = (point, key) => {
+ const external_tester = point => {
const value = u.deep(point, key)
if (a.type(value)() == 'array') {
return value.some(subkey => internal_tester(subkey))
@@ -42,12 +39,11 @@ const similar = (keys, reference, name, units) => {
}
}
- // consider negation
+ // negation happens at the end
if (neg) {
- return point => keys.every(key => !external_tester(point, key))
- } else {
- return point => keys.some(key => external_tester(point, key))
+ return point => !external_tester(point)
}
+ return external_tester
}
const comparators = {
@@ -79,7 +75,7 @@ const simple = (exp, name, units) => {
value = exp
}
- return point => comparators[op](keys, value, name, units)(point)
+ return point => keys.some(key => comparators[op](key, value, name, units)(point))
}
const complex = (config, name, units, aggregator=_or) => {
@@ -113,7 +109,7 @@ const contains_object = (val) => {
}
exports.parse = (config, name, points={}, units={}, asym='source') => {
-
+
let result = []
// if a filter decl is undefined, it's just the default point at [0, 0]
@@ -127,11 +123,7 @@ exports.parse = (config, name, points={}, units={}, asym='source') => {
}
if (['clone', 'both'].includes(asym)) {
// this is strict: if the ref of the anchor doesn't have a mirror pair, it will error out
- // also, we check for duplicates as ref-less anchors mirror to themselves
- const clone = anchor(config, name, points, undefined, true)(units)
- if (result.every(p => !p.equals(clone))) {
- result.push(clone)
- }
+ result.push(anchor(config, name, points, undefined, true)(units))
}
// otherwise, it is treated as a condition to filter all available points
@@ -140,15 +132,9 @@ exports.parse = (config, name, points={}, units={}, asym='source') => {
if (['source', 'both'].includes(asym)) {
result = result.concat(source)
}
- if (['clone', 'both'].includes(asym)) {
+ if (['source', 'both'].includes(asym)) {
// this is permissive: we only include mirrored versions if they exist, and don't fuss if they don't
- // also, we check for duplicates as clones can potentially refer back to their sources, too
- const pool = result.map(p => p.meta.name)
- result = result.concat(
- source.map(p => points[anchor_lib.mirror(p.meta.name)])
- .filter(p => !!p)
- .filter(p => !pool.includes(p.meta.name))
- )
+ result = result.concat(source.map(p => points[anchor_lib.mirror(p.meta.name)]).filter(p => !!p))
}
}
diff --git a/src/footprints/alps.js b/src/footprints/alps.js
index e998a99..9ab6218 100644
--- a/src/footprints/alps.js
+++ b/src/footprints/alps.js
@@ -25,8 +25,8 @@ module.exports = {
(fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
${''/* pins */}
- (pad 1 thru_hole circle (at 2.5 -4.5) (size 2.25 2.25) (drill 1.47) (layers *.Cu *.Mask) ${p.from})
- (pad 2 thru_hole circle (at -2.5 -4) (size 2.25 2.25) (drill 1.47) (layers *.Cu *.Mask) ${p.to})
+ (pad 1 thru_hole circle (at 2.5 -4.5) (size 2.25 2.25) (drill 1.47) (layers *.Cu *.Mask) ${p.from.str})
+ (pad 2 thru_hole circle (at -2.5 -4) (size 2.25 2.25) (drill 1.47) (layers *.Cu *.Mask) ${p.to.str})
)
`
diff --git a/src/footprints/button.js b/src/footprints/button.js
index 25fc333..bbf7786 100644
--- a/src/footprints/button.js
+++ b/src/footprints/button.js
@@ -28,10 +28,10 @@ module.exports = {
(fp_line (start -2.75 -1.25) (end -2.75 1.25) (layer ${p.side}.SilkS) (width 0.15))
${'' /* pins */}
- (pad 1 smd rect (at -3.1 -1.85 ${p.r}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from})
- (pad 1 smd rect (at 3.1 -1.85 ${p.r}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from})
- (pad 2 smd rect (at -3.1 1.85 ${p.r}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to})
- (pad 2 smd rect (at 3.1 1.85 ${p.r}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to})
+ (pad 1 smd rect (at -3.1 -1.85 ${p.rot}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from.str})
+ (pad 1 smd rect (at 3.1 -1.85 ${p.rot}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from.str})
+ (pad 2 smd rect (at -3.1 1.85 ${p.rot}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to.str})
+ (pad 2 smd rect (at 3.1 1.85 ${p.rot}) (size 1.8 1.1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to.str})
)
`
diff --git a/src/footprints/choc.js b/src/footprints/choc.js
index 52484e5..792b1c8 100644
--- a/src/footprints/choc.js
+++ b/src/footprints/choc.js
@@ -62,14 +62,14 @@ module.exports = {
(pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
${'' /* net pads */}
- (pad 1 smd rect (at ${def_neg}3.275 -5.95 ${p.r}) (size 2.6 2.6) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.from})
- (pad 2 smd rect (at ${def_pos}8.275 -3.75 ${p.r}) (size 2.6 2.6) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.to})
+ (pad 1 smd rect (at ${def_neg}3.275 -5.95 ${p.rot}) (size 2.6 2.6) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.from.str})
+ (pad 2 smd rect (at ${def_pos}8.275 -3.75 ${p.rot}) (size 2.6 2.6) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.to.str})
`
} else {
return `
${''/* pins */}
- (pad 1 thru_hole circle (at ${def_pos}5 -3.8) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask) ${p.from})
- (pad 2 thru_hole circle (at ${def_pos}0 -5.9) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask) ${p.to})
+ (pad 1 thru_hole circle (at ${def_pos}5 -3.8) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask) ${p.from.str})
+ (pad 2 thru_hole circle (at ${def_pos}0 -5.9) (size 2.032 2.032) (drill 1.27) (layers *.Cu *.Mask) ${p.to.str})
`
}
}
diff --git a/src/footprints/chocmini.js b/src/footprints/chocmini.js
index 060bc52..b09b865 100644
--- a/src/footprints/chocmini.js
+++ b/src/footprints/chocmini.js
@@ -69,8 +69,8 @@ module.exports = {
function pins(def_neg, def_pos) {
return `
${''/* pins */}
- (pad 1 thru_hole circle (at ${def_neg}4.58 5.1) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) ${p.from} (clearance 0.2))
- (pad 2 thru_hole circle (at ${def_pos}2 5.4) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) ${p.to} (clearance 0.2))
+ (pad 1 thru_hole circle (at ${def_neg}4.58 5.1) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) ${p.from.str} (clearance 0.2))
+ (pad 2 thru_hole circle (at ${def_pos}2 5.4) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) ${p.to.str} (clearance 0.2))
`
}
if(p.reverse){
diff --git a/src/footprints/diode.js b/src/footprints/diode.js
index 16d4288..741b747 100644
--- a/src/footprints/diode.js
+++ b/src/footprints/diode.js
@@ -32,14 +32,14 @@ module.exports = {
(fp_line (start -0.75 0) (end -0.35 0) (layer B.SilkS) (width 0.1))
${''/* SMD pads on both sides */}
- (pad 1 smd rect (at -1.65 0 ${p.r}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.to})
- (pad 2 smd rect (at 1.65 0 ${p.r}) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) ${p.from})
- (pad 1 smd rect (at -1.65 0 ${p.r}) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) ${p.to})
- (pad 2 smd rect (at 1.65 0 ${p.r}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.from})
+ (pad 1 smd rect (at -1.65 0 ${p.rot}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.to.str})
+ (pad 2 smd rect (at 1.65 0 ${p.rot}) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) ${p.from.str})
+ (pad 1 smd rect (at -1.65 0 ${p.rot}) (size 0.9 1.2) (layers B.Cu B.Paste B.Mask) ${p.to.str})
+ (pad 2 smd rect (at 1.65 0 ${p.rot}) (size 0.9 1.2) (layers F.Cu F.Paste F.Mask) ${p.from.str})
${''/* THT terminals */}
- (pad 1 thru_hole rect (at -3.81 0 ${p.r}) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) ${p.to})
- (pad 2 thru_hole circle (at 3.81 0 ${p.r}) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) ${p.from})
+ (pad 1 thru_hole rect (at -3.81 0 ${p.rot}) (size 1.778 1.778) (drill 0.9906) (layers *.Cu *.Mask) ${p.to.str})
+ (pad 2 thru_hole circle (at 3.81 0 ${p.rot}) (size 1.905 1.905) (drill 0.9906) (layers *.Cu *.Mask) ${p.from.str})
)
`
diff --git a/src/footprints/jstph.js b/src/footprints/jstph.js
index 7bdac1d..c93bb6a 100644
--- a/src/footprints/jstph.js
+++ b/src/footprints/jstph.js
@@ -30,8 +30,8 @@ module.exports = {
(fp_line (start -1 1.5) (end -1 2.0) (layer ${p.side}.SilkS) (width 0.15))
(fp_line (start -1.25 1.75) (end -0.75 1.75) (layer ${p.side}.SilkS) (width 0.15))
- (pad 1 thru_hole rect (at -1 0 ${p.r}) (size 1.2 1.7) (drill 0.75) (layers *.Cu *.Mask) ${p.pos})
- (pad 2 thru_hole oval (at 1 0 ${p.r}) (size 1.2 1.7) (drill 0.75) (layers *.Cu *.Mask) ${p.neg})
+ (pad 1 thru_hole rect (at -1 0 ${p.rot}) (size 1.2 1.7) (drill 0.75) (layers *.Cu *.Mask) ${p.pos.str})
+ (pad 2 thru_hole oval (at 1 0 ${p.rot}) (size 1.2 1.7) (drill 0.75) (layers *.Cu *.Mask) ${p.neg.str})
)
diff --git a/src/footprints/jumper.js b/src/footprints/jumper.js
index f5203e2..22b7d40 100644
--- a/src/footprints/jumper.js
+++ b/src/footprints/jumper.js
@@ -14,9 +14,9 @@ module.exports = {
(fp_text value Jumper (at 0 -7.3) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
${'' /* pins */}
- (pad 1 smd rect (at -0.50038 0 ${p.r}) (size 0.635 1.143) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- (clearance 0.1905) ${p.from})
- (pad 2 smd rect (at 0.50038 0 ${p.r}) (size 0.635 1.143) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- (clearance 0.1905) ${p.to}))
+ (pad 1 smd rect (at -0.50038 0 ${p.rot}) (size 0.635 1.143) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ (clearance 0.1905) ${p.from.str})
+ (pad 2 smd rect (at 0.50038 0 ${p.rot}) (size 0.635 1.143) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ (clearance 0.1905) ${p.to.str}))
`
}
\ No newline at end of file
diff --git a/src/footprints/mx.js b/src/footprints/mx.js
index 458b999..11d8de8 100644
--- a/src/footprints/mx.js
+++ b/src/footprints/mx.js
@@ -62,14 +62,14 @@ module.exports = {
(pad "" np_thru_hole circle (at ${def_neg}3.81 -2.54) (size 3 3) (drill 3) (layers *.Cu *.Mask))
${'' /* net pads */}
- (pad 1 smd rect (at ${def_neg}7.085 -2.54 ${p.r}) (size 2.55 2.5) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.from})
- (pad 2 smd rect (at ${def_pos}5.842 -5.08 ${p.r}) (size 2.55 2.5) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.to})
+ (pad 1 smd rect (at ${def_neg}7.085 -2.54 ${p.rot}) (size 2.55 2.5) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.from.str})
+ (pad 2 smd rect (at ${def_pos}5.842 -5.08 ${p.rot}) (size 2.55 2.5) (layers ${def_side}.Cu ${def_side}.Paste ${def_side}.Mask) ${p.to.str})
`
} else {
return `
${''/* pins */}
- (pad 1 thru_hole circle (at ${def_pos}2.54 -5.08) (size 2.286 2.286) (drill 1.4986) (layers *.Cu *.Mask) ${p.from})
- (pad 2 thru_hole circle (at ${def_neg}3.81 -2.54) (size 2.286 2.286) (drill 1.4986) (layers *.Cu *.Mask) ${p.to})
+ (pad 1 thru_hole circle (at ${def_pos}2.54 -5.08) (size 2.286 2.286) (drill 1.4986) (layers *.Cu *.Mask) ${p.from.str})
+ (pad 2 thru_hole circle (at ${def_neg}3.81 -2.54) (size 2.286 2.286) (drill 1.4986) (layers *.Cu *.Mask) ${p.to.str})
`
}
}
diff --git a/src/footprints/oled.js b/src/footprints/oled.js
index 3addacf..5a8a536 100644
--- a/src/footprints/oled.js
+++ b/src/footprints/oled.js
@@ -16,14 +16,14 @@ module.exports = {
(fp_text value OLED (at 0 -7.3) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
${'' /* pins */}
- (pad 4 thru_hole oval (at 1.6 2.18 ${p.r+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
- ${p.SDA})
- (pad 3 thru_hole oval (at 1.6 4.72 ${p.r+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
- ${p.SCL})
- (pad 2 thru_hole oval (at 1.6 7.26 ${p.r+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
- ${p.VCC})
- (pad 1 thru_hole rect (at 1.6 9.8 ${p.r+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
- ${p.GND})
+ (pad 4 thru_hole oval (at 1.6 2.18 ${p.rot+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
+ ${p.SDA.str})
+ (pad 3 thru_hole oval (at 1.6 4.72 ${p.rot+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
+ ${p.SCL.str})
+ (pad 2 thru_hole oval (at 1.6 7.26 ${p.rot+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
+ ${p.VCC.str})
+ (pad 1 thru_hole rect (at 1.6 9.8 ${p.rot+270}) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)
+ ${p.GND.str})
)
`
}
\ No newline at end of file
diff --git a/src/footprints/omron.js b/src/footprints/omron.js
index ff95eba..7669c6c 100644
--- a/src/footprints/omron.js
+++ b/src/footprints/omron.js
@@ -24,10 +24,10 @@ module.exports = {
(fp_line (start -6 6) (end -6 -6) (layer Dwgs.User) (width 0.15))
${'' /* pins */}
- (pad 1 np_thru_hole circle (at 6.25 -2.5) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.from})
- (pad 2 np_thru_hole circle (at -6.25 -2.5) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.from})
- (pad 3 np_thru_hole circle (at 6.25 2.5) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.to})
- (pad 4 np_thru_hole circle (at -6.25 2.5 ) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.to})
+ (pad 1 np_thru_hole circle (at 6.25 -2.5) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.from.str})
+ (pad 2 np_thru_hole circle (at -6.25 -2.5) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.from.str})
+ (pad 3 np_thru_hole circle (at 6.25 2.5) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.to.str})
+ (pad 4 np_thru_hole circle (at -6.25 2.5 ) (size 1.2 1.2) (drill 1.2) (layers *.Cu *.Mask) ${p.to.str})
)
`
diff --git a/src/footprints/pad.js b/src/footprints/pad.js
index 34d5cb9..debfe8b 100644
--- a/src/footprints/pad.js
+++ b/src/footprints/pad.js
@@ -28,9 +28,9 @@ module.exports = {
if (align == 'down') y -= p.height / 2 + plus
let text = ''
if (p.text.length) {
- text = `(fp_text user ${p.text} (at ${x} ${y} ${p.r}) (layer ${side}.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15)) ${mirror}))`
+ text = `(fp_text user ${p.text} (at ${x} ${y} ${p.rot}) (layer ${side}.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15)) ${mirror}))`
}
- return `(pad 1 smd rect (at 0 0 ${p.r}) (size ${p.width} ${p.height}) (layers ${side}.Cu ${side}.Paste ${side}.Mask) ${p.net})\n${text}`
+ return `(pad 1 smd rect (at 0 0 ${p.rot}) (size ${p.width} ${p.height}) (layers ${side}.Cu ${side}.Paste ${side}.Mask) ${p.net.str})\n${text}`
}
return `
diff --git a/src/footprints/promicro.js b/src/footprints/promicro.js
index fc11a5c..6d55c0c 100644
--- a/src/footprints/promicro.js
+++ b/src/footprints/promicro.js
@@ -60,58 +60,58 @@ module.exports = {
(fp_line (start -12.7 ${def_pos}6.35) (end -12.7 ${def_pos}8.89) (layer F.SilkS) (width 0.15))
${''/* pin names */}
- (fp_text user RAW (at -13.97 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user GND (at -11.43 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user RST (at -8.89 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user VCC (at -6.35 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P21 (at -3.81 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P20 (at -1.27 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P19 (at 1.27 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P18 (at 3.81 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P15 (at 6.35 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P14 (at 8.89 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P16 (at 11.43 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P10 (at 13.97 ${def_pos}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user RAW (at -13.97 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user GND (at -11.43 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user RST (at -8.89 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user VCC (at -6.35 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P21 (at -3.81 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P20 (at -1.27 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P19 (at 1.27 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P18 (at 3.81 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P15 (at 6.35 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P14 (at 8.89 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P16 (at 11.43 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P10 (at 13.97 ${def_pos}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P01 (at -13.97 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P00 (at -11.43 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user GND (at -8.89 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user GND (at -6.35 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P02 (at -3.81 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P03 (at -1.27 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P04 (at 1.27 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P05 (at 3.81 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P06 (at 6.35 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P07 (at 8.89 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P08 (at 11.43 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
- (fp_text user P09 (at 13.97 ${def_neg}4.8 ${p.r + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P01 (at -13.97 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P00 (at -11.43 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user GND (at -8.89 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user GND (at -6.35 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P02 (at -3.81 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P03 (at -1.27 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P04 (at 1.27 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P05 (at 3.81 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P06 (at 6.35 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P07 (at 8.89 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P08 (at 11.43 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
+ (fp_text user P09 (at 13.97 ${def_neg}4.8 ${p.rot + 90}) (layer F.SilkS) (effects (font (size 0.8 0.8) (thickness 0.15))))
${''/* and now the actual pins */}
- (pad 1 thru_hole rect (at -13.97 ${def_pos}7.62 ${p.r}) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.RAW})
- (pad 2 thru_hole circle (at -11.43 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.GND})
- (pad 3 thru_hole circle (at -8.89 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.RST})
- (pad 4 thru_hole circle (at -6.35 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.VCC})
- (pad 5 thru_hole circle (at -3.81 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P21})
- (pad 6 thru_hole circle (at -1.27 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P20})
- (pad 7 thru_hole circle (at 1.27 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P19})
- (pad 8 thru_hole circle (at 3.81 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P18})
- (pad 9 thru_hole circle (at 6.35 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P15})
- (pad 10 thru_hole circle (at 8.89 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P14})
- (pad 11 thru_hole circle (at 11.43 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P16})
- (pad 12 thru_hole circle (at 13.97 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P10})
+ (pad 1 thru_hole rect (at -13.97 ${def_pos}7.62 ${p.rot}) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.RAW.str})
+ (pad 2 thru_hole circle (at -11.43 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.GND.str})
+ (pad 3 thru_hole circle (at -8.89 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.RST.str})
+ (pad 4 thru_hole circle (at -6.35 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.VCC.str})
+ (pad 5 thru_hole circle (at -3.81 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P21.str})
+ (pad 6 thru_hole circle (at -1.27 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P20.str})
+ (pad 7 thru_hole circle (at 1.27 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P19.str})
+ (pad 8 thru_hole circle (at 3.81 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P18.str})
+ (pad 9 thru_hole circle (at 6.35 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P15.str})
+ (pad 10 thru_hole circle (at 8.89 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P14.str})
+ (pad 11 thru_hole circle (at 11.43 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P16.str})
+ (pad 12 thru_hole circle (at 13.97 ${def_pos}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P10.str})
- (pad 13 thru_hole circle (at -13.97 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P1})
- (pad 14 thru_hole circle (at -11.43 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P0})
- (pad 15 thru_hole circle (at -8.89 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.GND})
- (pad 16 thru_hole circle (at -6.35 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.GND})
- (pad 17 thru_hole circle (at -3.81 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P2})
- (pad 18 thru_hole circle (at -1.27 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P3})
- (pad 19 thru_hole circle (at 1.27 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P4})
- (pad 20 thru_hole circle (at 3.81 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P5})
- (pad 21 thru_hole circle (at 6.35 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P6})
- (pad 22 thru_hole circle (at 8.89 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P7})
- (pad 23 thru_hole circle (at 11.43 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P8})
- (pad 24 thru_hole circle (at 13.97 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P9})
+ (pad 13 thru_hole circle (at -13.97 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P1.str})
+ (pad 14 thru_hole circle (at -11.43 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P0.str})
+ (pad 15 thru_hole circle (at -8.89 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.GND.str})
+ (pad 16 thru_hole circle (at -6.35 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.GND.str})
+ (pad 17 thru_hole circle (at -3.81 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P2.str})
+ (pad 18 thru_hole circle (at -1.27 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P3.str})
+ (pad 19 thru_hole circle (at 1.27 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P4.str})
+ (pad 20 thru_hole circle (at 3.81 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P5.str})
+ (pad 21 thru_hole circle (at 6.35 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P6.str})
+ (pad 22 thru_hole circle (at 8.89 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P7.str})
+ (pad 23 thru_hole circle (at 11.43 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P8.str})
+ (pad 24 thru_hole circle (at 13.97 ${def_neg}7.62 0) (size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.SilkS *.Mask) ${p.P9.str})
`
}
if(p.orientation == 'down') {
diff --git a/src/footprints/rgb.js b/src/footprints/rgb.js
index 12e19ff..45be1b0 100644
--- a/src/footprints/rgb.js
+++ b/src/footprints/rgb.js
@@ -29,15 +29,15 @@ module.exports = {
(fp_poly (pts (xy 4 2.2) (xy 4 0.375) (xy 5 1.2875)) (layer ${p.side}.SilkS) (width 0.1))
- (pad 1 smd rect (at -2.2 -0.875 ${p.r}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.VCC})
- (pad 2 smd rect (at -2.2 0.875 ${p.r}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.dout})
- (pad 3 smd rect (at 2.2 0.875 ${p.r}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.GND})
- (pad 4 smd rect (at 2.2 -0.875 ${p.r}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.din})
+ (pad 1 smd rect (at -2.2 -0.875 ${p.rot}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.VCC.str})
+ (pad 2 smd rect (at -2.2 0.875 ${p.rot}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.dout.str})
+ (pad 3 smd rect (at 2.2 0.875 ${p.rot}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.GND.str})
+ (pad 4 smd rect (at 2.2 -0.875 ${p.rot}) (size 2.6 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.din.str})
- (pad 11 smd rect (at -2.5 -1.6 ${p.r}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.VCC})
- (pad 22 smd rect (at -2.5 1.6 ${p.r}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.dout})
- (pad 33 smd rect (at 2.5 1.6 ${p.r}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.GND})
- (pad 44 smd rect (at 2.5 -1.6 ${p.r}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.din})
+ (pad 11 smd rect (at -2.5 -1.6 ${p.rot}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.VCC.str})
+ (pad 22 smd rect (at -2.5 1.6 ${p.rot}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.dout.str})
+ (pad 33 smd rect (at 2.5 1.6 ${p.rot}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.GND.str})
+ (pad 44 smd rect (at 2.5 -1.6 ${p.rot}) (size 2 1.2) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.din.str})
)
diff --git a/src/footprints/rotary.js b/src/footprints/rotary.js
index 771eeea..60092bf 100644
--- a/src/footprints/rotary.js
+++ b/src/footprints/rotary.js
@@ -56,15 +56,15 @@ module.exports = {
(fp_circle (center -0.12 -0.04) (end 2.88 -0.04) (layer F.Fab) (width 0.12))
${''/* pin names */}
- (pad A thru_hole rect (at -7.62 -2.54 ${p.r}) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.A})
- (pad C thru_hole circle (at -7.62 -0.04) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.C})
- (pad B thru_hole circle (at -7.62 2.46) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.B})
- (pad 1 thru_hole circle (at 6.88 -2.54) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) ${p.from})
- (pad 2 thru_hole circle (at 6.88 2.46) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) ${p.to})
+ (pad A thru_hole rect (at -7.62 -2.54 ${p.rot}) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.A.str})
+ (pad C thru_hole circle (at -7.62 -0.04) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.C.str})
+ (pad B thru_hole circle (at -7.62 2.46) (size 2 2) (drill 1) (layers *.Cu *.Mask) ${p.B.str})
+ (pad 1 thru_hole circle (at 6.88 -2.54) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) ${p.from.str})
+ (pad 2 thru_hole circle (at 6.88 2.46) (size 1.5 1.5) (drill 1) (layers *.Cu *.Mask) ${p.to.str})
${''/* Legs */}
- (pad "" thru_hole rect (at -0.12 -5.64 ${p.r}) (size 3.2 2) (drill oval 2.8 1.5) (layers *.Cu *.Mask))
- (pad "" thru_hole rect (at -0.12 5.56 ${p.r}) (size 3.2 2) (drill oval 2.8 1.5) (layers *.Cu *.Mask))
+ (pad "" thru_hole rect (at -0.12 -5.64 ${p.rot}) (size 3.2 2) (drill oval 2.8 1.5) (layers *.Cu *.Mask))
+ (pad "" thru_hole rect (at -0.12 5.56 ${p.rot}) (size 3.2 2) (drill oval 2.8 1.5) (layers *.Cu *.Mask))
)
`
}
diff --git a/src/footprints/scrollwheel.js b/src/footprints/scrollwheel.js
index e7cc2de..3024d29 100644
--- a/src/footprints/scrollwheel.js
+++ b/src/footprints/scrollwheel.js
@@ -35,8 +35,8 @@ module.exports = {
const standard = `
(module RollerEncoder_Panasonic_EVQWGD001 (layer F.Cu) (tedit 6040A10C)
${p.at /* parametric position */}
- (fp_text reference REF** (at 0 0 ${p.r}) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
- (fp_text value RollerEncoder_Panasonic_EVQWGD001 (at -0.1 9 ${p.r}) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
+ (fp_text reference REF** (at 0 0 ${p.rot}) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
+ (fp_text value RollerEncoder_Panasonic_EVQWGD001 (at -0.1 9 ${p.rot}) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
${'' /* corner marks */}
(fp_line (start -8.4 -6.4) (end 8.4 -6.4) (layer Dwgs.User) (width 0.12))
@@ -57,15 +57,15 @@ module.exports = {
(fp_arc (start ${def_pos}9.5 -6.3) (end ${def_pos}9.8 -6.3) (angle ${def_neg}90) (layer Edge.Cuts) (width 0.15))
${'' /* pins */}
- (pad S1 thru_hole circle (at ${def_neg}6.85 -6.2 ${p.r}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.from})
- (pad S2 thru_hole circle (at ${def_neg}5 -6.2 ${p.r}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.to})
- (pad A thru_hole circle (at ${def_neg}5.625 -3.81 ${p.r}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.A})
- (pad B thru_hole circle (at ${def_neg}5.625 -1.27 ${p.r}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.B})
- (pad C thru_hole circle (at ${def_neg}5.625 1.27 ${p.r}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.C})
- (pad D thru_hole circle (at ${def_neg}5.625 3.81 ${p.r}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.D})
+ (pad S1 thru_hole circle (at ${def_neg}6.85 -6.2 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.from.str})
+ (pad S2 thru_hole circle (at ${def_neg}5 -6.2 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.to.str})
+ (pad A thru_hole circle (at ${def_neg}5.625 -3.81 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.A.str})
+ (pad B thru_hole circle (at ${def_neg}5.625 -1.27 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.B.str})
+ (pad C thru_hole circle (at ${def_neg}5.625 1.27 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.C.str})
+ (pad D thru_hole circle (at ${def_neg}5.625 3.81 ${p.rot}) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) ${p.D.str})
${'' /* stabilizer */}
- (pad "" np_thru_hole circle (at ${def_neg}5.625 6.3 ${p.r}) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
+ (pad "" np_thru_hole circle (at ${def_neg}5.625 6.3 ${p.rot}) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
`
}
if(p.reverse) {
diff --git a/src/footprints/slider.js b/src/footprints/slider.js
index 12b3fd9..fa117fd 100644
--- a/src/footprints/slider.js
+++ b/src/footprints/slider.js
@@ -38,15 +38,15 @@ module.exports = {
(pad "" np_thru_hole circle (at -1.5 0) (size 1 1) (drill 0.9) (layers *.Cu *.Mask))
${'' /* pins */}
- (pad 1 smd rect (at ${right}2.25 2.075 ${p.r}) (size 0.9 1.25) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from})
- (pad 2 smd rect (at ${left}0.75 2.075 ${p.r}) (size 0.9 1.25) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to})
- (pad 3 smd rect (at ${left}2.25 2.075 ${p.r}) (size 0.9 1.25) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
+ (pad 1 smd rect (at ${right}2.25 2.075 ${p.rot}) (size 0.9 1.25) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from.str})
+ (pad 2 smd rect (at ${left}0.75 2.075 ${p.rot}) (size 0.9 1.25) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to.str})
+ (pad 3 smd rect (at ${left}2.25 2.075 ${p.rot}) (size 0.9 1.25) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
${'' /* side mounts */}
- (pad "" smd rect (at 3.7 -1.1 ${p.r}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
- (pad "" smd rect (at 3.7 1.1 ${p.r}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
- (pad "" smd rect (at -3.7 1.1 ${p.r}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
- (pad "" smd rect (at -3.7 -1.1 ${p.r}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
+ (pad "" smd rect (at 3.7 -1.1 ${p.rot}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
+ (pad "" smd rect (at 3.7 1.1 ${p.rot}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
+ (pad "" smd rect (at -3.7 1.1 ${p.rot}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
+ (pad "" smd rect (at -3.7 -1.1 ${p.rot}) (size 0.9 0.9) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask))
)
`
diff --git a/src/footprints/trrs.js b/src/footprints/trrs.js
index ede0002..6728e7b 100644
--- a/src/footprints/trrs.js
+++ b/src/footprints/trrs.js
@@ -71,10 +71,10 @@ module.exports = {
}
function pins(def_neg, def_pos) {
return `
- (pad 1 thru_hole oval (at ${def_neg} 11.3 ${p.r}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.A})
- (pad 2 thru_hole oval (at ${def_pos} 10.2 ${p.r}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.B})
- (pad 3 thru_hole oval (at ${def_pos} 6.2 ${p.r}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.C})
- (pad 4 thru_hole oval (at ${def_pos} 3.2 ${p.r}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.D})
+ (pad 1 thru_hole oval (at ${def_neg} 11.3 ${p.rot}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.A.str})
+ (pad 2 thru_hole oval (at ${def_pos} 10.2 ${p.rot}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.B.str})
+ (pad 3 thru_hole oval (at ${def_pos} 6.2 ${p.rot}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.C.str})
+ (pad 4 thru_hole oval (at ${def_pos} 3.2 ${p.rot}) (size 1.6 2.2) (drill oval 0.9 1.5) (layers *.Cu *.Mask) ${p.D.str})
`
}
if(p.reverse & p.symmetric) {
diff --git a/src/footprints/via.js b/src/footprints/via.js
index 1b6dc5c..c83924a 100644
--- a/src/footprints/via.js
+++ b/src/footprints/via.js
@@ -14,7 +14,7 @@ module.exports = {
(fp_text value VIA-0.6mm (at 0 -1.4) (layer F.Fab) hide (effects (font (size 1 1) (thickness 0.15))))
${'' /* via */}
- (pad 1 thru_hole circle (at 0 0) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (zone_connect 2) ${p.net})
+ (pad 1 thru_hole circle (at 0 0) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (zone_connect 2) ${p.net.str})
)
`
}
\ No newline at end of file
diff --git a/src/outlines.js b/src/outlines.js
index f837cde..c1e675e 100644
--- a/src/outlines.js
+++ b/src/outlines.js
@@ -136,15 +136,20 @@ const whats = {
outline
}
-const expand_shorthand = (config, name, units) => {
+const expand_shorthand = (config, units) => {
if (a.type(config.expand)(units) == 'string') {
const prefix = config.expand.slice(0, -1)
const suffix = config.expand.slice(-1)
- const valid_suffixes = [')', '>', ']']
- a.assert(valid_suffixes.includes(suffix), `If field "${name}" is a string, ` +
- `it should end with one of [${valid_suffixes.map(s => `'${s}'`).join(', ')}]!`)
- config.expand = prefix
- config.joints = config.joints || valid_suffixes.indexOf(suffix)
+ let expand = suffix
+ let joints = 0
+
+ if (suffix == ')') ; // noop
+ else if (suffix == '>') joints = 1
+ else if (suffix == ']') joints = 2
+ else expand = config.expand
+
+ config.expand = parseFloat(expand)
+ config.joints = config.joints || joints
}
if (a.type(config.joints)(units) == 'string') {
@@ -154,7 +159,7 @@ const expand_shorthand = (config, name, units) => {
}
}
-exports.parse = (config, points, units) => {
+exports.parse = (config = {}, points = {}, units = {}) => {
// output outlines will be collected here
const outlines = {}
@@ -194,8 +199,9 @@ exports.parse = (config, points, units) => {
const where = units => filter(original_where, `${name}.where`, points, units, asym)
const original_adjust = part.adjust // same as above
+ const adjust = start => anchor(original_adjust || {}, `${name}.adjust`, points, start)(units)
const fillet = a.sane(part.fillet || 0, `${name}.fillet`, 'number')(units)
- expand_shorthand(part, `${name}.expand`, units)
+ expand_shorthand(part, units)
const expand = a.sane(part.expand || 0, `${name}.expand`, 'number')(units)
const joints = a.in(a.sane(part.joints || 0, `${name}.joints`, 'number')(units), `${name}.joints`, [0, 1, 2])
const scale = a.sane(part.scale || 1, `${name}.scale`, 'number')(units)
@@ -214,7 +220,6 @@ exports.parse = (config, points, units) => {
// a prototype "shape" maker (and its units) are computed
const [shape_maker, shape_units] = whats[what](part, name, points, outlines, units)
- const adjust = start => anchor(original_adjust || {}, `${name}.adjust`, points, start)(shape_units)
// and then the shape is repeated for all where positions
for (const w of where(shape_units)) {
diff --git a/src/pcbs.js b/src/pcbs.js
index 59515d7..3289d12 100644
--- a/src/pcbs.js
+++ b/src/pcbs.js
@@ -1,6 +1,4 @@
const m = require('makerjs')
-const yaml = require('js-yaml')
-
const u = require('./utils')
const a = require('./assert')
const prep = require('./prepare')
@@ -117,7 +115,7 @@ const kicad_netclass = `
)
`
-const makerjs2kicad = exports._makerjs2kicad = (model, layer) => {
+const makerjs2kicad = exports._makerjs2kicad = (model, layer='Edge.Cuts') => {
const grs = []
const xy = val => `${val[0]} ${-val[1]}`
m.model.walk(model, {
@@ -153,24 +151,6 @@ exports.inject_footprint = (name, fp) => {
footprint_types[name] = fp
}
-const xy_obj = (x, y) => {
- return {
- x,
- y,
- str: `${x} ${y}`,
- toString: function() { return this.str }
- }
-}
-
-const net_obj = (name, index) => {
- return {
- name,
- index,
- str: `(net ${index} "${name}")`,
- toString: function() { return this.str }
- }
-}
-
const footprint = exports._footprint = (points, net_indexer, component_indexer, units, extra) => (config, name, point) => {
// config sanitization
@@ -189,7 +169,7 @@ const footprint = exports._footprint = (points, net_indexer, component_indexer,
params = prep.extend(params, mirror_overrides)
}
a.unexpected(params, `${name}.params`, Object.keys(fp.params))
-
+
// parsing parameters
const parsed_params = {}
for (const [param_name, param_def] of Object.entries(fp.params)) {
@@ -203,51 +183,40 @@ const footprint = exports._footprint = (points, net_indexer, component_indexer,
parsed_def = {type: 'number', value: a.mathnum(param_def)(units)}
} else if (def_type == 'boolean') {
parsed_def = {type: 'boolean', value: param_def}
- } else if (def_type == 'array') {
- parsed_def = {type: 'array', value: param_def}
- } else if (def_type == 'object') {
- // parsed param definitions also expand to an object
- // so to detect whether this is an arbitrary object,
- // we first have to make sure it's not an expanded param def
- // (this has to be a heuristic, but should be pretty reliable)
- const defarr = Object.keys(param_def)
- const already_expanded = defarr.length == 2 && defarr.includes('type') && defarr.includes('value')
- if (!already_expanded) {
- parsed_def = {type: 'object', value: param_def}
- }
- } else {
+ } else if (def_type == 'undefined') {
parsed_def = {type: 'net', value: undefined}
}
// combine default value with potential user override
- let value = params[param_name] !== undefined ? params[param_name] : parsed_def.value
- const type = parsed_def.type
-
+ let value = prep.extend(parsed_def.value, params[param_name])
+ let type = parsed_def.type
+
// templating support, with conversion back to raw datatypes
const converters = {
string: v => v,
number: v => a.sane(v, `${name}.params.${param_name}`, 'number')(units),
boolean: v => v === 'true',
- array: v => yaml.load(v),
- object: v => yaml.load(v),
net: v => v,
- anchor: v => yaml.load(v)
+ anchor: v => v
}
- a.in(type, `${name}.params.${param_name}.type`, Object.keys(converters))
if (a.type(value)() == 'string') {
value = u.template(value, point.meta)
value = converters[type](value)
}
- // type-specific postprocessing
- if (['string', 'number', 'boolean', 'array', 'object'].includes(type)) {
+ // type-specific processing
+ if (['string', 'number', 'boolean'].includes(type)) {
parsed_params[param_name] = value
} else if (type == 'net') {
const net = a.sane(value, `${name}.params.${param_name}`, 'string')(units)
const index = net_indexer(net)
- parsed_params[param_name] = net_obj(net, index)
- } else { // anchor
- let parsed_anchor = anchor(value, `${name}.params.${param_name}`, points, point)(units)
+ parsed_params[param_name] = {
+ name: net,
+ index: index,
+ str: `(net ${index} "${net}")`
+ }
+ } else if (type == 'anchor') {
+ let parsed_anchor = anchor(value || {}, `${name}.params.${param_name}`, points, point)(units)
parsed_anchor.y = -parsed_anchor.y // kicad mirror, as per usual
parsed_params[param_name] = parsed_anchor
}
@@ -258,35 +227,31 @@ const footprint = exports._footprint = (points, net_indexer, component_indexer,
parsed_params.ref_hide = extra.references ? '' : 'hide'
// footprint positioning
- parsed_params.x = point.x
- parsed_params.y = -point.y
- parsed_params.r = point.r
- parsed_params.rot = point.r // to be deprecated
- parsed_params.xy = `${point.x} ${-point.y}`
parsed_params.at = `(at ${point.x} ${-point.y} ${point.r})`
-
- const internal_xyfunc = (x, y, resist) => {
- const sign = resist ? 1 : (point.meta.mirrored ? -1 : 1)
- return xy_obj(sign * x, y)
+ parsed_params.rot = point.r
+ parsed_params.ixy = (x, y) => {
+ const sign = point.meta.mirrored ? -1 : 1
+ return `${sign * x} ${y}`
}
- parsed_params.isxy = (x, y) => internal_xyfunc(x, y, false)
- parsed_params.iaxy = (x, y) => internal_xyfunc(x, y, true)
-
- const external_xyfunc = (x, y, resist) => {
+ const xyfunc = (x, y, resist=true) => {
const new_anchor = anchor({
shift: [x, -y],
resist: resist
}, '_internal_footprint_xy', points, point)(units)
- return xy_obj(new_anchor.x, -new_anchor.y)
+ return `${new_anchor.x} ${-new_anchor.y}`
}
- parsed_params.esxy = (x, y) => external_xyfunc(x, y, false)
- parsed_params.eaxy = (x, y) => external_xyfunc(x, y, true)
+ parsed_params.xy = (x, y) => xyfunc(x, y, true)
+ parsed_params.sxy = (x, y) => xyfunc(x, y, false)
// allowing footprints to add dynamic nets
parsed_params.local_net = suffix => {
const net = `${component_ref}_${suffix}`
const index = net_indexer(net)
- return net_obj(net, index)
+ return {
+ name: net,
+ index: index,
+ str: `(net ${index} "${net}")`
+ }
}
return fp.body(parsed_params)
diff --git a/src/point.js b/src/point.js
index 27e538a..160e1fa 100644
--- a/src/point.js
+++ b/src/point.js
@@ -76,11 +76,4 @@ module.exports = class Point {
const dy = other.y - this.y
return -Math.atan2(dx, dy) * (180 / Math.PI)
}
-
- equals(other) {
- return this.x === other.x
- && this.y === other.y
- && this.r === other.r
- && JSON.stringify(this.meta) === JSON.stringify(other.meta)
- }
}
diff --git a/src/points.js b/src/points.js
index 8f50904..d20bf40 100644
--- a/src/points.js
+++ b/src/points.js
@@ -21,7 +21,7 @@ const render_zone = exports._render_zone = (zone_name, zone, anchor, global_key,
a.unexpected(zone, `points.zones.${zone_name}`, ['columns', 'rows', 'key'])
// the anchor comes from "above", because it needs other zones too (for references)
- const cols = zone.columns = a.sane(zone.columns || {}, `points.zones.${zone_name}.columns`, 'object')()
+ const cols = a.sane(zone.columns || {}, `points.zones.${zone_name}.columns`, 'object')()
const zone_wide_rows = a.sane(zone.rows || {}, `points.zones.${zone_name}.rows`, 'object')()
for (const [key, val] of Object.entries(zone_wide_rows)) {
zone_wide_rows[key] = val || {} // no check yet, as it will be extended later
@@ -43,6 +43,7 @@ const render_zone = exports._render_zone = (zone_name, zone, anchor, global_key,
// column layout
+ const col_minmax = {}
if (!Object.keys(cols).length) {
cols.default = {}
}
@@ -52,6 +53,7 @@ const render_zone = exports._render_zone = (zone_name, zone, anchor, global_key,
// column-level sanitization
col = col || {}
+ col_minmax[col_name] = {min: Infinity, max: -Infinity}
a.unexpected(
col,
@@ -90,7 +92,6 @@ const render_zone = exports._render_zone = (zone_name, zone, anchor, global_key,
orient: 0,
shift: [0, 0],
rotate: 0,
- adjust: {},
width: units.$default_width,
height: units.$default_height,
padding: units.$default_padding,
@@ -116,7 +117,7 @@ const render_zone = exports._render_zone = (zone_name, zone, anchor, global_key,
key.col.name = col_name
key.row = row
- key.stagger = a.sane(key.stagger, `${key.name}.stagger`, 'number')(units)
+ key.stagger = a.sane(key.stagger, `${key.name}.shift`, 'number')(units)
key.spread = a.sane(key.spread, `${key.name}.spread`, 'number')(units)
key.splay = a.sane(key.splay, `${key.name}.splay`, 'number')(units)
key.origin = a.xy(key.origin, `${key.name}.origin`)(units)
@@ -167,34 +168,83 @@ const render_zone = exports._render_zone = (zone_name, zone, anchor, global_key,
// copy the current column anchor
let point = running_anchor.clone()
- // apply cumulative per-key adjustments
+ // apply per-key adjustments
point.r += key.orient
point.shift(key.shift)
point.r += key.rotate
- // commit running anchor
- running_anchor = point.clone()
-
- // apply independent adjustments
- point = anchor_lib.parse(key.adjust, `${key.name}.adjust`, {}, point)(units)
-
// save new key
point.meta = key
points[key.name] = point
+ // collect minmax stats for autobind
+ col_minmax[col_name].min = Math.min(col_minmax[col_name].min, point.y)
+ col_minmax[col_name].max = Math.max(col_minmax[col_name].max, point.y)
+
// advance the running anchor to the next position
+ running_anchor = point.clone()
running_anchor.shift([0, key.padding])
}
first_col = false
}
+ // autobind
+
+ let col_names = Object.keys(col_minmax)
+ let col_index = 0
+ for (const [col_name, bounds] of Object.entries(col_minmax)) {
+ for (const point of Object.values(points)) {
+ if (point.meta.col.name != col_name) continue
+ if (!point.meta.autobind) continue
+ const autobind = a.sane(point.meta.autobind, `${point.meta.name}.autobind`, 'number')(units)
+ // specify default as -1, so we can recognize where it was left undefined even after number-ification
+ const bind = point.meta.bind = a.trbl(point.meta.bind, `${point.meta.name}.bind`, -1)(units)
+
+ // up
+ if (bind[0] == -1) {
+ if (point.y < bounds.max) bind[0] = autobind
+ else bind[0] = 0
+
+ }
+
+ // right
+ if (bind[1] == -1) {
+ bind[1] = 0
+ if (col_index < col_names.length - 1) {
+ const right = col_minmax[col_names[col_index + 1]]
+ if (point.y >= right.min && point.y <= right.max) {
+ bind[1] = autobind
+ }
+ }
+ }
+
+ // down
+ if (bind[2] == -1) {
+ if (point.y > bounds.min) bind[2] = autobind
+ else bind[2] = 0
+ }
+
+ // left
+ if (bind[3] == -1) {
+ bind[3] = 0
+ if (col_index > 0) {
+ const left = col_minmax[col_names[col_index - 1]]
+ if (point.y >= left.min && point.y <= left.max) {
+ bind[3] = autobind
+ }
+ }
+ }
+ }
+ col_index++
+ }
+
return points
}
const parse_axis = exports._parse_axis = (config, name, points, units) => {
if (!['number', 'undefined'].includes(a.type(config)(units))) {
- const mirror_obj = a.sane(config, name, 'object')()
+ const mirror_obj = a.sane(config || {}, name, 'object')()
const distance = a.sane(mirror_obj.distance || 0, `${name}.distance`, 'number')(units)
delete mirror_obj.distance
let axis = anchor_lib.parse(mirror_obj, name, points)(units).x
@@ -204,91 +254,21 @@ const parse_axis = exports._parse_axis = (config, name, points, units) => {
}
const perform_mirror = exports._perform_mirror = (point, axis) => {
- point.meta.mirrored = false
- if (point.meta.asym == 'source') return ['', null]
- const mp = point.clone().mirror(axis)
- const mirrored_name = `mirror_${point.meta.name}`
- mp.meta = prep.extend(mp.meta, mp.meta.mirror || {})
- mp.meta.name = mirrored_name
- mp.meta.colrow = `mirror_${mp.meta.colrow}`
- mp.meta.mirrored = true
- if (point.meta.asym == 'clone') {
- point.meta.skip = true
- }
- return [mirrored_name, mp]
-}
-
-const perform_autobind = exports._perform_autobind = (points, units) => {
-
- const bounds = {}
- const col_lists = {}
- const mirrorzone = p => (p.meta.mirrored ? 'mirror_' : '') + p.meta.zone.name
-
- // round one: get column upper/lower bounds and per-zone column lists
- for (const p of Object.values(points)) {
-
- const zone = mirrorzone(p)
- const col = p.meta.col.name
-
- if (!bounds[zone]) bounds[zone] = {}
- if (!bounds[zone][col]) bounds[zone][col] = {min: Infinity, max: -Infinity}
- if (!col_lists[zone]) col_lists[zone] = Object.keys(p.meta.zone.columns)
-
- bounds[zone][col].min = Math.min(bounds[zone][col].min, p.y)
- bounds[zone][col].max = Math.max(bounds[zone][col].max, p.y)
- }
-
- // round two: apply autobind as appropriate
- for (const p of Object.values(points)) {
-
- const autobind = a.sane(p.meta.autobind, `${p.meta.name}.autobind`, 'number')(units)
- if (!autobind) continue
-
- const zone = mirrorzone(p)
- const col = p.meta.col.name
- const col_list = col_lists[zone]
- const col_bounds = bounds[zone][col]
-
-
- // specify default as -1, so we can recognize where it was left undefined even after number-ification
- const bind = p.meta.bind = a.trbl(p.meta.bind, `${p.meta.name}.bind`, -1)(units)
-
- // up
- if (bind[0] == -1) {
- if (p.y < col_bounds.max) bind[0] = autobind
- else bind[0] = 0
- }
-
- // down
- if (bind[2] == -1) {
- if (p.y > col_bounds.min) bind[2] = autobind
- else bind[2] = 0
- }
-
- // left
- if (bind[3] == -1) {
- bind[3] = 0
- const col_index = col_list.indexOf(col)
- if (col_index > 0) {
- const left = bounds[zone][col_list[col_index - 1]]
- if (left && p.y >= left.min && p.y <= left.max) {
- bind[3] = autobind
- }
- }
- }
-
- // right
- if (bind[1] == -1) {
- bind[1] = 0
- const col_index = col_list.indexOf(col)
- if (col_index < col_list.length - 1) {
- const right = bounds[zone][col_list[col_index + 1]]
- if (right && p.y >= right.min && p.y <= right.max) {
- bind[1] = autobind
- }
- }
- }
+ if (axis !== undefined) {
+ point.meta.mirrored = false
+ if (point.meta.asym == 'source') return ['', null]
+ const mp = point.clone().mirror(axis)
+ const mirrored_name = `mirror_${point.meta.name}`
+ mp.meta = prep.extend(mp.meta, mp.meta.mirror || {})
+ mp.meta.name = mirrored_name
+ mp.meta.colrow = `mirror_${mp.meta.colrow}`
+ mp.meta.mirrored = true
+ if (point.meta.asym == 'clone') {
+ point.meta.skip = true
+ }
+ return [mirrored_name, mp]
}
+ return ['', null]
}
exports.parse = (config, units) => {
@@ -320,11 +300,13 @@ exports.parse = (config, units) => {
// simplifying the names in individual point "zones" and single-key columns
while (Object.keys(new_points).some(k => k.endsWith('_default'))) {
- for (const key of Object.keys(new_points).filter(k => k.endsWith('_default'))) {
- const new_key = key.slice(0, -8)
- new_points[new_key] = new_points[key]
- new_points[new_key].meta.name = new_key
- delete new_points[key]
+ for (const key of Object.keys(new_points)) {
+ if (key.endsWith('_default')) {
+ const new_key = key.slice(0, -8)
+ new_points[new_key] = new_points[key]
+ new_points[new_key].meta.name = new_key
+ delete new_points[key]
+ }
}
}
@@ -370,7 +352,7 @@ exports.parse = (config, units) => {
const global_axis = parse_axis(global_mirror, `points.mirror`, points, units)
const global_mirrored_points = {}
for (const point of Object.values(points)) {
- if (global_axis !== undefined && point.meta.mirrored === undefined) {
+ if (global_axis !== undefined && point.mirrored === undefined) {
const [mname, mp] = perform_mirror(point, global_axis)
if (mp) {
global_mirrored_points[mname] = mp
@@ -386,9 +368,6 @@ exports.parse = (config, units) => {
filtered[k] = p
}
- // apply autobind
- perform_autobind(filtered, units)
-
// done
return filtered
}
diff --git a/src/prepare.js b/src/prepare.js
index 48edd7f..2314542 100644
--- a/src/prepare.js
+++ b/src/prepare.js
@@ -42,14 +42,11 @@ const traverse = exports.traverse = (config, root, breadcrumbs, op) => {
}
return result
} else if (a.type(config)() == 'array') {
- // needed so that arrays can set output the same way as objects within ops
- const dummy = {}
const result = []
let index = 0
for (const val of config) {
breadcrumbs.push(`[${index}]`)
- op(dummy, 'dummykey', traverse(val, root, breadcrumbs, op), root, breadcrumbs)
- result[index] = dummy.dummykey
+ result[index] = traverse(val, root, breadcrumbs, op)
breadcrumbs.pop()
index++
}
diff --git a/src/utils.js b/src/utils.js
index 34a852d..de9cb5f 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -23,7 +23,7 @@ exports.template = (str, vals={}) => {
let res = str
let shift = 0
for (const match of str.matchAll(regex)) {
- const replacement = (deep(vals, match[1]) || '') + ''
+ const replacement = deep(vals, match[1]) || ''
res = res.substring(0, match.index + shift)
+ replacement
+ res.substring(match.index + shift + match[0].length)
diff --git a/test/cases/cube___cases_cube_jscad.jscad b/test/cases/cube___cases_cube_jscad.jscad
index 349bb42..bb9cda8 100644
--- a/test/cases/cube___cases_cube_jscad.jscad
+++ b/test/cases/cube___cases_cube_jscad.jscad
@@ -1,4 +1,4 @@
-function square_extrude_5_outline_fn(){
+function square_outline_fn(){
return new CSG.Path2D([[-2.5,-2.5],[2.5,-2.5]]).appendPoint([2.5,2.5]).appendPoint([-2.5,2.5]).appendPoint([-2.5,-2.5]).close().innerToCAG()
.extrude({ offset: [0, 0, 5] });
}
@@ -10,7 +10,7 @@ function square_extrude_5_outline_fn(){
// creating part 0 of case cube
- let cube__part_0 = square_extrude_5_outline_fn();
+ let cube__part_0 = square_outline_fn();
// make sure that rotations are relative
let cube__part_0_bounds = cube__part_0.getBounds();
diff --git a/test/cases/operations.yaml b/test/cases/operations.yaml
deleted file mode 100644
index 47984f1..0000000
--- a/test/cases/operations.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-points.zones.matrix: {}
-outlines:
- _square:
- - what: rectangle
- where: true
- size: [8, 8]
- _circle:
- - what: circle
- where: true
- radius: 3
-cases:
- _cube:
- - name: _square
- extrude: 8
- _cylinder_one:
- - name: _circle
- extrude: 8
- _subtract:
- target:
- name: _cube
- what: case
- tool:
- name: _cylinder_one
- what: case
- operation: subtract
- _cylinder_two:
- - name: _circle
- extrude: 8
- shift: [0,4,4]
- rotate: [90,0,0]
- _flat_square:
- - "_square"
- combination:
- - "_subtract"
- - "~_cylinder_two"
- - "+_flat_square"
diff --git a/test/cases/operations___cases_combination_jscad.jscad b/test/cases/operations___cases_combination_jscad.jscad
deleted file mode 100644
index 1fb8cb8..0000000
--- a/test/cases/operations___cases_combination_jscad.jscad
+++ /dev/null
@@ -1,211 +0,0 @@
-function _square_extrude_8_outline_fn(){
- return new CSG.Path2D([[-4,-4],[4,-4]]).appendPoint([4,4]).appendPoint([-4,4]).appendPoint([-4,-4]).close().innerToCAG()
-.extrude({ offset: [0, 0, 8] });
-}
-
-
-function _circle_extrude_8_outline_fn(){
- return CAG.circle({"center":[0,0],"radius":3})
-.extrude({ offset: [0, 0, 8] });
-}
-
-
-function _square_extrude_1_outline_fn(){
- return new CSG.Path2D([[-4,-4],[4,-4]]).appendPoint([4,4]).appendPoint([-4,4]).appendPoint([-4,-4]).close().innerToCAG()
-.extrude({ offset: [0, 0, 1] });
-}
-
-
-
-
- function _subtract_case_fn() {
-
-
- // creating part target of case _subtract
- let _subtract__part_target = _cube_case_fn();
-
- // make sure that rotations are relative
- let _subtract__part_target_bounds = _subtract__part_target.getBounds();
- let _subtract__part_target_x = _subtract__part_target_bounds[0].x + (_subtract__part_target_bounds[1].x - _subtract__part_target_bounds[0].x) / 2
- let _subtract__part_target_y = _subtract__part_target_bounds[0].y + (_subtract__part_target_bounds[1].y - _subtract__part_target_bounds[0].y) / 2
- _subtract__part_target = translate([-_subtract__part_target_x, -_subtract__part_target_y, 0], _subtract__part_target);
- _subtract__part_target = rotate([0,0,0], _subtract__part_target);
- _subtract__part_target = translate([_subtract__part_target_x, _subtract__part_target_y, 0], _subtract__part_target);
-
- _subtract__part_target = translate([0,0,0], _subtract__part_target);
- let result = _subtract__part_target;
-
-
-
- // creating part tool of case _subtract
- let _subtract__part_tool = _cylinder_one_case_fn();
-
- // make sure that rotations are relative
- let _subtract__part_tool_bounds = _subtract__part_tool.getBounds();
- let _subtract__part_tool_x = _subtract__part_tool_bounds[0].x + (_subtract__part_tool_bounds[1].x - _subtract__part_tool_bounds[0].x) / 2
- let _subtract__part_tool_y = _subtract__part_tool_bounds[0].y + (_subtract__part_tool_bounds[1].y - _subtract__part_tool_bounds[0].y) / 2
- _subtract__part_tool = translate([-_subtract__part_tool_x, -_subtract__part_tool_y, 0], _subtract__part_tool);
- _subtract__part_tool = rotate([0,0,0], _subtract__part_tool);
- _subtract__part_tool = translate([_subtract__part_tool_x, _subtract__part_tool_y, 0], _subtract__part_tool);
-
- _subtract__part_tool = translate([0,0,0], _subtract__part_tool);
- result = result.subtract(_subtract__part_tool);
-
-
- return result;
- }
-
-
-
- function _cube_case_fn() {
-
-
- // creating part 0 of case _cube
- let _cube__part_0 = _square_extrude_8_outline_fn();
-
- // make sure that rotations are relative
- let _cube__part_0_bounds = _cube__part_0.getBounds();
- let _cube__part_0_x = _cube__part_0_bounds[0].x + (_cube__part_0_bounds[1].x - _cube__part_0_bounds[0].x) / 2
- let _cube__part_0_y = _cube__part_0_bounds[0].y + (_cube__part_0_bounds[1].y - _cube__part_0_bounds[0].y) / 2
- _cube__part_0 = translate([-_cube__part_0_x, -_cube__part_0_y, 0], _cube__part_0);
- _cube__part_0 = rotate([0,0,0], _cube__part_0);
- _cube__part_0 = translate([_cube__part_0_x, _cube__part_0_y, 0], _cube__part_0);
-
- _cube__part_0 = translate([0,0,0], _cube__part_0);
- let result = _cube__part_0;
-
-
- return result;
- }
-
-
-
- function _cylinder_one_case_fn() {
-
-
- // creating part 0 of case _cylinder_one
- let _cylinder_one__part_0 = _circle_extrude_8_outline_fn();
-
- // make sure that rotations are relative
- let _cylinder_one__part_0_bounds = _cylinder_one__part_0.getBounds();
- let _cylinder_one__part_0_x = _cylinder_one__part_0_bounds[0].x + (_cylinder_one__part_0_bounds[1].x - _cylinder_one__part_0_bounds[0].x) / 2
- let _cylinder_one__part_0_y = _cylinder_one__part_0_bounds[0].y + (_cylinder_one__part_0_bounds[1].y - _cylinder_one__part_0_bounds[0].y) / 2
- _cylinder_one__part_0 = translate([-_cylinder_one__part_0_x, -_cylinder_one__part_0_y, 0], _cylinder_one__part_0);
- _cylinder_one__part_0 = rotate([0,0,0], _cylinder_one__part_0);
- _cylinder_one__part_0 = translate([_cylinder_one__part_0_x, _cylinder_one__part_0_y, 0], _cylinder_one__part_0);
-
- _cylinder_one__part_0 = translate([0,0,0], _cylinder_one__part_0);
- let result = _cylinder_one__part_0;
-
-
- return result;
- }
-
-
-
- function _cylinder_two_case_fn() {
-
-
- // creating part 0 of case _cylinder_two
- let _cylinder_two__part_0 = _circle_extrude_8_outline_fn();
-
- // make sure that rotations are relative
- let _cylinder_two__part_0_bounds = _cylinder_two__part_0.getBounds();
- let _cylinder_two__part_0_x = _cylinder_two__part_0_bounds[0].x + (_cylinder_two__part_0_bounds[1].x - _cylinder_two__part_0_bounds[0].x) / 2
- let _cylinder_two__part_0_y = _cylinder_two__part_0_bounds[0].y + (_cylinder_two__part_0_bounds[1].y - _cylinder_two__part_0_bounds[0].y) / 2
- _cylinder_two__part_0 = translate([-_cylinder_two__part_0_x, -_cylinder_two__part_0_y, 0], _cylinder_two__part_0);
- _cylinder_two__part_0 = rotate([90,0,0], _cylinder_two__part_0);
- _cylinder_two__part_0 = translate([_cylinder_two__part_0_x, _cylinder_two__part_0_y, 0], _cylinder_two__part_0);
-
- _cylinder_two__part_0 = translate([0,4,4], _cylinder_two__part_0);
- let result = _cylinder_two__part_0;
-
-
- return result;
- }
-
-
-
- function _flat_square_case_fn() {
-
-
- // creating part 0 of case _flat_square
- let _flat_square__part_0 = _square_extrude_1_outline_fn();
-
- // make sure that rotations are relative
- let _flat_square__part_0_bounds = _flat_square__part_0.getBounds();
- let _flat_square__part_0_x = _flat_square__part_0_bounds[0].x + (_flat_square__part_0_bounds[1].x - _flat_square__part_0_bounds[0].x) / 2
- let _flat_square__part_0_y = _flat_square__part_0_bounds[0].y + (_flat_square__part_0_bounds[1].y - _flat_square__part_0_bounds[0].y) / 2
- _flat_square__part_0 = translate([-_flat_square__part_0_x, -_flat_square__part_0_y, 0], _flat_square__part_0);
- _flat_square__part_0 = rotate([0,0,0], _flat_square__part_0);
- _flat_square__part_0 = translate([_flat_square__part_0_x, _flat_square__part_0_y, 0], _flat_square__part_0);
-
- _flat_square__part_0 = translate([0,0,0], _flat_square__part_0);
- let result = _flat_square__part_0;
-
-
- return result;
- }
-
-
-
- function combination_case_fn() {
-
-
- // creating part 0 of case combination
- let combination__part_0 = _subtract_case_fn();
-
- // make sure that rotations are relative
- let combination__part_0_bounds = combination__part_0.getBounds();
- let combination__part_0_x = combination__part_0_bounds[0].x + (combination__part_0_bounds[1].x - combination__part_0_bounds[0].x) / 2
- let combination__part_0_y = combination__part_0_bounds[0].y + (combination__part_0_bounds[1].y - combination__part_0_bounds[0].y) / 2
- combination__part_0 = translate([-combination__part_0_x, -combination__part_0_y, 0], combination__part_0);
- combination__part_0 = rotate([0,0,0], combination__part_0);
- combination__part_0 = translate([combination__part_0_x, combination__part_0_y, 0], combination__part_0);
-
- combination__part_0 = translate([0,0,0], combination__part_0);
- let result = combination__part_0;
-
-
-
- // creating part 1 of case combination
- let combination__part_1 = _cylinder_two_case_fn();
-
- // make sure that rotations are relative
- let combination__part_1_bounds = combination__part_1.getBounds();
- let combination__part_1_x = combination__part_1_bounds[0].x + (combination__part_1_bounds[1].x - combination__part_1_bounds[0].x) / 2
- let combination__part_1_y = combination__part_1_bounds[0].y + (combination__part_1_bounds[1].y - combination__part_1_bounds[0].y) / 2
- combination__part_1 = translate([-combination__part_1_x, -combination__part_1_y, 0], combination__part_1);
- combination__part_1 = rotate([0,0,0], combination__part_1);
- combination__part_1 = translate([combination__part_1_x, combination__part_1_y, 0], combination__part_1);
-
- combination__part_1 = translate([0,0,0], combination__part_1);
- result = result.intersect(combination__part_1);
-
-
-
- // creating part 2 of case combination
- let combination__part_2 = _flat_square_case_fn();
-
- // make sure that rotations are relative
- let combination__part_2_bounds = combination__part_2.getBounds();
- let combination__part_2_x = combination__part_2_bounds[0].x + (combination__part_2_bounds[1].x - combination__part_2_bounds[0].x) / 2
- let combination__part_2_y = combination__part_2_bounds[0].y + (combination__part_2_bounds[1].y - combination__part_2_bounds[0].y) / 2
- combination__part_2 = translate([-combination__part_2_x, -combination__part_2_y, 0], combination__part_2);
- combination__part_2 = rotate([0,0,0], combination__part_2);
- combination__part_2 = translate([combination__part_2_x, combination__part_2_y, 0], combination__part_2);
-
- combination__part_2 = translate([0,0,0], combination__part_2);
- result = result.union(combination__part_2);
-
-
- return result;
- }
-
-
-
- function main() {
- return combination_case_fn();
- }
-
-
\ No newline at end of file
diff --git a/test/cli/big/reference/cases/_export.jscad b/test/cli/big/reference/cases/_export.jscad
index bb85f72..a98416f 100644
--- a/test/cli/big/reference/cases/_export.jscad
+++ b/test/cli/big/reference/cases/_export.jscad
@@ -1,4 +1,4 @@
-function export_extrude_1_outline_fn(){
+function export_outline_fn(){
return new CSG.Path2D([[-9,-9],[9,-9]]).appendPoint([9,9]).appendPoint([-9,9]).appendPoint([-9,-9]).close().innerToCAG()
.extrude({ offset: [0, 0, 1] });
}
@@ -10,7 +10,7 @@ function export_extrude_1_outline_fn(){
// creating part 0 of case _export
- let _export__part_0 = export_extrude_1_outline_fn();
+ let _export__part_0 = export_outline_fn();
// make sure that rotations are relative
let _export__part_0_bounds = _export__part_0.getBounds();
diff --git a/test/cli/big/reference/cases/export.jscad b/test/cli/big/reference/cases/export.jscad
index 19511e7..6ccb677 100644
--- a/test/cli/big/reference/cases/export.jscad
+++ b/test/cli/big/reference/cases/export.jscad
@@ -1,4 +1,4 @@
-function export_extrude_1_outline_fn(){
+function export_outline_fn(){
return new CSG.Path2D([[-9,-9],[9,-9]]).appendPoint([9,9]).appendPoint([-9,9]).appendPoint([-9,-9]).close().innerToCAG()
.extrude({ offset: [0, 0, 1] });
}
@@ -10,7 +10,7 @@ function export_extrude_1_outline_fn(){
// creating part 0 of case export
- let export__part_0 = export_extrude_1_outline_fn();
+ let export__part_0 = export_outline_fn();
// make sure that rotations are relative
let export__part_0_bounds = export__part_0.getBounds();
diff --git a/test/cli/big/reference/pcbs/_export.kicad_pcb b/test/cli/big/reference/pcbs/_export.kicad_pcb
index 53faa54..8644559 100644
--- a/test/cli/big/reference/pcbs/_export.kicad_pcb
+++ b/test/cli/big/reference/pcbs/_export.kicad_pcb
@@ -5,8 +5,8 @@
(page A3)
(title_block
(title _export)
- (rev v3.14)
- (company MrZealot)
+ (rev v1.0.0)
+ (company Unknown)
)
(general
diff --git a/test/cli/big/reference/pcbs/export.kicad_pcb b/test/cli/big/reference/pcbs/export.kicad_pcb
index e52b3b8..d2e5a7b 100644
--- a/test/cli/big/reference/pcbs/export.kicad_pcb
+++ b/test/cli/big/reference/pcbs/export.kicad_pcb
@@ -5,8 +5,8 @@
(page A3)
(title_block
(title export)
- (rev v3.14)
- (company MrZealot)
+ (rev v1.0.0)
+ (company Unknown)
)
(general
diff --git a/test/cli/big/reference/points/points.yaml b/test/cli/big/reference/points/points.yaml
index fc6b036..911c06d 100644
--- a/test/cli/big/reference/points/points.yaml
+++ b/test/cli/big/reference/points/points.yaml
@@ -14,7 +14,6 @@ matrix:
- 0
- 0
rotate: 0
- adjust: {}
width: 18
height: 18
padding: 19
@@ -24,11 +23,6 @@ matrix:
colrow: default_default
name: matrix
zone:
- columns:
- default:
- rows: {}
- key: {}
- name: default
name: matrix
col:
rows: {}
diff --git a/test/cli/big/reference/source/canonical.yaml b/test/cli/big/reference/source/canonical.yaml
index 409691a..41858d8 100644
--- a/test/cli/big/reference/source/canonical.yaml
+++ b/test/cli/big/reference/source/canonical.yaml
@@ -1,6 +1,3 @@
-meta:
- author: MrZealot
- version: v3.14
units:
a: 28 + u
points:
diff --git a/test/cli/big/reference/source/raw.txt b/test/cli/big/reference/source/raw.txt
index 843cf13..9d6d2e7 100644
--- a/test/cli/big/reference/source/raw.txt
+++ b/test/cli/big/reference/source/raw.txt
@@ -1,6 +1,3 @@
-meta:
- author: MrZealot
- version: v3.14
units:
a: 28 + u
points.zones.matrix:
diff --git a/test/cli/minimal/reference/points/points.yaml b/test/cli/minimal/reference/points/points.yaml
index a2c7bb5..63b3d11 100644
--- a/test/cli/minimal/reference/points/points.yaml
+++ b/test/cli/minimal/reference/points/points.yaml
@@ -14,7 +14,6 @@ matrix_col_row:
- 0
- 0
rotate: 0
- adjust: {}
width: 18
height: 18
padding: 19
@@ -25,17 +24,14 @@ matrix_col_row:
name: matrix_col_row
zone:
columns:
- col:
+ col: &ref_0
rows: {}
key: {}
name: col
rows:
row: {}
name: matrix
- col:
- rows: {}
- key: {}
- name: col
+ col: *ref_0
row: row
bind:
- 0
diff --git a/test/fixtures/big.yaml b/test/fixtures/big.yaml
index 843cf13..9d6d2e7 100644
--- a/test/fixtures/big.yaml
+++ b/test/fixtures/big.yaml
@@ -1,6 +1,3 @@
-meta:
- author: MrZealot
- version: v3.14
units:
a: 28 + u
points.zones.matrix:
diff --git a/test/fixtures/minimal_kle.json b/test/fixtures/minimal_kle.json
deleted file mode 100644
index 0e60b85..0000000
--- a/test/fixtures/minimal_kle.json
+++ /dev/null
@@ -1,15 +0,0 @@
-[
- [
- "0_0",
- "0_1"
- ],
- [
- "1_0",
- "1_1"
- ],
- [
- "",
- ""
- ]
-]
-
diff --git a/test/footprints/choc.yaml b/test/footprints/choc.yaml
index 016eeae..2c3e39e 100644
--- a/test/footprints/choc.yaml
+++ b/test/footprints/choc.yaml
@@ -38,14 +38,4 @@ pcbs.pcb.footprints:
to: to
reverse: true
hotswap: true
- adjust.shift: [200, 0]
-
- # all of keycaps, reverse and hotswap
- - what: choc
- params:
- from: from
- to: to
- keycaps: true
- reverse: true
- hotswap: true
- adjust.shift: [250, 0]
+ adjust.shift: [200, 0]
\ No newline at end of file
diff --git a/test/footprints/choc___pcbs_pcb.kicad_pcb b/test/footprints/choc___pcbs_pcb.kicad_pcb
index 43736fd..3fabc5e 100644
--- a/test/footprints/choc___pcbs_pcb.kicad_pcb
+++ b/test/footprints/choc___pcbs_pcb.kicad_pcb
@@ -284,58 +284,6 @@
- (pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -3.275 -5.95 0) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 1 "from"))
- (pad 2 smd rect (at 8.275 -3.75 0) (size 2.6 2.6) (layers B.Cu B.Paste B.Mask) (net 2 "to"))
-
-
-
- (pad "" np_thru_hole circle (at -5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at 3.275 -5.95 0) (size 2.6 2.6) (layers F.Cu F.Paste F.Mask) (net 1 "from"))
- (pad 2 smd rect (at -8.275 -3.75 0) (size 2.6 2.6) (layers F.Cu F.Paste F.Mask) (net 2 "to"))
- )
-
-
-
- (module PG1350 (layer F.Cu) (tedit 5DD50112)
- (at 250 0 0)
-
-
- (fp_text reference "S6" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.429 3.429) (drill 3.429) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.5 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
(pad "" np_thru_hole circle (at 5 -3.75) (size 3 3) (drill 3) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 0 -5.95) (size 3 3) (drill 3) (layers *.Cu *.Mask))
diff --git a/test/footprints/chocmini.yaml b/test/footprints/chocmini.yaml
index 5312a0d..2cadb43 100644
--- a/test/footprints/chocmini.yaml
+++ b/test/footprints/chocmini.yaml
@@ -22,12 +22,3 @@ pcbs.pcb.footprints:
to: to
reverse: true
adjust.shift: [100, 0]
-
- # reverse with keycap visualization
- - what: chocmini
- params:
- from: from
- to: to
- keycaps: true
- reverse: true
- adjust.shift: [150, 0]
diff --git a/test/footprints/chocmini___pcbs_pcb.kicad_pcb b/test/footprints/chocmini___pcbs_pcb.kicad_pcb
index 784556a..650ceb0 100644
--- a/test/footprints/chocmini___pcbs_pcb.kicad_pcb
+++ b/test/footprints/chocmini___pcbs_pcb.kicad_pcb
@@ -267,67 +267,6 @@
)
-
-
- (module lib:Kailh_PG1232 (layer F.Cu) (tedit 5E1ADAC2)
- (at 150 0 0)
-
-
- (fp_text reference "S4" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value Kailh_PG1232 (at 0 -7.3) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
-
-
- (fp_line (start -7.25 -6.75) (end -6.25 -6.75) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7.25 -6.75) (end -7.25 -5.75) (layer Dwgs.User) (width 0.15))
-
- (fp_line (start -7.25 6.75) (end -6.25 6.75) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7.25 6.75) (end -7.25 5.75) (layer Dwgs.User) (width 0.15))
-
- (fp_line (start 7.25 -6.75) (end 6.25 -6.75) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7.25 -6.75) (end 7.25 -5.75) (layer Dwgs.User) (width 0.15))
-
- (fp_line (start 7.25 6.75) (end 6.25 6.75) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7.25 6.75) (end 7.25 5.75) (layer Dwgs.User) (width 0.15))
-
-
- (fp_line (start 2.8 -5.35) (end -2.8 -5.35) (layer Dwgs.User) (width 0.15))
- (fp_line (start -2.8 -3.2) (end 2.8 -3.2) (layer Dwgs.User) (width 0.15))
- (fp_line (start 2.8 -3.2) (end 2.8 -5.35) (layer Dwgs.User) (width 0.15))
- (fp_line (start -2.8 -3.2) (end -2.8 -5.35) (layer Dwgs.User) (width 0.15))
-
-
- (fp_line (start 2.25 2.6) (end 5.8 2.6) (layer Edge.Cuts) (width 0.12))
- (fp_line (start -2.25 2.6) (end -5.8 2.6) (layer Edge.Cuts) (width 0.12))
- (fp_line (start 2.25 3.6) (end 2.25 2.6) (layer Edge.Cuts) (width 0.12))
- (fp_line (start -2.25 3.6) (end 2.25 3.6) (layer Edge.Cuts) (width 0.12))
- (fp_line (start -2.25 2.6) (end -2.25 3.6) (layer Edge.Cuts) (width 0.12))
- (fp_line (start -5.8 2.6) (end -5.8 -2.95) (layer Edge.Cuts) (width 0.12))
- (fp_line (start 5.8 -2.95) (end 5.8 2.6) (layer Edge.Cuts) (width 0.12))
- (fp_line (start -5.8 -2.95) (end 5.8 -2.95) (layer Edge.Cuts) (width 0.12))
-
-
- (pad 3 thru_hole circle (at 5.3 -4.75) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) (clearance 0.2))
- (pad 4 thru_hole circle (at -5.3 -4.75) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) (clearance 0.2))
-
-
-
- (fp_line (start -9 -8.5) (end 9 -8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 -8.5) (end 9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9 8.5) (end -9 8.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9 8.5) (end -9 -8.5) (layer Dwgs.User) (width 0.15))
-
-
-
- (pad 1 thru_hole circle (at -4.58 5.1) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) (net 1 "from") (clearance 0.2))
- (pad 2 thru_hole circle (at 2 5.4) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) (net 2 "to") (clearance 0.2))
-
-
-
- (pad 1 thru_hole circle (at 4.58 5.1) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) (net 1 "from") (clearance 0.2))
- (pad 2 thru_hole circle (at -2 5.4) (size 1.6 1.6) (drill 1.1) (layers *.Cu *.Mask) (net 2 "to") (clearance 0.2))
- )
-
-
)
diff --git a/test/footprints/mx.yaml b/test/footprints/mx.yaml
index d1f200b..ee4a5dc 100644
--- a/test/footprints/mx.yaml
+++ b/test/footprints/mx.yaml
@@ -38,14 +38,4 @@ pcbs.pcb.footprints:
to: to
reverse: true
hotswap: true
- adjust.shift: [200, 0]
-
- # all of keycaps, reverse and hotswap
- - what: mx
- params:
- from: from
- to: to
- keycaps: true
- reverse: true
- hotswap: true
- adjust.shift: [250, 0]
+ adjust.shift: [200, 0]
\ No newline at end of file
diff --git a/test/footprints/mx___pcbs_pcb.kicad_pcb b/test/footprints/mx___pcbs_pcb.kicad_pcb
index 01d7823..dbb3d65 100644
--- a/test/footprints/mx___pcbs_pcb.kicad_pcb
+++ b/test/footprints/mx___pcbs_pcb.kicad_pcb
@@ -284,58 +284,6 @@
- (pad "" np_thru_hole circle (at 2.54 -5.08) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -3.81 -2.54) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -7.085 -2.54 0) (size 2.55 2.5) (layers B.Cu B.Paste B.Mask) (net 1 "from"))
- (pad 2 smd rect (at 5.842 -5.08 0) (size 2.55 2.5) (layers B.Cu B.Paste B.Mask) (net 2 "to"))
-
-
-
- (pad "" np_thru_hole circle (at -2.54 -5.08) (size 3 3) (drill 3) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at 3.81 -2.54) (size 3 3) (drill 3) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at 7.085 -2.54 0) (size 2.55 2.5) (layers F.Cu F.Paste F.Mask) (net 1 "from"))
- (pad 2 smd rect (at -5.842 -5.08 0) (size 2.55 2.5) (layers F.Cu F.Paste F.Mask) (net 2 "to"))
- )
-
-
-
- (module MX (layer F.Cu) (tedit 5DD4F656)
- (at 250 0 0)
-
-
- (fp_text reference "S6" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start -7 -6) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -6 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -6 -7) (end -7 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start -7 7) (end -7 6) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 6) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 6 -7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 6 7) (end 7 7) (layer Dwgs.User) (width 0.15))
- (fp_line (start 7 -7) (end 7 -6) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 0 0) (size 3.9878 3.9878) (drill 3.9878) (layers *.Cu *.Mask))
-
-
- (pad "" np_thru_hole circle (at 5.08 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -5.08 0) (size 1.7018 1.7018) (drill 1.7018) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9.5 -9.5) (end 9.5 -9.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9.5 -9.5) (end 9.5 9.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start 9.5 9.5) (end -9.5 9.5) (layer Dwgs.User) (width 0.15))
- (fp_line (start -9.5 9.5) (end -9.5 -9.5) (layer Dwgs.User) (width 0.15))
-
-
-
(pad "" np_thru_hole circle (at 2.54 -5.08) (size 3 3) (drill 3) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -3.81 -2.54) (size 3 3) (drill 3) (layers *.Cu *.Mask))
diff --git a/test/footprints/pad.yaml b/test/footprints/pad.yaml
index 43ed2d9..3d05355 100644
--- a/test/footprints/pad.yaml
+++ b/test/footprints/pad.yaml
@@ -25,17 +25,3 @@ pcbs.pcb.footprints:
align: down
mirrored: true
adjust.shift: [50, 50]
-
- - what: pad
- params:
- net: net
- align: right
- mirrored: true
- adjust.shift: [100, 0]
-
- - what: pad
- params:
- net: net
- align: left
- mirrored: true
- adjust.shift: [100, 50]
diff --git a/test/footprints/pad___pcbs_pcb.kicad_pcb b/test/footprints/pad___pcbs_pcb.kicad_pcb
index 997b2f6..d34827d 100644
--- a/test/footprints/pad___pcbs_pcb.kicad_pcb
+++ b/test/footprints/pad___pcbs_pcb.kicad_pcb
@@ -181,44 +181,6 @@
)
-
-
- (module SMDPad (layer F.Cu) (tedit 5B24D78E)
-
- (at 100 0 0)
-
-
- (fp_text reference "PAD5" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (pad 1 smd rect (at 0 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask) (net 1 "net"))
-
- (pad 1 smd rect (at 0 0 0) (size 1 1) (layers B.Cu B.Paste B.Mask) (net 1 "net"))
-
-
- )
-
-
-
-
- (module SMDPad (layer F.Cu) (tedit 5B24D78E)
-
- (at 100 -50 0)
-
-
- (fp_text reference "PAD6" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (pad 1 smd rect (at 0 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask) (net 1 "net"))
-
- (pad 1 smd rect (at 0 0 0) (size 1 1) (layers B.Cu B.Paste B.Mask) (net 1 "net"))
-
-
- )
-
-
)
diff --git a/test/footprints/rest.yaml b/test/footprints/rest.yaml
index 7e24468..769682a 100644
--- a/test/footprints/rest.yaml
+++ b/test/footprints/rest.yaml
@@ -64,22 +64,4 @@ pcbs.pcb.footprints:
- what: via
params:
net: net
- adjust.shift: [0, 150]
-
- - what: scrollwheel
- params:
- from: from
- to: to
- A: A
- B: B
- C: C
- D: D
- reverse: true
- adjust.shift: [50, 150]
-
- - what: slider
- params:
- from: from
- to: to
- side: B
- adjust.shift: [100, 150]
+ adjust.shift: [0, 150]
\ No newline at end of file
diff --git a/test/footprints/rest___pcbs_pcb.kicad_pcb b/test/footprints/rest___pcbs_pcb.kicad_pcb
index 506f4fd..db1fbf7 100644
--- a/test/footprints/rest___pcbs_pcb.kicad_pcb
+++ b/test/footprints/rest___pcbs_pcb.kicad_pcb
@@ -424,104 +424,6 @@
(pad 1 thru_hole circle (at 0 0) (size 0.6 0.6) (drill 0.3) (layers *.Cu) (zone_connect 2) (net 15 "net"))
)
-
-
- (module RollerEncoder_Panasonic_EVQWGD001 (layer F.Cu) (tedit 6040A10C)
- (at 50 -150 0)
- (fp_text reference REF** (at 0 0 0) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
- (fp_text value RollerEncoder_Panasonic_EVQWGD001 (at -0.1 9 0) (layer F.Fab) (effects (font (size 1 1) (thickness 0.15))))
-
-
- (fp_line (start -8.4 -6.4) (end 8.4 -6.4) (layer Dwgs.User) (width 0.12))
- (fp_line (start 8.4 -6.4) (end 8.4 7.4) (layer Dwgs.User) (width 0.12))
- (fp_line (start 8.4 7.4) (end -8.4 7.4) (layer Dwgs.User) (width 0.12))
- (fp_line (start -8.4 7.4) (end -8.4 -6.4) (layer Dwgs.User) (width 0.12))
-
-
-
- (fp_line (start 9.8 7.3) (end 9.8 -6.3) (layer Edge.Cuts) (width 0.15))
- (fp_line (start 7.4 -6.3) (end 7.4 7.3) (layer Edge.Cuts) (width 0.15))
- (fp_line (start 9.5 -6.6) (end 7.7 -6.6) (layer Edge.Cuts) (width 0.15))
- (fp_line (start 7.7 7.6) (end 9.5 7.6) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start 7.7 7.3) (end 7.4 7.3) (angle -90) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start 9.5 7.3) (end 9.5 7.6) (angle -90) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start 7.7 -6.3) (end 7.7 -6.6) (angle -90) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start 9.5 -6.3) (end 9.8 -6.3) (angle -90) (layer Edge.Cuts) (width 0.15))
-
-
- (pad S1 thru_hole circle (at -6.85 -6.2 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 1 "from"))
- (pad S2 thru_hole circle (at -5 -6.2 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 2 "to"))
- (pad A thru_hole circle (at -5.625 -3.81 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 11 "A"))
- (pad B thru_hole circle (at -5.625 -1.27 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 12 "B"))
- (pad C thru_hole circle (at -5.625 1.27 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 13 "C"))
- (pad D thru_hole circle (at -5.625 3.81 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 14 "D"))
-
-
- (pad "" np_thru_hole circle (at -5.625 6.3 0) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
-
-
-
- (fp_line (start -9.8 7.3) (end -9.8 -6.3) (layer Edge.Cuts) (width 0.15))
- (fp_line (start -7.4 -6.3) (end -7.4 7.3) (layer Edge.Cuts) (width 0.15))
- (fp_line (start -9.5 -6.6) (end -7.7 -6.6) (layer Edge.Cuts) (width 0.15))
- (fp_line (start -7.7 7.6) (end -9.5 7.6) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start -7.7 7.3) (end -7.4 7.3) (angle 90) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start -9.5 7.3) (end -9.5 7.6) (angle 90) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start -7.7 -6.3) (end -7.7 -6.6) (angle 90) (layer Edge.Cuts) (width 0.15))
- (fp_arc (start -9.5 -6.3) (end -9.8 -6.3) (angle 90) (layer Edge.Cuts) (width 0.15))
-
-
- (pad S1 thru_hole circle (at 6.85 -6.2 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 1 "from"))
- (pad S2 thru_hole circle (at 5 -6.2 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 2 "to"))
- (pad A thru_hole circle (at 5.625 -3.81 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 11 "A"))
- (pad B thru_hole circle (at 5.625 -1.27 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 12 "B"))
- (pad C thru_hole circle (at 5.625 1.27 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 13 "C"))
- (pad D thru_hole circle (at 5.625 3.81 0) (size 1.6 1.6) (drill 0.9) (layers *.Cu *.Mask) (net 14 "D"))
-
-
- (pad "" np_thru_hole circle (at 5.625 6.3 0) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
- )
-
-
-
- (module E73:SPDT_C128955 (layer F.Cu) (tstamp 5BF2CC3C)
-
- (at 100 -150 0)
-
-
- (fp_text reference "T2" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
- (fp_text value "" (at 0 0) (layer F.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
-
-
- (fp_line (start 1.95 -1.35) (end -1.95 -1.35) (layer B.SilkS) (width 0.15))
- (fp_line (start 0 -1.35) (end -3.3 -1.35) (layer B.SilkS) (width 0.15))
- (fp_line (start -3.3 -1.35) (end -3.3 1.5) (layer B.SilkS) (width 0.15))
- (fp_line (start -3.3 1.5) (end 3.3 1.5) (layer B.SilkS) (width 0.15))
- (fp_line (start 3.3 1.5) (end 3.3 -1.35) (layer B.SilkS) (width 0.15))
- (fp_line (start 0 -1.35) (end 3.3 -1.35) (layer B.SilkS) (width 0.15))
-
-
- (fp_line (start -1.95 -3.85) (end 1.95 -3.85) (layer Dwgs.User) (width 0.15))
- (fp_line (start 1.95 -3.85) (end 1.95 -1.35) (layer Dwgs.User) (width 0.15))
- (fp_line (start -1.95 -1.35) (end -1.95 -3.85) (layer Dwgs.User) (width 0.15))
-
-
- (pad "" np_thru_hole circle (at 1.5 0) (size 1 1) (drill 0.9) (layers *.Cu *.Mask))
- (pad "" np_thru_hole circle (at -1.5 0) (size 1 1) (drill 0.9) (layers *.Cu *.Mask))
-
-
- (pad 1 smd rect (at -2.25 2.075 0) (size 0.9 1.25) (layers B.Cu B.Paste B.Mask) (net 1 "from"))
- (pad 2 smd rect (at 0.75 2.075 0) (size 0.9 1.25) (layers B.Cu B.Paste B.Mask) (net 2 "to"))
- (pad 3 smd rect (at 2.25 2.075 0) (size 0.9 1.25) (layers B.Cu B.Paste B.Mask))
-
-
- (pad "" smd rect (at 3.7 -1.1 0) (size 0.9 0.9) (layers B.Cu B.Paste B.Mask))
- (pad "" smd rect (at 3.7 1.1 0) (size 0.9 0.9) (layers B.Cu B.Paste B.Mask))
- (pad "" smd rect (at -3.7 1.1 0) (size 0.9 0.9) (layers B.Cu B.Paste B.Mask))
- (pad "" smd rect (at -3.7 -1.1 0) (size 0.9 0.9) (layers B.Cu B.Paste B.Mask))
- )
-
-
)
diff --git a/test/helpers/mock_footprints.js b/test/helpers/mock_footprints.js
index 14edaf3..749d26c 100644
--- a/test/helpers/mock_footprints.js
+++ b/test/helpers/mock_footprints.js
@@ -3,7 +3,6 @@ exports.inject = (ergogen) => {
params: {
designator: 'T',
side: 'F',
- width: 0.25,
P1: {type: 'net', value: 'P1'}
},
body: p => {
@@ -13,15 +12,15 @@ exports.inject = (ergogen) => {
${p.at /* parametric position */}
- (pad 1 smd rect (at ${p.isxy(0, 0)} ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.P1} (solder_mask_margin 0.2))
+ (pad 1 smd rect (at ${p.ixy(0, 0)} ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.P1.str} (solder_mask_margin 0.2))
- (pad 2 smd rect (at ${p.isxy(5, 5)} ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.P1} (solder_mask_margin 0.2))
+ (pad 2 smd rect (at ${p.ixy(5, 5)} ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.P1.str} (solder_mask_margin 0.2))
)
- (segment (start ${p.esxy(0, 0)}) (end ${p.esxy(5, 5)}) (width ${p.width}) (layer ${p.side}.Cu) (net ${p.P1.index}))
+ (segment (start ${p.sxy(0, 0)}) (end ${p.sxy(5, 5)}) (width 0.25) (layer ${p.side}.Cu) (net ${p.P1.index}))
`
}
@@ -40,11 +39,11 @@ exports.inject = (ergogen) => {
${p.at /* parametric position */}
- (pad 1 smd rect (at 0 0 ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.P1} (solder_mask_margin 0.2))
+ (pad 1 smd rect (at 0 0 ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.P1.str} (solder_mask_margin 0.2))
- (pad 2 smd rect (at ${p.iaxy(5, 5)} ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.P1} (solder_mask_margin 0.2))
+ (pad 2 smd rect (at 5 5 ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.P1.str} (solder_mask_margin 0.2))
)
@@ -52,7 +51,7 @@ exports.inject = (ergogen) => {
(connect_pads (clearance 0.508))
(min_thickness 0.254)
(fill yes (arc_segments 32) (thermal_gap 0.508) (thermal_bridge_width 0.508))
- (polygon (pts (xy ${p.eaxy(5, 5)}) (xy ${p.eaxy(5, -5)}) (xy ${p.eaxy(-5, -5)}) (xy ${p.eaxy(-5, 5)})))
+ (polygon (pts (xy ${p.xy(5, 5)}) (xy ${p.xy(5, -5)}) (xy ${p.xy(-5, -5)}) (xy ${p.xy(-5, 5)})))
)
`
@@ -71,14 +70,14 @@ exports.inject = (ergogen) => {
${p.at /* parametric position */}
- (pad 1 smd rect (at 0 0 ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.local_net('1')} (solder_mask_margin 0.2))
+ (pad 1 smd rect (at 0 0 ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.local_net('1').str} (solder_mask_margin 0.2))
- (pad 1 smd rect (at 0 0 ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.local_net('2')} (solder_mask_margin 0.2))
+ (pad 1 smd rect (at 0 0 ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.local_net('2').str} (solder_mask_margin 0.2))
- (pad 1 smd rect (at 0 0 ${p.r}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
- ${p.local_net('3')} (solder_mask_margin 0.2))
+ (pad 1 smd rect (at 0 0 ${p.rot}) (size 1 1) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask)
+ ${p.local_net('3').str} (solder_mask_margin 0.2))
)
@@ -107,33 +106,7 @@ exports.inject = (ergogen) => {
}
})
- ergogen.inject('footprint', 'arrobj_test', {
- params: {
- designator: 'T',
- side: 'F',
- start: {x: 0, y: 0},
- end: [[1, 0], [0, 1]]
- },
- body: p => {
- lines = ''
- for (const item of p.end) {
- lines += `(fp_line (start ${p.start.x} ${p.start.y}) (end ${item[0]} ${item[1]}) (layer Dwgs.User) (width 0.05))\n`
- }
- return `
-
- (module arrobj_test (layer ${p.side}.Cu) (tedit 5CF31DEF)
-
- ${p.at /* parametric position */}
-
- ${lines}
-
- )
-
- `
- }
- })
-
- ergogen.inject('references_test', {
+ ergogen.inject('footprint', 'references_test', {
params: {},
body: p => {
return `references ${p.ref_hide ? 'hidden' : 'shown'}`
diff --git a/test/helpers/register.js b/test/helpers/register.js
index 36a7e79..8007d73 100644
--- a/test/helpers/register.js
+++ b/test/helpers/register.js
@@ -1,12 +1,4 @@
global.chai = require('chai')
global.chai.use(require('chai-as-promised'))
global.expect = global.chai.expect
-global.should = global.chai.should()
-global.sinon = require('sinon')
-
-// Restore the default sandbox after every test
-exports.mochaHooks = {
- afterEach() {
- sinon.restore()
- }
-}
\ No newline at end of file
+global.should = global.chai.should()
\ No newline at end of file
diff --git a/test/index.js b/test/index.js
index fc0444b..e1fc995 100644
--- a/test/index.js
+++ b/test/index.js
@@ -9,15 +9,7 @@ require('./helpers/mock_footprints').inject(ergogen)
let what = process.env.npm_config_what
const dump = process.env.npm_config_dump
-const lineends = /(?:\r\n|\r|\n)/g
-const handle_slash = (() => {
- if (path.sep == '\\') {
- return str => str.replace(/\\/g,'/')
- } else {
- return str => str
- }
-})()
// Unit tests
@@ -25,7 +17,7 @@ const handle_slash = (() => {
// the --dump switch does nothing here
what = what ? what.split(',') : false
-for (const unit of glob.sync(handle_slash(path.join(__dirname, 'unit', '*.js')))) {
+for (const unit of glob.sync(path.join(__dirname, 'unit', '*.js'))) {
const base = path.basename(unit, '.js')
if (what && !what.includes(base)) continue
require(`./unit/${base}.js`)
@@ -38,19 +30,6 @@ for (const unit of glob.sync(handle_slash(path.join(__dirname, 'unit', '*.js')))
// as well as individual tests using slash-notation (like `points/default`)
// the --dump switch can output the new results, overriding the old reference
-const dump_structure = (obj, depth=-1, prefix='', breadcrumbs=[]) => {
- if (a.type(obj)() != 'object') {
- console.log(prefix + breadcrumbs.join('_'))
- return
- }
- if (depth == 0) return
- for (const [key, val] of Object.entries(obj)) {
- breadcrumbs.push(key)
- dump_structure(val, depth-1, prefix, breadcrumbs)
- breadcrumbs.pop()
- }
-}
-
const cap = s => s.charAt(0).toUpperCase() + s.slice(1)
const test = function(input_path) {
@@ -58,52 +37,27 @@ const test = function(input_path) {
this.slow(120000)
title = path.basename(input_path, '.yaml').split('_').join(' ')
it(title, async function() {
-
const input = yaml.load(fs.readFileSync(input_path).toString())
- const base = path.join(path.dirname(input_path), path.basename(input_path, '.yaml'))
- const references = glob.sync(handle_slash(base) + '___*')
-
- // handle deliberately wrong inputs
- const exception = base + '___EXCEPTION.txt'
- if (fs.existsSync(exception)) {
- const exception_snippet = fs.readFileSync(exception).toString()
- return await ergogen.process(input, true).should.be.rejectedWith(exception_snippet)
- }
-
const output = await ergogen.process(input, true)
// compare output vs. reference
- if (references.length) {
- for (const expected_path of references) {
- let expected = fs.readFileSync(expected_path).toString()
- if (expected_path.endsWith('.json')) {
- expected = JSON.parse(expected)
- }
- const comp_path = expected_path.split('___')[1].split('.')[0].split('_').join('.')
- const output_part = u.deep(output, comp_path)
- if (dump) {
- if (a.type(output_part)() == 'string') {
- fs.writeFileSync(expected_path, output_part)
- } else {
- fs.writeJSONSync(expected_path, output_part, {spaces: 4})
- }
- } else {
- if (a.type(output_part)() == 'string') {
- const parse_out = output_part.replace(lineends, '\n')
- const parse_exp = expected.replace(lineends, '\n')
- parse_out.should.deep.equal(parse_exp)
- } else {
- // JSON can hide negative zeroes, for example, so we canonical-ize first
- const canonical_part = JSON.parse(JSON.stringify(output_part))
- canonical_part.should.deep.equal(expected)
- }
- }
+ const base = path.join(path.dirname(input_path), path.basename(input_path, '.yaml'))
+ for (const expected_path of glob.sync(base + '___*')) {
+ let expected = fs.readFileSync(expected_path).toString()
+ if (expected_path.endsWith('.json')) {
+ expected = JSON.parse(expected)
+ }
+ const comp_path = expected_path.split('___')[1].split('.')[0].split('_').join('.')
+ const output_part = u.deep(output, comp_path)
+ if (dump) {
+ if (a.type(output_part)() == 'string') {
+ fs.writeFileSync(expected_path, output_part)
+ } else {
+ fs.writeJSONSync(expected_path, output_part, {spaces: 4})
+ }
+ } else {
+ output_part.should.deep.equal(expected)
}
-
- // explicit dump-ing above only works, if there are already files with the right name
- // if there aren't, dump now outputs a list of candidates that could be referenced
- } else if (dump) {
- dump_structure(output, 3, base + '___')
}
})
}
@@ -120,7 +74,7 @@ if (what) {
regex = path.join(__dirname, w, '*.yaml')
}
describe(title, function() {
- for (const i of glob.sync(handle_slash(regex))) {
+ for (const i of glob.sync(regex)) {
test.call(this, i)
}
})
@@ -128,7 +82,7 @@ if (what) {
} else {
for (const part of ['points', 'outlines', 'cases', 'pcbs', 'footprints']) {
describe(cap(part), function() {
- for (const i of glob.sync(handle_slash(path.join(__dirname, part, '*.yaml')))) {
+ for (const i of glob.sync(path.join(__dirname, part, '*.yaml'))) {
test.call(this, i)
}
})
@@ -155,7 +109,7 @@ for (let w of cli_what) {
describe('CLI', function() {
this.timeout(120000)
this.slow(120000)
- for (const t of glob.sync(handle_slash(path.join(__dirname, w)))) {
+ for (const t of glob.sync(path.join(__dirname, w))) {
it(path.basename(t).split('_').join(' '), function() {
const command = read(t, 'command')
const output_path = exists(t, 'path') ? read(t, 'path') : 'output'
@@ -179,19 +133,14 @@ for (let w of cli_what) {
ref_path = path.resolve(path.join(t, read(ref_path).trim()))
}
const comp_res = dircompare.compareSync(output_path, ref_path, {
- compareContent: true,
- ignoreLineEnding: true,
- compareFileSync: dircompare.fileCompareHandlers.lineBasedFileCompare.compareSync,
- compareFileAsync: dircompare.fileCompareHandlers.lineBasedFileCompare.compareAsync
+ compareContent: true
})
if (dump) {
fs.moveSync(output_path, ref_path, {overwrite: true})
} else {
fs.removeSync(output_path)
}
- const parse_act_log = actual_log.replace(lineends, '\n')
- const parse_ref_log = ref_log.replace(lineends, '\n')
- parse_act_log.should.equal(parse_ref_log)
+ actual_log.should.equal(ref_log)
comp_res.same.should.be.true
// deliberately incorrect execution
} else {
@@ -213,4 +162,4 @@ for (let w of cli_what) {
})
}
})
-}
+}
\ No newline at end of file
diff --git a/test/outlines/binding.yaml b/test/outlines/binding.yaml
deleted file mode 100644
index 6fba506..0000000
--- a/test/outlines/binding.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-points:
- zones:
- matrix:
- mirror:
- ref: matrix_only_first
- distance: 30
- columns:
- only.rows:
- first.bind: 0
- second.bind: [0,10,0,10]
- third.bind: [10,0,10,0]
- fourth.bind: [u, u/2, u/3, u/4]
-outlines:
- bound:
- - what: rectangle
- where: true
- size: 20
- bound: true
diff --git a/test/outlines/binding___outlines_bound_dxf.dxf b/test/outlines/binding___outlines_bound_dxf.dxf
deleted file mode 100644
index 433dd5d..0000000
--- a/test/outlines/binding___outlines_bound_dxf.dxf
+++ /dev/null
@@ -1,338 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--10
-20
--10
-11
-10
-21
--10
-0
-LINE
-8
-0
-10
-10
-20
--10
-11
-10
-21
-9
-0
-LINE
-8
-0
-10
--10
-20
-9
-11
--10
-21
--10
-0
-LINE
-8
-0
-10
-10
-20
-29
-11
-20
-21
-29
-0
-LINE
-8
-0
-10
-20
-20
-9
-11
-10
-21
-9
-0
-LINE
-8
-0
-10
--10
-20
-9
-11
--20
-21
-9
-0
-LINE
-8
-0
-10
--20
-20
-9
-11
--20
-21
-29
-0
-LINE
-8
-0
-10
--20
-20
-29
-11
--10
-21
-29
-0
-LINE
-8
-0
-10
-10
-20
-29
-11
-10
-21
-40.6666667
-0
-LINE
-8
-0
-10
--10
-20
-29
-11
--10
-21
-40.6666667
-0
-LINE
-8
-0
-10
--14.75
-20
-86
-11
-44.75
-21
-86
-0
-LINE
-8
-0
-10
-10
-20
-40.6666667
-11
-20
-21
-40.6666667
-0
-LINE
-8
-0
-10
--10
-20
-40.6666667
-11
--14.75
-21
-40.6666667
-0
-LINE
-8
-0
-10
--14.75
-20
-40.6666667
-11
--14.75
-21
-86
-0
-LINE
-8
-0
-10
-20
-20
--10
-11
-40
-21
--10
-0
-LINE
-8
-0
-10
-40
-20
--10
-11
-40
-21
-9
-0
-LINE
-8
-0
-10
-20
-20
-9
-11
-20
-21
--10
-0
-LINE
-8
-0
-10
-40
-20
-29
-11
-50
-21
-29
-0
-LINE
-8
-0
-10
-50
-20
-9
-11
-50
-21
-29
-0
-LINE
-8
-0
-10
-50
-20
-9
-11
-40
-21
-9
-0
-LINE
-8
-0
-10
-40
-20
-29
-11
-40
-21
-40.6666667
-0
-LINE
-8
-0
-10
-20
-20
-29
-11
-20
-21
-40.6666667
-0
-LINE
-8
-0
-10
-44.75
-20
-40.6666667
-11
-44.75
-21
-86
-0
-LINE
-8
-0
-10
-44.75
-20
-40.6666667
-11
-40
-21
-40.6666667
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/outlines/expand.yaml b/test/outlines/expand.yaml
deleted file mode 100644
index 160f737..0000000
--- a/test/outlines/expand.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-points:
- zones:
- matrix: {}
-outlines:
- base:
- - what: rectangle
- where: true
- size: 20
- bound: false
- sh_beveled:
- - what: outline
- name: base
- expand: "5]"
- sh_round:
- - what: outline
- name: base
- expand: "6)"
- sh_pointy:
- - what: outline
- name: base
- expand: "7>"
- shorthand-combo:
- - "sh_pointy"
- - "-sh_round"
- - "+sh_beveled"
- - "-base"
- jnt_beveled:
- - what: outline
- name: base
- expand: 8
- joints: beveled
- jnt_round:
- - what: outline
- name: base
- expand: 9
- joints: round
- jnt_pointy:
- - what: outline
- name: base
- expand: 10
- joints: pointy
- joint-name-combo:
- - "jnt_pointy"
- - "-jnt_round"
- - "+jnt_beveled"
- - "-base"
diff --git a/test/outlines/expand___outlines_joint-name-combo_dxf.dxf b/test/outlines/expand___outlines_joint-name-combo_dxf.dxf
deleted file mode 100644
index f8b2a82..0000000
--- a/test/outlines/expand___outlines_joint-name-combo_dxf.dxf
+++ /dev/null
@@ -1,346 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--20
-20
--20
-11
-20
-21
--20
-0
-LINE
-8
-0
-10
-20
-20
--20
-11
-20
-21
-20
-0
-LINE
-8
-0
-10
--20
-20
-20
-11
-20
-21
-20
-0
-LINE
-8
-0
-10
--20
-20
--20
-11
--20
-21
-20
-0
-LINE
-8
-0
-10
--10
-20
--19
-11
-10
-21
--19
-0
-ARC
-8
-0
-10
-10
-20
--10
-40
-9
-50
-270
-51
-360
-0
-LINE
-8
-0
-10
-19
-20
--10
-11
-19
-21
-10
-0
-ARC
-8
-0
-10
-10
-20
-10
-40
-9
-50
-0
-51
-90
-0
-LINE
-8
-0
-10
-10
-20
-19
-11
--10
-21
-19
-0
-ARC
-8
-0
-10
--10
-20
-10
-40
-9
-50
-90
-51
-180
-0
-LINE
-8
-0
-10
--19
-20
-10
-11
--19
-21
--10
-0
-ARC
-8
-0
-10
--10
-20
--10
-40
-9
-50
-180
-51
-270
-0
-LINE
-8
-0
-10
--13.3137085
-20
--18
-11
-13.3137085
-21
--18
-0
-LINE
-8
-0
-10
-13.3137085
-20
--18
-11
-18
-21
--13.3137085
-0
-LINE
-8
-0
-10
-18
-20
--13.3137085
-11
-18
-21
-13.3137085
-0
-LINE
-8
-0
-10
-13.3137085
-20
-18
-11
-18
-21
-13.3137085
-0
-LINE
-8
-0
-10
--13.3137085
-20
-18
-11
-13.3137085
-21
-18
-0
-LINE
-8
-0
-10
--18
-20
-13.3137085
-11
--13.3137085
-21
-18
-0
-LINE
-8
-0
-10
--18
-20
--13.3137085
-11
--18
-21
-13.3137085
-0
-LINE
-8
-0
-10
--18
-20
--13.3137085
-11
--13.3137085
-21
--18
-0
-LINE
-8
-0
-10
--10
-20
--10
-11
-10
-21
--10
-0
-LINE
-8
-0
-10
-10
-20
--10
-11
-10
-21
-10
-0
-LINE
-8
-0
-10
-10
-20
-10
-11
--10
-21
-10
-0
-LINE
-8
-0
-10
--10
-20
-10
-11
--10
-21
--10
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/outlines/expand___outlines_shorthand-combo_dxf.dxf b/test/outlines/expand___outlines_shorthand-combo_dxf.dxf
deleted file mode 100644
index 6a9b92d..0000000
--- a/test/outlines/expand___outlines_shorthand-combo_dxf.dxf
+++ /dev/null
@@ -1,346 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--17
-20
--17
-11
-17
-21
--17
-0
-LINE
-8
-0
-10
-17
-20
--17
-11
-17
-21
-17
-0
-LINE
-8
-0
-10
--17
-20
-17
-11
-17
-21
-17
-0
-LINE
-8
-0
-10
--17
-20
--17
-11
--17
-21
-17
-0
-LINE
-8
-0
-10
--10
-20
--16
-11
-10
-21
--16
-0
-ARC
-8
-0
-10
-10
-20
--10
-40
-6
-50
-270
-51
-360
-0
-LINE
-8
-0
-10
-16
-20
--10
-11
-16
-21
-10
-0
-ARC
-8
-0
-10
-10
-20
-10
-40
-6
-50
-0
-51
-90
-0
-LINE
-8
-0
-10
-10
-20
-16
-11
--10
-21
-16
-0
-ARC
-8
-0
-10
--10
-20
-10
-40
-6
-50
-90
-51
-180
-0
-LINE
-8
-0
-10
--16
-20
-10
-11
--16
-21
--10
-0
-ARC
-8
-0
-10
--10
-20
--10
-40
-6
-50
-180
-51
-270
-0
-LINE
-8
-0
-10
--12.0710678
-20
--15
-11
-12.0710678
-21
--15
-0
-LINE
-8
-0
-10
-12.0710678
-20
--15
-11
-15
-21
--12.0710678
-0
-LINE
-8
-0
-10
-15
-20
--12.0710678
-11
-15
-21
-12.0710678
-0
-LINE
-8
-0
-10
-12.0710678
-20
-15
-11
-15
-21
-12.0710678
-0
-LINE
-8
-0
-10
--12.0710678
-20
-15
-11
-12.0710678
-21
-15
-0
-LINE
-8
-0
-10
--15
-20
-12.0710678
-11
--12.0710678
-21
-15
-0
-LINE
-8
-0
-10
--15
-20
--12.0710678
-11
--15
-21
-12.0710678
-0
-LINE
-8
-0
-10
--15
-20
--12.0710678
-11
--12.0710678
-21
--15
-0
-LINE
-8
-0
-10
--10
-20
--10
-11
-10
-21
--10
-0
-LINE
-8
-0
-10
-10
-20
--10
-11
-10
-21
-10
-0
-LINE
-8
-0
-10
-10
-20
-10
-11
--10
-21
-10
-0
-LINE
-8
-0
-10
--10
-20
-10
-11
--10
-21
--10
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/outlines/outlines.yaml b/test/outlines/outlines.yaml
index 99a70b6..351fff7 100644
--- a/test/outlines/outlines.yaml
+++ b/test/outlines/outlines.yaml
@@ -16,22 +16,11 @@ outlines:
where: true
size: cy
bound: true
- adjust:
- - what: circle
- where: true
- radius: 2
- # adjust works, and it can use shape-specific units
- adjust.shift: [0, r]
fillet:
- - name: base
+ - what: outline
+ name: base
fillet: 2
scale:
- - name: fillet
- scale: 0.5
- combination:
- - "base"
- - "-scale"
- - "~fillet"
- expand:
- - name: combination
- expand: 1
+ - what: outline
+ name: fillet
+ scale: 0.5
\ No newline at end of file
diff --git a/test/outlines/outlines___outlines_adjust_dxf.dxf b/test/outlines/outlines___outlines_adjust_dxf.dxf
deleted file mode 100644
index 5a902b7..0000000
--- a/test/outlines/outlines___outlines_adjust_dxf.dxf
+++ /dev/null
@@ -1,90 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-CIRCLE
-8
-0
-10
-0
-20
-2
-40
-2
-0
-CIRCLE
-8
-0
-10
-0
-20
-19
-40
-2
-0
-CIRCLE
-8
-0
-10
-19
-20
-2
-40
-2
-0
-CIRCLE
-8
-0
-10
-19
-20
-19
-40
-2
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/outlines/outlines___outlines_combination_dxf.dxf b/test/outlines/outlines___outlines_combination_dxf.dxf
deleted file mode 100644
index 557f735..0000000
--- a/test/outlines/outlines___outlines_combination_dxf.dxf
+++ /dev/null
@@ -1,514 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
-8.6
-20
--6.6
-11
-8.6
-21
--4.3
-0
-LINE
-8
-0
-10
-8.6
-20
-12.8
-11
-8.6
-21
-23.6
-0
-LINE
-8
-0
-10
--6.6
-20
--8.6
-11
-6.6
-21
--8.6
-0
-LINE
-8
-0
-10
--8.6
-20
--6.6
-11
--8.6
-21
-23.6
-0
-LINE
-8
-0
-10
--6.6
-20
-25.6
-11
-6.6
-21
-25.6
-0
-LINE
-8
-0
-10
-27.6
-20
--6.6
-11
-27.6
-21
-23.6
-0
-LINE
-8
-0
-10
-12.4
-20
--8.6
-11
-25.6
-21
--8.6
-0
-LINE
-8
-0
-10
-10.4
-20
--6.6
-11
-10.4
-21
--4.3
-0
-LINE
-8
-0
-10
-10.4
-20
-12.8
-11
-10.4
-21
-23.6
-0
-LINE
-8
-0
-10
-12.4
-20
-25.6
-11
-25.6
-21
-25.6
-0
-LINE
-8
-0
-10
-4.3
-20
--3.3
-11
-4.3
-21
-11.8
-0
-LINE
-8
-0
-10
--3.3
-20
--4.3
-11
-3.3
-21
--4.3
-0
-LINE
-8
-0
-10
--4.3
-20
--3.3
-11
--4.3
-21
-11.8
-0
-LINE
-8
-0
-10
--3.3
-20
-12.8
-11
-3.3
-21
-12.8
-0
-LINE
-8
-0
-10
-13.8
-20
--3.3
-11
-13.8
-21
-11.8
-0
-LINE
-8
-0
-10
-6.2
-20
--4.3
-11
-8.6
-21
--4.3
-0
-LINE
-8
-0
-10
-10.4
-20
--4.3
-11
-12.8
-21
--4.3
-0
-LINE
-8
-0
-10
-5.2
-20
--3.3
-11
-5.2
-21
-11.8
-0
-LINE
-8
-0
-10
-6.2
-20
-12.8
-11
-8.6
-21
-12.8
-0
-LINE
-8
-0
-10
-10.4
-20
-12.8
-11
-12.8
-21
-12.8
-0
-ARC
-8
-0
-10
-3.3
-20
-11.8
-40
-1
-50
-0
-51
-90
-0
-ARC
-8
-0
-10
--3.3
-20
-11.8
-40
-1
-50
-90
-51
-180
-0
-ARC
-8
-0
-10
--3.3
-20
--3.3
-40
-1
-50
-180
-51
-270
-0
-ARC
-8
-0
-10
-3.3
-20
--3.3
-40
-1
-50
-270
-51
-0
-0
-ARC
-8
-0
-10
-12.8
-20
-11.8
-40
-1
-50
-0
-51
-90
-0
-ARC
-8
-0
-10
-6.2
-20
-11.8
-40
-1
-50
-90
-51
-180
-0
-ARC
-8
-0
-10
-6.2
-20
--3.3
-40
-1
-50
-180
-51
-270
-0
-ARC
-8
-0
-10
-12.8
-20
--3.3
-40
-1
-50
-270
-51
-0
-0
-ARC
-8
-0
-10
-6.6
-20
-23.6
-40
-2
-50
-0
-51
-90
-0
-ARC
-8
-0
-10
--6.6
-20
-23.6
-40
-2
-50
-90
-51
-180
-0
-ARC
-8
-0
-10
--6.6
-20
--6.6
-40
-2
-50
-180
-51
-270
-0
-ARC
-8
-0
-10
-6.6
-20
--6.6
-40
-2
-50
-270
-51
-0
-0
-ARC
-8
-0
-10
-25.6
-20
-23.6
-40
-2
-50
-0
-51
-90
-0
-ARC
-8
-0
-10
-12.4
-20
-23.6
-40
-2
-50
-90
-51
-180
-0
-ARC
-8
-0
-10
-12.4
-20
--6.6
-40
-2
-50
-180
-51
-270
-0
-ARC
-8
-0
-10
-25.6
-20
--6.6
-40
-2
-50
-270
-51
-0
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/outlines/outlines___outlines_expand_dxf.dxf b/test/outlines/outlines___outlines_expand_dxf.dxf
deleted file mode 100644
index b129818..0000000
--- a/test/outlines/outlines___outlines_expand_dxf.dxf
+++ /dev/null
@@ -1,410 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--6.6
-20
--9.6
-11
-6.6
-21
--9.6
-0
-ARC
-8
-0
-10
-6.6
-20
--6.6
-40
-3
-50
-270
-51
-345.164888
-0
-ARC
-8
-0
-10
-12.4
-20
--6.6
-40
-3
-50
-194.835112
-51
-270
-0
-LINE
-8
-0
-10
-12.4
-20
--9.6
-11
-25.6
-21
--9.6
-0
-ARC
-8
-0
-10
-25.6
-20
--6.6
-40
-3
-50
-270
-51
-360
-0
-LINE
-8
-0
-10
-28.6
-20
--6.6
-11
-28.6
-21
-23.6
-0
-ARC
-8
-0
-10
-25.6
-20
-23.6
-40
-3
-50
-0
-51
-90
-0
-LINE
-8
-0
-10
-12.4
-20
-26.6
-11
-25.6
-21
-26.6
-0
-ARC
-8
-0
-10
-12.4
-20
-23.6
-40
-3
-50
-90
-51
-165.164888
-0
-ARC
-8
-0
-10
-6.6
-20
-23.6
-40
-3
-50
-14.835112
-51
-90
-0
-LINE
-8
-0
-10
--6.6
-20
-26.6
-11
-6.6
-21
-26.6
-0
-ARC
-8
-0
-10
--6.6
-20
-23.6
-40
-3
-50
-90
-51
-180
-0
-LINE
-8
-0
-10
--9.6
-20
--6.6
-11
--9.6
-21
-23.6
-0
-ARC
-8
-0
-10
--6.6
-20
--6.6
-40
-3
-50
-180
-51
-270
-0
-LINE
-8
-0
-10
-12.8
-20
--3.3
-11
-12.8
-21
-11.8
-0
-LINE
-8
-0
-10
-10.4
-20
-11.8
-11
-12.8
-21
-11.8
-0
-ARC
-8
-0
-10
-10.4
-20
-12.8
-40
-1
-50
-205.8419331
-51
-270
-0
-ARC
-8
-0
-10
-8.6
-20
-12.8
-40
-1
-50
-270
-51
-334.1580669
-0
-LINE
-8
-0
-10
-6.2
-20
-11.8
-11
-8.6
-21
-11.8
-0
-LINE
-8
-0
-10
-6.2
-20
--3.3
-11
-6.2
-21
-11.8
-0
-LINE
-8
-0
-10
-6.2
-20
--3.3
-11
-8.6
-21
--3.3
-0
-ARC
-8
-0
-10
-8.6
-20
--4.3
-40
-1
-50
-25.8419331
-51
-90
-0
-ARC
-8
-0
-10
-10.4
-20
--4.3
-40
-1
-50
-90
-51
-154.1580669
-0
-LINE
-8
-0
-10
-10.4
-20
--3.3
-11
-12.8
-21
--3.3
-0
-LINE
-8
-0
-10
-3.3
-20
--3.3
-11
-3.3
-21
-11.8
-0
-LINE
-8
-0
-10
--3.3
-20
-11.8
-11
-3.3
-21
-11.8
-0
-LINE
-8
-0
-10
--3.3
-20
--3.3
-11
--3.3
-21
-11.8
-0
-LINE
-8
-0
-10
--3.3
-20
--3.3
-11
-3.3
-21
--3.3
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/outlines/rectangles.yaml b/test/outlines/rectangles.yaml
index 6cd7c2f..2982e5e 100644
--- a/test/outlines/rectangles.yaml
+++ b/test/outlines/rectangles.yaml
@@ -17,7 +17,6 @@ outlines:
- mirror_matrix
shift: [0, sy/2]
size: [20, 40]
- corner: 5
outside_rects:
what: rectangle
where:
diff --git a/test/outlines/rectangles___outlines_outline_dxf.dxf b/test/outlines/rectangles___outlines_outline_dxf.dxf
index 101992d..8de0346 100644
--- a/test/outlines/rectangles___outlines_outline_dxf.dxf
+++ b/test/outlines/rectangles___outlines_outline_dxf.dxf
@@ -67,7 +67,7 @@ LINE
11
10
21
-5
+0
0
LINE
8
@@ -135,7 +135,7 @@ LINE
10
30
20
-5
+0
11
30
21
@@ -145,28 +145,14 @@ LINE
8
0
10
-15
+10
20
0
11
-25
+30
21
0
0
-ARC
-8
-0
-10
-25
-20
-5
-40
-5
-50
-270
-51
-360
-0
LINE
8
0
@@ -177,74 +163,32 @@ LINE
11
30
21
-35
-0
-ARC
-8
-0
-10
-25
-20
-35
40
-5
-50
-0
-51
-90
0
LINE
8
0
10
-25
+30
20
40
11
-15
+10
21
40
0
-ARC
-8
-0
-10
-15
-20
-35
-40
-5
-50
-90
-51
-180
-0
LINE
8
0
10
10
20
-35
+40
11
10
21
10
0
-ARC
-8
-0
-10
-15
-20
-5
-40
-5
-50
-180
-51
-270
-0
LINE
8
0
diff --git a/test/pcbs/mock_footprints.yaml b/test/pcbs/mock_footprints.yaml
index 14e9821..ddce5b0 100644
--- a/test/pcbs/mock_footprints.yaml
+++ b/test/pcbs/mock_footprints.yaml
@@ -1,7 +1,5 @@
points.zones.matrix:
mirror: 10
- key:
- magic_value: 5
outlines:
edge:
- what: rectangle
@@ -20,7 +18,6 @@ pcbs:
shift: [1, 1]
rotate: 30
params:
- width: u/40
side: F
mirror:
side: B
@@ -31,25 +28,9 @@ pcbs:
rotate: 30
dyn:
what: dynamic_net_test
- anc1:
+ anc:
what: anchor_test
params:
end:
ref: matrix
- shift: [10, 10]
- anc2:
- what: anchor_test
- params:
- end: matrix
- arrobj:
- what: arrobj_test
- params:
- start: {x: 5, y: 5}
- end: [[6, 6], [7, 7]]
- arrobj_templated:
- what: arrobj_test
- where:
- ref: matrix
- params:
- start: '{x: {{magic_value}}, y: {{magic_value}}}'
- end: '[[6, 6], [7, {{magic_value}}]]'
+ shift: [10, 10]
\ No newline at end of file
diff --git a/test/pcbs/mock_footprints___pcbs_main.kicad_pcb b/test/pcbs/mock_footprints___pcbs_main.kicad_pcb
index 463dd01..d9b38b3 100644
--- a/test/pcbs/mock_footprints___pcbs_main.kicad_pcb
+++ b/test/pcbs/mock_footprints___pcbs_main.kicad_pcb
@@ -94,9 +94,9 @@
(net 0 "")
(net 1 "P1")
-(net 2 "T4_1")
-(net 3 "T4_2")
-(net 4 "T4_3")
+(net 2 "T6_1")
+(net 3 "T6_2")
+(net 4 "T6_3")
(net_class Default "This is the default net class."
(clearance 0.2)
@@ -107,9 +107,9 @@
(uvia_drill 0.1)
(add_net "")
(add_net "P1")
-(add_net "T4_1")
-(add_net "T4_2")
-(add_net "T4_3")
+(add_net "T6_1")
+(add_net "T6_2")
+(add_net "T6_3")
)
@@ -126,7 +126,7 @@
)
- (segment (start 1 -1) (end 7.830127 0.8301270000000001) (width 0.475) (layer F.Cu) (net 1))
+ (segment (start 1 -1) (end 7.830127 0.8301270000000001) (width 0.25) (layer F.Cu) (net 1))
@@ -143,7 +143,41 @@
)
- (segment (start 19 -1) (end 12.169872999999999 0.8301270000000001) (width 0.475) (layer B.Cu) (net 1))
+ (segment (start 19 -1) (end 12.169872999999999 0.8301270000000001) (width 0.25) (layer B.Cu) (net 1))
+
+
+
+
+ (module trace_test (layer B.Cu) (tedit 5CF31DEF)
+
+ (at 19 -1 -30)
+
+ (pad 1 smd rect (at 0 0 -30) (size 1 1) (layers B.Cu B.Paste B.Mask)
+ (net 1 "P1") (solder_mask_margin 0.2))
+
+ (pad 2 smd rect (at -5 5 -30) (size 1 1) (layers B.Cu B.Paste B.Mask)
+ (net 1 "P1") (solder_mask_margin 0.2))
+
+ )
+
+ (segment (start 19 -1) (end 12.169872999999999 0.8301270000000001) (width 0.25) (layer B.Cu) (net 1))
+
+
+
+
+ (module trace_test (layer F.Cu) (tedit 5CF31DEF)
+
+ (at 1 -1 30)
+
+ (pad 1 smd rect (at 0 0 30) (size 1 1) (layers F.Cu F.Paste F.Mask)
+ (net 1 "P1") (solder_mask_margin 0.2))
+
+ (pad 2 smd rect (at 5 5 30) (size 1 1) (layers F.Cu F.Paste F.Mask)
+ (net 1 "P1") (solder_mask_margin 0.2))
+
+ )
+
+ (segment (start 1 -1) (end 7.830127 0.8301270000000001) (width 0.25) (layer F.Cu) (net 1))
@@ -175,13 +209,13 @@
(at 0 0 0)
(pad 1 smd rect (at 0 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask)
- (net 2 "T4_1") (solder_mask_margin 0.2))
+ (net 2 "T6_1") (solder_mask_margin 0.2))
(pad 1 smd rect (at 0 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask)
- (net 3 "T4_2") (solder_mask_margin 0.2))
+ (net 3 "T6_2") (solder_mask_margin 0.2))
(pad 1 smd rect (at 0 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask)
- (net 4 "T4_3") (solder_mask_margin 0.2))
+ (net 4 "T6_3") (solder_mask_margin 0.2))
)
@@ -197,43 +231,6 @@
)
-
-
- (module anchor_test (layer F.Cu) (tedit 5CF31DEF)
-
- (at 0 0 0)
-
- (fp_line (start 0 0) (end 0 0) (layer Dwgs.User) (width 0.05))
-
- )
-
-
-
-
- (module arrobj_test (layer F.Cu) (tedit 5CF31DEF)
-
- (at 0 0 0)
-
- (fp_line (start 5 5) (end 6 6) (layer Dwgs.User) (width 0.05))
-(fp_line (start 5 5) (end 7 7) (layer Dwgs.User) (width 0.05))
-
-
- )
-
-
-
-
- (module arrobj_test (layer F.Cu) (tedit 5CF31DEF)
-
- (at 0 0 0)
-
- (fp_line (start 5 5) (end 6 6) (layer Dwgs.User) (width 0.05))
-(fp_line (start 5 5) (end 7 5) (layer Dwgs.User) (width 0.05))
-
-
- )
-
-
(gr_line (start -9.5 9.5) (end 9.5 9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
(gr_line (start 9.5 9.5) (end 9.5 -9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
(gr_line (start 9.5 -9.5) (end -9.5 -9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
diff --git a/test/pcbs/outlines.yaml b/test/pcbs/outlines.yaml
deleted file mode 100644
index 7a7cd82..0000000
--- a/test/pcbs/outlines.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-points.zones.matrix:
- columns:
- left:
- right:
- rows.only:
-outlines:
- left:
- out:
- what: rectangle
- where: matrix_left_only
- size: u
- fillet: u/5
- in:
- what: circle
- where: matrix_left_only
- radius: u/4
- operation: subtract
- right:
- out:
- what: rectangle
- where: matrix_right_only
- size: u
- bevel: u/5
- in:
- what: rectangle
- where: matrix_right_only
- size: u/2
- bevel: u/4
- operation: subtract
-pcbs:
- main:
- outlines:
- - outline: 'left'
- - outline: 'right'
diff --git a/test/pcbs/outlines___pcbs_main.kicad_pcb b/test/pcbs/outlines___pcbs_main.kicad_pcb
deleted file mode 100644
index 8e92c54..0000000
--- a/test/pcbs/outlines___pcbs_main.kicad_pcb
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-(kicad_pcb (version 20171130) (host pcbnew 5.1.6)
-
- (page A3)
- (title_block
- (title main)
- (rev v1.0.0)
- (company Unknown)
- )
-
- (general
- (thickness 1.6)
- )
-
- (layers
- (0 F.Cu signal)
- (31 B.Cu signal)
- (32 B.Adhes user)
- (33 F.Adhes user)
- (34 B.Paste user)
- (35 F.Paste user)
- (36 B.SilkS user)
- (37 F.SilkS user)
- (38 B.Mask user)
- (39 F.Mask user)
- (40 Dwgs.User user)
- (41 Cmts.User user)
- (42 Eco1.User user)
- (43 Eco2.User user)
- (44 Edge.Cuts user)
- (45 Margin user)
- (46 B.CrtYd user)
- (47 F.CrtYd user)
- (48 B.Fab user)
- (49 F.Fab user)
- )
-
- (setup
- (last_trace_width 0.25)
- (trace_clearance 0.2)
- (zone_clearance 0.508)
- (zone_45_only no)
- (trace_min 0.2)
- (via_size 0.8)
- (via_drill 0.4)
- (via_min_size 0.4)
- (via_min_drill 0.3)
- (uvia_size 0.3)
- (uvia_drill 0.1)
- (uvias_allowed no)
- (uvia_min_size 0.2)
- (uvia_min_drill 0.1)
- (edge_width 0.05)
- (segment_width 0.2)
- (pcb_text_width 0.3)
- (pcb_text_size 1.5 1.5)
- (mod_edge_width 0.12)
- (mod_text_size 1 1)
- (mod_text_width 0.15)
- (pad_size 1.524 1.524)
- (pad_drill 0.762)
- (pad_to_mask_clearance 0.05)
- (aux_axis_origin 0 0)
- (visible_elements FFFFFF7F)
- (pcbplotparams
- (layerselection 0x010fc_ffffffff)
- (usegerberextensions false)
- (usegerberattributes true)
- (usegerberadvancedattributes true)
- (creategerberjobfile true)
- (excludeedgelayer true)
- (linewidth 0.100000)
- (plotframeref false)
- (viasonmask false)
- (mode 1)
- (useauxorigin false)
- (hpglpennumber 1)
- (hpglpenspeed 20)
- (hpglpendiameter 15.000000)
- (psnegative false)
- (psa4output false)
- (plotreference true)
- (plotvalue true)
- (plotinvisibletext false)
- (padsonsilk false)
- (subtractmaskfromsilk false)
- (outputformat 1)
- (mirror false)
- (drillshape 1)
- (scaleselection 1)
- (outputdirectory ""))
- )
-
- (net 0 "")
-
- (net_class Default "This is the default net class."
- (clearance 0.2)
- (trace_width 0.25)
- (via_dia 0.8)
- (via_drill 0.4)
- (uvia_dia 0.3)
- (uvia_drill 0.1)
- (add_net "")
- )
-
-
- (gr_line (start -5.7 9.5) (end 5.699999999999999 9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 9.5 5.7) (end 9.5 -5.699999999999999) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 5.699999999999999 -9.5) (end -5.7 -9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start -9.5 -5.699999999999999) (end -9.5 5.7) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_arc (start 5.7 5.7) (end 5.7 9.5) (angle -90) (layer Edge.Cuts) (width 0.15))
-(gr_arc (start 5.7 -5.7) (end 9.5 -5.7) (angle -90) (layer Edge.Cuts) (width 0.15))
-(gr_arc (start -5.7 -5.7) (end -5.7 -9.5) (angle -90) (layer Edge.Cuts) (width 0.15))
-(gr_arc (start -5.7 5.7) (end -9.5 5.7) (angle -90) (layer Edge.Cuts) (width 0.15))
-(gr_circle (center 0 0) (end 4.75 0) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 13.3 9.5) (end 9.5 5.7) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 9.5 5.7) (end 9.5 -5.7) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 9.5 -5.7) (end 13.3 -9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 13.3 -9.5) (end 24.700000000000003 -9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 24.700000000000003 -9.5) (end 28.5 -5.7) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 28.5 -5.7) (end 28.5 5.7) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 28.5 5.7) (end 24.700000000000003 9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 24.700000000000003 9.5) (end 13.3 9.5) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 19 4.75) (end 14.25 0) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 14.25 0) (end 19 -4.75) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 19 -4.75) (end 23.75 0) (angle 90) (layer Edge.Cuts) (width 0.15))
-(gr_line (start 23.75 0) (end 19 4.75) (angle 90) (layer Edge.Cuts) (width 0.15))
-
-)
-
-
\ No newline at end of file
diff --git a/test/points/adjustments.yaml b/test/points/adjustments.yaml
index 8b1063d..77850a8 100644
--- a/test/points/adjustments.yaml
+++ b/test/points/adjustments.yaml
@@ -3,21 +3,17 @@ points:
matrix:
columns:
left:
- middle.rows.home.adjust:
- shift: [-2u, 0]
- rotate: 45
right:
key:
stagger: 5
spread: 25
- splay: -5
+ splay: 5
origin: [-9, -9]
rows:
- home:
+ top:
orient: -90
shift: [0, 10]
rotate: 90
rows:
bottom:
- home:
top:
\ No newline at end of file
diff --git a/test/points/adjustments___demo_dxf.dxf b/test/points/adjustments___demo_dxf.dxf
index f23b53e..6f18f2b 100644
--- a/test/points/adjustments___demo_dxf.dxf
+++ b/test/points/adjustments___demo_dxf.dxf
@@ -145,227 +145,35 @@ LINE
8
0
10
--9
-20
-47
-11
-9
-21
-47
-0
-LINE
-8
-0
-10
-9
-20
-47
-11
-9
-21
-29
-0
-LINE
-8
-0
-10
-9
-20
-29
-11
--9
-21
-29
-0
-LINE
-8
-0
-10
--9
-20
-29
-11
--9
-21
-47
-0
-LINE
-8
-0
-10
-10
-20
-9
-11
-28
-21
-9
-0
-LINE
-8
-0
-10
-28
-20
-9
-11
-28
-21
--9
-0
-LINE
-8
-0
-10
-28
-20
--9
-11
-10
-21
--9
-0
-LINE
-8
-0
-10
-10
-20
--9
-11
-10
-21
-9
-0
-LINE
-8
-0
-10
--31.7279221
-20
-19
-11
--19
-21
-31.7279221
-0
-LINE
-8
-0
-10
--19
-20
-31.7279221
-11
--6.2720779
-21
-19
-0
-LINE
-8
-0
-10
--6.2720779
-20
-19
-11
--19
-21
-6.2720779
-0
-LINE
-8
-0
-10
--19
-20
-6.2720779
-11
--31.7279221
-21
-19
-0
-LINE
-8
-0
-10
-10
-20
-47
-11
-28
-21
-47
-0
-LINE
-8
-0
-10
-28
-20
-47
-11
-28
-21
-29
-0
-LINE
-8
-0
-10
-28
-20
-29
-11
-10
-21
-29
-0
-LINE
-8
-0
-10
-10
-20
-29
-11
-10
-21
-47
-0
-LINE
-8
-0
-10
-36.5688034
+14.4311966
20
13.9315046
11
-54.500308
+32.3627012
21
-12.3627012
+15.500308
0
LINE
8
0
10
-54.500308
+32.3627012
20
-12.3627012
+15.500308
11
-52.9315046
+33.9315046
21
--5.5688034
+-2.4311966
0
LINE
8
0
10
-52.9315046
+33.9315046
20
--5.5688034
+-2.4311966
11
-35
+16
21
-4
0
@@ -373,11 +181,11 @@ LINE
8
0
10
-35
+16
20
-4
11
-36.5688034
+14.4311966
21
13.9315046
0
@@ -385,97 +193,49 @@ LINE
8
0
10
-48.1867095
+22.7371845
20
-31.9876465
+33.7307613
11
-66.1182141
+40.6686891
21
-30.4188431
+35.2995647
0
LINE
8
0
10
-66.1182141
+40.6686891
20
-30.4188431
+35.2995647
11
-64.5494107
+42.2374925
21
-12.4873385
+17.3680601
0
LINE
8
0
10
-64.5494107
+42.2374925
20
-12.4873385
+17.3680601
11
-46.6179061
+24.3059879
21
-14.0561419
+15.7992567
0
LINE
8
0
10
-46.6179061
+24.3059879
20
-14.0561419
+15.7992567
11
-48.1867095
+22.7371845
21
-31.9876465
-0
-LINE
-8
-0
-10
-49.8426686
-20
-50.9153458
-11
-67.7741732
-21
-49.3465424
-0
-LINE
-8
-0
-10
-67.7741732
-20
-49.3465424
-11
-66.2053698
-21
-31.4150378
-0
-LINE
-8
-0
-10
-66.2053698
-20
-31.4150378
-11
-48.2738652
-21
-32.9838412
-0
-LINE
-8
-0
-10
-48.2738652
-20
-32.9838412
-11
-49.8426686
-21
-50.9153458
+33.7307613
0
ENDSEC
0
diff --git a/test/points/adjustments___points.json b/test/points/adjustments___points.json
index ff8bd04..92f7b09 100644
--- a/test/points/adjustments___points.json
+++ b/test/points/adjustments___points.json
@@ -17,7 +17,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -29,33 +28,18 @@
"zone": {
"columns": {
"left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
"right": {
"key": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
]
},
"rows": {
- "home": {
+ "top": {
"orient": -90,
"shift": [
0,
@@ -69,7 +53,6 @@
},
"rows": {
"bottom": {},
- "home": {},
"top": {}
},
"name": "matrix"
@@ -82,13 +65,13 @@
"row": "bottom",
"bind": [
10,
- 10,
+ 0,
0,
0
]
}
},
- "matrix_left_home": {
+ "matrix_left_top": {
"x": 0,
"y": 19,
"r": 0,
@@ -106,96 +89,6 @@
0
],
"rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "left_home",
- "name": "matrix_left_home",
- "zone": {
- "columns": {
- "left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "right": {
- "key": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ]
- },
- "rows": {
- "home": {
- "orient": -90,
- "shift": [
- 0,
- 10
- ],
- "rotate": 90
- }
- },
- "name": "right"
- }
- },
- "rows": {
- "bottom": {},
- "home": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "left"
- },
- "row": "home",
- "bind": [
- 10,
- 10,
- 10,
- 0
- ]
- }
- },
- "matrix_left_top": {
- "x": 0,
- "y": 38,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -207,33 +100,18 @@
"zone": {
"columns": {
"left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
"right": {
"key": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
]
},
"rows": {
- "home": {
+ "top": {
"orient": -90,
"shift": [
0,
@@ -247,7 +125,6 @@
},
"rows": {
"bottom": {},
- "home": {},
"top": {}
},
"name": "matrix"
@@ -266,317 +143,14 @@
]
}
},
- "matrix_middle_bottom": {
- "x": 19,
- "y": 0,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "middle_bottom",
- "name": "matrix_middle_bottom",
- "zone": {
- "columns": {
- "left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "right": {
- "key": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ]
- },
- "rows": {
- "home": {
- "orient": -90,
- "shift": [
- 0,
- 10
- ],
- "rotate": 90
- }
- },
- "name": "right"
- }
- },
- "rows": {
- "bottom": {},
- "home": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "row": "bottom",
- "bind": [
- 10,
- 0,
- 0,
- 10
- ]
- }
- },
- "matrix_middle_home": {
- "x": -19,
- "y": 19,
- "r": 45,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- },
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "middle_home",
- "name": "matrix_middle_home",
- "zone": {
- "columns": {
- "left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "right": {
- "key": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ]
- },
- "rows": {
- "home": {
- "orient": -90,
- "shift": [
- 0,
- 10
- ],
- "rotate": 90
- }
- },
- "name": "right"
- }
- },
- "rows": {
- "bottom": {},
- "home": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "row": "home",
- "bind": [
- 10,
- 10,
- 10,
- 10
- ]
- }
- },
- "matrix_middle_top": {
- "x": 19,
- "y": 38,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "middle_top",
- "name": "matrix_middle_top",
- "zone": {
- "columns": {
- "left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "right": {
- "key": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ]
- },
- "rows": {
- "home": {
- "orient": -90,
- "shift": [
- 0,
- 10
- ],
- "rotate": 90
- }
- },
- "name": "right"
- }
- },
- "rows": {
- "bottom": {},
- "home": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "row": "top",
- "bind": [
- 0,
- 10,
- 10,
- 10
- ]
- }
- },
"matrix_right_bottom": {
- "x": 44.750154,
- "y": 4.1813506,
- "r": -5,
+ "x": 24.181350600000002,
+ "y": 5.750154,
+ "r": 5,
"meta": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
@@ -587,7 +161,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -599,33 +172,18 @@
"zone": {
"columns": {
"left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
"right": {
"key": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
]
},
"rows": {
- "home": {
+ "top": {
"orient": -90,
"shift": [
0,
@@ -639,7 +197,6 @@
},
"rows": {
"bottom": {},
- "home": {},
"top": {}
},
"name": "matrix"
@@ -648,14 +205,14 @@
"key": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
]
},
"rows": {
- "home": {
+ "top": {
"orient": -90,
"shift": [
0,
@@ -675,14 +232,14 @@
]
}
},
- "matrix_right_home": {
- "x": 56.3680601,
- "y": 22.237492500000002,
- "r": -5,
+ "matrix_right_top": {
+ "x": 32.4873385,
+ "y": 25.549410700000003,
+ "r": 5,
"meta": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
@@ -693,113 +250,6 @@
10
],
"rotate": 90,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "right_home",
- "name": "matrix_right_home",
- "zone": {
- "columns": {
- "left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
- "right": {
- "key": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ]
- },
- "rows": {
- "home": {
- "orient": -90,
- "shift": [
- 0,
- 10
- ],
- "rotate": 90
- }
- },
- "name": "right"
- }
- },
- "rows": {
- "bottom": {},
- "home": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "key": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ]
- },
- "rows": {
- "home": {
- "orient": -90,
- "shift": [
- 0,
- 10
- ],
- "rotate": 90
- }
- },
- "name": "right"
- },
- "row": "home",
- "bind": [
- 10,
- 0,
- 10,
- 10
- ]
- }
- },
- "matrix_right_top": {
- "x": 58.0240192,
- "y": 41.1651918,
- "r": -5,
- "meta": {
- "stagger": 5,
- "spread": 25,
- "splay": -5,
- "origin": [
- -9,
- -9
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -811,33 +261,18 @@
"zone": {
"columns": {
"left": null,
- "middle": {
- "rows": {
- "home": {
- "adjust": {
- "shift": [
- "-2u",
- 0
- ],
- "rotate": 45
- }
- }
- },
- "key": {},
- "name": "middle"
- },
"right": {
"key": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
]
},
"rows": {
- "home": {
+ "top": {
"orient": -90,
"shift": [
0,
@@ -851,7 +286,6 @@
},
"rows": {
"bottom": {},
- "home": {},
"top": {}
},
"name": "matrix"
@@ -860,14 +294,14 @@
"key": {
"stagger": 5,
"spread": 25,
- "splay": -5,
+ "splay": 5,
"origin": [
-9,
-9
]
},
"rows": {
- "home": {
+ "top": {
"orient": -90,
"shift": [
0,
diff --git a/test/points/autobind.yaml b/test/points/autobind.yaml
deleted file mode 100644
index 0e61c63..0000000
--- a/test/points/autobind.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-points.zones:
- none:
- key:
- autobind: 0
- columns:
- a:
- b:
- some:
- key:
- autobind: 1
- columns:
- a:
- b:
-outlines:
- none:
- - what: rectangle
- where: /none_.*/
- size: 5
- bound: true
- some:
- - what: rectangle
- where: /some_.*/
- size: 5
- bound: true
\ No newline at end of file
diff --git a/test/points/autobind___outlines_none_dxf.dxf b/test/points/autobind___outlines_none_dxf.dxf
deleted file mode 100644
index 93a857b..0000000
--- a/test/points/autobind___outlines_none_dxf.dxf
+++ /dev/null
@@ -1,146 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--2.5
-20
--2.5
-11
-2.5
-21
--2.5
-0
-LINE
-8
-0
-10
-2.5
-20
--2.5
-11
-2.5
-21
-2.5
-0
-LINE
-8
-0
-10
-2.5
-20
-2.5
-11
--2.5
-21
-2.5
-0
-LINE
-8
-0
-10
--2.5
-20
-2.5
-11
--2.5
-21
--2.5
-0
-LINE
-8
-0
-10
-16.5
-20
--2.5
-11
-21.5
-21
--2.5
-0
-LINE
-8
-0
-10
-21.5
-20
--2.5
-11
-21.5
-21
-2.5
-0
-LINE
-8
-0
-10
-21.5
-20
-2.5
-11
-16.5
-21
-2.5
-0
-LINE
-8
-0
-10
-16.5
-20
-2.5
-11
-16.5
-21
--2.5
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/points/autobind___outlines_some_dxf.dxf b/test/points/autobind___outlines_some_dxf.dxf
deleted file mode 100644
index 46d46c2..0000000
--- a/test/points/autobind___outlines_some_dxf.dxf
+++ /dev/null
@@ -1,146 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--2.5
-20
--2.5
-11
-3.5
-21
--2.5
-0
-LINE
-8
-0
-10
--2.5
-20
-2.5
-11
-3.5
-21
-2.5
-0
-LINE
-8
-0
-10
--2.5
-20
-2.5
-11
--2.5
-21
--2.5
-0
-LINE
-8
-0
-10
-3.5
-20
--2.5
-11
-3.5
-21
-2.5
-0
-LINE
-8
-0
-10
-15.5
-20
--2.5
-11
-21.5
-21
--2.5
-0
-LINE
-8
-0
-10
-21.5
-20
--2.5
-11
-21.5
-21
-2.5
-0
-LINE
-8
-0
-10
-15.5
-20
-2.5
-11
-21.5
-21
-2.5
-0
-LINE
-8
-0
-10
-15.5
-20
--2.5
-11
-15.5
-21
-2.5
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/points/basic_2x2___points.json b/test/points/basic_2x2___points.json
index 140cf1a..61d9968 100644
--- a/test/points/basic_2x2___points.json
+++ b/test/points/basic_2x2___points.json
@@ -17,7 +17,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -69,7 +68,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -121,7 +119,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -173,7 +170,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
diff --git a/test/points/default___points.json b/test/points/default___points.json
index 4536086..60e486d 100644
--- a/test/points/default___points.json
+++ b/test/points/default___points.json
@@ -17,7 +17,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -27,13 +26,6 @@
"colrow": "default_default",
"name": "matrix",
"zone": {
- "columns": {
- "default": {
- "rows": {},
- "key": {},
- "name": "default"
- }
- },
"name": "matrix"
},
"col": {
@@ -68,7 +60,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
diff --git a/test/points/mirrors.yaml b/test/points/mirrors.yaml
deleted file mode 100644
index eb95a42..0000000
--- a/test/points/mirrors.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-points:
- mirror:
- ref: matrix_right_top
- distance: U
- zones:
- matrix:
- columns:
- left:
- rows:
- bottom.asym: source
- top.asym: clone
- right:
- rows:
- bottom:
- top:
- other:
- anchor:
- ref: matrix_right_top
- shift: [100, 100]
- # default mirror object, ref = [0, 0], distance = 0
- mirror: {}
- columns:
- left:
- rows:
- bottom.asym: source
- top.asym: clone
- right:
- rows:
- bottom:
- top:
diff --git a/test/points/mirrors___demo_dxf.dxf b/test/points/mirrors___demo_dxf.dxf
deleted file mode 100644
index e1c7ea2..0000000
--- a/test/points/mirrors___demo_dxf.dxf
+++ /dev/null
@@ -1,626 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--9
-20
-9
-11
-9
-21
-9
-0
-LINE
-8
-0
-10
-9
-20
-9
-11
-9
-21
--9
-0
-LINE
-8
-0
-10
-9
-20
--9
-11
--9
-21
--9
-0
-LINE
-8
-0
-10
--9
-20
--9
-11
--9
-21
-9
-0
-LINE
-8
-0
-10
-10
-20
-9
-11
-28
-21
-9
-0
-LINE
-8
-0
-10
-28
-20
-9
-11
-28
-21
--9
-0
-LINE
-8
-0
-10
-28
-20
--9
-11
-10
-21
--9
-0
-LINE
-8
-0
-10
-10
-20
--9
-11
-10
-21
-9
-0
-LINE
-8
-0
-10
-10
-20
-28
-11
-28
-21
-28
-0
-LINE
-8
-0
-10
-28
-20
-28
-11
-28
-21
-10
-0
-LINE
-8
-0
-10
-28
-20
-10
-11
-10
-21
-10
-0
-LINE
-8
-0
-10
-10
-20
-10
-11
-10
-21
-28
-0
-LINE
-8
-0
-10
-110
-20
-128
-11
-128
-21
-128
-0
-LINE
-8
-0
-10
-128
-20
-128
-11
-128
-21
-110
-0
-LINE
-8
-0
-10
-128
-20
-110
-11
-110
-21
-110
-0
-LINE
-8
-0
-10
-110
-20
-110
-11
-110
-21
-128
-0
-LINE
-8
-0
-10
-129
-20
-128
-11
-147
-21
-128
-0
-LINE
-8
-0
-10
-147
-20
-128
-11
-147
-21
-110
-0
-LINE
-8
-0
-10
-147
-20
-110
-11
-129
-21
-110
-0
-LINE
-8
-0
-10
-129
-20
-110
-11
-129
-21
-128
-0
-LINE
-8
-0
-10
-129
-20
-147
-11
-147
-21
-147
-0
-LINE
-8
-0
-10
-147
-20
-147
-11
-147
-21
-129
-0
-LINE
-8
-0
-10
-147
-20
-129
-11
-129
-21
-129
-0
-LINE
-8
-0
-10
-129
-20
-129
-11
-129
-21
-147
-0
-LINE
-8
-0
-10
--128
-20
-147
-11
--110
-21
-147
-0
-LINE
-8
-0
-10
--110
-20
-147
-11
--110
-21
-129
-0
-LINE
-8
-0
-10
--110
-20
-129
-11
--128
-21
-129
-0
-LINE
-8
-0
-10
--128
-20
-129
-11
--128
-21
-147
-0
-LINE
-8
-0
-10
--147
-20
-128
-11
--129
-21
-128
-0
-LINE
-8
-0
-10
--129
-20
-128
-11
--129
-21
-110
-0
-LINE
-8
-0
-10
--129
-20
-110
-11
--147
-21
-110
-0
-LINE
-8
-0
-10
--147
-20
-110
-11
--147
-21
-128
-0
-LINE
-8
-0
-10
--147
-20
-147
-11
--129
-21
-147
-0
-LINE
-8
-0
-10
--129
-20
-147
-11
--129
-21
-129
-0
-LINE
-8
-0
-10
--129
-20
-129
-11
--147
-21
-129
-0
-LINE
-8
-0
-10
--147
-20
-129
-11
--147
-21
-147
-0
-LINE
-8
-0
-10
-48.05
-20
-28
-11
-66.05
-21
-28
-0
-LINE
-8
-0
-10
-66.05
-20
-28
-11
-66.05
-21
-10
-0
-LINE
-8
-0
-10
-66.05
-20
-10
-11
-48.05
-21
-10
-0
-LINE
-8
-0
-10
-48.05
-20
-10
-11
-48.05
-21
-28
-0
-LINE
-8
-0
-10
-29.05
-20
-9
-11
-47.05
-21
-9
-0
-LINE
-8
-0
-10
-47.05
-20
-9
-11
-47.05
-21
--9
-0
-LINE
-8
-0
-10
-47.05
-20
--9
-11
-29.05
-21
--9
-0
-LINE
-8
-0
-10
-29.05
-20
--9
-11
-29.05
-21
-9
-0
-LINE
-8
-0
-10
-29.05
-20
-28
-11
-47.05
-21
-28
-0
-LINE
-8
-0
-10
-47.05
-20
-28
-11
-47.05
-21
-10
-0
-LINE
-8
-0
-10
-47.05
-20
-10
-11
-29.05
-21
-10
-0
-LINE
-8
-0
-10
-29.05
-20
-10
-11
-29.05
-21
-28
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/points/mirrors___points.json b/test/points/mirrors___points.json
deleted file mode 100644
index 96b7841..0000000
--- a/test/points/mirrors___points.json
+++ /dev/null
@@ -1,798 +0,0 @@
-{
- "matrix_left_bottom": {
- "x": 0,
- "y": 0,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "source",
- "colrow": "left_bottom",
- "name": "matrix_left_bottom",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "row": "bottom",
- "mirrored": false,
- "bind": [
- 0,
- 10,
- 0,
- 0
- ]
- }
- },
- "matrix_right_bottom": {
- "x": 19,
- "y": 0,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "right_bottom",
- "name": "matrix_right_bottom",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "bottom",
- "mirrored": false,
- "bind": [
- 10,
- 0,
- 0,
- 10
- ]
- }
- },
- "matrix_right_top": {
- "x": 19,
- "y": 19,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "right_top",
- "name": "matrix_right_top",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "top",
- "mirrored": false,
- "bind": [
- 0,
- 0,
- 10,
- 0
- ]
- }
- },
- "other_left_bottom": {
- "x": 119,
- "y": 119,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "source",
- "colrow": "left_bottom",
- "name": "other_left_bottom",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "other"
- },
- "col": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "row": "bottom",
- "mirrored": false,
- "bind": [
- 0,
- 10,
- 0,
- 0
- ]
- }
- },
- "other_right_bottom": {
- "x": 138,
- "y": 119,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "right_bottom",
- "name": "other_right_bottom",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "other"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "bottom",
- "mirrored": false,
- "bind": [
- 10,
- 0,
- 0,
- 10
- ]
- }
- },
- "other_right_top": {
- "x": 138,
- "y": 138,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "right_top",
- "name": "other_right_top",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "other"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "top",
- "mirrored": false,
- "bind": [
- 0,
- 0,
- 10,
- 0
- ]
- }
- },
- "mirror_other_left_top": {
- "x": -119,
- "y": 138,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "clone",
- "colrow": "mirror_left_top",
- "name": "mirror_other_left_top",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "other"
- },
- "col": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "row": "top",
- "mirrored": true,
- "bind": [
- 0,
- 10,
- 0,
- 0
- ]
- }
- },
- "mirror_other_right_bottom": {
- "x": -138,
- "y": 119,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "mirror_right_bottom",
- "name": "mirror_other_right_bottom",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "other"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "bottom",
- "mirrored": true,
- "bind": [
- 10,
- 0,
- 0,
- 0
- ]
- }
- },
- "mirror_other_right_top": {
- "x": -138,
- "y": 138,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "mirror_right_top",
- "name": "mirror_other_right_top",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "other"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "top",
- "mirrored": true,
- "bind": [
- 0,
- 0,
- 10,
- 10
- ]
- }
- },
- "mirror_matrix_left_top": {
- "x": 57.05,
- "y": 19,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "clone",
- "colrow": "mirror_left_top",
- "name": "mirror_matrix_left_top",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "row": "top",
- "mirrored": true,
- "bind": [
- 0,
- 10,
- 0,
- 0
- ]
- }
- },
- "mirror_matrix_right_bottom": {
- "x": 38.05,
- "y": 0,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "mirror_right_bottom",
- "name": "mirror_matrix_right_bottom",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "bottom",
- "mirrored": true,
- "bind": [
- 10,
- 0,
- 0,
- 0
- ]
- }
- },
- "mirror_matrix_right_top": {
- "x": 38.05,
- "y": 19,
- "r": 0,
- "meta": {
- "stagger": 0,
- "spread": 19,
- "splay": 0,
- "origin": [
- 0,
- 0
- ],
- "orient": 0,
- "shift": [
- 0,
- 0
- ],
- "rotate": 0,
- "adjust": {},
- "width": 18,
- "height": 18,
- "padding": 19,
- "autobind": 10,
- "skip": false,
- "asym": "both",
- "colrow": "mirror_right_top",
- "name": "mirror_matrix_right_top",
- "zone": {
- "columns": {
- "left": {
- "rows": {
- "bottom": {
- "asym": "source"
- },
- "top": {
- "asym": "clone"
- }
- },
- "key": {},
- "name": "left"
- },
- "right": null
- },
- "rows": {
- "bottom": {},
- "top": {}
- },
- "name": "matrix"
- },
- "col": {
- "rows": {},
- "key": {},
- "name": "right"
- },
- "row": "top",
- "mirrored": true,
- "bind": [
- 0,
- 0,
- 10,
- 10
- ]
- }
- }
-}
diff --git a/test/points/overrides___points.json b/test/points/overrides___points.json
index 88fbfe6..2a763b7 100644
--- a/test/points/overrides___points.json
+++ b/test/points/overrides___points.json
@@ -17,7 +17,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -86,7 +85,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -155,7 +153,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -226,7 +223,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -297,7 +293,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -368,7 +363,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
@@ -443,7 +437,6 @@
0
],
"rotate": 0,
- "adjust": {},
"width": 18,
"height": 18,
"padding": 19,
diff --git a/test/points/rotations.yaml b/test/points/rotations.yaml
deleted file mode 100644
index 50ffa01..0000000
--- a/test/points/rotations.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-points:
- rotate: 22.5
- zones:
- matrix:
- rotate: 22.5
- key:
- origin: [-u/2, -u/2]
- columns:
- left:
- right.key:
- rotate: -45
- padding: (1+sqrt(2))/2 * u
- spread: (1+sqrt(2))/2 * u
- rows:
- bottom:
- top:
diff --git a/test/points/rotations___demo_dxf.dxf b/test/points/rotations___demo_dxf.dxf
deleted file mode 100644
index 657e493..0000000
--- a/test/points/rotations___demo_dxf.dxf
+++ /dev/null
@@ -1,242 +0,0 @@
-0
-SECTION
-2
-HEADER
-9
-$INSUNITS
-70
-4
-0
-ENDSEC
-0
-SECTION
-2
-TABLES
-0
-TABLE
-2
-LTYPE
-0
-LTYPE
-72
-65
-70
-64
-2
-CONTINUOUS
-3
-______
-73
-0
-40
-0
-0
-ENDTAB
-0
-TABLE
-2
-LAYER
-0
-ENDTAB
-0
-ENDSEC
-0
-SECTION
-2
-ENTITIES
-0
-LINE
-8
-0
-10
--12.7279221
-20
-0
-11
-0
-21
-12.7279221
-0
-LINE
-8
-0
-10
-0
-20
-12.7279221
-11
-12.7279221
-21
-0
-0
-LINE
-8
-0
-10
-12.7279221
-20
-0
-11
-0
-21
--12.7279221
-0
-LINE
-8
-0
-10
-0
-20
--12.7279221
-11
--12.7279221
-21
-0
-0
-LINE
-8
-0
-10
--26.1629509
-20
-13.4350288
-11
--13.4350288
-21
-26.1629509
-0
-LINE
-8
-0
-10
--13.4350288
-20
-26.1629509
-11
--0.7071067
-21
-13.4350288
-0
-LINE
-8
-0
-10
--0.7071067
-20
-13.4350288
-11
--13.4350288
-21
-0.7071067
-0
-LINE
-8
-0
-10
--13.4350288
-20
-0.7071067
-11
--26.1629509
-21
-13.4350288
-0
-LINE
-8
-0
-10
-7.2175144
-20
-25.2175144
-11
-25.2175144
-21
-25.2175144
-0
-LINE
-8
-0
-10
-25.2175144
-20
-25.2175144
-11
-25.2175144
-21
-7.2175144
-0
-LINE
-8
-0
-10
-25.2175144
-20
-7.2175144
-11
-7.2175144
-21
-7.2175144
-0
-LINE
-8
-0
-10
-7.2175144
-20
-7.2175144
-11
-7.2175144
-21
-25.2175144
-0
-LINE
-8
-0
-10
-16.2175144
-20
-51.8804653
-11
-28.9454365
-21
-39.1525432
-0
-LINE
-8
-0
-10
-28.9454365
-20
-39.1525432
-11
-16.2175144
-21
-26.4246211
-0
-LINE
-8
-0
-10
-16.2175144
-20
-26.4246211
-11
-3.4895923
-21
-39.1525432
-0
-LINE
-8
-0
-10
-3.4895923
-20
-39.1525432
-11
-16.2175144
-21
-51.8804653
-0
-ENDSEC
-0
-EOF
\ No newline at end of file
diff --git a/test/points/samename.yaml b/test/points/samename.yaml
deleted file mode 100644
index 0e365ae..0000000
--- a/test/points/samename.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-points.zones.matrix.key.name: samename
-points.zones.other.key.name: samename
diff --git a/test/points/samename___EXCEPTION.txt b/test/points/samename___EXCEPTION.txt
deleted file mode 100644
index daec189..0000000
--- a/test/points/samename___EXCEPTION.txt
+++ /dev/null
@@ -1 +0,0 @@
-defined more than once
\ No newline at end of file
diff --git a/test/unit/anchor.js b/test/unit/anchor.js
index 342d59a..c9b3dd1 100644
--- a/test/unit/anchor.js
+++ b/test/unit/anchor.js
@@ -6,10 +6,6 @@ describe('Anchor', function() {
const points = {
o: new Point(0, 0, 0, {label: 'o'}),
- rotated_o: new Point(0, 0, 90, {label: 'rotated_o'}),
- o_five: new Point(0, 5, 0, {label: 'o_five'}),
- five_o: new Point(5, 0, 0, {label: 'five_o'}),
- five: new Point(5, 5, 90, {label: 'five'}),
ten: new Point(10, 10, -90, {label: 'ten'}),
mirror_ten: new Point(-10, 10, 90, {mirrored: true})
}
@@ -60,94 +56,6 @@ describe('Anchor', function() {
}, 'name', points)(),
[5, 5, -45, {}]
)
- // empty parts
- check(
- parse({
- aggregate: {
- }
- }, 'name', points)(),
- [0, 0, 0, {}]
- )
- // can't have aggregate and ref together
- parse({
- aggregate: {
- parts: ['o', 'ten']
- },
- ref : 'ten'
- }, 'name', points).should.throw()
- })
- it('intersect', function() {
- // points that intersect on a negative Y axis
- check(
- parse({
- aggregate: {
- parts: ['o','ten'],
- method: 'intersect'
- }
- }, 'name', points)(),
- [0,10,0,{}]
- )
-
- // points that have parallel Y axis, i.e. never intersect
- parse({
- aggregate: {
- parts: ['o','five_o'],
- method: 'intersect'
- }
- }, 'name', points).should.throw(`The points under "name.aggregate.parts" do not intersect!`)
-
- // points intersect on their positive Y axis
- check(
- parse({
- aggregate: {
- parts: ['o','five'],
- method: 'intersect'
- }
- }, 'name', points)(),
- [0, 5, 0, {}]
- )
-
- // intersecting points with the same coordinates, but different rotations
- check(
- parse({
- aggregate: {
- parts: ['o','rotated_o'],
- method: 'intersect'
- }
- }, 'name', points)(),
- [0, 0, 0, {}]
- )
-
- // points with overlapping Y axis
- parse({
- aggregate: {
- parts: ['o','o_five'],
- method: 'intersect'
- }
- }, 'name', points).should.throw(`The points under "name.aggregate.parts" do not intersect!`)
-
- // more than two parts
- parse({
- aggregate: {
- parts: ['o', `five`, `ten`],
- method: 'intersect'
- }
- }, 'name', points).should.throw(`Intersect expects exactly two parts, but it got 3!`)
-
- // only one part
- parse({
- aggregate: {
- parts: ['o'],
- method: 'intersect'
- }
- }, 'name', points).should.throw(`Intersect expects exactly two parts, but it got 1!`)
-
- // no parts
- parse({
- aggregate: {
- method: 'intersect'
- }
- }, 'name', points).should.throw(`Intersect expects exactly two parts, but it got 0!`)
})
it('shift', function() {
diff --git a/test/unit/filter.js b/test/unit/filter.js
index 3972e93..5481949 100644
--- a/test/unit/filter.js
+++ b/test/unit/filter.js
@@ -4,67 +4,42 @@ const Point = require('../../src/point')
describe('Filter', function() {
- it('without points', function() {
- filter(undefined, '').should.deep.equal([new Point()])
- filter(true, '').should.deep.equal([])
- filter(false, '').should.deep.equal([])
- filter({}, '').should.deep.equal([anchor({}, '', points)()])
- })
-
const points = {
one: new Point(0, 1, 0, {name: 'one', tags: ['odd']}),
two: new Point(0, 2, 0, {name: 'two', tags: ['even', 'prime']}),
- three: new Point(0, 3, 0, {name: 'three', tags: {odd: 'yes', prime: 'yupp'}}),
- mirror_one: new Point(0, 1, 0, {name: 'mirror_one', tags: ['odd'], mirrored: true})
+ three: new Point(0, 3, 0, {name: 'three', tags: {odd: 'yes', prime: 'yupp'}})
}
- it('empty filter', function() {
+ const names = points => points.map(p => p.meta.name)
+
+ it('similar', function() {
// an undefined config leads to a default point
filter(undefined, '', points).should.deep.equal([new Point()])
// true shouldn't filter anything, while false should filter everything
filter(true, '', points).should.deep.equal(Object.values(points))
filter(false, '', points).should.deep.equal([])
- // points should only be returned on their respective halves
- // - so `source` is every match
- filter(true, '', points, undefined, 'source').should.deep.equal(Object.values(points))
- // - `clone` is the mirror image of every match, which maps one to mirror_one, mirror_one to one, and two/three to nothing (as they don't have mirror parts)
- filter(true, '', points, undefined, 'clone').should.deep.equal([points.mirror_one, points.one])
- // - and `both` is every match plus its mirror image as well
- filter(true, '', points, undefined, 'both').should.deep.equal(Object.values(points))
// objects just propagate to anchor (and then wrap in array for consistency)
filter({}, '', points).should.deep.equal([anchor({}, '', points)()])
- filter({}, '', points, undefined, 'source').should.deep.equal([anchor({}, '', points)()])
- filter({}, '', points, undefined, 'clone').should.deep.equal([anchor({}, '', points)()])
- filter({}, '', points, undefined, 'both').should.deep.equal([anchor({}, '', points)()])
- })
-
- const names = points => points.map(p => p.meta.name)
-
- it('similar', function() {
// simple name string
names(filter('one', '', points)).should.deep.equal(['one'])
// simple name regex
names(filter('/^t/', '', points)).should.deep.equal(['two', 'three'])
- // tags should count, too (one and mirror_one for the name, three for the odd tag)
- names(filter('/^o/', '', points)).should.deep.equal(['one', 'three', 'mirror_one'])
+ // tags should count, too (one for the name, three for the odd tag)
+ names(filter('/^o/', '', points)).should.deep.equal(['one', 'three'])
// middle spec, should be the same as above, only explicit
- names(filter('~ /^o/', '', points)).should.deep.equal(['one', 'three', 'mirror_one'])
- // full spec (/n/ would normally match both "one" and "even", but on the tags level, it's just even)
+ names(filter('~ /^o/', '', points)).should.deep.equal(['one', 'three'])
+ // full spec (n would normally match both one and even, but on the tags level, it's just even)
names(filter('meta.tags ~ /n/', '', points)).should.deep.equal(['two'])
- names(filter('meta.name,meta.tags ~ /n/', '', points)).should.deep.equal(['one', 'two', 'mirror_one'])
// negation
- names(filter('meta.tags ~ -/n/', '', points)).should.deep.equal(['one', 'three', 'mirror_one'])
- names(filter('meta.name,meta.tags ~ -/n/', '', points)).should.deep.equal(['three'])
- // arrays OR by default at odd levels (including top level)...
+ names(filter('meta.tags ~ -/n/', '', points)).should.deep.equal(['one', 'three'])
+ // arrays OR by default at odd levels levels (including top level)...
names(filter(['one', 'two'], '', points)).should.deep.equal(['one', 'two'])
// ...and AND at even levels
names(filter([['even', 'prime']], '', points)).should.deep.equal(['two'])
// arbitrary nesting should be possible
names(filter([[['even', 'odd'], 'prime']], '', points)).should.deep.equal(['two', 'three'])
- // invalid regexes should throw meaningful errors
- filter.bind(this, '/\\/', '', points).should.throw('Invalid regex')
- // anything other than string/array/object/undefined is also an error
+ // anything other than string/array/object/undefined is an error
filter.bind(this, 28, '', points).should.throw('Unexpected type')
})
-})
+})
\ No newline at end of file
diff --git a/test/unit/interface.js b/test/unit/interface.js
index af93712..ddae923 100644
--- a/test/unit/interface.js
+++ b/test/unit/interface.js
@@ -10,8 +10,7 @@ const load = name => yaml.safeLoad(fs.readFileSync(
).toString())
const minimal = load('minimal.yaml')
const big = load('big.yaml')
-const minimal_kle = load('minimal_kle.json')
-const atreus_kle = load('atreus_kle.json')
+const kle = load('atreus_kle.json')
describe('Interface', function() {
@@ -50,8 +49,7 @@ describe('Interface', function() {
//:
return 'not an object';
`, true, logger).should.be.rejectedWith('not valid'),
- ergogen.process(minimal_kle, true, logger).should.be.rejectedWith('KLE'),
- ergogen.process(atreus_kle, true, logger).should.be.rejectedWith('KLE'),
+ ergogen.process(kle, true, logger).should.be.rejectedWith('KLE'),
ergogen.process('not an object', true, logger).should.be.rejectedWith('object'),
ergogen.process({}, true, logger).should.be.rejectedWith('empty'),
ergogen.process({not_points: {}}, true, () => {}).should.be.rejectedWith('points clause'),
diff --git a/test/unit/internals.js b/test/unit/internals.js
deleted file mode 100644
index 2449d34..0000000
--- a/test/unit/internals.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const m = require('makerjs')
-const pcb_lib = require('../../src/pcbs')
-const ergogen = require('../../src/ergogen')
-
-describe('Internals', function() {
-
- it('makerjs2kicad', function() {
- // warn on unknown path type
- sinon.stub(m.model, 'walk').callsFake(function(model, config) {
- config.onPath({pathContext: {type: 'nonexistent'}})
- })
- pcb_lib._makerjs2kicad.bind(this).should.throw("Can't convert path type")
- })
-
- it('injection', function() {
- // warn on unknown injection type
- ergogen.inject.bind(this, 'nonexistent', 'name', 'value').should.throw('Unknown injection type')
- })
-})
-
-
-
diff --git a/test/unit/prepare.js b/test/unit/prepare.js
index 0b416f5..225e0da 100644
--- a/test/unit/prepare.js
+++ b/test/unit/prepare.js
@@ -24,7 +24,6 @@ describe('Prepare', function() {
})
it('inherit', function() {
- // normal case
p.inherit({
a: {
x: 1,
@@ -44,23 +43,6 @@ describe('Prepare', function() {
z: 3,
w: 4
})
- // should apply to objects within arrays as well!
- p.inherit({
- a: {
- x: 1,
- y: 2
- },
- b: [
- {
- $extends: 'a',
- z: 3
- }
- ]
- }).b[0].should.deep.equal({
- x: 1,
- y: 2,
- z: 3
- })
})
it('parameterize', function() {
diff --git a/test/unit/units.js b/test/unit/units.js
index ac1e947..2da81dc 100644
--- a/test/unit/units.js
+++ b/test/unit/units.js
@@ -5,19 +5,12 @@ describe('Units', function() {
it('defaults', function() {
// check that an empty config has the default units (and nothing more)
- const def1 = u.parse({})
- Object.keys(def1).filter(public).length.should.equal(4)
- def1.U.should.equal(19.05)
- def1.u.should.equal(19)
- def1.cx.should.equal(18)
- def1.cy.should.equal(17)
- // check that an empty config has the default units (and nothing more)
- const def2 = u.parse()
- Object.keys(def2).filter(public).length.should.equal(4)
- def2.U.should.equal(19.05)
- def2.u.should.equal(19)
- def2.cx.should.equal(18)
- def2.cy.should.equal(17)
+ const def = u.parse({})
+ Object.keys(def).filter(public).length.should.equal(4)
+ def.U.should.equal(19.05)
+ def.u.should.equal(19)
+ def.cx.should.equal(18)
+ def.cy.should.equal(17)
})
it('units', function() {
@@ -54,4 +47,4 @@ describe('Units', function() {
res.a.should.equal(20.05)
})
-})
+})
\ No newline at end of file
diff --git a/test/unit/utils.js b/test/unit/utils.js
index 7ac48b8..e702791 100644
--- a/test/unit/utils.js
+++ b/test/unit/utils.js
@@ -33,7 +33,6 @@ describe('Utils', function() {
{longlonglong: 'long', short: 'shortshortshort'}
).should.equal('long_shortshortshort')
u.template('{{a.b.c}}', {a: {b: {c: 'deep'}}}).should.equal('deep')
- u.template('{x: {{number}}, y: {{number}}}', {number: 5}).should.equal('{x: 5, y: 5}')
})
it('eq', function() {