text:
7" x2="3.81" y2="0.635" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="-1.27" y2="0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="8.89" y1="0.635" x2="8.89" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0.127" drill="1.016" diameter="1.8796" shape="square" rot="R90"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="4" x="7.62" y="-0.127" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="1X04_LOCK_LONGPADS">
<description>This footprint was designed to help hold the alignment of a through-hole component (i.e.  6-pin header) while soldering it into place.
You may notice that each hole has been shifted either up or down by 0.005 of an inch from it's more standard position (which is a perfectly straight line).
This slight alteration caused the pins (the squares in the middle) to touch the edges of the holes.  Because they are alternating, it causes a "brace"
to hold the component in place.  0.005 has proven to be the perfect amount of "off-center" position when using our standard breakaway headers.
Although looks a little odd when you look at the bare footprint, once you have a header in there, the alteration is very hard to notice.  Also,
if you push a header all the way into place, it is covered up entirely on the bottom side.  This idea of altering the position of holes to aid alignment
will be further integrated into the Sparkfun Library for other footprints.  It can help hold any component with 3 or more connection pins.</description>
<wire x1="1.524" y1="-0.127" x2="1.016" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="4.064" y1="-0.127" x2="3.556" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="6.604" y1="-0.127" x2="6.096" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.016" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.27" y2="0.8636" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="0.8636" x2="-0.9906" y2="1.143" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-0.127" x2="-1.27" y2="-1.1176" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-1.1176" x2="-0.9906" y2="-1.397" width="0.2032" layer="21"/>
<wire x1="8.89" y1="-0.127" x2="8.636" y2="-0.127" width="0.2032" layer="21"/>
<wire x1="8.89" y1="-0.127" x2="8.89" y2="-1.1176" width="0.2032" layer="21"/>
<wire x1="8.89" y1="-1.1176" x2="8.6106" y2="-1.397" width="0.2032" layer="21"/>
<wire x1="8.89" y1="-0.127" x2="8.89" y2="0.8636" width="0.2032" layer="21"/>
<wire x1="8.89" y1="0.8636" x2="8.6106" y2="1.143" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="-0.254" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="4" x="7.62" y="-0.254" drill="1.016" shape="long" rot="R90"/>
<text x="-1.27" y="1.778" size="1.27" layer="25" font="vector">>NAME</text>
<text x="-1.27" y="-3.302" size="1.27" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.2921" y1="-0.4191" x2="0.2921" y2="0.1651" layer="51"/>
<rectangle x1="2.2479" y1="-0.4191" x2="2.8321" y2="0.1651" layer="51"/>
<rectangle x1="4.7879" y1="-0.4191" x2="5.3721" y2="0.1651" layer="51"/>
<rectangle x1="7.3279" y1="-0.4191" x2="7.9121" y2="0.1651" layer="51" rot="R90"/>
</package>
<package name="MOLEX-1X4_LOCK">
<wire x1="-1.27" y1="3.048" x2="-1.27" y2="-2.54" width="0.127" layer="21"/>
<wire x1="8.89" y1="3.048" x2="8.89" y2="-2.54" width="0.127" layer="21"/>
<wire x1="8.89" y1="3.048" x2="-1.27" y2="3.048" width="0.127" layer="21"/>
<wire x1="8.89" y1="-2.54" x2="7.62" y2="-2.54" width="0.127" layer="21"/>
<wire x1="7.62" y1="-2.54" x2="0" y2="-2.54" width="0.127" layer="21"/>
<wire x1="0" y1="-2.54" x2="-1.27" y2="-2.54" width="0.127" layer="21"/>
<wire x1="0" y1="-2.54" x2="0" y2="-1.27" width="0.127" layer="21"/>
<wire x1="0" y1="-1.27" x2="7.62" y2="-1.27" width="0.127" layer="21"/>
<wire x1="7.62" y1="-1.27" x2="7.62" y2="-2.54" width="0.127" layer="21"/>
<pad name="1" x="0" y="0.127" drill="1.016" diameter="1.8796" shape="square"/>
<pad name="2" x="2.54" y="-0.127" drill="1.016" diameter="1.8796"/>
<pad name="3" x="5.08" y="0.127" drill="1.016" diameter="1.8796"/>
<pad name="4" x="7.62" y="-0.127" drill="1.016" diameter="1.8796"/>
</package>
<package name="1X04-SMD">
<wire x1="5.08" y1="1.25" x2="-5.08" y2="1.25" width="0.127" layer="51"/>
<wire x1="-5.08" y1="1.25" x2="-5.08" y2="-1.25" width="0.127" layer="51"/>
<wire x1="-5.08" y1="-1.25" x2="-3.81" y2="-1.25" width="0.127" layer="51"/>
<wire x1="-3.81" y1="-1.25" x2="-1.27" y2="-1.25" width="0.127" layer="51"/>
<wire x1="-1.27" y1="-1.25" x2="1.27" y2="-1.25" width="0.127" layer="51"/>
<wire x1="1.27" y1="-1.25" x2="3.81" y2="-1.25" width="0.127" layer="51"/>
<wire x1="3.81" y1="-1.25" x2="5.08" y2="-1.25" width="0.127" layer="51"/>
<wire x1="5.08" y1="-1.25" x2="5.08" y2="1.25" width="0.127" layer="51"/>
<wire x1="3.81" y1="-1.25" x2="3.81" y2="-7.25" width="0.127" layer="51"/>
<wire x1="1.27" y1="-1.25" x2="1.27" y2="-7.25" width="0.127" layer="51"/>
<wire x1="-1.27" y1="-1.25" x2="-1.27" y2="-7.25" width="0.127" layer="51"/>
<wire x1="-3.81" y1="-1.25" x2="-3.81" y2="-7.25" width="0.127" layer="51"/>
<smd name="4" x="3.81" y="5" dx="3" dy="1" layer="1" rot="R90"/>
<smd name="3" x="1.27" y="5" dx="3" dy="1" layer="1" rot="R90"/>
<smd name="2" x="-1.27" y="5" dx="3" dy="1" layer="1" rot="R90"/>
<smd name="1" x="-3.81" y="5" dx="3" dy="1" layer="1" rot="R90"/>
<hole x="-2.54" y="0" drill="1.4"/>
<hole x="2.54" y="0" drill="1.4"/>
</package>
<package name="1X04_LONGPADS">
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="8.89" y1="0.635" x2="8.89" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<pad name="4" x="7.62" y="0" drill="1.1176" diameter="1.8796" shape="long" rot="R90"/>
<text x="-1.3462" y="2.4638" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.81" size="1.27" layer="27">>VALUE</text>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="1X04_NO_SILK">
<pad name="1" x="0" y="0" drill="1.016" diameter="1.8796" shape="square" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="3" x="5.08" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="4" x="7.62" y="0" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="-1.3462" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-1.27" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="7.366" y1="-0.254" x2="7.874" y2="0.254" layer="51"/>
<rectangle x1="4.826" y1="-0.254" x2="5.334" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
</package>
<package name="JST-4-PTH">
<wire x1="-4.5" y1="-5" x2="-5.2" y2="-5" width="0.2032" layer="21"/>
<wire x1="-5.2" y1="-5" x2="-5.2" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="-5.2" y1="-6.3" x2="-6" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="-6" y1="-6.3" x2="-6" y2="1.1" width="0.2032" layer="21"/>
<wire x1="-6" y1="1.1" x2="6" y2="1.1" width="0.2032" layer="21"/>
<wire x1="6" y1="1.1" x2="6" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="6" y1="-6.3" x2="5.2" y2="-6.3" width="0.2032" layer="21"/>
<wire x1="5.2" y1="-6.3" x2="5.2" y2="-5" width="0.2032" layer="21"/>
<wire x1="5.2" y1="-5" x2="4.5" y2="-5" width="0.2032" layer="21"/>
<pad name="1" x="-3" y="-5" drill="0.7"/>
<pad name="2" x="-1" y="-5" drill="0.7"/>
<pad name="3" x="1" y="-5" drill="0.7"/>
<pad name="4" x="3" y="-5" drill="0.7"/>
<text x="-2.27" y="0.27" size="0.4064" layer="25">>Name</text>
<text x="-2.27" y="-1" size="0.4064" layer="27">>Value</text>
<text x="-3.4" y="-4.3" size="1.27" layer="51">+</text>
<text x="-1.4" y="-4.3" size="1.27" layer="51">-</text>
<text x="0.7" y="-4.1" size="0.8" layer="51">S</text>
<text x="2.7" y="-4.1" size="0.8" layer="51">S</text>
</package>
<package name="SCREWTERMINAL-3.5MM-4_LOCK">
<wire x1="-2.3" y1="3.4" x2="12.8" y2="3.4" width="0.2032" layer="21"/>
<wire x1="12.8" y1="3.4" x2="12.8" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="12.8" y1="-2.8" x2="12.8" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="12.8" y1="-3.6" x2="-2.3" y2="-3.6" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-3.6" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-2.8" x2="-2.3" y2="3.4" width="0.2032" layer="21"/>
<wire x1="12.8" y1="-2.8" x2="-2.3" y2="-2.8" width="0.2032" layer="21"/>
<wire x1="-2.3" y1="-1.35" x2="-2.7" y2="-1.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-1.35" x2="-2.7" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="-2.7" y1="-2.35" x2="-2.3" y2="-2.35" width="0.2032" layer="51"/>
<wire x1="12.8" y1="3.15" x2="13.2" y2="3.15" width="0.2032" layer="51"/>
<wire x1="13.2" y1="3.15" x2="13.2" y2="2.15" width="0.2032" layer="51"/>
<wire x1="13.2" y1="2.15" x2="12.8" y2="2.15" width="0.2032" layer="51"/>
<circle x="0" y="0" radius="0.425" width="0.001" layer="51"/>
<circle x="3.5" y="0" radius="0.425" width="0.001" layer="51"/>
<circle x="7" y="0" radius="0.425" width="0.001" layer="51"/>
<circle x="10.5" y="0" radius="0.425" width="0.001" layer="51"/>
<pad name="1" x="-0.1778" y="0" drill="1.2" diameter="2.032" shape="square"/>
<pad name="2" x="3.6778" y="0" drill="1.2" diameter="2.032"/>
<pad name="3" x="6.8222" y="0" drill="1.2" diameter="2.032"/>
<pad name="4" x="10.6778" y="0" drill="1.2" diameter="2.032"/>
<text x="-1.27" y="2.54" size="0.4064" layer="25">>NAME</text>
<text x="-1.27" y="1.27" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="1X04-1MM-RA">
<wire x1="-1.5" y1="-4.6" x2="1.5" y2="-4.6" width="0.254" layer="21"/>
<wire x1="-3" y1="-2" x2="-3" y2="-0.35" width="0.254" layer="21"/>
<wire x1="2.25" y1="-0.35" x2="3" y2="-0.35" width="0.254" layer="21"/>
<wire x1="3" y1="-0.35" x2="3" y2="-2" width="0.254" layer="21"/>
<wire x1="-3" y1="-0.35" x2="-2.25" y2="-0.35" width="0.254" layer="21"/>
<circle x="-2.5" y="0.3" radius="0.1414" width="0.4" layer="21"/>
<smd name="NC2" x="-2.8" y="-3.675" dx="1.2" dy="2" layer="1"/>
<smd name="NC1" x="2.8" y="-3.675" dx="1.2" dy="2" layer="1"/>
<smd name="1" x="-1.5" y="0" dx="0.6" dy="1.35" layer="1"/>
<smd name="2" x="-0.5" y="0" dx="0.6" dy="1.35" layer="1"/>
<smd name="3" x="0.5" y="0" dx="0.6" dy="1.35" layer="1"/>
<smd name="4" x="1.5" y="0" dx="0.6" dy="1.35" layer="1"/>
<text x="-1.73" y="1.73" size="0.4064" layer="25" rot="R180">>NAME</text>
<text x="3.46" y="1.73" size="0.4064" layer="27" rot="R180">>VALUE</text>
</package>
</packages>
<symbols>
<symbol name="M02">
<wire x1="3.81" y1="-2.54" x2="-2.54" y2="-2.54" width="0.4064" layer="94"/>
<wire x1="1.27" y1="2.54" x2="2.54" y2="2.54" width="0.6096" layer="94"/>
<wire x1="1.27" y1="0" x2="2.54" y2="0" width="0.6096" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="-2.54" y2="-2.54" width="0.4064" layer="94"/>
<wire x1="3.81" y1="-2.54" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<text x="-2.54" y="-5.08" size="1.778" layer="96">>VALUE</text>
<text x="-2.54" y="5.842" size="1.778" layer="95">>NAME</text>
<pin name="1" x="7.62" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
<symbol name="M04">
<wire x1="1.27" y1="-5.08" x2="-5.08" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="-1.27" y1="2.54" x2="0" y2="2.54" width="0.6096" layer="94"/>
<wire x1="-1.27" y1="0" x2="0" y2="0" width="0.6096" layer="94"/>
<wire x1="-1.27" y1="-2.54" x2="0" y2="-2.54" width="0.6096" layer="94"/>
<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="1.27" y1="-5.08" x2="1.27" y2="7.62" width="0.4064" layer="94"/>
<wire x1="-5.08" y1="7.62" x2="1.27" y2="7.62" width="0.4064" layer="94"/>
<wire x1="-1.27" y1="5.08" x2="0" y2="5.08" width="0.6096" layer="94"/>
<text x="-5.08" y="-7.62" size="1.778" layer="96">>VALUE</text>
<text x="-5.08" y="8.382" size="1.778" layer="95">>NAME</text>
<pin name="1" x="5.08" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="5.08" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="3" x="5.08" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="4" x="5.08" y="5.08" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="M02" prefix="JP" uservalue="yes">
<description>Header 2
Standard 2-pin 0.1" header. Use with straight break away headers (SKU : PRT-00116), right angle break away headers (PRT-00553), swiss pins (PRT-00743), machine pins (PRT-00117), and female headers (PRT-00115). Molex polarized connector foot print use with SKU : PRT-08233 with associated crimp pins and housings.</description>
<gates>
<gate name="G$1" symbol="M02" x="-2.54" y="0"/>
</gates>
<devices>
<device name="PTH" package="1X02">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POLAR" package="MOLEX-1X2">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="3.5MM" package="SCREWTERMINAL-3.5MM-2">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-JST-2MM-SMT" package="JST-2-SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH2" package="1X02_BIG">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="4UCON-15767" package="JST-2-SMD-VERT">
<connects>
<connect gate="G$1" pin="1" pad="GND"/>
<connect gate="G$1" pin="2" pad="VCC"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="ROCKER" package="R_SW_TH">
<connects>
<connect gate="G$1" pin="1" pad="P$3"/>
<connect gate="G$1" pin="2" pad="P$4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="5MM" package="SCREWTERMINAL-5MM-2">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK" package="1X02_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POLAR_LOCK" package="MOLEX-1X2_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK_LONGPADS" package="1X02_LOCK_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="3.5MM_LOCK" package="SCREWTERMINAL-3.5MM-2_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH3" package="1X02_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="1X02_NO_SILK" package="1X02_NO_SILK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="JST-PTH-2" package="JST-2-PTH">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="PTH4" package="1X02_XTRA_BIG">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POGO_PIN_HOLES_ONLY" package="1X02_PP_HOLES_ONLY">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="3.5MM-NO_SILK" package="SCREWTERMINAL-3.5MM-2-NS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-JST-2-PTH-NO_SILK" package="JST-2-PTH-NS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="JST-PTH-2-KIT" package="JST-2-PTH-KIT">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="M04" prefix="JP" uservalue="yes">
<description>Header 4
Standard 4-pin 0.1" header. Use with straight break away headers (SKU : PRT-00116), right angle break away headers (PRT-00553), swiss pins (PRT-00743), machine pins (PRT-00117), and female headers (PRT-00115). Molex polarized connector foot print use with SKU : PRT-08231 with associated crimp pins and housings. 1MM SMD Version SKU: PRT-10208</description>
<gates>
<gate name="G$1" symbol="M04" x="-2.54" y="0"/>
</gates>
<devices>
<device name="PTH" package="1X04">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POLAR" package="MOLEX-1X4">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SCREW" package="SCREWTERMINAL-3.5MM-4">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="1.27MM" package="1X04-1.27MM">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK" package="1X04_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LOCK_LONGPADS" package="1X04_LOCK_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="POLAR_LOCK" package="MOLEX-1X4_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD" package="1X04-SMD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="LONGPADS" package="1X04_LONGPADS">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="1X04_NO_SILK" package="1X04_NO_SILK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="JST-PTH" package="JST-4-PTH">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SCREW_LOCK" package="SCREWTERMINAL-3.5MM-4_LOCK">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="SMD2" package="1X04-1MM-RA">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Switches" urn="urn:adsk.eagle:library:535">
<description>
SparkFun Switches, Buttons, Encoders

In this library you'll find switches, buttons, joysticks, and anything that moves to create or disrupt an electrical connection.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is  the end user's responsibility to ensure correctness and suitablity for a given componet or application.

If you enjoy using this library, please buy one of our products at SparkFun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="TACTILE_SWITCH_SMD_5.2MM" urn="urn:adsk.eagle:footprint:40111/1" library_version="1">
<description>
Momentary Switch (Pushbutton) - SPST - SMD, 5.2mm Square

Normally-open (NO) SPST momentary switches (buttons, pushbuttons).

Dimensional Drawing
</description>
<wire x1="-1.54" y1="-2.54" x2="-2.54" y2="-1.54" width="0.2032" layer="51"/>
<wire x1="-2.54" y1="-1.24" x2="-2.54" y2="1.27" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="1.54" x2="-1.54" y2="2.54" width="0.2032" layer="51"/>
<wire x1="-1.54" y1="2.54" x2="1.54" y2="2.54" width="0.2032" layer="21"/>
<wire x1="1.54" y1="2.54" x2="2.54" y2="1.54" width="0.2032" layer="51"/>
<wire x1="2.54" y1="1.24" x2="2.54" y2="-1.24" width="0.2032" layer="21"/>
<wire x1="2.54" y1="-1.54" x2="1.54" y2="-2.54" width="0.2032" layer="51"/>
<wire x1="1.54" y1="-2.54" x2="-1.54" y2="-2.54" width="0.2032" layer="21"/>
<wire x1="1.905" y1="1.27" x2="1.905" y2="0.445" width="0.127" layer="51"/>
<wire x1="1.905" y1="0.445" x2="2.16" y2="-0.01" width="0.127" layer="51"/>
<wire x1="1.905" y1="-0.23" x2="1.905" y2="-1.115" width="0.127" layer="51"/>
<circle x="0" y="0" radius="1.27" width="0.2032" layer="21"/>
<smd name="1" x="-2.794" y="1.905" dx="0.762" dy="1.524" layer="1" rot="R90"/>
<smd name="2" x="2.794" y="1.905" dx="0.762" dy="1.524" layer="1" rot="R90"/>
<smd name="3" x="-2.794" y="-1.905" dx="0.762" dy="1.524" layer="1" rot="R90"/>
<smd name="4" x="2.794" y="-1.905" dx="0.762" dy="1.524" layer="1" rot="R90"/>
<text x="0" y="2.667" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>Name</text>
<text x="0" y="-2.667" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>Value</text>
</package>
<package name="TACTILE_SWITCH_SMD_4.6X2.8MM" urn="urn:adsk.eagle:footprint:40113/1" library_version="1">
<description>
Momentary Switch (Pushbutton) - SPST - SMD, 4.6 x 2.8mm

Normally-open (NO) SPST momentary switches (buttons, pushbuttons).

Datasheet
</description>
<smd name="3" x="2.05" y="0.8" dx="0.9" dy="1" layer="1"/>
<smd name="2" x="2.05" y="-0.8" dx="0.9" dy="1" layer="1"/>
<smd name="1" x="-2.05" y="-0.8" dx="0.9" dy="1" layer="1"/>
<smd name="4" x="-2.05" y="0.8" dx="0.9" dy="1" layer="1"/>
<wire x1="-2.1" y1="1.4" x2="-2.1" y2="-1.4" width="0.127" layer="51"/>
<wire x1="2.1" y1="-1.4" x2="2.1" y2="1.4" width="0.127" layer="51"/>
<wire x1="-2.1" y1="1.4" x2="2.1" y2="1.4" width="0.127" layer="51"/>
<wire x1="-2.1" y1="-1.4" x2="2.1" y2="-1.4" width="0.127" layer="51"/>
<wire x1="1.338" y1="-1.4" x2="-1.338" y2="-1.4" width="0.2032" layer="21"/>
<wire x1="-1.338" y1="1.4" x2="1.338" y2="1.4" width="0.2032" layer="21"/>
<wire x1="-2.1" y1="0.13" x2="-2.1" y2="-0.13" width="0.2032" layer="21"/>
<wire x1="2.1" y1="-0.13" x2="2.1" y2="0.13" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="0.805" width="0.127" layer="21"/>
<rectangle x1="-2.3" y1="0.5" x2="-2.1" y2="1.1" layer="51"/>
<rectangle x1="-2.3" y1="-1.1" x2="-2.1" y2="-0.5" layer="51"/>
<rectangle x1="2.1" y1="-1.1" x2="2.3" y2="-0.5" layer="51" rot="R180"/>
<rectangle x1="2.1" y1="0.5" x2="2.3" y2="1.1" layer="51" rot="R180"/>
<text x="0" y="1.524" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>Name</text>
<text x="0" y="-1.524" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>Value</text>
</package>
</packages>
<packages3d>
<package3d name="TACTILE_SWITCH_SMD_5.2MM" urn="urn:adsk.eagle:package:40167/1" type="box" library_version="1">
<description>Momentary Switch (Pushbutton) - SPST - SMD, 5.2mm Square
Normally-open (NO) SPST momentary switches (buttons, pushbuttons).
Dimensional Drawing</description>
<packageinstances>
<packageinstance name="TACTILE_SWITCH_SMD_5.2MM"/>
</packageinstances>
</package3d>
<package3d name="TACTILE_SWITCH_SMD_4.6X2.8MM" urn="urn:adsk.eagle:package:40176/1" type="box" library_version="1">
<description>Momentary Switch (Pushbutton) - SPST - SMD, 4.6 x 2.8mm
Normally-open (NO) SPST momentary switches (buttons, pushbuttons).
Datasheet</description>
<packageinstances>
<packageinstance name="TACTILE_SWITCH_SMD_4.6X2.8MM"/>
</packageinstances>
</package3d>
</packages3d>
<symbols>
<symbol name="SWITCH-MOMENTARY" urn="urn:adsk.eagle:symbol:40128/1" library_version="1">
<description>
Momentary Switch (Pushbutton) - SPST - Two Circuits

Normally-open (NO) SPST momentary switches (buttons, pushbuttons). Schematic symbol includes two switch circuits.
</description>
<wire x1="1.905" y1="0" x2="2.54" y2="0" width="0.254" layer="94"/>
<wire x1="1.905" y1="4.445" x2="1.905" y2="3.175" width="0.254" layer="94"/>
<wire x1="-1.905" y1="4.445" x2="-1.905" y2="3.175" width="0.254" layer="94"/>
<wire x1="1.905" y1="4.445" x2="0" y2="4.445" width="0.254" layer="94"/>
<wire x1="0" y1="4.445" x2="-1.905" y2="4.445" width="0.254" layer="94"/>
<wire x1="0" y1="2.54" x2="0" y2="1.905" width="0.1524" layer="94"/>
<wire x1="0" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="94"/>
<wire x1="0" y1="4.445" x2="0" y2="3.175" width="0.1524" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="2.54" y2="0" width="0.1524" layer="94"/>
<wire x1="-2.54" y1="-2.54" x2="-2.54" y2="0" width="0.1524" layer="94"/>
<wire x1="-2.54" y1="0" x2="1.905" y2="1.27" width="0.254" layer="94"/>
<circle x="-2.54" y="0" radius="0.127" width="0.4064" layer="94"/>
<circle x="2.54" y="0" radius="0.127" width="0.4064" layer="94"/>
<text x="0" y="4.826" size="1.778" layer="95" font="vector" align="bottom-center">>NAME</text>
<text x="0" y="-2.794" size="1.778" layer="96" font="vector" align="top-center">>VALUE</text>
<pin name="1" x="-5.08" y="0" visible="pad" length="short" direction="pas" swaplevel="2"/>
<pin name="3" x="5.08" y="0" visible="pad" length="short" direction="pas" swaplevel="1" rot="R180"/>
<pin name="4" x="5.08" y="-2.54" visible="pad" length="short" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="-5.08" y="-2.54" visible="pad" length="short" direction="pas" swaplevel="2"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="MOMENTARY-SWITCH-SPST-2" urn="urn:adsk.eagle:component:40206/1" prefix="S" uservalue="yes" library_version="1">
<description>
Momentary Switch (Pushbutton) - SPST - Two Circuits

Normally-open (NO) SPST momentary switches (buttons, pushbuttons). Schematic symbol includes two switch circuits.

Variants

SMD-4.6MMX2.8MM -  4.60mm x 2.80mm Tactile Momentary Button Switch  - Used on SparkFun SAMD21 Mini Breakout

SMD-5.2MM - Mini Pushbutton Switch - SMD - Used on Arduino Pro Mini

</description>
<gates>
<gate name="G$1" symbol="SWITCH-MOMENTARY" x="0" y="0"/>
</gates>
<devices>
<device name="-SMD-5.2MM" package="TACTILE_SWITCH_SMD_5.2MM">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:40167/1"/>
</package3dinstances>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="SWCH-08247"/>
<attribute name="SF_SKU" value="COM-08720"/>
</technology>
</technologies>
</device>
<device name="-SMD-4.6X2.8MM" package="TACTILE_SWITCH_SMD_4.6X2.8MM">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:40176/1"/>
</package3dinstances>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="SWCH-13065"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="Wurth_Elektronik_Electromechanic_Wire_to_Board_Connectors_rev19a" urn="urn:adsk.eagle:library:7554768">
<description>
Wurth Elektronik - Wire to Board Connectors

      &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

      -----

      -----

      -----

      -----

      -----

      ---------------------------

WE

      ---------------------------
Würth Elektronik

      ---------O---

      ----O--------

      ---------O---

      ----O--------

      ---------O---

      &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;

    &nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;More than you expect

Würth Elektronik eiSos GmbH & Co. KG

EMC & Inductive Solutions

Max-Eyth-Str.1

D-74638 Waldenburg

Tel: +49 (0)7942-945-0

Fax:+49 (0)7942-945-405

www.we-online.com/eagle

libraries@we-online.com

Neither Autodesk nor Würth Elektronik eiSos does warrant that this library is error-free or

that it meets your specific requirements.

Please contact us for more information.

Eagle Version 6, Library Revision 2018a, 2018-11-20

Copyright: Würth Elektronik</description>
<packages>
<package name="62400821722" urn="urn:adsk.eagle:footprint:7555473/2" library_version="2">
<description>WR-WTB Wire-to-Board Connectors 2.00 mm-Dual Row Male Horizontal Shrouded Header, 8 pins</description>
<wire x1="5.7" y1="3.55" x2="-5.7" y2="3.55" width="0.127" layer="21"/>
<wire x1="5.7" y1="-10.95" x2="5.7" y2="-10.45" width="0.127" layer="21"/>
<wire x1="5.7" y1="-10.45" x2="5.7" y2="3.55" width="0.127" layer="21"/>
<wire x1="-5.7" y1="-10.95" x2="5.7" y2="-10.95" width="0.127" layer="21"/>
<wire x1="-5.7" y1="3.55" x2="-5.7" y2="-10.45" width="0.127" layer="21"/>
<wire x1="-5.7" y1="-10.45" x2="-5.7" y2="-10.95" width="0.127" layer="21"/>
<wire x1="-5.95" y1="3.8" x2="5.95" y2="3.8" width="0.127" layer="39"/>
<wire x1="5.95" y1="3.8" x2="5.95" y2="-11.2" width="0.127" layer="39"/>
<wire x1="5.95" y1="-11.2" x2="-5.95" y2="-11.2" width="0.127" layer="39"/>
<wire x1="-5.95" y1="-11.2" x2="-5.95" y2="3.8" width="0.127" layer="39"/>
<wire x1="-5.7" y1="-10.45" x2="5.7" y2="-10.45" width="0.127" layer="21"/>
<pad name="1" x="3" y="-1.25" drill="0.8" rot="R180"/>
<pad name="2" x="3" y="1.25" drill="0.8" rot="R180"/>
<pad name="3" x="1" y="-1.25" drill="0.8" rot="R180"/>
<pad name="4" x="1" y="1.25" drill="0.8" rot="R180"/>
<pad name="6" x="-1" y="1.25" drill="0.8" rot="R180"/>
<pad name="5" x="-1" y="-1.25" drill="0.8" rot="R180"/>
<pad name="8" x="-3" y="1.25" drill="0.8" rot="R180"/>
<pad name="7" x="-3" y="-1.25" drill="0.8" rot="R180"/>
<text x="3.65" y="-2.7" size="1.27" layer="51">1</text>
<text x="-4.355" y="1.8" size="1.27" layer="51">8</text>
<text x="-3.3" y="4.51" size="1.27" layer="25">>NAME</text>
<text x="-2.705" y="-12.98" size="1.27" layer="27">>VALUE</text>
<text x="3.65" y="-2.7" size="1.27" layer="21">1</text>
</package>
</packages>
<packages3d>
<package3d name="62400821722" urn="urn:adsk.eagle:package:7556144/2" type="box" library_version="2">
<description>WR-WTB Wire-to-Board Connectors 2.00 mm-Dual Row Male Horizontal Shrouded Header, 8 pins</description>
<packageinstances>
<packageinstance name="62400821722"/>
</packageinstances>
</package3d>
</packages3d>
<symbols>
<symbol name="4X4" urn="urn:adsk.eagle:symbol:7554819/2" library_version="2">
<wire x1="-7.62" y1="5.08" x2="-7.62" y2="-5.08" width="0.254" layer="94"/>
<wire x1="-7.62" y1="-5.08" x2="12.7" y2="-5.08" width="0.254" layer="94"/>
<wire x1="12.7" y1="-5.08" x2="12.7" y2="5.08" width="0.254" layer="94"/>
<wire x1="12.7" y1="5.08" x2="-7.62" y2="5.08" width="0.254" layer="94"/>
<text x="-17.272" y="0.762" size="1.778" layer="95">>NAME</text>
<text x="-18.034" y="-2.54" size="1.778" layer="96">>VALUE</text>
<pin name="1" x="-5.08" y="-10.16" visible="pad" length="middle" direction="pas" rot="R90"/>
<pin name="2" x="-5.08" y="10.16" visible="pad" length="middle" direction="pas" rot="R270"/>
<pin name="3" x="0" y="-10.16" visible="pad" length="middle" direction="pas" rot="R90"/>
<pin name="4" x="0" y="10.16" visible="pad" length="middle" direction="pas" rot="R270"/>
<pin name="5" x="5.08" y="-10.16" visible="pad" length="middle" direction="pas" rot="R90"/>
<pin name="6" x="5.08" y="10.16" visible="pad" length="middle" direction="pas" rot="R270"/>
<pin name="7" x="10.16" y="-10.16" visible="pad" length="middle" direction="pas" rot="R90"/>
<pin name="8" x="10.16" y="10.16" visible="pad" length="middle" direction="pas" rot="R270"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="62400821722" urn="urn:adsk.eagle:component:7556804/2" prefix="J" uservalue="yes" library_version="2">
<description> WR-WTB Wire-to-Board Connevtors 2.00mm-Dual Row Male Horizontal Shrouded Header, 8 Pins=>Code : WR-WTB_Stiftleiste_62400821722

Details see: http://katalog.we-online.de/en/em/WTB_2_00_MALE_DUAL_ROW_HORIZONTAL_SHROUDED_HEADER_W_POSITIVE_LOCKING_6240XX21722

Created 2014-06-05, Karrer Zheng

2014 (C) Würth Elektronik</description>
<gates>
<gate name="G$1" symbol="4X4" x="0" y="0"/>
</gates>
<devices>
<device name="" package="62400821722">
<connects>
<connect gate="G$1" pin="1" pad="7"/>
<connect gate="G$1" pin="2" pad="8"/>
<connect gate="G$1" pin="3" pad="5"/>
<connect gate="G$1" pin="4" pad="6"/>
<connect gate="G$1" pin="5" pad="3"/>
<connect gate="G$1" pin="6" pad="4"/>
<connect gate="G$1" pin="7" pad="1"/>
<connect gate="G$1" pin="8" pad="2"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:7556144/2"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="con-jack" urn="urn:adsk.eagle:library:154">
<description>Jacks

Power Connectors

Phone Connectors

Cinch Connectors

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="DCJ0303" urn="urn:adsk.eagle:footprint:7490/1" library_version="1">
<description>DC POWER JACK Pad shape changed to LONG 2007.07.26

Source: DCJ0303.pdf</description>
<wire x1="1.65" y1="2.6" x2="-1.65" y2="2.6" width="0" layer="46"/>
<wire x1="-1.65" y1="2.6" x2="-1.65" y2="3.6" width="0" layer="46"/>
<wire x1="-1.65" y1="3.6" x2="1.65" y2="3.6" width="0" layer="46"/>
<wire x1="1.65" y1="3.6" x2="1.65" y2="2.6" width="0" layer="46"/>
<wire x1="5.3" y1="1.4" x2="4.3" y2="1.4" width="0" layer="46"/>
<wire x1="4.3" y1="1.4" x2="4.3" y2="-1.4" width="0" layer="46"/>
<wire x1="4.3" y1="-1.4" x2="5.3" y2="-1.4" width="0" layer="46"/>
<wire x1="5.3" y1="-1.4" x2="5.3" y2="1.4" width="0" layer="46"/>
<wire x1="1.4" y1="-3.5" x2="-1.4" y2="-3.5" width="0" layer="46"/>
<wire x1="-1.4" y1="-3.5" x2="-1.4" y2="-2.5" width="0" layer="46"/>
<wire x1="-1.4" y1="-2.5" x2="1.4" y2="-2.5" width="0" layer="46"/>
<wire x1="1.4" y1="-2.5" x2="1.4" y2="-3.5" width="0" layer="46"/>
<wire x1="-4.3" y1="-10.4" x2="4.3" y2="-10.4" width="0.2032" layer="21"/>
<wire x1="4.3" y1="-10.4" x2="4.3" y2="3.9" width="0.2032" layer="51"/>
<wire x1="4.3" y1="3.9" x2="-4.3" y2="3.9" width="0.2032" layer="51"/>
<wire x1="-4.3" y1="3.9" x2="-4.3" y2="-10.4" width="0.2032" layer="21"/>
<wire x1="-2.7" y1="3.9" x2="-4.3" y2="3.9" width="0.2032" layer="21"/>
<wire x1="4.3" y1="3.9" x2="2.7" y2="3.9" width="0.2032" layer="21"/>
<wire x1="-3" y1="-10.275" x2="-3" y2="-3" width="0.2032" layer="51" style="shortdash"/>
<wire x1="3" y1="-10.3" x2="3" y2="-3" width="0.2032" layer="51" style="shortdash"/>
<wire x1="3" y1="-3" x2="-3" y2="-3" width="0.2032" layer="51" style="shortdash"/>
<wire x1="-0.9" y1="-9" x2="-0.9" y2="-4.5" width="0.2032" layer="51" style="shortdash"/>
<wire x1="0.9" y1="-9" x2="0.9" y2="-4.5" width="0.2032" layer="51" style="shortdash"/>
<wire x1="-0.9" y1="-9" x2="0.9" y2="-9" width="0.2032" layer="51" curve="166.57811"/>
<wire x1="4.3" y1="-10.4" x2="4.3" y2="-2.45" width="0.2032" layer="21"/>
<wire x1="4.3" y1="2.3" x2="4.3" y2="3.9" width="0.2032" layer="21"/>
<pad name="1" x="0" y="3.1" drill="1" diameter="2" shape="long" rot="R180"/>
<pad name="3" x="0" y="-3" drill="1" diameter="2" shape="long" rot="R180"/>
<pad name="2" x="4.8" y="0" drill="1" diameter="2" shape="long" rot="R90"/>
<text x="6.35" y="-10.16" size="1.27" layer="25" rot="R90">>NAME</text>
<text x="-5.08" y="-10.16" size="1.27" layer="27" rot="R90">>VALUE</text>
</package>
</packages>
<packages3d>
<package3d name="DCJ0303" urn="urn:adsk.eagle:package:7493/1" type="box" library_version="1">
<description>DC POWER JACK Pad shape changed to LONG 2007.07.26
Source: DCJ0303.pdf</description>
<packageinstances>
<packageinstance name="DCJ0303"/>
</packageinstances>
</package3d>
</packages3d>
<symbols>
<symbol name="DC-JACK-SWITCH" urn="urn:adsk.eagle:symbol:7485/1" library_version="1">
<wire x1="5.08" y1="2.54" x2="-2.54" y2="2.54" width="0.1524" layer="94"/>
<wire x1="-2.54" y1="2.54" x2="-2.54" y2="1.27" width="0.1524" layer="94"/>
<wire x1="5.08" y1="0" x2="2.54" y2="0" width="0.1524" layer="94"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="5.08" y1="-2.54" x2="2.54" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="2.54" y1="-2.54" x2="0.762" y2="-2.54" width="0.1524" layer="94"/>
<wire x1="0.762" y1="-2.54" x2="0" y2="-1.016" width="0.1524" layer="94"/>
<wire x1="0" y1="-1.016" x2="-0.762" y2="-2.54" width="0.1524" layer="94"/>
<text x="-2.54" y="3.81" size="1.778" layer="95">>NAME</text>
<text x="-2.54" y="-6.35" size="1.778" layer="96">>VALUE</text>
<rectangle x1="-3.302" y1="-2.54" x2="-1.778" y2="1.27" layer="94"/>
<pin name="1" x="7.62" y="2.54" visible="pad" length="short" direction="pas" rot="R180"/>
<pin name="2" x="7.62" y="0" visible="pad" length="short" direction="pas" rot="R180"/>
<pin name="3" x="7.62" y="-2.54" visible="pad" length="short" direction="pas" rot="R180"/>
<polygon width="0.1524" layer="94">
<vertex x="2.54" y="-2.54"/>
<vertex x="2.032" y="-1.27"/>
<vertex x="3.048" y="-1.27"/>
</polygon>
</symbol>
</symbols>
<devicesets>
<deviceset name="DCJ0303" urn="urn:adsk.eagle:component:7497/1" prefix="J" uservalue="yes" library_version="1">
<description>DC POWER JACK

Source: DCJ0303.pdf</description>
<gates>
<gate name="G$1" symbol="DC-JACK-SWITCH" x="0" y="0"/>
</gates>
<devices>
<device name="" package="DCJ0303">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:7493/1"/>
</package3dinstances>
<technologies>
<technology name="">
<attribute name="MF" value="" constant="no"/>
<attribute name="MPN" value="" constant="no"/>
<attribute name="OC_FARNELL" value="unknown" constant="no"/>
<attribute name="OC_NEWARK" value="unknown" constant="no"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="frames" urn="urn:adsk.eagle:library:229">
<description>Frames for Sheet and Layout</description>
<packages>
</packages>
<symbols>
<symbol name="A3L-LOC" urn="urn:adsk.eagle:symbol:13881/1" library_version="1">
<wire x1="288.29" y1="3.81" x2="342.265" y2="3.81" width="0.1016" layer="94"/>
<wire x1="342.265" y1="3.81" x2="373.38" y2="3.81" width="0.1016" layer="94"/>
<wire x1="373.38" y1="3.81" x2="383.54" y2="3.81" width="0.1016" layer="94"/>
<wire x1="383.54" y1="3.81" x2="383.54" y2="8.89" width="0.1016" layer="94"/>
<wire x1="383.54" y1="8.89" x2="383.54" y2="13.97" width="0.1016" layer="94"/>
<wire x1="383.54" y1="13.97" x2="383.54" y2="19.05" width="0.1016" layer="94"/>
<wire x1="383.54" y1="19.05" x2="383.54" y2="24.13" width="0.1016" layer="94"/>
<wire x1="288.29" y1="3.81" x2="288.29" y2="24.13" width="0.1016" layer="94"/>
<wire x1="288.29" y1="24.13" x2="342.265" y2="24.13" width="0.1016" layer="94"/>
<wire x1="342.265" y1="24.13" x2="383.54" y2="24.13" width="0.1016" layer="94"/>
<wire x1="373.38" y1="3.81" x2="373.38" y2="8.89" width="0.1016" layer="94"/>
<wire x1="373.38" y1="8.89" x2="383.54" y2="8.89" width="0.1016" layer="94"/>
<wire x1="373.38" y1="8.89" x2="342.265" y2="8.89" width="0.1016" layer="94"/>
<wire x1="342.265" y1="8.89" x2="342.265" y2="3.81" width="0.1016" layer="94"/>
<wire x1="342.265" y1="8.89" x2="342.265" y2="13.97" width="0.1016" layer="94"/>
<wire x1="342.265" y1="13.97" x2="383.54" y2="13.97" width="0.1016" layer="94"/>
<wire x1="342.265" y1="13.97" x2="342.265" y2="19.05" width="0.1016" layer="94"/>
<wire x1="342.265" y1="19.05" x2="383.54" y2="19.05" width="0.1016" layer="94"/>
<wire x1="342.265" y1="19.05" x2="342.265" y2="24.13" width="0.1016" layer="94"/>
<text x="344.17" y="15.24" size="2.54" layer="94">>DRAWING_NAME</text>
<text x="344.17" y="10.16" size="2.286" layer="94">>LAST_DATE_TIME</text>
<text x="357.505" y="5.08" size="2.54" layer="94">>SHEET</text>
<text x="343.916" y="4.953" size="2.54" layer="94">Sheet:</text>
<frame x1="0" y1="0" x2="387.35" y2="260.35" columns="8" rows="5" layer="94"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="A3L-LOC" urn="urn:adsk.eagle:component:13942/1" prefix="FRAME" uservalue="yes" library_version="1">
<description>FRAME

DIN A3, landscape with location and doc. field</description>
<gates>
<gate name="G$1" symbol="A3L-LOC" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="U1" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="ARDUINOR3" device="-DIMENSION"/>
<part name="JP2" library="SparkFun" deviceset="M04" device="PTH"/>
<part name="JP4" library="SparkFun" deviceset="M02" device="PTH"/>
<part name="MOTOR" library="SparkFun" deviceset="M04" device="PTH"/>
<part name="JP16" library="SparkFun" deviceset="M04" device="PTH"/>
<part name="JP17" library="SparkFun" deviceset="M02" device="PTH"/>
<part name="BCOIL" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="BLU" value=""/>
<attribute name="RED" value=""/>
</part>
<part name="ACOIL" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="BLK" value=""/>
<attribute name="GRN" value=""/>
</part>
<part name="C2" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="FLUOR_LED" value=""/>
</part>
<part name="R17" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="C1" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="TRANS_LED" value=""/>
</part>
<part name="TRIGGER" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="CAM_TRIGGER" value=""/>
</part>
<part name="S2" library="SparkFun-Switches" library_urn="urn:adsk.eagle:library:535" deviceset="MOMENTARY-SWITCH-SPST-2" device="-SMD-5.2MM" package3d_urn="urn:adsk.eagle:package:40167/1"/>
<part name="C3" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="C3" value=""/>
</part>
<part name="C4" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="C4" value=""/>
</part>
<part name="C5" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="1X2" device="-3.5MM">
<attribute name="C5" value=""/>
</part>
<part name="R1" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="R2" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="R3" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="R4" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="R5" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="R6" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="R-US_" device="R1206" value="10kΩ"/>
<part name="J1" library="Wurth_Elektronik_Electromechanic_Wire_to_Board_Connectors_rev19a" library_urn="urn:adsk.eagle:library:7554768" deviceset="62400821722" device="" package3d_urn="urn:adsk.eagle:package:7556144/2"/>
<part name="J2" library="con-jack" library_urn="urn:adsk.eagle:library:154" deviceset="DCJ0303" device="" package3d_urn="urn:adsk.eagle:package:7493/1"/>
<part name="FRAME1" library="frames" library_urn="urn:adsk.eagle:library:229" deviceset="A3L-LOC" device=""/>
</parts>
<sheets>
<sheet>
<plain>
</plain>
<instances>
<instance part="U1" gate="G$1" x="236.22" y="109.22" smashed="yes"/>
<instance part="JP2" gate="G$1" x="195.58" y="226.06" smashed="yes" rot="R270">
<attribute name="VALUE" x="187.96" y="231.14" size="1.778" layer="96" rot="R270"/>
<attribute name="NAME" x="203.962" y="231.14" size="1.778" layer="95" rot="R270"/>
</instance>
<instance part="JP4" gate="G$1" x="228.6" y="228.6" smashed="yes" rot="R270">
<attribute name="VALUE" x="223.52" y="231.14" size="1.778" layer="96" rot="R270"/>
<attribute name="NAME" x="234.442" y="231.14" size="1.778" layer="95" rot="R270"/>
</instance>
<instance part="MOTOR" gate="G$1" x="93.98" y="124.46" smashed="yes" rot="R270">
<attribute name="VALUE" x="86.36" y="129.54" size="1.778" layer="96" rot="R270"/>
<attribute name="NAME" x="102.362" y="129.54" size="1.778" layer="95" rot="R270"/>
</instance>
<instance part="JP16" gate="G$1" x="264.16" y="226.06" smashed="yes" rot="R270">
<attribute name="VALUE" x="256.54" y="231.14" size="1.778" layer="96" rot="R270"/>
<attribute name="NAME" x="272.542" y="231.14" size="1.778" layer="95" rot="R270"/>
</instance>
<instance part="JP17" gate="G$1" x="167.64" y="218.44" smashed="yes" rot="R270">
<attribute name="VALUE" x="162.56" y="220.98" size="1.778" layer="96" rot="R270"/>
<attribute name="NAME" x="173.482" y="220.98" size="1.778" layer="95" rot="R270"/>
</instance>
<instance part="BCOIL" gate="G$1" x="73.66" y="71.12" smashed="yes" rot="R180">
<attribute name="BLU" x="66.04" y="68.58" size="1.778" layer="96" rot="R180" display="name"/>
<attribute name="RED" x="66.04" y="73.66" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="ACOIL" gate="G$1" x="73.66" y="81.28" smashed="yes" rot="R180">
<attribute name="BLK" x="66.04" y="83.82" size="1.778" layer="96" rot="R180" display="name"/>
<attribute name="GRN" x="66.04" y="78.74" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="C2" gate="G$1" x="129.54" y="182.88" smashed="yes" rot="R180">
<attribute name="FLUOR_LED" x="132.08" y="187.96" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="R17" gate="G$1" x="226.06" y="58.42" smashed="yes">
<attribute name="NAME" x="222.25" y="59.9186" size="1.778" layer="95"/>
<attribute name="VALUE" x="222.25" y="55.118" size="1.778" layer="96"/>
</instance>
<instance part="C1" gate="G$1" x="129.54" y="195.58" smashed="yes" rot="R180">
<attribute name="TRANS_LED" x="132.08" y="200.66" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="TRIGGER" gate="G$1" x="287.02" y="86.36" smashed="yes">
<attribute name="CAM_TRIGGER" x="276.86" y="93.98" size="1.778" layer="96" display="name"/>
</instance>
<instance part="S2" gate="G$1" x="226.06" y="66.04" smashed="yes">
<attribute name="NAME" x="226.06" y="70.866" size="1.778" layer="95" font="vector" align="bottom-center"/>
<attribute name="VALUE" x="226.06" y="63.246" size="1.778" layer="96" font="vector" align="top-center"/>
</instance>
<instance part="C3" gate="G$1" x="129.54" y="170.18" smashed="yes" rot="R180">
<attribute name="C3" x="132.08" y="175.26" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="C4" gate="G$1" x="129.54" y="157.48" smashed="yes" rot="R180">
<attribute name="C4" x="132.08" y="162.56" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="C5" gate="G$1" x="129.54" y="144.78" smashed="yes" rot="R180">
<attribute name="C5" x="132.08" y="149.86" size="1.778" layer="96" rot="R180" display="name"/>
</instance>
<instance part="R1" gate="G$1" x="190.5" y="134.62" smashed="yes" rot="R180">
<attribute name="NAME" x="194.31" y="133.1214" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="194.31" y="137.922" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R2" gate="G$1" x="190.5" y="124.46" smashed="yes" rot="R180">
<attribute name="NAME" x="194.31" y="122.9614" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="194.31" y="127.762" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R3" gate="G$1" x="190.5" y="114.3" smashed="yes" rot="R180">
<attribute name="NAME" x="194.31" y="112.8014" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="194.31" y="117.602" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R4" gate="G$1" x="190.5" y="104.14" smashed="yes" rot="R180">
<attribute name="NAME" x="194.31" y="102.6414" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="194.31" y="107.442" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R5" gate="G$1" x="190.5" y="93.98" smashed="yes" rot="R180">
<attribute name="NAME" x="194.31" y="92.4814" size="1.778" layer="95" rot="R180"/>
<attribute name="VALUE" x="194.31" y="97.282" size="1.778" layer="96" rot="R180"/>
</instance>
<instance part="R6" gate="G$1" x="190.5" y="86.36" smashed="yes">
<attribute name="NAME" x="186.69" y="87.8586" size="1.778" layer="95"/>
<attribute name="VALUE" x="186.69" y="83.058" size="1.778" layer="96"/>
</instance>
<instance part="J1" gate="G$1" x="157.48" y="109.22" smashed="yes" rot="MR90">
<attribute name="NAME" x="158.242" y="91.948" size="1.778" layer="95" rot="MR90"/>
<attribute name="VALUE" x="154.94" y="91.186" size="1.778" layer="96" rot="MR90"/>
</instance>
<instance part="J2" gate="G$1" x="147.32" y="203.2" smashed="yes">
<attribute name="NAME" x="144.78" y="207.01" size="1.778" layer="95"/>
<attribute name="VALUE" x="144.78" y="196.85" size="1.778" layer="96"/>
</instance>
<instance part="FRAME1" gate="G$1" x="0" y="0" smashed="yes">
<attribute name="DRAWING_NAME" x="344.17" y="15.24" size="2.54" layer="94"/>
<attribute name="LAST_DATE_TIME" x="344.17" y="10.16" size="2.286" layer="94"/>
<attribute name="SHEET" x="357.505" y="5.08" size="2.54" layer="94"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="MS2" class="0">
<segment>
<wire x1="193.04" y1="220.98" x2="193.04" y2="200.66" width="0.1524" layer="91"/>
<pinref part="JP2" gate="G$1" pin="1"/>

<wire x1="193.04" y1="200.66" x2="193.04" y2="198.12" width="0.1524" layer="91"/>
<wire x1="193.04" y1="200.66" x2="210.82" y2="200.66" width="0.1524" layer="91"/>
<junction x="193.04" y="200.66"/>
<wire x1="210.82" y1="200.66" x2="210.82" y2="187.96" width="0.1524" layer="91"/>
<wire x1="210.82" y1="187.96" x2="243.84" y2="187.96" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="D5"/>
<wire x1="243.84" y1="187.96" x2="243.84" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="RESET" class="0">
<segment>
<wire x1="198.12" y1="220.98" x2="198.12" y2="208.28" width="0.1524" layer="91"/>
<pinref part="JP2" gate="G$1" pin="3"/>

</segment>
</net>
<net name="SLEEP" class="0">
<segment>
<wire x1="200.66" y1="220.98" x2="200.66" y2="213.36" width="0.1524" layer="91"/>
<pinref part="JP2" gate="G$1" pin="4"/>

</segment>
</net>
<net name="MS3" class="0">
<segment>
<wire x1="195.58" y1="220.98" x2="195.58" y2="205.74" width="0.1524" layer="91"/>
<pinref part="JP2" gate="G$1" pin="2"/>

<pinref part="U1" gate="G$1" pin="D6"/>
<wire x1="195.58" y1="205.74" x2="195.58" y2="203.2" width="0.1524" layer="91"/>
<wire x1="241.3" y1="139.7" x2="241.3" y2="185.42" width="0.1524" layer="91"/>
<wire x1="241.3" y1="185.42" x2="208.28" y2="185.42" width="0.1524" layer="91"/>
<wire x1="208.28" y1="185.42" x2="208.28" y2="205.74" width="0.1524" layer="91"/>
<wire x1="208.28" y1="205.74" x2="195.58" y2="205.74" width="0.1524" layer="91"/>
<junction x="195.58" y="205.74"/>
</segment>
</net>
<net name="MS1" class="0">
<segment>
<wire x1="231.14" y1="220.98" x2="231.14" y2="215.9" width="0.1524" layer="91"/>
<pinref part="JP4" gate="G$1" pin="2"/>

<wire x1="231.14" y1="215.9" x2="231.14" y2="213.36" width="0.1524" layer="91"/>
<wire x1="231.14" y1="215.9" x2="248.92" y2="215.9" width="0.1524" layer="91"/>
<junction x="231.14" y="215.9"/>
<wire x1="248.92" y1="215.9" x2="248.92" y2="193.04" width="0.1524" layer="91"/>
<wire x1="248.92" y1="193.04" x2="246.38" y2="193.04" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="D4"/>
<wire x1="246.38" y1="193.04" x2="246.38" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="ENABLE" class="0">
<segment>
<wire x1="228.6" y1="220.98" x2="228.6" y2="210.82" width="0.1524" layer="91"/>
<pinref part="JP4" gate="G$1" pin="1"/>

<wire x1="228.6" y1="210.82" x2="228.6" y2="208.28" width="0.1524" layer="91"/>
<wire x1="228.6" y1="210.82" x2="246.38" y2="210.82" width="0.1524" layer="91"/>
<junction x="228.6" y="210.82"/>
<wire x1="246.38" y1="210.82" x2="246.38" y2="200.66" width="0.1524" layer="91"/>
<wire x1="246.38" y1="200.66" x2="238.76" y2="200.66" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="D7"/>
<wire x1="238.76" y1="200.66" x2="238.76" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="GND" class="0">
<segment>
<wire x1="264.16" y1="220.98" x2="264.16" y2="205.74" width="0.1524" layer="91"/>
<pinref part="JP16" gate="G$1" pin="2"/>

<pinref part="U1" gate="G$1" pin="GND"/>
<wire x1="264.16" y1="205.74" x2="264.16" y2="203.2" width="0.1524" layer="91"/>
<wire x1="264.16" y1="205.74" x2="218.44" y2="205.74" width="0.1524" layer="91"/>
<junction x="264.16" y="205.74"/>
<wire x1="218.44" y1="205.74" x2="218.44" y2="142.24" width="0.1524" layer="91"/>
<wire x1="218.44" y1="139.7" x2="218.44" y2="142.24" width="0.1524" layer="91"/>
<junction x="218.44" y="139.7"/>
<pinref part="C5" gate="G$1" pin="1"/>
<wire x1="139.7" y1="142.24" x2="134.62" y2="142.24" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="1"/>
<wire x1="139.7" y1="193.04" x2="134.62" y2="193.04" width="0.1524" layer="91"/>
<wire x1="139.7" y1="180.34" x2="139.7" y2="193.04" width="0.1524" layer="91"/>
<pinref part="C2" gate="G$1" pin="1"/>
<wire x1="134.62" y1="180.34" x2="139.7" y2="180.34" width="0.1524" layer="91"/>
<junction x="139.7" y="180.34"/>
<wire x1="139.7" y1="180.34" x2="139.7" y2="167.64" width="0.1524" layer="91"/>
<pinref part="C3" gate="G$1" pin="1"/>
<wire x1="134.62" y1="167.64" x2="139.7" y2="167.64" width="0.1524" layer="91"/>
<junction x="139.7" y="167.64"/>
<wire x1="139.7" y1="167.64" x2="139.7" y2="154.94" width="0.1524" layer="91"/>
<wire x1="139.7" y1="154.94" x2="139.7" y2="142.24" width="0.1524" layer="91"/>
<junction x="139.7" y="154.94"/>
<pinref part="C4" gate="G$1" pin="1"/>
<wire x1="134.62" y1="154.94" x2="139.7" y2="154.94" width="0.1524" layer="91"/>
<wire x1="218.44" y1="142.24" x2="139.7" y2="142.24" width="0.1524" layer="91"/>
<junction x="139.7" y="142.24"/>
<pinref part="TRIGGER" gate="G$1" pin="1"/>
<wire x1="276.86" y1="88.9" x2="281.94" y2="88.9" width="0.1524" layer="91"/>
<wire x1="218.44" y1="142.24" x2="276.86" y2="142.24" width="0.1524" layer="91"/>
<wire x1="276.86" y1="142.24" x2="276.86" y2="88.9" width="0.1524" layer="91"/>
<junction x="218.44" y="142.24"/>
<wire x1="276.86" y1="88.9" x2="276.86" y2="76.2" width="0.1524" layer="91"/>
<junction x="276.86" y="88.9"/>
<pinref part="U1" gate="G$1" pin="GND2"/>
<pinref part="U1" gate="G$1" pin="GND1"/>
<wire x1="236.22" y1="78.74" x2="238.76" y2="78.74" width="0.1524" layer="91"/>
<junction x="238.76" y="78.74"/>
<pinref part="R17" gate="G$1" pin="2"/>
<wire x1="238.76" y1="78.74" x2="238.76" y2="76.2" width="0.1524" layer="91"/>
<wire x1="238.76" y1="76.2" x2="238.76" y2="58.42" width="0.1524" layer="91"/>
<wire x1="238.76" y1="58.42" x2="231.14" y2="58.42" width="0.1524" layer="91"/>
<wire x1="276.86" y1="76.2" x2="238.76" y2="76.2" width="0.1524" layer="91"/>
<junction x="238.76" y="76.2"/>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="195.58" y1="134.62" x2="200.66" y2="134.62" width="0.1524" layer="91"/>
<wire x1="200.66" y1="134.62" x2="200.66" y2="124.46" width="0.1524" layer="91"/>
<wire x1="200.66" y1="124.46" x2="200.66" y2="114.3" width="0.1524" layer="91"/>
<wire x1="200.66" y1="114.3" x2="200.66" y2="104.14" width="0.1524" layer="91"/>
<wire x1="200.66" y1="104.14" x2="200.66" y2="93.98" width="0.1524" layer="91"/>
<wire x1="200.66" y1="93.98" x2="200.66" y2="86.36" width="0.1524" layer="91"/>
<wire x1="200.66" y1="86.36" x2="200.66" y2="76.2" width="0.1524" layer="91"/>
<wire x1="200.66" y1="76.2" x2="238.76" y2="76.2" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="1"/>
<wire x1="195.58" y1="124.46" x2="200.66" y2="124.46" width="0.1524" layer="91"/>
<junction x="200.66

license_type: permissive

branch_name: refs/heads/master


text:
" y="124.46"/>
<pinref part="R3" gate="G$1" pin="1"/>
<wire x1="195.58" y1="114.3" x2="200.66" y2="114.3" width="0.1524" layer="91"/>
<junction x="200.66" y="114.3"/>
<pinref part="R4" gate="G$1" pin="1"/>
<wire x1="195.58" y1="104.14" x2="200.66" y2="104.14" width="0.1524" layer="91"/>
<junction x="200.66" y="104.14"/>
<pinref part="R5" gate="G$1" pin="1"/>
<wire x1="195.58" y1="93.98" x2="200.66" y2="93.98" width="0.1524" layer="91"/>
<junction x="200.66" y="93.98"/>
<pinref part="R6" gate="G$1" pin="2"/>
<wire x1="195.58" y1="86.36" x2="200.66" y2="86.36" width="0.1524" layer="91"/>
<junction x="200.66" y="86.36"/>
</segment>
</net>
<net name="VCC" class="0">
<segment>
<wire x1="261.62" y1="220.98" x2="261.62" y2="200.66" width="0.1524" layer="91"/>
<pinref part="JP16" gate="G$1" pin="1"/>
<label x="261.62" y="198.12" size="1.27" layer="95" xref="yes"/>
<pinref part="U1" gate="G$1" pin="5V"/>
<wire x1="261.62" y1="200.66" x2="261.62" y2="198.12" width="0.1524" layer="91"/>
<wire x1="233.68" y1="78.74" x2="233.68" y2="73.66" width="0.1524" layer="91"/>
<wire x1="233.68" y1="73.66" x2="274.32" y2="73.66" width="0.1524" layer="91"/>
<wire x1="274.32" y1="73.66" x2="274.32" y2="200.66" width="0.1524" layer="91"/>
<wire x1="274.32" y1="200.66" x2="261.62" y2="200.66" width="0.1524" layer="91"/>
<junction x="261.62" y="200.66"/>
<wire x1="231.14" y1="63.5" x2="233.68" y2="63.5" width="0.1524" layer="91"/>
<wire x1="233.68" y1="63.5" x2="233.68" y2="73.66" width="0.1524" layer="91"/>
<junction x="233.68" y="73.66"/>
<pinref part="S2" gate="G$1" pin="4"/>
<wire x1="233.68" y1="73.66" x2="167.64" y2="73.66" width="0.1524" layer="91"/>
<pinref part="J1" gate="G$1" pin="2"/>
<wire x1="167.64" y1="73.66" x2="167.64" y2="104.14" width="0.1524" layer="91"/>
</segment>
</net>
<net name="COILB+" class="0">
<segment>
<wire x1="91.44" y1="104.14" x2="91.44" y2="106.68" width="0.1524" layer="91"/>
<pinref part="MOTOR" gate="G$1" pin="1"/>
<label x="91.44" y="104.14" size="1.27" layer="95" xref="yes"/>
<wire x1="91.44" y1="106.68" x2="91.44" y2="119.38" width="0.1524" layer="91"/>
<wire x1="91.44" y1="106.68" x2="109.22" y2="106.68" width="0.1524" layer="91"/>
<junction x="91.44" y="106.68"/>
<wire x1="109.22" y1="106.68" x2="109.22" y2="68.58" width="0.1524" layer="91"/>
<pinref part="BCOIL" gate="G$1" pin="1"/>
<wire x1="109.22" y1="68.58" x2="78.74" y2="68.58" width="0.1524" layer="91"/>
</segment>
</net>
<net name="COILB-" class="0">
<segment>
<wire x1="93.98" y1="109.22" x2="93.98" y2="111.76" width="0.1524" layer="91"/>
<pinref part="MOTOR" gate="G$1" pin="2"/>
<label x="93.98" y="109.22" size="1.27" layer="95" xref="yes"/>
<wire x1="93.98" y1="111.76" x2="93.98" y2="119.38" width="0.1524" layer="91"/>
<wire x1="93.98" y1="111.76" x2="111.76" y2="111.76" width="0.1524" layer="91"/>
<junction x="93.98" y="111.76"/>
<wire x1="111.76" y1="111.76" x2="111.76" y2="71.12" width="0.1524" layer="91"/>
<pinref part="BCOIL" gate="G$1" pin="2"/>
<wire x1="111.76" y1="71.12" x2="78.74" y2="71.12" width="0.1524" layer="91"/>
</segment>
</net>
<net name="COILA-" class="0">
<segment>
<wire x1="96.52" y1="114.3" x2="96.52" y2="116.84" width="0.1524" layer="91"/>
<pinref part="MOTOR" gate="G$1" pin="3"/>
<label x="96.52" y="114.3" size="1.27" layer="95" xref="yes"/>
<wire x1="96.52" y1="116.84" x2="96.52" y2="119.38" width="0.1524" layer="91"/>
<wire x1="96.52" y1="116.84" x2="114.3" y2="116.84" width="0.1524" layer="91"/>
<junction x="96.52" y="116.84"/>
<pinref part="ACOIL" gate="G$1" pin="1"/>
<wire x1="114.3" y1="116.84" x2="114.3" y2="78.74" width="0.1524" layer="91"/>
<wire x1="114.3" y1="78.74" x2="78.74" y2="78.74" width="0.1524" layer="91"/>
</segment>
</net>
<net name="COILA+" class="0">
<segment>
<pinref part="MOTOR" gate="G$1" pin="4"/>
<label x="99.06" y="119.38" size="1.27" layer="95" xref="yes"/>
<wire x1="99.06" y1="119.38" x2="116.84" y2="119.38" width="0.1524" layer="91"/>
<wire x1="116.84" y1="119.38" x2="116.84" y2="81.28" width="0.1524" layer="91"/>
<junction x="99.06" y="119.38"/>
<pinref part="ACOIL" gate="G$1" pin="2"/>
<wire x1="116.84" y1="81.28" x2="78.74" y2="81.28" width="0.1524" layer="91"/>
</segment>
</net>
<net name="DIR_IN" class="0">
<segment>
<pinref part="JP16" gate="G$1" pin="4"/>
<wire x1="269.24" y1="220.98" x2="269.24" y2="215.9" width="0.1524" layer="91"/>
<label x="269.24" y="213.36" size="1.27" layer="95" xref="yes"/>
<wire x1="269.24" y1="215.9" x2="269.24" y2="213.36" width="0.1524" layer="91"/>
<wire x1="269.24" y1="215.9" x2="287.02" y2="215.9" width="0.1524" layer="91"/>
<junction x="269.24" y="215.9"/>
<wire x1="287.02" y1="215.9" x2="287.02" y2="190.5" width="0.1524" layer="91"/>
<wire x1="287.02" y1="190.5" x2="248.92" y2="190.5" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="D3"/>
<wire x1="248.92" y1="190.5" x2="248.92" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="STEP_IN" class="0">
<segment>
<pinref part="JP16" gate="G$1" pin="3"/>
<wire x1="266.7" y1="220.98" x2="266.7" y2="210.82" width="0.1524" layer="91"/>
<label x="266.7" y="208.28" size="1.27" layer="95" xref="yes"/>
<wire x1="266.7" y1="210.82" x2="266.7" y2="208.28" width="0.1524" layer="91"/>
<wire x1="266.7" y1="210.82" x2="284.48" y2="210.82" width="0.1524" layer="91"/>
<junction x="266.7" y="210.82"/>
<wire x1="284.48" y1="210.82" x2="284.48" y2="195.58" width="0.1524" layer="91"/>
<wire x1="284.48" y1="195.58" x2="251.46" y2="195.58" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="D2"/>
<wire x1="251.46" y1="195.58" x2="251.46" y2="139.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="TRIGGER" gate="G$1" pin="2"/>
<wire x1="279.4" y1="86.36" x2="281.94" y2="86.36" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="A0"/>
<wire x1="246.38" y1="78.74" x2="246.38" y2="71.12" width="0.1524" layer="91"/>
<wire x1="246.38" y1="71.12" x2="279.4" y2="71.12" width="0.1524" layer="91"/>
<wire x1="279.4" y1="71.12" x2="279.4" y2="86.36" width="0.1524" layer="91"/>
<wire x1="160.02" y1="45.72" x2="284.48" y2="45.72" width="0.1524" layer="91"/>
<wire x1="284.48" y1="45.72" x2="284.48" y2="71.12" width="0.1524" layer="91"/>
<wire x1="284.48" y1="71.12" x2="279.4" y2="71.12" width="0.1524" layer="91"/>
<junction x="279.4" y="71.12"/>
<pinref part="R6" gate="G$1" pin="1"/>
<wire x1="160.02" y1="86.36" x2="185.42" y2="86.36" width="0.1524" layer="91"/>
<wire x1="160.02" y1="86.36" x2="160.02" y2="45.72" width="0.1524" layer="91"/>
<wire x1="246.38" y1="71.12" x2="170.18" y2="71.12" width="0.1524" layer="91"/>
<junction x="246.38" y="71.12"/>
<pinref part="J1" gate="G$1" pin="4"/>
<wire x1="170.18" y1="71.12" x2="170.18" y2="109.22" width="0.1524" layer="91"/>
<wire x1="170.18" y1="109.22" x2="167.64" y2="109.22" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$14" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="D8"/>
<wire x1="233.68" y1="139.7" x2="233.68" y2="182.88" width="0.1524" layer="91"/>
<wire x1="233.68" y1="182.88" x2="182.88" y2="182.88" width="0.1524" layer="91"/>
<pinref part="C2" gate="G$1" pin="2"/>
<wire x1="182.88" y1="182.88" x2="167.64" y2="182.88" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="2"/>
<wire x1="167.64" y1="182.88" x2="134.62" y2="182.88" width="0.1524" layer="91"/>
<wire x1="182.88" y1="182.88" x2="182.88" y2="124.46" width="0.1524" layer="91"/>
<wire x1="182.88" y1="124.46" x2="185.42" y2="124.46" width="0.1524" layer="91"/>
<junction x="182.88" y="182.88"/>
<pinref part="J1" gate="G$1" pin="8"/>
<wire x1="167.64" y1="119.38" x2="167.64" y2="182.88" width="0.1524" layer="91"/>
<junction x="167.64" y="182.88"/>
</segment>
</net>
<net name="N$15" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="D10"/>
<wire x1="228.6" y1="139.7" x2="228.6" y2="193.04" width="0.1524" layer="91"/>
<wire x1="228.6" y1="193.04" x2="185.42" y2="193.04" width="0.1524" layer="91"/>
<wire x1="185.42" y1="193.04" x2="144.78" y2="193.04" width="0.1524" layer="91"/>
<wire x1="144.78" y1="193.04" x2="144.78" y2="195.58" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="2"/>
<wire x1="144.78" y1="195.58" x2="142.24" y2="195.58" width="0.1524" layer="91"/>
<pinref part="R1" gate="G$1" pin="2"/>
<wire x1="142.24" y1="195.58" x2="134.62" y2="195.58" width="0.1524" layer="91"/>
<wire x1="185.42" y1="134.62" x2="185.42" y2="193.04" width="0.1524" layer="91"/>
<junction x="185.42" y="193.04"/>
<pinref part="J1" gate="G$1" pin="7"/>
<wire x1="147.32" y1="119.38" x2="142.24" y2="119.38" width="0.1524" layer="91"/>
<wire x1="142.24" y1="119.38" x2="142.24" y2="195.58" width="0.1524" layer="91"/>
<junction x="142.24" y="195.58"/>
</segment>
</net>
<net name="N$16" class="0">
<segment>
<pinref part="R17" gate="G$1" pin="1"/>
<wire x1="220.98" y1="58.42" x2="220.98" y2="63.5" width="0.1524" layer="91"/>
<pinref part="S2" gate="G$1" pin="2"/>
</segment>
</net>
<net name="N$17" class="0">
<segment>
<wire x1="223.52" y1="182.88" x2="200.66" y2="182.88" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="D11"/>
<pinref part="C4" gate="G$1" pin="2"/>
<wire x1="226.06" y1="139.7" x2="226.06" y2="157.48" width="0.1524" layer="91"/>
<wire x1="226.06" y1="157.48" x2="177.8" y2="157.48" width="0.1524" layer="91"/>
<wire x1="177.8" y1="157.48" x2="170.18" y2="157.48" width="0.1524" layer="91"/>
<pinref part="R4" gate="G$1" pin="2"/>
<wire x1="170.18" y1="157.48" x2="134.62" y2="157.48" width="0.1524" layer="91"/>
<wire x1="185.42" y1="104.14" x2="177.8" y2="104.14" width="0.1524" layer="91"/>
<wire x1="177.8" y1="104.14" x2="177.8" y2="157.48" width="0.1524" layer="91"/>
<junction x="177.8" y="157.48"/>
<pinref part="J1" gate="G$1" pin="6"/>
<wire x1="167.64" y1="114.3" x2="170.18" y2="114.3" width="0.1524" layer="91"/>
<wire x1="170.18" y1="114.3" x2="170.18" y2="157.48" width="0.1524" layer="91"/>
<junction x="170.18" y="157.48"/>
</segment>
</net>
<net name="N$6" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="D9"/>
<pinref part="C3" gate="G$1" pin="2"/>
<wire x1="231.14" y1="139.7" x2="231.14" y2="170.18" width="0.1524" layer="91"/>
<wire x1="231.14" y1="170.18" x2="180.34" y2="170.18" width="0.1524" layer="91"/>
<wire x1="180.34" y1="170.18" x2="144.78" y2="170.18" width="0.1524" layer="91"/>
<pinref part="R3" gate="G$1" pin="2"/>
<wire x1="144.78" y1="170.18" x2="134.62" y2="170.18" width="0.1524" layer="91"/>
<wire x1="185.42" y1="114.3" x2="180.34" y2="114.3" width="0.1524" layer="91"/>
<wire x1="180.34" y1="114.3" x2="180.34" y2="170.18" width="0.1524" layer="91"/>
<junction x="180.34" y="170.18"/>
<pinref part="J1" gate="G$1" pin="5"/>
<wire x1="147.32" y1="114.3" x2="144.78" y2="114.3" width="0.1524" layer="91"/>
<wire x1="144.78" y1="114.3" x2="144.78" y2="170.18" width="0.1524" layer="91"/>
<junction x="144.78" y="170.18"/>
</segment>
</net>
<net name="N$7" class="0">
<segment>
<pinref part="C5" gate="G$1" pin="2"/>
<pinref part="U1" gate="G$1" pin="D12"/>
<wire x1="134.62" y1="144.78" x2="137.16" y2="144.78" width="0.1524" layer="91"/>
<wire x1="137.16" y1="144.78" x2="175.26" y2="144.78" width="0.1524" layer="91"/>
<wire x1="175.26" y1="144.78" x2="223.52" y2="144.78" width="0.1524" layer="91"/>
<wire x1="223.52" y1="144.78" x2="223.52" y2="139.7" width="0.1524" layer="91"/>
<pinref part="R5" gate="G$1" pin="2"/>
<wire x1="185.42" y1="93.98" x2="175.26" y2="93.98" width="0.1524" layer="91"/>
<wire x1="175.26" y1="93.98" x2="175.26" y2="144.78" width="0.1524" layer="91"/>
<junction x="175.26" y="144.78"/>
<pinref part="J1" gate="G$1" pin="3"/>
<wire x1="147.32" y1="109.22" x2="137.16" y2="109.22" width="0.1524" layer="91"/>
<wire x1="137.16" y1="109.22" x2="137.16" y2="144.78" width="0.1524" layer="91"/>
<junction x="137.16" y="144.78"/>
</segment>
</net>
<net name="N$8" class="0">
<segment>
<pinref part="J1" gate="G$1" pin="1"/>
<wire x1="147.32" y1="104.14" x2="144.78" y2="104.14" width="0.1524" layer="91"/>
<wire x1="198.12" y1="66.04" x2="220.98" y2="66.04" width="0.1524" layer="91"/>
<pinref part="S2" gate="G$1" pin="1"/>
<pinref part="U1" gate="G$1" pin="A1"/>
<wire x1="248.92" y1="78.74" x2="248.92" y2="48.26" width="0.1524" layer="91"/>
<wire x1="248.92" y1="48.26" x2="198.12" y2="48.26" width="0.1524" layer="91"/>
<wire x1="198.12" y1="48.26" x2="198.12" y2="66.04" width="0.1524" layer="91"/>
<wire x1="144.78" y1="104.14" x2="144.78" y2="66.04" width="0.1524" layer="91"/>
<wire x1="144.78" y1="66.04" x2="198.12" y2="66.04" width="0.1524" layer="91"/>
<junction x="198.12" y="66.04"/>
</segment>
</net>
<net name="N$1" class="0">
<segment>
<pinref part="J2" gate="G$1" pin="3"/>
<pinref part="JP17" gate="G$1" pin="1"/>
<wire x1="154.94" y1="200.66" x2="167.64" y2="200.66" width="0.1524" layer="91"/>
<wire x1="167.64" y1="200.66" x2="167.64" y2="210.82" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$3" class="0">
<segment>
<pinref part="J2" gate="G$1" pin="1"/>
<pinref part="JP17" gate="G$1" pin="2"/>
<wire x1="154.94" y1="205.74" x2="170.18" y2="205.74" width="0.1524" layer="91"/>
<wire x1="170.18" y1="205.74" x2="170.18" y2="210.82" width="0.1524" layer="91"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
</schematic>
</drawing>
<compatibility>
<note version="8.2" severity="warning">
Since Version 8.2, EAGLE supports online libraries. The ids
of those online libraries will not be understood (or retained)
with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports URNs for individual library
assets (packages, symbols, and devices). The URNs of those assets
will not be understood (or retained) with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports the association of 3D packages
with devices in libraries, schematics, and board files. Those 3D
packages will not be understood (or retained) with this version.
</note>
</compatibility>
</eagle>

repository: AllenInstitute/AIBSOPT

repo_name: AllenInstitute/AIBSOPT

gha_license_id: NOASSERTION

gha_language: Python

extension: sch


text:
package registry

import (
	"io"

	"github.com/docker/distribution/reference"
	"github.com/opencontainers/go-digest"
)

type NamedAsset struct {
	named  reference.Named
	digest digest.Digest
	asset  NamelessAsset
}

type NamelessAsset interface {
	TgzStream() (io.ReadCloser, error)
	TarDigest() (digest.Digest, error)
}

func NewFSNamedAsset(named reference.Named, asset NamelessAsset) (NamedAsset, error) {
	digest, err := asset.TarDigest()
	if err != nil {
		return NamedAsset{}, err
	}

	return NamedAsset{named, digest, asset}, nil
}

func (a NamedAsset) MatchesNamed(n reference.Named) bool {
	return a.named.Name() == n.Name()
}

func (a NamedAsset) MatchesDigest(d digest.Digest) bool {
	return a.digest.String() == d.String()
}

func (a NamedAsset) Named() reference.Named { return a.named }
func (a NamedAsset) Digest() digest.Digest  { return a.digest }

func (a NamedAsset) Stream() (io.ReadCloser, error) { return a.asset.TgzStream() }

extension: go


text:
@Book{dietz2020enterprise,
 author = {Dietz, Jan},
 title = {Enterprise ontology a human-centric approach to understanding the essence of organisation},
 publisher = {Springer},
 year = {2020},
 address = {Cham},
 isbn = {978-3-030-38854-6}
 }

@Book{dietz2015teoo,
 author = {Dietz, Jan},
 title = {The essence of organisation : an introduction to enterprise engineering},
 publisher = {Sapio Enterprise Engineering},
 year = {2015},
 address = {Netherlands},
 isbn = {978-90-815449-4-8}
 }

@misc{kutisvlk2019,
  author = {Kutiš, Martin and Vlk, Vladimír},
  title = {MI-MEP Semestral Work - Resort Contract},
  howpublished = {\url{https://github.com/CCMiResearch/DEMOCaseStudies/blob/master/MEP/2019/2019_Czech_\%20Resort_Contract_Kutis_Vlk.pdf}},
  note = {Accessed: 2020-05-20}
}

license: MIT

repository: tenhobi/NI-MEP

repo_name: tenhobi/NI-MEP

branch_name: refs/heads/main

extension: bib


text:
package engine

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"os/exec"

	"github.com/gin-gonic/gin"

	"github.com/senseyeio/roger"
)

// Algo1 retour de la prédiction de l'algorithme 1
type Algo1 struct {
	Siret      string  `json:"siret" bson:"siret"`
	Prediction float64 `json:"prediction_0_12" bson:"prediction_0_12"`
}

func algo1(c *gin.Context) {
	Rscript, _ := ioutil.ReadFile("R/algo1.R")
	rClient, err := roger.NewRClient("127.0.0.1", 6311)
	rSession, _ := rClient.GetSession()
	defer rSession.Close()

	err = rSession.Assign("periode_train", "2015-01-01 01:00:00")
	err = rSession.Assign("periode_test", "2016-01-01 01:00:00")
	err = rSession.Assign("periode_actual", "2018-02-01 01:00:00")

	if err != nil {
		fmt.Println("Failed")
		return
	}

	value, err := rSession.Eval(string(Rscript))
	if err != nil {
		fmt.Println("Command failed: " + err.Error())
	}

	var result []Algo1

	err = json.Unmarshal([]byte(value.(string)), &result)

	c.JSON(200, result)
}

// R démarre un processus R
func r() {
	cmd := exec.Command("Rscript", "R/rserve.R")
	cmd.Run()
}

gha_license_id: MIT

gha_language: Go


text:
PR = "r1"

INHIBIT_DEFAULT_DEPS = "1"

INSANE_SKIP_libgcc = True
INSANE_SKIP_libstdc++ = True
INSANE_SKIP_nscd = True
INSANE_SKIP_glibc-utils = True

PROVIDES = "\
	virtual/${TARGET_PREFIX}gcc \
	virtual/${TARGET_PREFIX}g++ \
	virtual/${TARGET_PREFIX}gcc-initial \
	virtual/${TARGET_PREFIX}gcc-intermediate \
	virtual/${TARGET_PREFIX}binutils \
	virtual/${TARGET_PREFIX}libc-for-gcc \
	virtual/${TARGET_PREFIX}libc-initial \
	virtual/libc \
	virtual/libintl \
	virtual/libiconv \
	glibc-thread-db \
	linux-libc-headers \
"

#	virtual/linux-libc-headers \

RPROVIDES = "glibc-utils libsegfault glibc-thread-db"
RPROVIDES_glibc-dev += "libc-dev"

LEAD_SONAME = "libc.so.6"

PACKAGES = "\
	libgcc \
	libgcc-dev \
	libstdc++ \
	libstdc++-dev \
	linux-libc-headers \
	glibc-dbg \
	glibc \
	catchsegv \
	sln \
	nscd \
	ldd \
	localedef \
	glibc-utils \
	glibc-dev \
	libsegfault \
	glibc-extra-nss \
	glibc-thread-db \
	glibc-pcprofile \
"

FILES_glibc = "\
	${sysconfdir} \
	${libexecdir}/* \
	${datadir}/zoneinfo \
	/lib/libc* \
	/lib/libm* \
	/lib/ld* \
	/lib/libpthread* \
	/lib/libresolv* \
	/lib/librt* \
	/lib/libutil* \
	/lib/libnsl* \
	/lib/libnss_files* \
	/lib/libnss_compat* \
	/lib/libnss_dns* \
	/lib/libdl* \
	/lib/libanl* \
	/lib/libBrokenLocale* \
	/sbin/ldconfig \
"

FILES_glibc-dev = "\
	${includedir} \
	${libdir}/*.o \
	${bindir}/rpcgen \
	${libdir}/*.so \
	${libdir}/*.a \
"

FILES_glibc-dbg += " ${libdir}/gconv/.debug ${libexecdir}/*/.debug ${base_libdir}/.debug ${libdir}/.debug"
FILES_glibc-utils = "${bindir}/* ${sbindir}/*"
FILES_glibc-extra-nss = "/lib/libnss*"
FILES_glibc-gconv = "${libdir}/gconv/*"
FILES_glibc-pcprofile = "/lib/libpcprofile.so"
FILES_glibc-thread-db = "/lib/libthread_db*"

FILES_libgcc = "${base_libdir}/libgcc_s.so.1"
FILES_libgcc-dev = "${base_libdir}/libgcc_s.so"

FILES_libstdc++ = "${libdir}/libstdc++.so.*"
FILES_libstdc++-dev = "\
	${includedir}/c++/* \
	${libdir}/libstdc++.so \
	${libdir}/libstdc++.la \
	${libdir}/libstdc++.a \
	${libdir}/libsupc++.la \
	${libdir}/libsupc++.a \
"

FILES_linux-libc-headers = "\
	${includedir}/asm* \
	${includedir}/linux \
	${includedir}/mtd \
	${includedir}/rdma \
	${includedir}/scsi \
	${includedir}/sound \
	${includedir}/video \
"

FILES_libsegfault = "/lib/libSegFault*"
FILES_catchsegv = "${bindir}/catchsegv"
RDEPENDS_catchsegv = "libsegfault"

FILES_ldd = "${bindir}/ldd"
FILES_nscd = "${sbindir}/nscd*"
FILES_sln = "${base_sbindir}/sln"
FILES_localedef = "${bindir}/localedef"

DESCRIPTION_glibc-utils = "glibc: misc utilities like iconf, local, gencat, tzselect, rpcinfo, ..."
DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services"
DESCRIPTION_ldd = "glibc: print shared library dependencies"
DESCRIPTION_nscd = "glibc: name service cache daemon for passwd, group, and hosts"
DESCRIPTION_sln = "glibc: create symbolic links between files"
DESCRIPTION_localedef = "glibc: compile locale definition files"

def csl_get_main_version(d):
	import subprocess,os,bb
	if os.path.exists(bb.data.getVar('TOOLCHAIN_PATH', d, 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc'):
		return subprocess.Popen([bb.data.getVar('TOOLCHAIN_PATH', d, 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc', '-v'], stderr=subprocess.PIPE).communicate()[1].splitlines()[-1].split()[-1].rstrip(')')

def csl_get_gcc_version(d):
	import subprocess,os,bb
	if os.path.exists(bb.data.getVar('TOOLCHAIN_PATH', d, 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc'):
		return subprocess.Popen([bb.data.getVar('TOOLCHAIN_PATH', d, 1)+'/bin/'+bb.data.getVar('TARGET_PREFIX', d, 1)+'gcc', '-v'], stderr=subprocess.PIPE).communicate()[1].splitlines()[-1].split()[2]

def csl_get_libc_version(d):
	import os,bb
	if os.path.exists(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)+'/libc/lib/'):
		for file in os.listdir(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)+'/libc/lib/'):
			if file.find('libc-') == 0:
				return file[5:-3]
		return None

def csl_get_kernel_version(d):
	import os,bb
	if os.path.exists(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)+'/libc/'):
		f = open(bb.data.getVar('TOOLCHAIN_SYSPATH', d, 1)+'/libc/usr/include/linux/version.h', 'r')
		l = f.readlines();
		f.close();
		for s in l:
			if s.find('LINUX_VERSION_CODE') > 0:
				ver = int(s.split()[2])
				maj = ver / 65536
				ver = ver % 65536
				min = ver / 256
				ver = ver % 256
				return str(maj)+'.'+str(min)+'.'+str(ver)
		return None

CSL_VER_MAIN := "${@csl_get_main_version(d)}"
CSL_VER_GCC := "${@csl_get_gcc_version(d)}"
CSL_VER_LIBC := "${@csl_get_libc_version(d)}"
CSL_VER_KERNEL := "${@csl_get_kernel_version(d)}"

PV = ${CSL_VER_MAIN}
PV_libgcc = ${CSL_VER_GCC}
PV_libgcc-dev = ${CSL_VER_GCC}
PV_libstdc++ = ${CSL_VER_GCC}
PV_libstdc++-dev = ${CSL_VER_GCC}
PV_libc = ${CSL_VER_LIBC}
PV_glibc = ${CSL_VER_LIBC}
PV_glibc-dev = ${CSL_VER_LIBC}
PV_glibc-dbg = ${CSL_VER_LIBC}
PV_glibc-utils = ${CSL_VER_LIBC}
PV_glibc-extra-nss = ${CSL_VER_LIBC}
PV_glibc-thread-db = ${CSL_VER_LIBC}
PV_glibc-pcprofile = ${CSL_VER_LIBC}
PV_catchsegv = ${CSL_VER_LIBC}
PV_sln = ${CSL_VER_LIBC}
PV_nscd = ${CSL_VER_LIBC}
PV_ldd = ${CSL_VER_LIBC}
PV_localedef = ${CSL_VER_LIBC}
PV_libsegfault = ${CSL_VER_LIBC}
PV_linux-libc-headers = ${CSL_VER_KERNEL}

do_unpack() {
	:
}

do_install() {
	install -d ${D}${sysconfdir}
	install -d ${D}${bindir}
	install -d ${D}${sbindir}
	install -d ${D}${base_bindir}
	install -d ${D}${libdir}
	install -d ${D}${base_libdir}
	install -d ${D}${base_sbindir}
	install -d ${D}${datadir}

	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/lib/* ${D}${base_libdir}
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/etc/* ${D}${sysconfdir}
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/sbin/* ${D}${base_sbindir}
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/usr/* ${D}/usr
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/include/* ${D}/usr/include
	rm -rf ${D}${datadir}/locale
	rm -rf ${D}${datadir}/i18n
	rm -rf ${D}${libdir}/locale
	rm -rf ${D}${libdir}/gconv
	rm -rf ${D}${bindir}/gdbserver
	rm -rf ${D}${sysconfdir}/rpc
	rm -rf ${D}${datadir}/zoneinfo
}

do_stage() {
	install -d ${STAGING_INCDIR}
	install -d ${STAGING_LIBDIR}
	install -d ${STAGING_DIR_TARGET}${base_libdir}

	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/usr/include/* ${STAGING_INCDIR}
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/include/* ${STAGING_INCDIR}
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/usr/lib/* ${STAGING_LIBDIR}
	cp -a ${TOOLCHAIN_PATH}/${TARGET_SYS}/libc/lib/* ${STAGING_DIR_TARGET}${base_libdir}

	sed -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${STAGING_LIBDIR}/libc.so > ${STAGING_LIBDIR}/temp
	mv ${STAGING_LIBDIR}/temp ${STAGING_LIBDIR}/libc.so

	sed -e "s# /lib# ../../lib#" -e "s# /usr/lib# .#g" ${STAGING_LIBDIR}/libpthread.so > ${STAGING_LIBDIR}/temp
	mv ${STAGING_LIBDIR}/temp ${STAGING_LIBDIR}/libpthread.so
}

python populate_packages_prepend () {
	if bb.data.getVar('DEBIAN_NAMES', d, 1):
		bb.data.setVar('PKG_glibc', 'libc6', d)
		bb.data.setVar('PKG_glibc-dev', 'libc6-dev', d)
		bb.data.setVar('PKG_libgcc', 'libgcc1', d)
		bb.data.setVar('PKG_libgcc-dev', 'libgcc1-dev', d)
}

repository: demsey/openembedded

repo_name: demsey/openembedded

branch_name: HEAD

extension: bb


text:
FILE(REMOVE_RECURSE
  "CMakeFiles/ITKMorphologicalWatershedFromMarkers.dir/ITKMorphologicalWatershedFromMarkers.o"
  "CMakeFiles/ITKMorphologicalWatershedFromMarkers.dir/moc_ITKMorphologicalWatershedFromMarkers.o"
  "moc_ITKMorphologicalWatershedFromMarkers.cxx"
  "../../bin/libITKMorphologicalWatershedFromMarkers.pdb"
  "../../bin/libITKMorphologicalWatershedFromMarkers.so"
)

# Per-language clean rules from dependency scanning.
FOREACH(lang CXX)
  INCLUDE(CMakeFiles/ITKMorphologicalWatershedFromMarkers.dir/cmake_clean_${lang}.cmake OPTIONAL)
ENDFOREACH(lang)

extension: cmake


text:
SUMMARY = "Flux Core Package Group"
LICENSE = "Apache-2.0"

PR = "r1"

inherit packagegroup

# core packages
RDEPENDS_${PN} += " \
        flux-mount \
        flux-filesystem-expand \
        balena \
        kernel-modules \
        networkmanager \
     "

repository: fluxos-iot/meta-flux

repo_name: fluxos-iot/meta-flux


text:
// Copyright (c) 2016 Tigera, Inc. All rights reserved.

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package resources

import (
	"encoding/json"
	"strings"

	log "github.com/Sirupsen/logrus"
	"github.com/projectcalico/libcalico-go/lib/backend/k8s/thirdparty"
	"github.com/projectcalico/libcalico-go/lib/backend/model"
	kapi "k8s.io/client-go/pkg/api"
)

// ThirdPartyToIPPool takes a Kubernetes ThirdPartyResource representation
// of a Calico IP Pool and returns the equivalent IPPool object.
func ThirdPartyToIPPool(t *thirdparty.IpPool) *model.KVPair {
	v := model.IPPool{}
	err := json.Unmarshal([]byte(t.Spec.Value), &v)
	if err != nil {
		log.Fatalf("Error unmarshalling IPPool value: %s", err)
	}
	return &model.KVPair{
		Key:      model.IPPoolKey{CIDR: v.CIDR},
		Value:    &v,
		Revision: t.Metadata.ResourceVersion,
	}
}

// IPPoolToThirdParty takes a Calico IP Pool and returns the equivalent
// ThirdPartyResource representation.
func IPPoolToThirdParty(kvp *model.KVPair) *thirdparty.IpPool {
	v, err := json.Marshal(kvp.Value.(*model.IPPool))
	if err != nil {
		log.Fatalf("Error marshalling IPPool value: %s", err)
	}

	tpr := thirdparty.IpPool{
		Metadata: kapi.ObjectMeta{
			// Names in Kubernetes must be lower-case.
			Name: tprName(kvp.Key.(model.IPPoolKey)),
		},
		Spec: thirdparty.IpPoolSpec{
			Value: string(v),
		},
	}
	if kvp.Revision != nil {
		tpr.Metadata.ResourceVersion = kvp.Revision.(string)
	}
	return &tpr
}

// tprName converts the given IPPool key into a unique third party resource
// name.
func tprName(key model.IPPoolKey) string {
	name := strings.Replace(key.CIDR.String(), ".", "-", 3)
	name = strings.Replace(name, ":", "-", 7)
	name = strings.Replace(name, "/", "-", 1)
	return name
}

repository: shibingli/libcalico-go

repo_name: shibingli/libcalico-go


text:
package slicex

// Map applies the mapper function to each item of the input slice and returns a new slice
// with the mapped values.
func Map[T any, R any](input []T, mapper func(T) R) []R {
	result := MakeWithCapacity[R](len(input))

	for _, value := range input {
		result = append(result, mapper(value))
	}

	return result
}

repository: flachnetz/startup

repo_name: flachnetz/startup


text:
if (EXISTS "${portable_concurrency_BINARY_DIR}/conanbuildinfo.cmake")
  include("${portable_concurrency_BINARY_DIR}/conanbuildinfo.cmake")
  set(CONAN_CMAKE_FIND_ROOT_PATH ${CONAN_CMAKE_MODULE_PATH})
  conan_basic_setup(TARGETS)
endif()


text:
package catalog

import (
	"fmt"
	"io/ioutil"
	"os"
	"path/filepath"
	"strings"

	"github.com/blevesearch/bleve"
	"github.com/blevesearch/bleve/analysis/token/lowercase"
	"github.com/blevesearch/bleve/analysis/tokenizer/single"
	"github.com/blevesearch/bleve/search/query"
	"mkdeb.sh/recipe"
)

const (
	// DefaultRepository is the default recipes repository short name.
	DefaultRepository = "mkdeb/core"

	reqSize = 100000 // FIXME: find a better way to handle request size
)

// Catalog is a recipes catalog.
type Catalog struct {
	Path  string
	index bleve.Index
}

// New creates a new recipes catalog instance.
func New(path string) (*Catalog, error) {
	var err error

	c := &Catalog{
		Path: path,
	}

	idxDir := filepath.Join(c.Path, "index")

	_, err = os.Stat(idxDir)
	if os.IsNotExist(err) {
		mapping := bleve.NewIndexMapping()
		mapping.DefaultAnalyzer = "custom"

		err = mapping.AddCustomAnalyzer("custom", map[string]interface{}{
			"type":      "custom",
			"tokenizer": single.Name,
			"token_filters": []string{
				lowercase.Name,
			},
		})
		if err != nil {
			return nil, err
		}

		c.index, err = bleve.New(idxDir, mapping)
	} else {
		c.index, err = bleve.Open(idxDir)
	}
	if err != nil {
		return nil, fmt.Errorf("cannot open index: %w", err)
	}

	return c, nil
}

// Close closes the catalog index.
func (c *Catalog) Close() error {
	if c.index != nil {
		return c.index.Close()
	}
	return nil
}

// Index indexes repositories recipes into the catalog.
func (c *Catalog) Index() (uint64, error) {
	err := c.Walk(func(recipe *recipe.Recipe, repo *Repository, err error) error {
		if err != nil {
			return err
		}

		return c.index.Index(repo.Name+"/"+recipe.Name, SearchHit{
			Name:        recipe.Name,
			Description: recipe.Description,
			Repository:  repo.Name,
		})
	})
	if err != nil {
		return 0, err
	}

	return c.index.DocCount()
}

// InstallRepository installs a new recipes repository into the catalog.
func (c *Catalog) InstallRepository(name, url, branch string, force bool) (uint64, error) {
	var count uint64

	path := filepath.Join(c.Path, "repositories", name)

	if !force {
		_, err := os.Stat(path)
		if err == nil {
			return 0, ErrRepositoryExist
		}
	}

	repo := NewRepository(path, name, url, branch)

	err := repo.Update(force)
	if err != nil {
		return 0, err
	}

	// Walk repository to perform a batch index
	batch := c.index.NewBatch()

	err = repo.Walk(func(recipe *recipe.Recipe, err error) error {
		if err != nil {
			return err
		}

		count++

		return batch.Index(repo.Name+"/"+recipe.Name, SearchHit{
			Name:        recipe.Name,
			Description: recipe.Description,
			Repository:  repo.Name,
		})
	})
	if err != nil {
		return 0, fmt.Errorf("cannot index repository: %w", err)
	}

	err = c.index.Batch(batch)
	if err != nil {
		return 0, err
	}

	return count, nil
}

// Repositories returns a list of installed recipes repositories.
func (c *Catalog) Repositories() ([]*Repository, error) {
	path := filepath.Join(c.Path, "repositories")

	_, err := os.Stat(path)
	if os.IsNotExist(err) {
		return nil, nil
	}

	namespaces, err := ioutil.ReadDir(path)
	if err != nil {
		return nil, err
	}

	result := []*Repository{}
	for _, namespace := range namespaces {
		if namespace.IsDir() {
			files, err := ioutil.ReadDir(filepath.Join(path, namespace.Name()))
			if err != nil {
				return nil, err
			}

			for _, file := range files {
				var validLink bool

				// Check for linked repositories
				if file.Mode()&os.ModeSymlink == os.ModeSymlink {
					linkPath, err := filepath.EvalSymlinks(filepath.Join(path, namespace.Name(), file.Name()))
					if err != nil {
						return nil, err
					}

					fi, err := os.Stat(linkPath)
					if err != nil {
						return nil, err
					}
					validLink = fi.IsDir()
				}

				if file.IsDir() || validLink {
					repo, err := NewRepositoryFromPath(filepath.Join(path, namespace.Name(), file.Name()))
					if err != nil {
						return nil, err
					}
					result = append(result, repo)
				}
			}
		}
	}

	return result, nil
}

// Recipe searches the catalog for a recipe.
func (c *Catalog) Recipe(name string) (*recipe.Recipe, error) {
	var (
		q    query.Query
		path string
	)

	if strings.Contains(name, "/") {
		q = bleve.NewDocIDQuery([]string{name})
	} else {
		wq := bleve.NewTermQuery(name)
		wq.SetField("Name")

		q = wq
	}

	req := bleve.NewSearchRequest(q)
	req.Size = reqSize

	result, err := c.index.Search(req)
	if err != nil {
		return nil, fmt.Errorf("cannot search index: %w", err)
	}

	if result.Total == 0 {
		return nil, ErrRecipeNotFound
	}

	// Search for default repository on duplicate recipes short names
	if result.Total > 1 {
		for _, hit := range result.Hits {
			if strings.HasPrefix(hit.ID, DefaultRepository+"/") {
				path = hit.ID
				break
			}
		}
	}

	if path == "" {
		path = result.Hits[0].ID
	}

	dir, base := filepath.Dir(path), filepath.Base(path)
	return recipe.LoadRecipe(filepath.Join(c.Path, "repositories", dir, string(base[0]), base))
}

// UninstallRepository uninstalls a recipes repository from the catalog.
func (c *Catalog) UninstallRepository(name string) (uint64, error) {
	var count uint64

	path := filepath.Join(c.Path, "repositories", name)

	_, err := os.Stat(path)
	if os.IsNotExist(err) {
		return 0, ErrRepositoryNotExist
	}

	req := bleve.NewSearchRequest(bleve.NewMatchAllQuery())
	req.Size = reqSize

	result, err := c.index.Search(req)
	if err != nil {
		return 0, err
	}

	// Walk index to delete matching recipes
	batch := c.index.NewBatch()

	for _, hit := range result.Hits {
		if strings.HasPrefix(hit.ID, name+"/") {
			count++
			batch.Delete(hit.ID)
		}
	}

	err = c.index.Batch(batch)
	if err != nil {
		return 0, err
	}

	err = os.RemoveAll(path)
	if err != nil {
		return 0, err
	}

	return count, nil
}

// Walk walks the catalog calling a function for each recipe found.
func (c *Catalog) Walk(f func(rcp *recipe.Recipe, repo *Repository, err error) error) error {
	repos, err := c.Repositories()
	if err != nil {
		return err
	}

	for _, repo := range repos {
		err = repo.Walk(func(rcp *recipe.Recipe, err error) error {
			return f(rcp, repo, err)
		})
		if err != nil {
			return err
		}
	}

	return nil
}

// Ready returns whether or not the catalog is ready for use.
func Ready(path string) bool {
	_, err := os.Stat(filepath.Join(path, "repositories"))
	return err == nil
}

repository: mkdeb/mkdeb

repo_name: mkdeb/mkdeb


text:
#include <iostream>
#include <stdio.h>
#include <time.h>
using namespace std;
const int N=100010;// Change maximum size if needed
typedef int T;// Change type if needed
T arr[N];
int n;
int random(int mn,int mx){
	return mn + (rand() % (mx - mn + 1));
}
int partition(T a[],int l,int r){
	int i = random(l,r);
	swap(a[l],a[i]);
	i = l;
	int pivot = a[l];
	for(int j = l + 1 ; j <= r ; ++j){
		if(a[j] <= pivot){
			++i;
			swap(a[i],a[j]);
		}
	}
	swap(a[i],a[l]);
	return i;
}
void QuickSort(T a[],int l,int r){
	if (l >= r)
		return;

	int mid = partition(a,l,r);

	QuickSort(a,l,mid - 1);
	QuickSort(a,mid + 1,r);
}
int main(){
	srand(time(0));

	cin >>n;
	for(int i=0;i<n;++i)
		cin >>arr[i];

	QuickSort(arr,0,n - 1);

	for(int i = 0 ; i < n ; ++i)
		cout <<arr[i]<<" ";
	printf("\n");
	return 0;
}

repository: AliOsm/ADT

repo_name: AliOsm/ADT

extension: cpp


text:
package env

import (
	"bufio"
	"io"
	"os"
	"path"
	"strings"
)

// TesEnvDir checks the directory where this package will look for the
// .env file if file is not specified
func TestEnvDir() string {
	dir, err := os.Getwd()
	if err != nil {
		panic(err)
	}
	return dir
}

// Load takes in a list of string file names to be used
// as a collection of environmental variables to be used for
// application data kept outside of source
func Load(files ...string) error {

	// If no files provided, look for .env file
	// in the applications top level directory.
	// If none found, return nil
	if len(files) == 0 {
		file, err := os.Open(currentDir(".env"))

		if err != nil && os.IsNotExist(err) {
			return err
		}
		if err != nil {
			return err
		}

		er := setEnvFromFile(file)

		if er != nil {
			return er
		}

		return nil
	}

	// If at least one file has been provided,
	// get all the env keys and assign then as env values
	// in the curent running process
	for _, file := range files {
		env, err := os.Open(file)
		if err != nil {
			return err
		}

		defer env.Close()
		setEnvFromFile(env)
	}

	return nil
}

func setEnvFromFile(file io.Reader) error {
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		textLine := scanner.Text()

		kv := strings.Split(textLine, "=")
		kvCount := len(kv)

		if kvCount <= 1 {
			continue
		}

		firstLetter := string([]rune(strings.TrimSpace(textLine))[0])

		if firstLetter == "#" {
			continue
		}

		if strings.TrimSpace(kv[1]) == "null" {
			setEnvValue(kv[0], "")
		} else {
			setEnvValue(kv[0], kv[1])
		}
	}

	if err := scanner.Err(); err != nil {
		return err
	}
	return nil
}

func setEnvValue(key, value string) bool {
	k := strings.TrimSpace(key)
	v := strings.TrimSpace(value)
	err := os.Setenv(k, v)
	return err == nil
}

func currentDir(file string) string {
	dir, err := os.Getwd()
	if err != nil {
		return ""
	}
	return path.Join(dir, file)
}

repository: arthurkay/env

repo_name: arthurkay/env