text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.6.2">
<drawing>
<settings>
<setting alwaysvectorfont="yes"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="14" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="57" name="tCAD" color="7" fill="1" visible="no" active="no"/>
<layer number="59" name="tCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="60" name="bCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
<layer number="99" name="SpiceOrder" color="7" fill="1" visible="no" active="no"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="no" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="no" active="yes"/>
<layer number="103" name="fp3" color="7" fill="1" visible="no" active="yes"/>
<layer number="104" name="Name" color="7" fill="1" visible="no" active="yes"/>
<layer number="105" name="Beschreib" color="9" fill="1" visible="no" active="yes"/>
<layer number="106" name="BGA-Top" color="4" fill="1" visible="no" active="yes"/>
<layer number="107" name="BD-Top" color="5" fill="1" visible="no" active="yes"/>
<layer number="108" name="fp8" color="7" fill="1" visible="no" active="yes"/>
<layer number="109" name="fp9" color="7" fill="1" visible="no" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="no" active="yes"/>
<layer number="111" name="LPC17xx" color="7" fill="1" visible="no" active="yes"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="113" name="ReferenceLS" color="7" fill="1" visible="no" active="no"/>
<layer number="114" name="Badge_Outline" color="7" fill="1" visible="no" active="yes"/>
<layer number="115" name="ReferenceISLANDS" color="7" fill="1" visible="no" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="no" active="yes"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="no" active="no"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="no" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="no" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="129" name="Mask" color="7" fill="1" visible="yes" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="no" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="no" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="no" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="no" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="yes"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="no" active="yes"/>
<layer number="153" name="FabDoc1" color="6" fill="1" visible="no" active="no"/>
<layer number="154" name="FabDoc2" color="2" fill="1" visible="no" active="no"/>
<layer number="155" name="FabDoc3" color="7" fill="15" visible="no" active="no"/>
<layer number="199" name="Contour" color="7" fill="1" visible="no" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="no" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="1" visible="no" active="no"/>
<layer number="202" name="202bmp" color="3" fill="1" visible="no" active="no"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="no" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="no" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="no" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="no" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="no" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="no" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="225" name="225bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="231" name="Eagle3D_PG1" color="7" fill="1" visible="no" active="no"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="no" active="no"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="no" active="no"/>
<layer number="248" name="Housing" color="7" fill="1" visible="no" active="yes"/>
<layer number="249" name="Edge" color="7" fill="1" visible="no" active="yes"/>
<layer number="250" name="Descript" color="7" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="7" fill="1" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="no" active="yes"/>
<layer number="255" name="routoute" color="7" fill="1" visible="yes" active="yes"/>
</layers>
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
<libraries>
<library name="adafruit" urn="urn:adsk.eagle:library:420">
<packages>
<package name="SO18W" urn="urn:adsk.eagle:footprint:6240109/1" library_version="2">
<wire x1="-5.395" y1="5.9" x2="6.695" y2="5.9" width="0.1998" layer="39"/>
<wire x1="6.695" y1="-5.9" x2="-5.395" y2="-5.9" width="0.1998" layer="39"/>
<wire x1="-5.395" y1="-5.9" x2="-5.395" y2="5.9" width="0.1998" layer="39"/>
<wire x1="6.49" y1="-3.7" x2="-5.19" y2="-3.7" width="0.2032" layer="51"/>
<wire x1="-5.19" y1="-3.7" x2="-5.19" y2="-3.2" width="0.2032" layer="51"/>
<wire x1="-5.19" y1="-3.2" x2="-5.19" y2="3.7" width="0.2032" layer="51"/>
<wire x1="-5.19" y1="3.7" x2="6.49" y2="3.7" width="0.2032" layer="51"/>
<wire x1="6.49" y1="-3.2" x2="-5.19" y2="-3.2" width="0.2032" layer="51"/>
<wire x1="6.49" y1="3.7" x2="6.49" y2="-3.2" width="0.2032" layer="51"/>
<wire x1="6.49" y1="-3.2" x2="6.49" y2="-3.7" width="0.2032" layer="51"/>
<wire x1="6.695" y1="5.9" x2="6.695" y2="-5.9" width="0.1998" layer="39"/>
<smd name="2" x="-3.175" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="13" x="1.965" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="1" x="-4.445" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="3" x="-1.905" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="4" x="-0.635" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="14" x="0.695" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="12" x="3.235" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="11" x="4.505" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="6" x="1.905" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="5" x="0.635" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="7" x="3.175" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="8" x="4.445" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="15" x="-0.575" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="16" x="-1.845" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="17" x="-3.145" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="18" x="-4.445" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="9" x="5.715" y="-4.6" dx="0.6" dy="2.2" layer="1"/>
<smd name="10" x="5.775" y="4.6" dx="0.6" dy="2.2" layer="1"/>
<text x="-4.445" y="1.27" size="1.27" layer="25">>NAME</text>
<text x="-4.445" y="-2.54" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-4.6901" y1="-5.32" x2="-4.1999" y2="-3.8001" layer="51"/>
<rectangle x1="-3.4201" y1="-5.32" x2="-2.9299" y2="-3.8001" layer="51"/>
<rectangle x1="-2.1501" y1="-5.32" x2="-1.6599" y2="-3.8001" layer="51"/>
<rectangle x1="-0.8801" y1="-5.32" x2="-0.3899" y2="-3.8001" layer="51"/>
<rectangle x1="0.3899" y1="-5.32" x2="0.8801" y2="-3.8001" layer="51"/>
<rectangle x1="1.6599" y1="-5.32" x2="2.1501" y2="-3.8001" layer="51"/>
<rectangle x1="2.9299" y1="-5.32" x2="3.4201" y2="-3.8001" layer="51"/>
<rectangle x1="4.1999" y1="-5.32" x2="4.6901" y2="-3.8001" layer="51"/>
<rectangle x1="5.4699" y1="3.8001" x2="5.9601" y2="5.32" layer="51"/>
<rectangle x1="4.1999" y1="3.8001" x2="4.6901" y2="5.32" layer="51"/>
<rectangle x1="2.9599" y1="3.8001" x2="3.4501" y2="5.32" layer="51"/>
<rectangle x1="1.6899" y1="3.8001" x2="2.1801" y2="5.32" layer="51"/>
<rectangle x1="0.4199" y1="3.8001" x2="0.9101" y2="5.32" layer="51"/>
<rectangle x1="-0.8501" y1="3.8001" x2="-0.3599" y2="5.32" layer="51"/>
<rectangle x1="-2.1201" y1="3.8001" x2="-1.6299" y2="5.32" layer="51"/>
<rectangle x1="-3.3901" y1="3.8001" x2="-2.8999" y2="5.32" layer="51"/>
<rectangle x1="-4.6901" y1="3.8001" x2="-4.1999" y2="5.3199" layer="51"/>
<rectangle x1="5.4699" y1="-5.3199" x2="5.9601" y2="-3.8001" layer="51"/>
</package>
<package name="DIL18" urn="urn:adsk.eagle:footprint:6240110/1" library_version="2">
<description>Dual In Line

package type P</description>
<wire x1="-11.43" y1="-0.635" x2="-11.43" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="-11.43" y1="-0.635" x2="-11.43" y2="0.635" width="0.1524" layer="21" curve="180"/>
<wire x1="11.43" y1="-2.54" x2="-11.43" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="11.43" y1="-2.54" x2="11.43" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-11.43" y1="2.54" x2="11.43" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-11.43" y1="2.54" x2="-11.43" y2="0.635" width="0.1524" layer="21"/>
<pad name="1" x="-10.16" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="2" x="-7.62" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="3" x="-5.08" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="4" x="-2.54" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="5" x="0" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="6" x="2.54" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="7" x="5.08" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="8" x="7.62" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="9" x="10.16" y="-3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="10" x="10.16" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="11" x="7.62" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="12" x="5.08" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="13" x="2.54" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="14" x="0" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="15" x="-2.54" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="16" x="-5.08" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="17" x="-7.62" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<pad name="18" x="-10.16" y="3.81" drill="0.8128" shape="long" rot="R90"/>
<text x="-11.8618" y="-2.54" size="1.778" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="-10.16" y="-0.889" size="1.778" layer="27" ratio="10">>VALUE</text>
</package>
<package name="PUSHBUTTON_SMD_SJ" urn="urn:adsk.eagle:footprint:6240313/1" library_version="2">
<wire x1="-2.9997" y1="3" x2="3" y2="3" width="0.127" layer="51"/>
<wire x1="3" y1="3" x2="3" y2="-3" width="0.2032" layer="51"/>
<wire x1="3" y1="-3" x2="-3" y2="-3" width="0.127" layer="51"/>
<wire x1="-3" y1="-3" x2="-2.9997" y2="3" width="0.2032" layer="51"/>
<wire x1="-3" y1="1.7" x2="-3" y2="3" width="0.2032" layer="21"/>
<wire x1="-3" y1="3" x2="3" y2="3" width="0.2032" layer="21"/>
<wire x1="3" y1="3" x2="3" y2="1.7" width="0.2032" layer="21"/>
<wire x1="3" y1="-1.7" x2="3" y2="-3" width="0.2032" layer="21"/>
<wire x1="3" y1="-3" x2="-3" y2="-3" width="0.2032" layer="21"/>
<wire x1="-3" y1="-3" x2="-3" y2="-1.7" width="0.2032" layer="21"/>
<circle x="0" y="0" radius="2.8398" width="0.2032" layer="51"/>
<smd name="P$1" x="3" y="0" dx="2" dy="2" layer="1"/>
<smd name="P$2" x="-3" y="0" dx="2" dy="2" layer="1"/>
<text x="-1.778" y="0.127" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.778" y="-0.762" size="0.4064" layer="27" ratio="10">>VALUE</text>
</package>
<package name="TACT_PANA-EVQ" urn="urn:adsk.eagle:footprint:6240314/1" library_version="2">
<pad name="P$1" x="-3.25" y="0" drill="1.3" diameter="2.54"/>
<pad name="P$2" x="3.25" y="0" drill="1.3" diameter="2.54"/>
<wire x1="-3" y1="1.75" x2="3" y2="1.75" width="0.127" layer="51"/>
<wire x1="3" y1="1.75" x2="3" y2="0.5" width="0.127" layer="51"/>
<wire x1="3" y1="0.5" x2="3" y2="-0.5" width="0.127" layer="51"/>
<wire x1="3" y1="-0.5" x2="3" y2="-1.75" width="0.127" layer="51"/>
<wire x1="3" y1="-1.75" x2="-3" y2="-1.75" width="0.127" layer="51"/>
<wire x1="-3" y1="-1.75" x2="-3" y2="-0.5" width="0.127" layer="51"/>
<wire x1="-3" y1="-0.5" x2="-3" y2="0.5" width="0.127" layer="51"/>
<wire x1="-3" y1="0.5" x2="-3" y2="1.75" width="0.127" layer="51"/>
<wire x1="3.95" y1="-0.5" x2="3.95" y2="0.5" width="0.127" layer="51"/>
<wire x1="3.95" y1="0.5" x2="3" y2="0.5" width="0.127" layer="51"/>
<wire x1="3" y1="0.5" x2="3" y2="-0.5" width="0.127" layer="51"/>
<wire x1="3" y1="-0.5" x2="3.95" y2="-0.5" width="0.127" layer="51"/>
<wire x1="3.95" y1="0.5" x2="3" y2="0.5" width="0.127" layer="51"/>
<wire x1="-3.95" y1="0" x2="-3.95" y2="0.5" width="0.127" layer="51"/>
<wire x1="-3.95" y1="0.5" x2="-3" y2="0.5" width="0.127" layer="51"/>
<wire x1="-3" y1="0.5" x2="-3" y2="-0.5" width="0.127" layer="51"/>
<wire x1="-3" y1="-0.5" x2="-3.95" y2="-0.5" width="0.127" layer="51"/>
<wire x1="-3.95" y1="-0.5" x2="-3.95" y2="0" width="0.127" layer="51"/>
<wire x1="-1.5" y1="0.7" x2="1.5" y2="0.7" width="0.127" layer="51"/>
<wire x1="1.5" y1="0.7" x2="1.5" y2="-0.7" width="0.127" layer="51"/>
<wire x1="1.5" y1="-0.7" x2="-1.5" y2="-0.7" width="0.127" layer="51"/>
<wire x1="-1.5" y1="-0.7" x2="-1.5" y2="0.7" width="0.127" layer="51"/>
<wire x1="-3.1" y1="1.5" x2="-3.1" y2="1.9" width="0.127" layer="21"/>
<wire x1="-3.1" y1="1.9" x2="3.1" y2="1.9" width="0.127" layer="21"/>
<wire x1="3.1" y1="1.9" x2="3.1" y2="1.5" width="0.127" layer="21"/>
<wire x1="-3.1" y1="-1.5" x2="-3.1" y2="-1.9" width="0.127" layer="21"/>
<wire x1="-3.1" y1="-1.9" x2="3.1" y2="-1.9" width="0.127" layer="21"/>
<wire x1="3.1" y1="-1.9" x2="3.1" y2="-1.5" width="0.127" layer="21"/>
<text x="-3.043" y="2.17" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-3.016" y="-2.451" size="0.4064" layer="27" ratio="10">>VALUE</text>
</package>
<package name="BTN_CK_KSS" urn="urn:adsk.eagle:footprint:6240315/1" library_version="2">
<wire x1="-2.75" y1="1.75" x2="2.75" y2="1.75" width="0.127" layer="51"/>
<wire x1="2.75" y1="1.75" x2="2.75" y2="1.505" width="0.127" layer="51"/>
<wire x1="2.75" y1="1.505" x2="2.75" y2="-1.505" width="0.127" layer="51"/>
<wire x1="2.75" y1="-1.505" x2="2.75" y2="-1.75" width="0.127" layer="51"/>
<wire x1="2.75" y1="-1.75" x2="1.25" y2="-1.75" width="0.127" layer="51"/>
<wire x1="1.25" y1="-1.75" x2="-1.25" y2="-1.75" width="0.127" layer="51"/>
<wire x1="-1.25" y1="-1.75" x2="-2.75" y2="-1.75" width="0.127" layer="51"/>
<wire x1="-2.75" y1="-1.75" x2="-2.75" y2="-1.505" width="0.127" layer="51"/>
<wire x1="-2.75" y1="-1.505" x2="-2.75" y2="1.505" width="0.127" layer="51"/>
<wire x1="-2.75" y1="1.505" x2="-2.75" y2="1.75" width="0.127" layer="51"/>
<wire x1="3.5" y1="1.505" x2="3.5" y2="-1.505" width="0.127" layer="51"/>
<wire x1="-3.5" y1="-1.505" x2="-3.5" y2="1.505" width="0.127" layer="51"/>
<wire x1="-1.25" y1="-2.65" x2="1.25" y2="-2.65" width="0.127" layer="51"/>
<wire x1="1.25" y1="-2.65" x2="1.25" y2="-1.75" width="0.127" layer="51"/>
<wire x1="-1.25" y1="-2.65" x2="-1.25" y2="-1.75" width="0.127" layer="51"/>
<wire x1="-3.5" y1="1.505" x2="-2.75" y2="1.505" width="0.127" layer="51"/>
<wire x1="2.75" y1="1.505" x2="3.5" y2="1.505" width="0.127" layer="51"/>
<wire x1="-2.75" y1="-1.505" x2="-3.5" y2="-1.505" width="0.127" layer="51"/>
<wire x1="3.5" y1="-1.505" x2="2.75" y2="-1.505" width="0.127" layer="51"/>
<wire x1="-1.9" y1="1.9" x2="1.9" y2="1.9" width="0.127" layer="21"/>
<wire x1="-1.9" y1="-1.9" x2="-1.4" y2="-1.9" width="0.127" layer="21"/>
<wire x1="1.4" y1="-1.9" x2="1.9" y2="-1.9" width="0.127" layer="21"/>
<smd name="P$1" x="-2.95" y="0" dx="1.7" dy="3.7" layer="1"/>
<smd name="P$2" x="2.95" y="0" dx="1.7" dy="3.7" layer="1"/>
<text x="-1.886" y="2.094" size="0.8128" layer="25" ratio="18">>NAME</text>
<text x="-1.886" y="1.144" size="0.4064" layer="27" ratio="10">>VALUE</text>
</package>
</packages>
<packages3d>
<package3d name="SO18W" urn="urn:adsk.eagle:package:6240755/1" type="box" library_version="2">
<packageinstances>
<packageinstance name="SO18W"/>
</packageinstances>
</package3d>
<package3d name="DIL18" urn="urn:adsk.eagle:package:6240756/1" type="box" library_version="2">
<description>Dual In Line

package type P</description>
<packageinstances>
<packageinstance name="DIL18"/>
</packageinstances>
</package3d>
<package3d name="PUSHBUTTON_SMD_SJ" urn="urn:adsk.eagle:package:6240956/1" type="box" library_version="2">
<packageinstances>
<packageinstance name="PUSHBUTTON_SMD_SJ"/>
</packageinstances>
</package3d>
<package3d name="TACT_PANA-EVQ" urn="urn:adsk.eagle:package:6240957/1" type="box" library_version="2">
<packageinstances>
<packageinstance name="TACT_PANA-EVQ"/>
</packageinstances>
</package3d>
<package3d name="BTN_CK_KSS" urn="urn:adsk.eagle:package:6240958/1" type="box" library_version="2">
<packageinstances>
<packageinstance name="BTN_CK_KSS"/>
</packageinstances>
</package3d>
</packages3d>
<symbols>
<symbol name="MCP2300X" urn="urn:adsk.eagle:symbol:6239560/1" library_version="2">
<wire x1="-10.16" y1="15.24" x2="10.16" y2="15.24" width="0.254" layer="94"/>
<wire x1="10.16" y1="15.24" x2="10.16" y2="-17.78" width="0.254" layer="94"/>
<wire x1="10.16" y1="-17.78" x2="-10.16" y2="-17.78" width="0.254" layer="94"/>
<wire x1="-10.16" y1="-17.78" x2="-10.16" y2="15.24" width="0.254" layer="94"/>
<text x="-10.16" y="-20.32" size="1.27" layer="96">MCP2300x</text>
<text x="2.54" y="-20.32" size="1.27" layer="95">>NAME</text>
<pin name="GP0" x="15.24" y="10.16" length="middle" rot="R180"/>
<pin name="GP1" x="15.24" y="7.62" length="middle" rot="R180"/>
<pin name="GP2" x="15.24" y="5.08" length="middle" rot="R180"/>
<pin name="GP3" x="15.24" y="2.54" length="middle" rot="R180"/>
<pin name="GP4" x="15.24" y="0" length="middle" rot="R180"/>
<pin name="GP5" x="15.24" y="-2.54" length="middle" rot="R180"/>
<pin name="GP6" x="15.24" y="-5.08" length="middle" rot="R180"/>
<pin name="GP7" x="15.24" y="-7.62" length="middle" rot="R180"/>
<pin name="VCC" x="0" y="20.32" length="middle" direction="pwr" rot="R270"/>
<pin name="GND" x="0" y="-22.86" length="middle" direction="pwr" rot="R90"/>
<pin name="A0" x="-15.24" y="-7.62" length="middle" direction="in"/>
<pin name="A1" x="-15.24" y="-10.16" length="middle" direction="in"/>
<pin name="A2" x="-15.24" y="-12.7" length="middle" direction="in"/>
<pin name="SDA" x="-15.24" y="0" length="middle"/>
<pin name="SCL" x="-15.24" y="-2.54" length="middle"/>
<pin name="/RST" x="-15.24" y="10.16" length="middle" direction="in"/>
<pin name="INT" x="-15.24" y="5.08" length="middle" direction="out"/>
</symbol>
<symbol name="PUSHBUTTON" urn="urn:adsk.eagle:symbol:6239671/1" library_version="2">
<wire x1="-2.54" y1="1.27" x2="0" y2="1.27" width="0.254" layer="94"/>
<wire x1="0" y1="1.27" x2="2.54" y2="1.27" width="0.254" layer="94"/>
<wire x1="-0.635" y1="2.286" x2="0" y2="2.286" width="0.254" layer="94"/>
<wire x1="0" y1="2.286" x2="0.635" y2="2.286" width="0.254" layer="94"/>
<wire x1="0" y1="1.27" x2="0" y2="2.286" width="0.254" layer="94"/>
<text x="-2.54" y="3.556" size="1.27" layer="95">>NAME</text>
<text x="-2.54" y="-2.286" size="1.27" layer="96">>VALUE</text>
<pin name="P$1" x="-5.08" y="0" visible="off" length="short" direction="pas"/>
<pin name="P$2" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="MCP23008" urn="urn:adsk.eagle:component:6241051/1" prefix="IC" library_version="2">
<description>MCP23008

Inexpensive i2c i/o expander - 8 general purpose i/o pins with optional pullups</description>
<gates>
<gate name="G$1" symbol="MCP2300X" x="0" y="0"/>
</gates>
<devices>
<device name="/SO" package="SO18W">
<connects>
<connect gate="G$1" pin="/RST" pad="6"/>
<connect gate="G$1" pin="A0" pad="5"/>
<connect gate="G$1" pin="A1" pad="4"/>
<connect gate="G$1" pin="A2" pad="3"/>
<connect gate="G$1" pin="GND" pad="9"/>
<connect gate="G$1" pin="GP0" pad="10"/>
<connect gate="G$1" pin="GP1" pad="11"/>
<connect gate="G$1" pin="GP2" pad="12"/>
<connect gate="G$1" pin="GP3" pad="13"/>
<connect gate="G$1" pin="GP4" pad="14"/>
<connect gate="G$1" pin="GP5" pad="15"/>
<connect gate="G$1" pin="GP6" pad="16"/>
<connect gate="G$1" pin="GP7" pad="17"/>
<connect gate="G$1" pin="INT" pad="8"/>
<connect gate="G$1" pin="SCL" pad="1"/>
<connect gate="G$1" pin="SDA" pad="2"/>
<connect gate="G$1" pin="VCC" pad="18"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:6240755/1"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="/P" package="DIL18">
<connects>
<connect gate="G$1" pin="/RST" pad="6"/>
<connect gate="G$1" pin="A0" pad="5"/>
<connect gate="G$1" pin="A1" pad="4"/>
<connect gate="G$1" pin="A2" pad="3"/>
<connect gate="G$1" pin="GND" pad="9"/>
<connect gate="G$1" pin="GP0" pad="10"/>
<connect gate="G$1" pin="GP1" pad="11"/>
<connect gate="G$1" pin="GP2" pad="12"/>
<connect gate="G$1" pin="GP3" pad="13"/>
<connect gate="G$1" pin="GP4" pad="14"/>
<connect gate="G$1" pin="GP5" pad="15"/>
<connect gate="G$1" pin="GP6" pad="16"/>
<connect gate="G$1" pin="GP7" pad="17"/>
<connect gate="G$1" pin="INT" pad="8"/>
<connect gate="G$1" pin="SCL" pad="1"/>
<connect gate="G$1" pin="SDA" pad="2"/>
<connect gate="G$1" pin="VCC" pad="18"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:6240756/1"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="SWITCH_PUSHBUTTON" urn="urn:adsk.eagle:component:6241159/1" prefix="SW" uservalue="yes" library_version="2">
<description>
Buttons

SOFTTOUCHSMD_SJ - Soft touch temporary push button (Super Junk Akihabara)

Compatible with SKPMANE010 [Mouser: 688-SKPMAN]

C&K_KSS = Digikey: KSS221GLFS
</description>
<gates>
<gate name="G$1" symbol="PUSHBUTTON" x="0" y="0"/>
</gates>
<devices>
<device name="SOFTTOUCHSMD_SJ" package="PUSHBUTTON_SMD_SJ">
<connects>
<connect gate="G$1" pin="P$1" pad="P$1"/>
<connect gate="G$1" pin="P$2" pad="P$2"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:6240956/1"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="EVQ-PE" package="TACT_PANA-EVQ">
<connects>
<connect gate="G$1" pin="P$1" pad="P$1"/>
<connect gate="G$1" pin="P$2" pad="P$2"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:6240957/1"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="C&K_KSS" package="BTN_CK_KSS">
<connects>
<connect gate="G$1" pin="P$1" pad="P$1"/>
<connect gate="G$1" pin="P$2" pad="P$2"/>
</connects>
<package3dinstances>
<package3dinstance package3d_urn="urn:adsk.eagle:package:6240958/1"/>
</package3dinstances>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="diy-modules">
<description>DIY Modules for Arduino, Raspberry Pi, CubieBoard etc.

The library contains a list of symbols and footprints for popular, cheap and easy-to-use electronic modules.

The modules are intend to work with microprocessor-based platforms such as Arduino, Raspberry Pi, CubieBoard, BeagleBone and many others. There are many manufacturers of the modules in the world. Almost all of them can be bought on ebay.com.

By using this library, you can design a PCB for devices created with usage of modules. Even if you do not need to create PCB design, you can also use the library to quickly document your work by drawing schematics of devices built by you.

The latest version, examples, photos and much more can be found at: diymodules.org/eagle

Comments, suggestions and bug reports please send to: eagle@diymodules.org

Version: 1.8.0 (2017-Jul-02)

Created by: Miroslaw Brudnowski

Released under the Creative Commons Attribution 4.0 International License: http://creativecommons.org/licenses/by/4.0

</description>
<packages>
<package name="ARDUINO-PRO-MINI">
<description>Arduino Pro Mini</description>
<pad name="J6.12" x="15.24" y="7.62" drill="1"/>
<pad name="J6.11" x="12.7" y="7.62" drill="1"/>
<pad name="J6.10" x="10.16" y="7.62" drill="1"/>
<pad name="J6.9" x="7.62" y="7.62" drill="1"/>
<pad name="J6.8" x="5.08" y="7.62" drill="1"/>
<pad name="J6.7" x="2.54" y="7.62" drill="1"/>
<pad name="J6.6" x="0" y="7.62" drill="1"/>
<pad name="J6.5" x="-2.54" y="7.62" drill="1"/>
<pad name="J6.4" x="-5.08" y="7.62" drill="1"/>
<pad name="J6.3" x="-7.62" y="7.62" drill="1"/>
<pad name="J6.2" x="-10.16" y="7.62" drill="1"/>
<pad name="J6.1" x="-12.7" y="7.62" drill="1"/>
<pad name="J3.3" x="15.24" y="5.08" drill="1"/>
<pad name="J3.2" x="15.24" y="2.54" drill="1"/>
<pad name="J3.1" x="15.24" y="0" drill="1"/>
<pad name="J1.1" x="-15.24" y="6.35" drill="1"/>
<pad name="J1.2" x="-15.24" y="3.81" drill="1"/>
<pad name="J1.3" x="-15.24" y="1.27" drill="1"/>
<pad name="J1.4" x="-15.24" y="-1.27" drill="1"/>
<pad name="J1.5" x="-15.24" y="-3.81" drill="1"/>
<pad name="J1.6" x="-15.24" y="-6.35" drill="1"/>
<pad name="J2.2" x="-3.81" y="5.08" drill="1"/>
<pad name="J2.1" x="-1.27" y="5.08" drill="1"/>
<wire x1="16.51" y1="8.255" x2="15.875" y2="8.89" width="0.127" layer="21"/>
<wire x1="14.605" y1="8.89" x2="13.97" y2="8.255" width="0.127" layer="21"/>
<wire x1="12.065" y1="8.89" x2="11.43" y2="8.255" width="0.127" layer="21"/>
<wire x1="11.43" y1="8.255" x2="10.795" y2="8.89" width="0.127" layer="21"/>
<wire x1="8.89" y1="8.255" x2="8.255" y2="8.89" width="0.127" layer="21"/>
<wire x1="6.985" y1="8.89" x2="6.35" y2="8.255" width="0.127" layer="21"/>
<wire x1="6.35" y1="8.255" x2="5.715" y2="8.89" width="0.127" layer="21"/>
<wire x1="4.445" y1="8.89" x2="3.81" y2="8.255" width="0.127" layer="21"/>
<wire x1="3.81" y1="8.255" x2="3.175" y2="8.89" width="0.127" layer="21"/>
<wire x1="1.905" y1="8.89" x2="1.27" y2="8.255" width="0.127" layer="21"/>
<wire x1="1.27" y1="8.255" x2="0.635" y2="8.89" width="0.127" layer="21"/>
<wire x1="-0.635" y1="8.89" x2="-1.27" y2="8.255" width="0.127" layer="21"/>
<wire x1="-1.27" y1="8.255" x2="-1.905" y2="8.89" width="0.127" layer="21"/>
<wire x1="-3.175" y1="8.89" x2="-3.81" y2="8.255" width="0.127" layer="21"/>
<wire x1="-3.81" y1="8.255" x2="-4.445" y2="8.89" width="0.127" layer="21"/>
<wire x1="-5.715" y1="8.89" x2="-6.35" y2="8.255" width="0.127" layer="21"/>
<wire x1="-8.255" y1="8.89" x2="-8.89" y2="8.255" width="0.127" layer="21"/>
<wire x1="-8.89" y1="8.255" x2="-9.525" y2="8.89" width="0.127" layer="21"/>
<wire x1="-10.795" y1="8.89" x2="-11.43" y2="8.255" width="0.127" layer="21"/>
<wire x1="-11.43" y1="8.255" x2="-12.065" y2="8.89" width="0.127" layer="21"/>
<wire x1="-13.335" y1="8.89" x2="-13.97" y2="8.255" width="0.127" layer="21"/>
<wire x1="-13.97" y1="8.255" x2="-13.97" y2="6.985" width="0.127" layer="21"/>
<wire x1="-13.97" y1="6.985" x2="-13.335" y2="6.35" width="0.127" layer="21"/>
<wire x1="-13.335" y1="6.35" x2="-12.065" y2="6.35" width="0.127" layer="21"/>
<wire x1="-12.065" y1="6.35" x2="-11.43" y2="6.985" width="0.127" layer="21"/>
<wire x1="-11.43" y1="6.985" x2="-10.795" y2="6.35" width="0.127" layer="21"/>
<wire x1="-10.795" y1="6.35" x2="-9.525" y2="6.35" width="0.127" layer="21"/>
<wire x1="-9.525" y1="6.35" x2="-8.89" y2="6.985" width="0.127" layer="21"/>
<wire x1="-8.89" y1="6.985" x2="-8.255" y2="6.35" width="0.127" layer="21"/>
<wire x1="-8.255" y1="6.35" x2="-6.985" y2="6.35" width="0.127" layer="21"/>
<wire x1="-6.985" y1="6.35" x2="-6.35" y2="6.985" width="0.127" layer="21"/>
<wire x1="-6.35" y1="6.985" x2="-5.715" y2="6.35" width="0.127" layer="21"/>
<wire x1="-5.715" y1="6.35" x2="-4.445" y2="6.35" width="0.127" layer="21"/>
<wire x1="-4.445" y1="6.35" x2="-3.81" y2="6.985" width="0.127" layer="21"/>
<wire x1="-3.81" y1="6.985" x2="-3.175" y2="6.35" width="0.127" layer="21"/>
<wire x1="-3.175" y1="6.35" x2="-1.905" y2="6.35" width="0.127" layer="21"/>
<wire x1="-1.905" y1="6.35" x2="-1.27" y2="6.985" width="0.127" layer="21"/>
<wire x1="-1.27" y1="6.985" x2="-0.635" y2="6.35" width="0.127" layer="21"/>
<wire x1="-0.635" y1="6.35" x2="0.635" y2="6.35" width="0.127" layer="21"/>
<wire x1="0.635" y1="6.35" x2="1.27" y2="6.985" width="0.127" layer="21"/>
<wire x1="1.27" y1="6.985" x2="1.905" y2="6.35" width="0.127" layer="21"/>
<wire x1="1.905" y1="6.35" x2="3.175" y2="6.35" width="0.127" layer="21"/>
<wire x1="3.175" y1="6.35" x2="3.81" y2="6.985" width="0.127" layer="21"/>
<wire x1="3.81" y1="6.985" x2="4.445" y2="6.35" width="0.127" layer="21"/>
<wire x1="4.445" y1="6.35" x2="5.715" y2="6.35" width="0.127" layer="21"/>
<wire x1="5.715" y1="6.35" x2="6.35" y2="6.985" width="0.127" layer="21"/>
<wire x1="6.35" y1="6.985" x2="6.985" y2="6.35" width="0.127" layer="21"/>
<wire x1="6.985" y1="6.35" x2="8.255" y2="6.35" width="0.127" layer="21"/>
<wire x1="8.255" y1="6.35" x2="8.89" y2="6.985" width="0.127" layer="21"/>
<wire x1="8.89" y1="6.985" x2="9.525" y2="6.35" width="0.127" layer="21"/>
<wire x1="9.525" y1="6.35" x2="10.795" y2="6.35" width="0.127" layer="21"/>
<wire x1="10.795" y1="6.35" x2="11.43" y2="6.985" width="0.127" layer="21"/>
<wire x1="11.43" y1="6.985" x2="12.065" y2="6.35" width="0.127" layer="21"/>
<wire x1="12.065" y1="6.35" x2="13.335" y2="6.35" width="0.127" layer="21"/>
<wire x1="13.335" y1="6.35" x2="13.97" y2="6.985" width="0.127" layer="21"/>
<wire x1="13.97" y1="6.985" x2="14.605" y2="6.35" width="0.127" layer="21"/>
<wire x1="14.605" y1="6.35" x2="15.875" y2="6.35" width="0.127" layer="21"/>
<wire x1="15.875" y1="6.35" x2="16.51" y2="6.985" width="0.127" layer="21"/>
<pad name="J7.1" x="15.24" y="-7.62" drill="1"/>
<pad name="J7.2" x="12.7" y="-7.62" drill="1"/>
<pad name="J7.3" x="10.16" y="-7.62" drill="1"/>
<pad name="J7.4" x="7.62" y="-7.62" drill="1"/>
<pad name="J7.5" x="5.08" y="-7.62" drill="1"/>
<pad name="J7.6" x="2.54" y="-7.62" drill="1"/>
<pad name="J7.8" x="-2.54" y="-7.62" drill="1"/>
<pad name="J7.9" x="-5.08" y="-7.62" drill="1"/>
<pad name="J7.11" x="-10.16" y="-7.62" drill="1"/>
<pad name="J7.12" x="-12.7" y="-7.62" drill="1"/>
<wire x1="16.51" y1="-6.985" x2="15.875" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-13.335" y1="-6.35" x2="-13.97" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-6.985" x2="-13.97" y2="-8.255" width="0.127" layer="21"/>
<wire x1="15.875" y1="-8.89" x2="16.51" y2="-8.255" width="0.127" layer="21"/>
<wire x1="-14.605" y1="7.62" x2="-15.875" y2="7.62" width="0.127" layer="21"/>
<wire x1="-15.875" y1="7.62" x2="-16.51" y2="6.985" width="0.127" layer="21"/>
<wire x1="-16.51" y1="5.715" x2="-15.875" y2="5.08" width="0.127" layer="21"/>
<wire x1="-15.875" y1="5.08" x2="-16.51" y2="4.445" width="0.127" layer="21"/>
<wire x1="-16.51" y1="3.175" x2="-15.875" y2="2.54" width="0.127" layer="21"/>
<wire x1="-15.875" y1="2.54" x2="-16.51" y2="1.905" width="0.127" layer="21"/>
<wire x1="-16.51" y1="0.635" x2="-15.875" y2="0" width="0.127" layer="21"/>
<wire x1="-15.875" y1="0" x2="-16.51" y2="-0.635" width="0.127" layer="21"/>
<wire x1="-16.51" y1="-1.905" x2="-15.875" y2="-2.54" width="0.127" layer="21"/>
<wire x1="-15.875" y1="-2.54" x2="-16.51" y2="-3.175" width="0.127" layer="21"/>
<wire x1="-16.51" y1="-4.445" x2="-15.875" y2="-5.08" width="0.127" layer="21"/>
<wire x1="-15.875" y1="-5.08" x2="-16.51" y2="-5.715" width="0.127" layer="21"/>
<wire x1="-16.51" y1="-6.985" x2="-15.875" y2="-7.62" width="0.127" layer="21"/>
<wire x1="-15.875" y1="-7.62" x2="-14.605" y2="-7.62" width="0.127" layer="21"/>
<wire x1="-14.605" y1="-7.62" x2="-13.97" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-6.985" x2="-13.97" y2="-5.715" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-5.715" x2="-14.605" y2="-5.08" width="0.127" layer="21"/>
<wire x1="-14.605" y1="-5.08" x2="-13.97" y2="-4.445" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-4.445" x2="-13.97" y2="-3.175" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-3.175" x2="-14.605" y2="-2.54" width="0.127" layer="21"/>
<wire x1="-14.605" y1="-2.54" x2="-13.97" y2="-1.905" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-1.905" x2="-13.97" y2="-0.635" width="0.127" layer="21"/>
<wire x1="-13.97" y1="-0.635" x2="-14.605" y2="0" width="0.127" layer="21"/>
<wire x1="-14.605" y1="0" x2="-13.97" y2="0.635" width="0.127" layer="21"/>
<wire x1="-13.97" y1="0.635" x2="-13.97" y2="1.905" width="0.127" layer="21"/>
<wire x1="-13.97" y1="1.905" x2="-14.605" y2="2.54" width="0.127" layer="21"/>
<wire x1="-14.605" y1="2.54" x2="-13.97" y2="3.175" width="0.127" layer="21"/>
<wire x1="-13.97" y1="3.175" x2="-13.97" y2="4.445" width="0.127" layer="21"/>
<wire x1="-13.97" y1="4.445" x2="-14.605" y2="5.08" width="0.127" layer="21"/>
<wire x1="-14.605" y1="5.08" x2="-13.97" y2="5.715" width="0.127" layer="21"/>
<wire x1="-13.97" y1="5.715" x2="-13.97" y2="6.985" width="0.127" layer="21"/>
<wire x1="-13.97" y1="6.985" x2="-14.605" y2="7.62" width="0.127" layer="21"/>
<wire x1="-5.08" y1="5.715" x2="-4.445" y2="6.35" width="0.127" layer="21"/>
<wire x1="-4.445" y1="6.35" x2="-3.175" y2="6.35" width="0.127" layer="21"/>
<wire x1="-3.175" y1="6.35" x2="-2.54" y2="5.715" width="0.127" layer="21"/>
<wire x1="-2.54" y1="5.715" x2="-1.905" y2="6.35" width="0.127" layer="21"/>
<wire x1="-1.905" y1="6.35" x2="-0.635" y2="6.35" width="0.127" layer="21"/>
<wire x1="-0.635" y1="6.35" x2="0" y2="5.715" width="0.127" layer="21"/>
<wire x1="0" y1="5.715" x2="0" y2="4.445" width="0.127" layer="21"/>
<wire x1="0" y1="4.445" x2="-0.635" y2="3.81" width="0.127" layer="21"/>
<wire x1="-0.635" y1="3.81" x2="-1.905" y2="3.81" width="0.127" layer="21"/>
<wire x1="-1.905" y1="3.81" x2="-2.54" y2="4.445" width="0.127" layer="21"/>
<wire x1="-2.54" y1="4.445" x2="-3.175" y2="3.81" width="0.127" layer="21"/>
<wire x1="-3.175" y1="3.81" x2="-4.445" y2="3.81" width="0.127" layer="21"/>
<wire x1="-4.445" y1="3.81" x2="-5.08" y2="4.445" width="0.127" layer="21"/>
<wire x1="-5.08" y1="4.445" x2="-5.08" y2="5.715" width="0.127" layer="21"/>
<wire x1="15.875" y1="6.35" x2="16.51" y2="5.715" width="0.127" layer="21"/>
<wire x1="16.51" y1="4.445" x2="15.875" y2="3.81" width="0.127" layer="21"/>
<wire x1="15.875" y1="3.81" x2="16.51" y2="3.175" width="0.127" layer="21"/>
<wire x1="16.51" y1="1.905" x2="15.875" y2="1.27" width="0.127" layer="21"/>
<wire x1="15.875" y1="1.27" x2="16.51" y2="0.635" width="0.127" layer="21"/>
<wire x1="16.51" y1="-0.635" x2="15.875" y2="-1.27" width="0.127" layer="21"/>
<wire x1="15.875" y1="-1.27" x2="14.605" y2="-1.27" width="0.127" layer="21"/>
<wire x1="14.605" y1="-1.27" x2="13.97" y2="-0.635" width="0.127" layer="21"/>
<wire x1="13.97" y1="-0.635" x2="13.97" y2="0.635" width="0.127" layer="21"/>
<wire x1="13.97" y1="0.635" x2="14.605" y2="1.27" width="0.127" layer="21"/>
<wire x1="14.605" y1="1.27" x2="13.97" y2="1.905" width="0.127" layer="21"/>
<wire x1="13.97" y1="1.905" x2="13.97" y2="3.175" width="0.127" layer="21"/>
<wire x1="13.97" y1="3.175" x2="14.605" y2="3.81" width="0.127" layer="21"/>
<wire x1="14.605" y1="3.81" x2="13.97" y2="4.445" width="0.127" layer="21"/>
<wire x1="13.97" y1="4.445" x2="13.97" y2="5.715" width="0.127" layer="21"/>
<wire x1="13.97" y1="5.715" x2="14.605" y2="6.35" width="0.127" layer="21"/>
<wire x1="-13.335" y1="-8.89" x2="-13.97" y2="-8.255" width="0.127" layer="21"/>
<pad name="J7.10" x="-7.62" y="-7.62" drill="1"/>
<pad name="J7.7" x="0" y="-7.62" drill="1"/>
<wire x1="16.51" y1="8.89" x2="13.335" y2="8.89" width="0.127" layer="21"/>
<wire x1="13.335" y1="8.89" x2="9.525" y2="8.89" width="0.127" layer="21"/>
<wire x1="9.525" y1="8.89" x2="-6.985" y2="8.89" width="0.127" layer="21"/>
<wire x1="-6.985" y1="8.89" x2="-16.51" y2="8.89" width="0.127" layer="21"/>
<wire x1="-16.51" y1="-8.89" x2="-12.065" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-12.065" y1="-8.89" x2="-10.795" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-10.795" y1="-8.89" x2="-9.525" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-9.525" y1="-8.89" x2="-8.255" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-8.255" y1="-8.89" x2="-6.985" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-6.985" y1="-8.89" x2="-5.715" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-5.715" y1="-8.89" x2="-4.445" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-4.445" y1="-8.89" x2="-3.175" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-3.175" y1="-8.89" x2="-1.905" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-1.905" y1="-8.89" x2="-0.635" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-0.635" y1="-8.89" x2="0.635" y2="-8.89" width="0.127" layer="21"/>
<wire x1="0.635" y1="-8.89" x2="1.905" y2="-8.89" width="0.127" layer="21"/>
<wire x1="1.905" y1="-8.89" x2="3.175" y2="-8.89" width="0.127" layer="21"/>
<wire x1="3.175" y1="-8.89" x2="4.445" y2="-8.89" width="0.127" layer="21"/>
<wire x1="4.445" y1="-8.89" x2="5.715" y2="-8.89" width="0.127" layer="21"/>
<wire x1="5.715" y1="-8.89" x2="6.985" y2="-8.89" width="0.127" layer="21"/>
<wire x1="6.985" y1="-8.89" x2="8.255" y2="-8.89" width="0.127" layer="21"/>
<wire x1="8.255" y1="-8.89" x2="9.525" y2="-8.89" width="0.127" layer="21"/>
<wire x1="9.525" y1="-8.89" x2="10.795" y2="-8.89" width="0.127" layer="21"/>
<wire x1="10.795" y1="-8.89" x2="12.065" y2="-8.89" width="0.127" layer="21"/>
<wire x1="12.065" y1="-8.89" x2="13.335" y2="-8.89" width="0.127" layer="21"/>
<wire x1="13.335" y1="-8.89" x2="14.605" y2="-8.89" width="0.127" layer="21"/>
<wire x1="14.605" y1="-8.89" x2="16.51" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-16.51" y1="8.89" x2="-16.51" y2="-8.89" width="0.127" layer="21"/>
<wire x1="16.51" y1="-8.89" x2="16.51" y2="8.89" width="0.127" layer="21"/>
<wire x1="-6.35" y1="8.255" x2="-6.985" y2="8.89" width="0.127" layer="21"/>
<wire x1="13.97" y1="8.255" x2="13.335" y2="8.89" width="0.127" layer="21"/>
<wire x1="8.89" y1="8.255" x2="9.525" y2="8.89" width="0.127" layer="21"/>
<wire x1="-12.065" y1="-8.89" x2="-11.43" y2="-8.255" width="0.127" layer="21"/>
<wire x1="-11.43" y1="-8.255" x2="-10.795" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-9.525" y1="-8.89" x2="-8.89" y2="-8.255" width="0.127" layer="21"/>
<wire x1="-8.89" y1="-8.255" x2="-8.255" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-6.985" y1="-8.89" x2="-6.35" y2="-8.255" width="0.127" layer="21"/>
<wire x1="-6.35" y1="-8.255" x2="-5.715" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-4.445" y1="-8.89" x2="-3.81" y2="-8.255" width="0.127" layer="21"/>
<wire x1="-3.81" y1="-8.255" x2="-3.175" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-1.905" y1="-8.89" x2="-1.27" y2="-8.255" width="0.127" layer="21"/>
<wire x1="-1.27" y1="-8.255" x2="-0.635" y2="-8.89" width="0.127" layer="21"/>
<wire x1="0.635" y1="-8.89" x2="1.27" y2="-8.255" width="0.127" layer="21"/>
<wire x1="1.27" y1="-8.255" x2="1.905" y2="-8.89" width="0.127" layer="21"/>
<wire x1="3.175" y1="-8.89" x2="3.81" y2="-8.255" width="0.127" layer="21"/>
<wire x1="3.81" y1="-8.255" x2="4.445" y2="-8.89" width="0.127" layer="21"/>
<wire x1="5.715" y1="-8.89" x2="6.35" y2="-8.255" width="0.127" layer="21"/>
<wire x1="6.35" y1="-8.255" x2="6.985" y2="-8.89" width="0.127" layer="21"/>
<wire x1="8.255" y1="-8.89" x2="8.89" y2="-8.255" width="0.127" layer="21"/>
<wire x1="8.89" y1="-8.255" x2="9.525" y2="-8.89" width="0.127" layer="21"/>
<wire x1="10.795" y1="-8.89" x2="11.43" y2="-8.255" width="0.127" layer="21"/>
<wire x1="11.43" y1="-8.255" x2="12.065" y2="-8.89" width="0.127" layer="21"/>
<wire x1="-13.335" y1="-6.35" x2="-12.065" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-12.065" y1="-6.35" x2="-11.43" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-11.43" y1="-6.985" x2="-10.795" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-10.795" y1="-6.35" x2="-9.525" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-9.525" y1="-6.35" x2="-8.89" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-8.89" y1="-6.985" x2="-8.255" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-8.255" y1="-6.35" x2="-6.985" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-6.985" y1="-6.35" x2="-6.35" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-6.35" y1="-6.985" x2="-5.715" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-5.715" y1="-6.35" x2="-4.445" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-4.445" y1="-6.35" x2="-3.81" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-3.81" y1="-6.985" x2="-3.175" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-3.175" y1="-6.35" x2="-1.905" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-1.905" y1="-6.35" x2="-1.27" y2="-6.985" width="0.127" layer="21"/>
<wire x1="-1.27" y1="-6.985" x2="-0.635" y2="-6.35" width="0.127" layer="21"/>
<wire x1="-0.635" y1="-6.35" x2="0.635" y2="-6.35" width="0.127" layer="21"/>
<wire x1="0.635" y1="-6.35" x2="1.27" y2="-6.985" width="0.127" layer="21"/>
<wire x1="1.27" y1="-6.985" x2="1.905" y2="-6.35" width="0.127" layer="21"/>
<wire x1="1.905" y1="-6.35" x2="3.175" y2="-6.35" width="0.127" layer="21"/>
<wire x1="3.175" y1="-6.35" x2="3.81" y2="-6.985" width="0.127" layer="21"/>
<wire x1="3.81" y1="-6.985" x2="4.445" y2="-6.35" width="0.127" layer="21"/>
<wire x1="4.445" y1="-6.35" x2="5.715" y2="-6.35" width="0.127" layer="21"/>
<wire x1="5.715" y1="-6.35" x2="6.35" y2="-6.985" width="0.127" layer="21"/>
<wire x1="6.35" y1="-6.985" x2="6.985" y2="-6.35" width="0.127" layer="21"/>
<wire x1="6.985" y1="-6.35" x2="8.255" y2="-6.35" width="0.127" layer="21"/>
<wire x1="8.255" y1="-6.35" x2="8.89" y2="-6.985" width="0.127" layer="21"/>
<wire x1="8.89" y1="-6.985" x2="9.525" y2="-6.35" width="0.127" layer="21"/>
<wire x1="9.525" y1="-6.35" x2="10.795" y2="-6.35" width="0.127" layer="21"/>
<wire x1="10.795" y1="-6.35" x2="11.43" y2="-6.985" width="0.127" layer="21"/>
<wire x1="11.43" y1="-6.985" x2="12.065" y2="-6.35" width="0.127" layer="21"/>
<wire x1="12.065" y1="-6.35" x2="13.335" y2="-6.35" width="0.127" layer="21"/>
<wire x1="13.335" y1="-6.35" x2="13.97" y2="-6.985" width="0.127" layer="21"/>
<wire x1="13.97" y1="-6.985" x2="14.605" y2="-6.35" width="0.127" layer="21"/>
<wire x1="14.605" y1="-6.35" x2="15.875" y2="-6.35" width="0.127" layer="21"/>
<wire x1="14.605" y1="-8.89" x2="13.97" y2="-8.255" width="0.127" layer="21"/>
<wire x1="13.97" y1="-8.255" x2="13.335" y2="-8.89" width="0.127" layer="21"/>
<text x="0" y="10.16" size="1.27" layer="25" align="bottom-center">>NAME</text>
<text x="0" y="-10.16" size="1.27" layer="27" align="top-center">>VALUE</text>
</package>
</packages>
<symbols>
<symbol name="ARDUINO-PRO-MINI">
<description>Arduino Pro Mini</description>
<pin name="D1/TX" x="-17.78" y="12.7" length="middle"/>
<pin name="D0/RX" x="-17.78" y="10.16" length="middle"/>
<pin name="RST.1" x="-17.78" y="7.62" length="middle"/>
<pin name="GND.1" x="-17.78" y="5.08" length="middle" direction="pwr"/>
<pin name="D2" x="-17.78" y="2.54" length="middle"/>
<pin name="D3" x="-17.78" y="0" length="middle"/>
<pin name="D4" x="-17.78" y="-2.54" length="middle"/>
<pin name="D5" x="-17.78" y="-5.08" length="middle"/>
<pin name="D6" x="-17.78" y="-7.62" length="middle"/>
<pin name="D7" x="-17.78" y="-10.16" length="middle"/>
<pin name="D8" x="-17.78" y="-12.7" length="middle"/>
<pin name="D9" x="-17.78" y="-15.24" length="middle"/>
<pin name="RAW" x="17.78" y="12.7" length="middle" direction="pwr" rot="R180"/>
<pin name="GND.2" x="17.78" y="10.16" length="middle" direction="pwr" rot="R180"/>
<pin name="RST.2" x="17.78" y="7.62" length="middle" rot="R180"/>
<pin name="VCC" x="17.78" y="5.08" length="middle" direction="pwr" rot="R180"/>
<pin name="A3" x="17.78" y="2.54" length="middle" rot="R180"/>
<pin name="A2" x="17.78" y="0" length="middle" rot="R180"/>
<pin name="A1" x="17.78" y="-2.54" length="middle" rot="R180"/>
<pin name="A0" x="17.78" y="-5.08" length="middle" rot="R180"/>
<pin name="D13" x="17.78" y="-7.62" length="middle" rot="R180"/>
<pin name="D12" x="17.78" y="-10.16" length="middle" rot="R180"/>
<pin name="D11" x="17.78" y="-12.7" length="middle" rot="R180"/>
<pin name="D10" x="17.78" y="-15.24" length="middle" rot="R180"/>
<pin name="P_GND" x="5.08" y="35.56" length="middle" rot="R270"/>
<pin name="P_CTS" x="2.54" y="35.56" length="middle" rot="R270"/>
<pin name="P_VCC" x="0" y="35.56" length="middle" rot="R270"/>
<pin name="P_RXD" x="-2.54" y="35.56" length="middle" rot="R270"/>
<pin name="P_TXD" x="-5.08" y="35.56" length="middle" rot="R270"/>
<pin name="P_DTR" x="-7.62" y="35.56" length="middle" rot="R270"/>
<wire x1="-12.7" y1="30.48" x2="12.7" y2="30.48" width="0.254" layer="94"/>
<wire x1="12.7" y1="30.48" x2="12.7" y2="-30.48" width="0.254" layer="94"/>
<wire x1="12.7" y1="-30.48" x2="-12.7" y2="-30.48" width="0.254" layer="94"/>
<wire x1="-12.7" y1="-30.48" x2="-12.7" y2="30.48" width="0.254" layer="94"/>
<text x="15.24" y="27.94" size="1.778" layer="95">>NAME</text>
<text x="15.24" y="25.4" size="1.778" layer="96">>VALUE</text>
<pin name="A7" x="17.78" y="-20.32" length="middle" rot="R180"/>
<pin name="A6" x="17.78" y="-22.86" length="middle" rot="R180"/>
<pin name="GND.3" x="17.78" y="-25.4" length="middle" rot="R180"/>
<pin name="A4" x="17.78" y="17.78" length="middle" rot="R180"/>
<pin name="A5" x="17.78" y="20.32" length="middle" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="ARDUINO-PRO-MINI-*" prefix="M">
<description>Arduino Pro Mini and compatible devices

More details available here:

https://www.arduino.cc/en/Main/ArduinoBoardProMini

Click here to find device on ebay.com

</description>
<gates>
<gate name="G$1" symbol="ARDUINO-PRO-MINI" x="0" y="0"/>
</gates>
<devices>
<device name="" package="ARDUINO-PRO-MINI">
<connects>
<connect gate="G$1" pin="A0" pad="J6.8"/>
<connect gate="G$1" pin="A1" pad="J6.7"/>
<connect gate="G$1" pin="A2" pad="J6.6"/>
<connect gate="G$1" pin="A3" pad="J6.5"/>
<connect gate="G$1" pin="A4" pad="J2.1"/>
<connect gate="G$1" pin="A5" pad="J2.2"/>
<connect gate="G$1" pin="A6" pad="J3.2"/>
<connect gate="G$1" pin="A7" pad="J3.3"/>
<connect gate="G$1" pin="D0/RX" pad="J7.11"/>
<connect gate="G$1" pin="D1/TX" pad="J7.12"/>
<connect gate="G$1" pin="D10" pad="J6.12"/>
<connect gate="G$1" pin="D11" pad="J6.11"/>
<connect gate="G$1" pin="D12" pad="J6.10"/>
<connect gate="G$1" pin="D13" pad="J6.9"/>
<connect gate="G$1" pin="D2" pad="J7.8"/>
<connect gate="G$1" pin="D3" pad="J7.7"/>
<connect gate="G$1" pin="D4" pad="J7.6"/>
<connect gate="G$1" pin="D5" pad="J7.5"/>
<connect gate="G$1" pin="D6" pad="J7.4"/>
<connect gate="G$1" pin="D7" pad="J7.3"/>
<connect gate="G$1" pin="D8" pad="J7.2"/>
<connect gate="G$1" pin="D9" pad="J7.1"/>
<connect gate="G$1" pin="GND.1" pad="J7.9"/>
<connect gate="G$1" pin="GND.2" pad="J6.2"/>
<connect gate="G$1" pin="GND.3" pad="J3.1"/>
<connect gate="G$1" pin="P_CTS" pad="J1.2"/>
<connect gate="G$1" pin="P_DTR" pad="J1.6"/>
<connect gate="G$1" pin="P_GND" pad="J1.1"/>
<connect gate="G$1" pin="P_RXD" pad="J1.4"/>
<connect gate="G$1" pin="P_TXD" pad="J1.5"/>
<connect gate="G$1" pin="P_VCC" pad="J1.3"/>
<connect gate="G$1" pin="RAW" pad="J6.1"/>
<connect gate="G$1" pin="RST.1" pad="J7.10"/>
<connect gate="G$1" pin="RST.2" pad="J6.3"/>
<connect gate="G$1" pin="VCC" pad="J6.4"/>
</connects>
<technologies>
<technology name="3.3V"/>
<technology name="5.0V"/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-PowerSymbols" urn="urn:adsk.eagle:library:530">
<description>
SparkFun Power Symbols

This library contains power, ground, and voltage-supply symbols.

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>
</packages>
<symbols>
<symbol name="DGND" urn="urn:adsk.eagle:symbol:39415/1" library_version="1">
<description>
Digital Ground Supply
</description>
<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
<text x="0" y="-0.254" size="1.778" layer="96" align="top-center">>VALUE</text>
</symbol>
<symbol name="VCC" urn="urn:adsk.eagle:symbol:39418/1" library_version="1">
<description>
VCC Voltage Supply
</description>
<wire x1="0.762" y1="1.27" x2="0" y2="2.54" width="0.254" layer="94"/>
<wire x1="0" y1="2.54" x2="-0.762" y2="1.27" width="0.254" layer="94"/>
<pin name="VCC" x="0" y="0" visible="off" length="short" direction="sup" rot="R90"/>
<text x="0" y="2.794" size="1.778" layer="96" align="bottom-center">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" urn="urn:adsk.eagle:component:39439/1" prefix="GND" library_version="1">
<description>
Ground Supply Symbol

Generic signal ground supply symbol.
</description>
<gates>
<gate name="1" symbol="DGND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="VCC" urn="urn:adsk.eagle:component:39449/1" prefix="SUPPLY" library_version="1">
<description>
VCC Voltage Supply

Positive voltage supply (traditionally for a BJT device, C=collector).
</description>
<gates>
<gate name="G$1" symbol="VCC" 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="IC1" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="MCP23008" device="/SO" package3d_urn="urn:adsk.eagle:package:6240755/1"/>
<part name="M1" library="diy-modules" deviceset="ARDUINO-PRO-MINI-*" device="" technology="3.3V"/>
<part name="GND1" library="SparkFun-PowerSymbols" library_urn="urn:adsk.eagle:library:530" deviceset="GND" device=""/>
<part name="GND2" library="SparkFun-PowerSymbols" library_urn="urn:adsk.eagle:library:530" deviceset="GND" device=""/>
<part name="GND3" library="SparkFun-PowerSymbols" library_urn="urn:adsk.eagle:library:530" deviceset="GND" device=""/>
<part name="SUPPLY1" library="SparkFun-PowerSymbols" library_urn="urn:adsk.eagle:library:530" deviceset="VCC" device=""/>
<part name="GND4" library="SparkFun-PowerSymbols" library_urn="urn:adsk.eagle:library:530" deviceset="GND" device=""/>
<part name="SUPPLY2" library="SparkFun-PowerSymbols" library_urn="urn:adsk.eagle:library:530" deviceset="VCC" device=""/>
<part name="SW0" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW1" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW2" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW3" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW4" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW5" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW6" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
<part name="SW7" library="adafruit" library_urn="urn:adsk.eagle:library:420" deviceset="SWITCH_PUSHBUTTON" device="C&K_KSS" package3d_urn="urn:adsk.eagle:package:6240958/1"/>
</parts>
<sheets>
<sheet>
<plain>
<text x="55.88" y="53.34" size="1.778" layer="91">I2C Addr 0x20</text>
<text x="165.1" y="35.56" size="1.778" layer="91" rot="R90">All gpio pins with internal pull up resistors enabled </text>
</plain>
<instances>
<instance part="IC1" gate="G$1" x="96.52" y="66.04" smashed="yes">
<attribute name="NAME" x="99.06" y="45.72" size="1.27" layer="95"/>
</instance>
<instance part="M1" gate="G$1" x="15.24" y="55.88" smashed="yes">
<attribute name="NAME" x="30.48" y="83.82" size="1.778" layer="95"/>
<attribute name="VALUE" x="30.48" y="81.28" size="1.778" layer="96"/>
</instance>
<instance part="GND1" gate="1" x="73.66" y="48.26" smashed="yes">
<attribute name="VALUE" x="73.66" y="48.006" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="GND2" gate="1" x="43.18" y="68.58" smashed="yes">
<attribute name="VALUE" x="43.18" y="68.326" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="GND3" gate="1" x="96.52" y="33.02" smashed="yes">
<attribute name="VALUE" x="96.52" y="32.766" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="SUPPLY1" gate="G$1" x="81.28" y="93.98" smashed="yes">
<attribute name="VALUE" x="81.28" y="96.774" size="1.778" layer="96" align="bottom-center"/>
</instance>
<instance part="GND4" gate="1" x="160.02" y="58.42" smashed="yes">
<attribute name="VALUE" x="160.02" y="58.166" size="1.778" layer="96" align="top-center"/>
</instance>
<instance part="SUPPLY2" gate="G$1" x="43.18" y="60.96" smashed="yes" rot="R270">
<attribute name="VALUE" x="45.974" y="60.96" size="1.778" layer="96" rot="R270" align="bottom-center"/>
</instance>
<instance part="SW0" gate="G$1" x="134.62" y="109.22" smashed="yes">
<attribute name="NAME" x="132.08" y="112.776" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="106.934" size="1.27" layer="96"/>
</instance>
<instance part="SW1" gate="G$1" x="134.62" y="93.98" smashed="yes">
<attribute name="NAME" x="132.08" y="97.536" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="91.694" size="1.27" layer="96"/>
</instance>
<instance part="SW2" gate="G$1" x="134.62" y="81.28" smashed="yes">
<attribute name="NAME" x="132.08" y="84.836" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="78.994" size="1.27" layer="96"/>
</instance>
<instance part="SW3" gate="G$1" x="134.62" y="68.58" smashed="yes">
<attribute name="NAME" x="132.08" y="72.136" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="66.294" size="1.27" layer="96"/>
</instance>
<instance part="SW4" gate="G$1" x="134.62" y="55.88" smashed="yes">
<attribute name="NAME" x="132.08" y="59.436" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="53.594" size="1.27" layer="96"/>
</instance>
<instance part="SW5" gate="G$1" x="134.62" y="43.18" smashed="yes">
<attribute name="NAME" x="132.08" y="46.736" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="40.894" size="1.27" layer="96"/>
</instance>
<instance part="SW6" gate="G$1" x="134.62" y="27.94" smashed="yes">

gha_language: HTML

extension: sch


text:
<attribute name="NAME" x="132.08" y="31.496" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="25.654" size="1.27" layer="96"/>
</instance>
<instance part="SW7" gate="G$1" x="134.62" y="12.7" smashed="yes">
<attribute name="NAME" x="132.08" y="16.256" size="1.27" layer="95"/>
<attribute name="VALUE" x="132.08" y="10.414" size="1.27" layer="96"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="N$1" class="0">
<segment>
<pinref part="M1" gate="G$1" pin="A4"/>
<wire x1="33.02" y1="73.66" x2="48.26" y2="73.66" width="0.1524" layer="91"/>
<wire x1="48.26" y1="73.66" x2="48.26" y2="66.04" width="0.1524" layer="91"/>
<pinref part="IC1" gate="G$1" pin="SDA"/>
<wire x1="48.26" y1="66.04" x2="81.28" y2="66.04" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="M1" gate="G$1" pin="A5"/>
<wire x1="33.02" y1="76.2" x2="63.5" y2="76.2" width="0.1524" layer="91"/>
<wire x1="63.5" y1="76.2" x2="63.5" y2="63.5" width="0.1524" layer="91"/>
<pinref part="IC1" gate="G$1" pin="SCL"/>
<wire x1="63.5" y1="63.5" x2="81.28" y2="63.5" width="0.1524" layer="91"/>
</segment>
</net>
<net name="GND" class="0">
<segment>
<pinref part="M1" gate="G$1" pin="GND.2"/>
<wire x1="33.02" y1="66.04" x2="38.1" y2="66.04" width="0.1524" layer="91"/>
<pinref part="GND2" gate="1" pin="GND"/>
<wire x1="38.1" y1="66.04" x2="38.1" y2="71.12" width="0.1524" layer="91"/>
<wire x1="38.1" y1="71.12" x2="43.18" y2="71.12" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="IC1" gate="G$1" pin="A0"/>
<wire x1="81.28" y1="58.42" x2="73.66" y2="58.42" width="0.1524" layer="91"/>
<pinref part="GND1" gate="1" pin="GND"/>
<wire x1="73.66" y1="58.42" x2="73.66" y2="55.88" width="0.1524" layer="91"/>
<pinref part="IC1" gate="G$1" pin="A1"/>
<wire x1="73.66" y1="55.88" x2="73.66" y2="53.34" width="0.1524" layer="91"/>
<wire x1="73.66" y1="53.34" x2="73.66" y2="50.8" width="0.1524" layer="91"/>
<wire x1="81.28" y1="55.88" x2="73.66" y2="55.88" width="0.1524" layer="91"/>
<junction x="73.66" y="55.88"/>
<pinref part="IC1" gate="G$1" pin="A2"/>
<wire x1="81.28" y1="53.34" x2="73.66" y2="53.34" width="0.1524" layer="91"/>
<junction x="73.66" y="53.34"/>
</segment>
<segment>
<pinref part="IC1" gate="G$1" pin="GND"/>
<pinref part="GND3" gate="1" pin="GND"/>
<wire x1="96.52" y1="43.18" x2="96.52" y2="35.56" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="SW0" gate="G$1" pin="P$2"/>
<wire x1="139.7" y1="109.22" x2="149.86" y2="109.22" width="0.1524" layer="91"/>
<wire x1="149.86" y1="109.22" x2="149.86" y2="93.98" width="0.1524" layer="91"/>
<pinref part="SW1" gate="G$1" pin="P$2"/>
<wire x1="149.86" y1="93.98" x2="149.86" y2="81.28" width="0.1524" layer="91"/>
<wire x1="149.86" y1="81.28" x2="149.86" y2="68.58" width="0.1524" layer="91"/>
<wire x1="139.7" y1="93.98" x2="149.86" y2="93.98" width="0.1524" layer="91"/>
<junction x="149.86" y="93.98"/>
<pinref part="SW2" gate="G$1" pin="P$2"/>
<wire x1="139.7" y1="81.28" x2="149.86" y2="81.28" width="0.1524" layer="91"/>
<junction x="149.86" y="81.28"/>
<pinref part="SW3" gate="G$1" pin="P$2"/>
<wire x1="139.7" y1="68.58" x2="149.86" y2="68.58" width="0.1524" layer="91"/>
<pinref part="SW4" gate="G$1" pin="P$2"/>
<wire x1="139.7" y1="55.88" x2="149.86" y2="55.88" width="0.1524" layer="91"/>
<wire x1="149.86" y1="55.88" x2="149.86" y2="60.96" width="0.1524" layer="91"/>
<junction x="149.86" y="68.58"/>
<pinref part="SW5" gate="G$1" pin="P$2"/>
<wire x1="149.86" y1="60.96" x2="149.86" y2="68.58" width="0.1524" layer="91"/>
<wire x1="139.7" y1="43.18" x2="149.86" y2="43.18" width="0.1524" layer="91"/>
<wire x1="149.86" y1="43.18" x2="149.86" y2="55.88" width="0.1524" layer="91"/>
<junction x="149.86" y="55.88"/>
<pinref part="SW6" gate="G$1" pin="P$2"/>
<wire x1="139.7" y1="27.94" x2="149.86" y2="27.94" width="0.1524" layer="91"/>
<wire x1="149.86" y1="27.94" x2="149.86" y2="43.18" width="0.1524" layer="91"/>
<junction x="149.86" y="43.18"/>
<pinref part="SW7" gate="G$1" pin="P$2"/>
<wire x1="139.7" y1="12.7" x2="149.86" y2="12.7" width="0.1524" layer="91"/>
<wire x1="149.86" y1="12.7" x2="149.86" y2="27.94" width="0.1524" layer="91"/>
<junction x="149.86" y="27.94"/>
<pinref part="GND4" gate="1" pin="GND"/>
<wire x1="160.02" y1="60.96" x2="149.86" y2="60.96" width="0.1524" layer="91"/>
<junction x="149.86" y="60.96"/>
</segment>
</net>
<net name="VCC" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="/RST"/>
<pinref part="SUPPLY1" gate="G$1" pin="VCC"/>
<wire x1="81.28" y1="76.2" x2="81.28" y2="86.36" width="0.1524" layer="91"/>
<pinref part="IC1" gate="G$1" pin="VCC"/>
<wire x1="81.28" y1="86.36" x2="81.28" y2="93.98" width="0.1524" layer="91"/>
<wire x1="96.52" y1="86.36" x2="81.28" y2="86.36" width="0.1524" layer="91"/>
<junction x="81.28" y="86.36"/>
</segment>
<segment>
<pinref part="M1" gate="G$1" pin="VCC"/>
<pinref part="SUPPLY2" gate="G$1" pin="VCC"/>
<wire x1="33.02" y1="60.96" x2="43.18" y2="60.96" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$11" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP0"/>
<wire x1="111.76" y1="76.2" x2="111.76" y2="109.22" width="0.1524" layer="91"/>
<pinref part="SW0" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="109.22" x2="111.76" y2="109.22" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$12" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP1"/>
<wire x1="111.76" y1="73.66" x2="114.3" y2="73.66" width="0.1524" layer="91"/>
<wire x1="114.3" y1="73.66" x2="114.3" y2="93.98" width="0.1524" layer="91"/>
<pinref part="SW1" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="93.98" x2="114.3" y2="93.98" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$13" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP2"/>
<wire x1="111.76" y1="71.12" x2="119.38" y2="71.12" width="0.1524" layer="91"/>
<pinref part="SW2" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="81.28" x2="119.38" y2="81.28" width="0.1524" layer="91"/>
<wire x1="119.38" y1="81.28" x2="119.38" y2="71.12" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$15" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP4"/>
<wire x1="111.76" y1="66.04" x2="119.38" y2="66.04" width="0.1524" layer="91"/>
<wire x1="119.38" y1="66.04" x2="119.38" y2="55.88" width="0.1524" layer="91"/>
<pinref part="SW4" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="55.88" x2="119.38" y2="55.88" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$16" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP5"/>
<wire x1="111.76" y1="63.5" x2="116.84" y2="63.5" width="0.1524" layer="91"/>
<wire x1="116.84" y1="63.5" x2="116.84" y2="43.18" width="0.1524" layer="91"/>
<pinref part="SW5" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="43.18" x2="116.84" y2="43.18" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$17" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP6"/>
<wire x1="111.76" y1="60.96" x2="114.3" y2="60.96" width="0.1524" layer="91"/>
<wire x1="114.3" y1="60.96" x2="114.3" y2="27.94" width="0.1524" layer="91"/>
<pinref part="SW6" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="27.94" x2="114.3" y2="27.94" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$18" class="0">
<segment>
<pinref part="IC1" gate="G$1" pin="GP7"/>
<wire x1="111.76" y1="58.42" x2="111.76" y2="12.7" width="0.1524" layer="91"/>
<pinref part="SW7" gate="G$1" pin="P$1"/>
<wire x1="129.54" y1="12.7" x2="111.76" y2="12.7" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$3" class="0">
<segment>
<pinref part="SW3" gate="G$1" pin="P$1"/>
<pinref part="IC1" gate="G$1" pin="GP3"/>
<wire x1="129.54" y1="68.58" x2="111.76" y2="68.58" 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>

license: MIT

license_type: permissive

branch_name: refs/heads/main

gha_license_id: MIT


text:
#ifndef CUSTOMFOLLOW_H
#define CUSTOMFOLLOW_H

#include "cocos2d.h"

namespace CustomAction{

	enum CustomFollowType{
		CustomFollowNone,
		CustomFollowXOnly,
		CustomFollowYOnly

	};

	class CustomFollow : public cocos2d::Action
	{
	private:
		CustomFollowType mType;
		cocos2d::Rect mMarginRect;

	public:
		static CustomFollow* create(cocos2d::Node* followedNode);
		static CustomFollow* create(cocos2d::Node* followedNode, CustomFollowType type);
		static CustomFollow* create(cocos2d::Node* followedNode, cocos2d::Node* equalityFollowedNode, CustomFollowType type);

		static CustomFollow* create(cocos2d::Node* followedNode, CustomFollowType type, cocos2d::Rect marginRect);
		static CustomFollow* create(cocos2d::Node* followedNode, cocos2d::Node* equalityFollowedNode, CustomFollowType type, cocos2d::Rect marginRect);
		static CustomFollow* create(cocos2d::Node* followedNode, cocos2d::Rect marginRect);

		inline bool isBoundarySet() const { return _boundarySet; }
		/** alter behavior - turn on/off boundary */
		inline void setBoudarySet(bool value) { _boundarySet = value; }

		//
		// Override
		//
		virtual CustomFollow* clone() const override;
		virtual CustomFollow* reverse() const override;
		virtual void step(float dt) override;
		virtual bool isDone() const override;
		virtual void stop() override;

		const cocos2d::Vec2& getCameraPos() const;

	CC_CONSTRUCTOR_ACCESS:
		/**
		* @js ctor
		*/
		CustomFollow()
			: _followedNode(nullptr)
			, _equalityFollowedNode(nullptr)
			, _boundarySet(false)
			, _boundaryFullyCovered(false)
			, _leftBoundary(0.0)
			, _rightBoundary(0.0)
			, _topBoundary(0.0)
			, _bottomBoundary(0.0)
			, _worldRect(cocos2d::Rect::ZERO)
		{}
		/**
		* @js NA
		* @lua NA
		*/
		virtual ~CustomFollow();

		/**
		* Initializes the action with a set boundary or with no boundary.
		*
		* @param followedNode  The node to be followed.
		* @param rect  The boundary. If \p rect is equal to Rect::ZERO, it'll work
		*              with no boundary.
		*/
		bool initWithTarget(cocos2d::Node *followedNode, const cocos2d::Rect& rect = cocos2d::Rect::ZERO);

		bool initWithTarget(cocos2d::Node *followedNode, cocos2d::Node *equalityFollowedNode, const cocos2d::Rect& rect = cocos2d::Rect::ZERO);

	protected:
		// node to follow
		cocos2d::Node *_followedNode;

		cocos2d::Node *_equalityFollowedNode;

		// whether camera should be limited to certain area
		bool _boundarySet;

		// if screen size is bigger than the boundary - update not needed
		bool _boundaryFullyCovered;

		// fast access to the screen dimensions
		cocos2d::Vec2 _halfScreenSize;
		cocos2d::Vec2 _fullScreenSize;

		// world boundaries
		float _leftBoundary;
		float _rightBoundary;
		float _topBoundary;
		float _bottomBoundary;
		cocos2d::Rect _worldRect;

	private:
		CC_DISALLOW_COPY_AND_ASSIGN(CustomFollow);
	};
}
#endif

repository: Proj-DDM/GrimoArena

repo_name: Proj-DDM/GrimoArena

branch_name: refs/heads/master

extension: h


text:
package db

import "github.com/naoina/kocha"

var DatabaseMap = kocha.DatabaseMap{
	"default": {
		Driver: "sqlite3",
		DSN:    ":memory:",
	},
}

repository: Maplecms/kocha

repo_name: Maplecms/kocha

extension: go


text:
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, r;
    int ans[500];
    int i = 0;
    cin >> n >> r;
    cout << n << "=";
    while (n != 0)
    {
        i++;
        ans[i] = n % r;

        if (ans[i] < 0)
        {
            ans[i] -= r;
            n += r;
        }
        n = n / r;
    }
    for (; i > 0; i--)
    {
        if (ans[i] >= 10)
            cout << (char)(ans[i] + 'A' - 10);
        else
            cout << ans[i];
    }
    cout << "(base" << r << ")" << endl;
    return 0;
}

extension: cpp


text:
#include "Actor/AModel.h"
#include "Math/math.h"
#include "Core/Intersectable/PrimitiveMetadata.h"
#include "Core/SurfaceBehavior/SurfaceBehavior.h"
#include "World/Foundation/TransientVisualElement.h"
#include "Actor/Geometry/PrimitiveBuildingMaterial.h"
#include "Math/Transform/StaticAffineTransform.h"
#include "Core/Intersectable/TransformedIntersectable.h"
#include "Core/Quantity/Time.h"
#include "Actor/ModelBuilder.h"
#include "World/Foundation/PreCookReport.h"
#include "World/Foundation/CookingContext.h"
#include "World/Foundation/CookedResourceCollection.h"
#include "World/Foundation/CookedGeometry.h"
#include "World/Foundation/CookedMotion.h"
#include "Common/logging.h"
#include "Core/Intersectable/TMetaInjectionPrimitive.h"

#include <algorithm>
#include <iostream>

namespace ph
{

PH_DEFINE_INTERNAL_LOG_GROUP(AModel, Actor);

PreCookReport AModel::preCook(const CookingContext& ctx) const
{
	PreCookReport report = PhysicalActor::preCook(ctx);

	if(!m_localToWorld.getDecomposed().isIdentity())
	{
		auto localToWorld = ctx.getResources()->makeTransform<math::StaticAffineTransform>(
			m_localToWorld.getForwardStaticAffine());
		auto worldToLocal = ctx.getResources()->makeTransform<math::StaticAffineTransform>(
			m_localToWorld.getInverseStaticAffine());

		report.setBaseTransforms(localToWorld, worldToLocal);
	}

	return report;
}

TransientVisualElement AModel::cook(const CookingContext& ctx, const PreCookReport& report) const
{
	if(!m_geometry || !m_material)
	{
		PH_LOG_WARNING(AModel,
			"incomplete data detected (missing geometry: {}, missing material: {})",
			m_geometry == nullptr, m_material == nullptr);

		return TransientVisualElement();
	}

	PrimitiveMetadata* metadata = ctx.getResources()->makeMetadata();
	// FIXME
	const CookedGeometry* cookedGeometry = m_geometry->createCooked(ctx);

	TransientVisualElement result;
	for(const Primitive* primitive : cookedGeometry->primitives)
	{
		auto* metaPrimitive = ctx.getResources()->copyIntersectable(TMetaInjectionPrimitive(
			ReferencedPrimitiveMetaGetter(metadata),
			TReferencedPrimitiveGetter<Primitive>(primitive)));

		result.add(metaPrimitive);
	}

	if(!m_localToWorld.getDecomposed().isIdentity())
	{
		// Cannot have primitive view as we are transforming as intersectable
		result.primitivesView.clear();

		auto localToWorld = report.getBaseLocalToWorld();
		auto worldToLocal = report.getBaseWorldToLocal();

		for(auto& intersectable : result.intersectables)
		{
			auto* transformedIntersectable = ctx.getResources()->makeIntersectable<TransformedIntersectable>(
				intersectable, localToWorld, worldToLocal);

			intersectable = transformedIntersectable;
		}
	}

	if(m_motionSource)
	{
		// Cannot have primitive view as we are transforming as intersectable
		result.primitivesView.clear();

		// FIXME
		const CookedMotion* cookedMotion = m_motionSource->createCooked(ctx, MotionCookConfig());

		auto localToWorld = cookedMotion->localToWorld;
		auto worldToLocal = cookedMotion->worldToLocal;

		for(auto& intersectable : result.intersectables)
		{
			auto* transformedIntersectable = ctx.getResources()->makeIntersectable<TransformedIntersectable>(
				intersectable, localToWorld, worldToLocal);

			intersectable = transformedIntersectable;
		}
	}

	m_material->genBehaviors(ctx, *metadata);

	return result;
}

void AModel::setGeometry(const std::shared_ptr<Geometry>& geometry)
{
	m_geometry = geometry;
}

void AModel::setMaterial(const std::shared_ptr<Material>& material)
{
	m_material = material;
}

void AModel::setMotionSource(const std::shared_ptr<MotionSource>& motion)
{
	m_motionSource = motion;
}

const Geometry* AModel::getGeometry() const
{
	return m_geometry.get();
}

const Material* AModel::getMaterial() const
{
	return m_material.get();
}

}// end namespace ph


text:
#define TRIGGER_PIN 3
#define DETECT_PIN 2

volatile int trigger_state = LOW;
volatile int detect_state = LOW;

/*
 * Set the interrupts up, TRIGGER is connect to that it
 * will trigger on a falling edge, and DETECT will
 * trigger on a rising edge.
 */
void setup() {
  Serial.begin(9600);

  attachInterrupt(digitalPinToInterrupt(TRIGGER_PIN), trigger_handle, FALLING);
  attachInterrupt(digitalPinToInterrupt(DETECT_PIN), detect_handle, RISING);
  reset_state();
}

/*
 * Latch TRIGGER state
 */
void trigger_handle() {
  trigger_state = HIGH;
}

/*
 * Latch DETECT state
 */
void detect_handle() {
  detect_state = HIGH;
}

/*
 * Reset the state of TRIGGER and DETECT
 */
inline void reset_state() {
  trigger_state = LOW;
  detect_state = LOW;
}

/*
 * Read the state of the Zapper and reset the state
 * The state of the TRIGGER and DETECT pins are latched
 * when there is a event for TRIGGER/DETECT and only
 * reset when the latched state is read.
 * To read the state any character can be sent to the
 * serial port, the state will then be written back
 * over the serial port.
 *
 * The state is stored in a single byte
 * +----+----+----+----+----+----+---------+--------+
 * | 7  | 6  | 5  | 4  | 3  | 2  | 1       | 0      |
 * +----+----+----+----+----+----+---------+--------+
 * | NA | NA | NA | NA | NA | NA | TRIGGER | DETECT |
 * +----+----+----+----+----+----+---------+--------+
 */
void loop() {
  if (Serial.available()) {
    uint8_t in = (uint8_t)Serial.read();
    Serial.write((trigger_state<<1) | detect_state);
    reset_state();
  }
}

repository: beardypig/zapper-experiments

repo_name: beardypig/zapper-experiments

extension: ino


text:
@InProceedings{ehc-nandi,
author="Nandi, Mridul",
editor="Cid, Carlos
and Rechberger, Christian",
title="On the Minimum Number of Multiplications Necessary for Universal Hash Functions",
booktitle="Fast Software Encryption",
year="2015",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="489--508",
abstract="Let {\$}{\$}d {\backslash}ge 1{\$}{\$}be an integer and {\$}{\$}R{\_}1{\$}{\$}be a finite ring whose elements are called block. A {\$}{\$}d{\$}{\$}-block universal hash over {\$}{\$}R{\_}1{\$}{\$}is a vector of {\$}{\$}d{\$}{\$}multivariate polynomials in message and key block such that the maximum differential probability of the hash function is ``low''. Two such single block hashes are pseudo dot-product (PDP) hash and Bernstein-Rabin-Winograd (BRW) hash which require {\$}{\$}{\backslash}frac{\{}n{\}}{\{}2{\}}{\$}{\$}multiplications for {\$}{\$}n{\$}{\$}message blocks. The Toeplitz construction and {\$}{\$}d{\$}{\$}independent invocations of PDP are {\$}{\$}d{\$}{\$}-block hash outputs which require {\$}{\$}d {\backslash}times {\backslash}frac{\{}n{\}}{\{}2{\}}{\$}{\$}multiplications. However, here we show that at least{\$}{\$}(d-1) + {\backslash}frac{\{}n{\}}{\{}2{\}}{\$}{\$}multiplications are necessary to compute a universal hash over {\$}{\$}n{\$}{\$}message blocks. We construct a {\$}{\$}d{\$}{\$}-block universal hash, called EHC, which requires the matching{\$}{\$}(d -1) + {\backslash}frac{\{}n{\}}{\{}2{\}}{\$}{\$}multiplications for{\$}{\$}d {\backslash}le 4{\$}{\$}. Hence it is optimum and our lower bound is tight when {\$}{\$}d {\backslash}le 4{\$}{\$}. It has similar parllelizibility, key size like Toeplitz and so it can be used as a light-weight universal hash.",
isbn="978-3-662-46706-0"
}

@misc{9-7-erasure-code,
    author = {Emin Gabrielyan},
    title = {Erausre resulient (9,7)-code},
    url = {https://docs.switzernet.com/people/emin-gabrielyan/051101-erasure-9-7-resilient/},
    note = {Accessed: 2020-11-26},
    year = 2005,
}

@misc{10-7-erasure-code,
    author = {Emin Gabrielyan},
    title = {Erasure resilient (10,7) code},
    url = {https://docs.switzernet.com/people/emin-gabrielyan/051102-erasure-10-7-resilient/},
    note = {Accessed: 2020-11-26},
    year = 2005,
}

@misc{9-5-erasure-code,
    author = {Emin Gabrielyan},
    title = {Erasure resilient {MDS} code with four redundant packets},
    url = {https://docs.switzernet.com/people/emin-gabrielyan/051103-erasure-9-5-resilient/},
    note = {Accessed: 2020-11-26},
    year = 2005,
}

@article{carter-wegman-79,
    title = "Universal classes of hash functions",
    journal = "Journal of Computer and System Sciences",
    volume = "18",
    number = "2",
    pages = "143 - 154",
    year = "1979",
    issn = "0022-0000",
    url = "http://www.sciencedirect.com/science/article/pii/0022000079900448",
    author = "J. Lawrence Carter and Mark N. Wegman",
}

@inproceedings{umac,
  title={{UMAC}: Fast and secure message authentication},
  author={Black, John and Halevi, Shai and Krawczyk, Hugo and Krovetz, Ted and Rogaway, Phillip},
  booktitle={Annual International Cryptology Conference},
  pages={216--233},
  year={1999},
  organization={Springer},
  url = "https://link.springer.com/chapter/10.1007/3-540-48405-1_14",
  _note = {\url{https://web.cs.ucdavis.edu/~rogaway/papers/umac-full.pdf}}
}

@InProceedings{badger,
author="Boesgaard, Martin
and Christensen, Thomas
and Zenner, Erik",
editor="Ioannidis, John
and Keromytis, Angelos
and Yung, Moti",
title="Badger -- A Fast and Provably Secure MAC",
booktitle="Applied Cryptography and Network Security",
year="2005",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="176--191",
abstract="We present Badger, a new fast and provably secure MAC based on universal hashing. In the construction, a modified tree hash that is more efficient than standard tree hashing is used and its security is proven. Furthermore, in order to derive the core hash function of the tree, we use a novel technique for reducing $\Delta$-universal function families to universal families. The resulting MAC is very efficient on standard platforms both for short and long messages. As an example, for a 64-bit tag, it achieves performances up to 2.2 and 1.3 clock cycles per byte on a Pentium III and Pentium 4 processor, respectively. The forgery probability is at most 2−{\thinspace}−{\thinspace}52.2.",
isbn="978-3-540-31542-1",
    _note = {\url{https://eprint.iacr.org/2004/319}},
}

@article{linear-hash-functions,
author = {Alon, Noga and Dietzfelbinger, Martin and Miltersen, Peter Bro and Petrank, Erez and Tardos, G\'{a}bor},
title = {Linear Hash Functions},
year = {1999},
issue_date = {Sept. 1999},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {46},
number = {5},
issn = {0004-5411},
url = {https://doi.org/10.1145/324133.324179},
_note = {\url{http://www.math.tau.ac.il/~nogaa/PDFS/linhash13.pdf},
 \url{https://tidsskrift.dk/brics/article/view/1880}},
journal = {J. ACM},
month = sep,
pages = {667-683},
numpages = {17},
keywords = {universal hashing, hashing via linear maps}
}

@article{linear-transform-hashing,
   title={Linear Hashing},
   volume={4},
   url={https://tidsskrift.dk/brics/article/view/18808},
   number={16},
   journal={BRICS Report Series},
   author={Alon, Noga and Dietzfelbinger, Martin and Miltersen, Peter and Petrank, Erez and Tardos, Gábor},
   year={1997},
   month={Jan.}
}

@Inbook{hashing-without-primes-revisited,
author="Dietzfelbinger, Martin",
title="Universal Hashing via Integer Arithmetic Without Primes, Revisited",
bookTitle="Adventures Between Lower Bounds and Higher Altitudes: Essays Dedicated to Juraj Hromkovi{\v{c}} on the Occasion of His 60th Birthday",
year="2018",
publisher="Springer International Publishing",
pages="257--279",
isbn="978-3-319-98355-4",
_doi={10.1007/978-3-319-98355-4_15},
url={https://doi.org/10.1007/978-3-319-98355-4_15}
}

@article{cuckoo-journal,
title = "Cuckoo hashing",
journal = "Journal of Algorithms",
volume = "51",
number = "2",
pages = "122 - 144",
year = "2004",
issn = "0196-6774",
url = "http://www.sciencedirect.com/science/article/pii/S0196677403001925",
author = "Rasmus Pagh and Flemming Friche Rodler",
keywords = "Data structures, Dictionaries, Information retrieval, Searching, Hashing, Experiments",
_note = {\url{https://www.itu.dk/people/pagh/papers/cuckoo-jour.pdf}}
}

@inproceedings{siphash,
  title={{SipHash}: a fast short-input {PRF}},
  author={Aumasson, Jean-Philippe and Bernstein, Daniel J},
  booktitle={International Conference on Cryptology in India},
  pages={489--508},
  year={2012},
  organization={Springer}
}

@article{clhash,
  title={Faster 64-bit universal hashing using carry-less multiplications},
  author={Lemire, Daniel and Kaser, Owen},
  journal={Journal of Cryptographic Engineering},
  volume={6},
  number={3},
  pages={171--185},
  year={2016},
  publisher={Springer}
}

@InProceedings{vmac,
author="Krovetz, Ted",
editor="Biham, Eli
and Youssef, Amr M.",
title="Message Authentication on 64-Bit Architectures",
booktitle="Selected Areas in Cryptography",
year="2007",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="327--341",
isbn="978-3-540-74462-7"
}

@misc{umash,
author = {Paul Khuong},
title = {{UMASH}: a fast and universal enough hash},
url = {https://engineering.backtrace.io/2020-08-24-umash-fast-enough-almost-universal-fingerprinting/},
year = {2020},
}

@misc{xxh3,
author = {Yann Collet},
title = {Presenting {XXH3}},
url = {https://fastcompression.blogspot.com/2019/03/presenting-xxh3.html},
year = {2019},
}

@article{tabulation,
  author    = {Mikkel Thorup},
  title     = {Fast and Powerful Hashing using Tabulation},
  journal   = {CoRR},
  volume    = {abs/1505.01523},
  year      = {2017},
  url       = {http://arxiv.org/abs/1505.01523},
  archivePrefix = {arXiv},
  eprint    = {1505.01523},
  timestamp = {Mon, 13 Aug 2018 16:48:49 +0200},
  biburl    = {https://dblp.org/rec/journals/corr/Thorup15a.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

@inproceedings{woelfel-toeplitz,
title = {Efficient Strongly Universal and Optimally Universal Hashing},
author = {Philipp Woelfel},
_doi = {10.1007/3-540-48340-3_24},
url = {https://doi.org/10.1007/3-540-48340-3_24},
year = {1999},
date = {1999-01-01},
booktitle = {Mathematical Foundations of Computer Science 1999, 24th International Symposium},
volume = {1672},
pages = {262-272},
series = {LNCS},
keywords = {},
pubstate = {published},
tppubtype = {inproceedings},
_url = {https://pages.cpsc.ucalgary.ca/~woelfel/paper/efficient_strongly/efficient_strongly.pdf}
}

@article{simple-hash-functions-work,
 author = {Chung, Kai-Min and Mitzenmacher, Michael and Vadhan, Salil},
 title = {Why Simple Hash Functions Work: Exploiting the Entropy in a Data Stream},
 year = {2013},
 pages = {897--945},
 _doi = {10.4086/toc.2013.v009a030},
 publisher = {Theory of Computing},
 journal = {Theory of Computing},
 volume = {9},
 number = {30},
 URL = {http://www.theoryofcomputing.org/articles/v009a030},
}

@inbook{universe-collapse-linear-probing,
author = {Mikkel Thorup},
title = {String Hashing for Linear Probing},
booktitle = {Proceedings of the 2009 Annual ACM-SIAM Symposium on Discrete Algorithms},
chapter = {},
pages = {655-664},
year = {2009},
_doi = {10.1137/1.9781611973068.72},
URL = {https://epubs.siam.org/doi/abs/10.1137/1.9781611973068.72},
_eprint = {https://epubs.siam.org/doi/pdf/10.1137/1.9781611973068.72},
  publisher = {Society for Industrial and Applied Mathematics}
}

@misc{i7-7800x,
url = "https://ark.intel.com/content/www/us/en/ark/products/123589/intel-core-i7-7800x-x-series-processor-8-25m-cache-up-to-4-00-ghz.html",
title = {{Intel\textregistered{} Core\texttrademark{} i7-7800X X-series Processor (8.25M Cache, up to 4.00 GHz) Product Specifications}},
year = {2017}
}

@misc{smhasher,
author = {Urban, Reini and others},
title = {SMhasher},
year = {2020},
publisher = {GitHub},
commit = {aea4c21044176f88f1f9e1a2a91a7c8a662254cf},
url = {https://github.com/rurban/smhasher}
}

@inproceedings{layer-of-maxima,
  title={Three-dimensional layers of maxima},
  author={Buchsbaum, Adam L and Goodrich, Michael T},
  booktitle={European Symposium on Algorithms},
  pages={257--269},
  year={2002},
  organization={Springer}
}

@article{nacl,
  title={Cryptography in {NaCl}},
  author={Bernstein, Daniel J},
  journal={Networking and Cryptography library},
  volume={3},
  pages={385},
  year={2009}
}

@Misc{codetables.de,
  author =       "Grassl, Markus",
  title =        "{Bounds on the minimum distance of linear codes and quantum codes}",
  url = {http://www.codetables.de},
  year =         "2007",
  note =         "Accessed on 2020-12-19"
}

@book{redundant-zeroless,
  title={Numerical representations as higher order nested datatypes},
  author={Hinze, Ralf},
  year={1998}
}

@article{lsm-survey,
  title={{LSM}-based storage techniques: a survey},
  author={Luo, Chen and Carey, Michael J},
  journal={The VLDB Journal},
  volume={29},
  number={1},
  pages={393--418},
  year={2020},
  publisher={Springer}
}

@Misc{rust-quadratic,
  author =       "Joshua Landau",
  title =        "{Exposure of {HashMap} iteration order allows for $O(n^2)$ blowup}",
  url = {https://github.com/rust-lang/rust/issues/36481},
  year =         "2016",
  note =         "Accessed on 2020-12-32"
}

@Misc{impala-quadratic,
  author =       "Jim Apple",
  title =        "{Ensure monotonic count(distinct x) performance}",
  url = {https://issues.apache.org/jira/browse/IMPALA-2653},
  year =         "2015",
  note =         "Accessed on 2020-12-32"
}

@inproceedings{poly1305,
  title={The {Poly1305-AES} message-authentication code},
  author={Bernstein, Daniel J},
  booktitle={International Workshop on Fast Software Encryption},
  pages={32--49},
  year={2005},
  organization={Springer}
}

@article{chord,
  title={Chord: A scalable peer-to-peer lookup service for internet applications},
  author={Stoica, Ion and Morris, Robert and Karger, David and Kaashoek, M Frans and Balakrishnan, Hari},
  journal={ACM SIGCOMM Computer Communication Review},
  volume={31},
  number={4},
  pages={149--160},
  year={2001},
  publisher={ACM New York, NY, USA}
}

@article{quantum-key-distribution,
  title={The security of practical quantum key distribution},
  author={Scarani, Valerio and Bechmann-Pasquinucci, Helle and Cerf, Nicolas J and Du{\v{s}}ek, Miloslav and L{\"u}tkenhaus, Norbert and Peev, Momtchil},
  journal={Reviews of modern physics},
  volume={81},
  number={3},
  pages={1301},
  year={2009},
  publisher={APS}
}

@inproceedings{privacy-amplification,
  title={Universally composable privacy amplification against quantum adversaries},
  author={Renner, Renato and K{\"o}nig, Robert},
  booktitle={Theory of Cryptography Conference},
  pages={407--425},
  year={2005},
  organization={Springer}
}

@article{random-closest-pair,
  title={A reliable randomized algorithm for the closest-pair problem},
  author={Dietzfelbinger, Martin and Hagerup, Torben and Katajainen, Jyrki and Penttonen, Martti},
  journal={Journal of Algorithms},
  volume={25},
  number={1},
  pages={19--51},
  year={1997},
  publisher={Elsevier}
}

@article{fuzzy-extractors,
   title={Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data},
   volume={38},
   ISSN={1095-7111},
   url={http://dx.doi.org/10.1137/060651380},
   _DOI={10.1137/060651380},
   number={1},
   journal={SIAM Journal on Computing},
   publisher={Society for Industrial & Applied Mathematics (SIAM)},
   author={Dodis, Yevgeniy and Ostrovsky, Rafail and Reyzin, Leonid and Smith, Adam},
   year={2008},
   month={Jan},
   pages={97–139}
}

@inproceedings{algorithm-attack,
  title={Denial of Service via Algorithmic Complexity Attacks},
  author={Crosby, Scott A. and Wallach, Dan S.},
  booktitle={Proceedings of the 12th {USENIX} Security Symposium},
  pages={29--44},
  year={2003}
}

repository: pombredanne/HalftimeHash

repo_name: pombredanne/HalftimeHash

extension: bib


text:
#ifndef SOLVERMAP_H_
#define SOLVERMAP_H_

#include <stdio.h>
#include "include.h"

class BaseSolver;

//! Solver map
/*!
  This class manages the map of all solvers. A solver is a class that inherits
  from BaseSolver and that interfaces the external fluid property computation
  code. Only one instance is created for each external library.

  Ian Bell
  2012-2013
  University of Liege, Liege, Belgium

  Francesco Casella, Christoph Richter, Roberto Bonifetto
  2006-2012
  Copyright Politecnico di Milano, TU Braunschweig, Politecnico di Torino
*/
class SolverMap
{
   public:
    static BaseSolver* getSolver(const string& mediumName, const string& libraryName, const string& substanceName);
    static string solverKey(const string& libraryName, const string& substanceName);

   protected:
    //! Map for all solver instances identified by the SolverKey
    static map<string, BaseSolver*> _solvers;
};

#endif  // SOLVERMAP_H_

repository: CoolProp/CoolProp

repo_name: CoolProp/CoolProp


text:
KBRANCH ?= "dev-5.4"
LINUX_VERSION ?= "5.4.4"

SRCREV="91b5e9f45c23ff55d8b547ddf1661337a70e2b22"

require linux-aspeed.inc

repository: vicnick/openbmc

repo_name: vicnick/openbmc

extension: bb


text:
SUMMARY = "Image format plugins for Qt"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = " \
	file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
"

inherit kde-kf5

DEPENDS += " \
    karchive \
    ${@bb.utils.contains("DISTRO_FEATURES", "x11", "qtx11extras", "", d)} \
"

PV = "${KF5_VERSION}"
SRC_URI[md5sum] = "589ed57faba25f2014964619247aa28a"
SRC_URI[sha256sum] = "c4738100d449f501b1ba8d56980e06cc04c0b7f42a287babe22e95b95e0ae0e0"

FILES_${PN} += " \
    ${OE_QMAKE_PATH_PLUGINS} \
    ${datadir}/kservices5 \
"
FILES_${PN}-dbg += "${OE_QMAKE_PATH_PLUGINS}/*/.debug"


text:
@article{2016-Badb,
 abstract = {Welcome to this year's first issue of IEEE Transactions on Parallel and Distributed Systems (TPDS). The author is privileged to serve our community proceeding into his third year as the editor-in-chief (EiC) of TPDS and looks forward to continuing his service to our growing community. Thank you to Prof. Manish Parashar from Rutgers University for his service role as the associate editor-in-chief of TPDS, and all of our associate editors. TPDS continues to be one of the healthiest IEEE Transactions. In the past 12 months, we've received 902 submissions, and reduced the time from submission to first decision from 75 days (as of January 2014) to 48 days on average now (as of November 2015). Our acceptance rate for the past 12 months is 24.4 \% based upon our peer-review process and reflects a rigorous process for evaluating the top-tier research contributions in this area. TPDS is among the first IEEE Transactions to adopt the OnlinePlus publication model, and the abstract booklet and disk is distributed on a quarterly basis to subscribers. The EiC's goals are to increase the visibility and relevance of TPDS. IEEE is a hallmark of quality for technical publication. The value TPDS brings to the international community is in its collection of the highest quality research that is relevant to academia, industry, and laboratories. The topics covered by the leading research in the community change over time as technology rapidly changes in the parallel and distributed systems area, and the TPDS scope should be updated to reflect these areas of interest and 'hot topics' in the subfields of parallel and distributed systems. In 2014, the EiC worked with the community and the Computer Society to update and revise the Transaction's scope to highlight several new areas in exascale computing and big data. This revised scope brings these Transactions into better alignment with the IEEE Computer Society's flagship conferences in these areas.},
 author = {David A. Bader},
 bibsource = {dblp computer science bibliography, https://dblp.org},
 biburl = {https://dblp.org/rec/bib/journals/tpds/Bader16},
 doi = {10.1109/TPDS.2015.2499578},
 groups = {Edited},
 journal = {IEEE Transactions on Parallel and Distributed Systems},
 number = {1},
 pages = {1},
 timestamp = {Sat, 27 May 2017 01:00:00 +0200},
 title = {Editor's Note},
 url = {https://doi.org/10.1109/TPDS.2015.2499578},
 volume = {27},
 year = {2016}
}

gha_language: Shell