text:
<element name="C8" library="SparkFun-Capacitors" package="0603" value="100nF" x="71.12" y="53.34" smashed="yes" rot="R90">
<attribute name="NAME" x="70.358" y="53.34" size="0.6096" layer="25" font="vector" ratio="20" rot="R90" align="bottom-center"/>
<attribute name="PROD_ID" value="CAP-00810" x="124.46" y="83.82" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" x="71.882" y="53.34" size="0.6096" layer="27" font="vector" ratio="20" rot="R90" align="top-center"/>
</element>
<element name="C9" library="SparkFun-Capacitors" package="0603" value="22pF" x="50.8" y="38.1" smashed="yes">
<attribute name="NAME" x="50.8" y="38.862" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="CAP-00810" x="85.09" y="-15.24" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="50.8" y="37.338" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="CN1" library="adafruit" package="USB-MINIB" value="" x="12.7" y="38.1" smashed="yes" rot="R270">
<attribute name="NAME" x="18.05" y="41.41" size="1.27" layer="25" rot="R270"/>
<attribute name="VALUE" x="6.35" y="41.41" size="1.27" layer="27" rot="R270"/>
</element>
<element name="D1" library="SparkFun-DiscreteSemi" package="SMA-DIODE" value="3A/40V/500mV" x="85.09" y="38.1" smashed="yes">
<attribute name="NAME" x="85.09" y="39.751" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="DIO-09886" x="113.03" y="-10.16" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="85.09" y="36.449" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="D2" library="SparkFun-DiscreteSemi" package="SMA-DIODE" value="3A/40V/500mV" x="85.09" y="31.75" smashed="yes">
<attribute name="NAME" x="85.09" y="33.401" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="DIO-09886" x="120.65" y="-16.51" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="85.09" y="30.099" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="D3" library="SparkFun-DiscreteSemi" package="SMA-DIODE" value="3A/40V/500mV" x="91.44" y="25.4" smashed="yes">
<attribute name="NAME" x="91.44" y="27.051" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="DIO-09886" x="134.62" y="-22.86" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="91.44" y="23.749" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="IC2" library="adafruit" package="TO220H" value="7805T" x="49.53" y="69.85" smashed="yes">
<attribute name="NAME" x="44.069" y="58.928" size="1.778" layer="25" ratio="10" rot="R90"/>
<attribute name="VALUE" x="56.896" y="58.801" size="1.778" layer="27" ratio="10" rot="R90"/>
</element>
<element name="JP1" library="pinhead" library_urn="urn:adsk.eagle:library:325" package="1X02" package3d_urn="urn:adsk.eagle:package:22435/2" value="" x="35.56" y="46.99" smashed="yes" rot="R90">
<attribute name="NAME" x="33.7312" y="44.3738" size="1.27" layer="25" ratio="10" rot="R90"/>
<attribute name="POPULARITY" value="98" x="82.55" y="67.31" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" x="38.735" y="44.45" size="1.27" layer="27" rot="R90"/>
</element>
<element name="Q2" library="IQD-Frequency-Products" library_urn="urn:adsk.eagle:library:90" package="HC49" package3d_urn="urn:adsk.eagle:package:3356/1" value="CRYSTALS-NOGND-HC49/4H" x="48.26" y="33.02" smashed="yes">
<attribute name="NAME" x="43.18" y="35.687" size="1.27" layer="25" ratio="10"/>
<attribute name="POPULARITY" value="0" x="81.28" y="-7.62" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="43.18" y="29.083" size="1.27" layer="27" ratio="10"/>
</element>
<element name="R1" library="SparkFun-Resistors" package="0603" value="10k" x="62.23" y="48.26" smashed="yes" rot="R180">
<attribute name="NAME" x="62.23" y="47.498" size="0.6096" layer="25" font="vector" ratio="20" rot="R180" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="12.7" y="101.6" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="VALUE" x="62.23" y="49.022" size="0.6096" layer="27" font="vector" ratio="20" rot="R180" align="top-center"/>
</element>
<element name="R2" library="SparkFun-Resistors" package="0603" value="4k7" x="57.15" y="48.26" smashed="yes" rot="R90">
<attribute name="NAME" x="56.388" y="48.26" size="0.6096" layer="25" font="vector" ratio="20" rot="R90" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="110.49" y="101.6" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" x="57.912" y="48.26" size="0.6096" layer="27" font="vector" ratio="20" rot="R90" align="top-center"/>
</element>
<element name="R3" library="SparkFun-Resistors" package="0603" value="10k" x="74.93" y="34.29" smashed="yes">
<attribute name="NAME" x="74.93" y="35.052" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="132.08" y="-19.05" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="74.93" y="33.528" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="R4" library="SparkFun-Resistors" package="0603" value="10k" x="69.85" y="34.29" smashed="yes" rot="R180">
<attribute name="NAME" x="69.85" y="33.528" size="0.6096" layer="25" font="vector" ratio="20" rot="R180" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="54.61" y="91.44" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="VALUE" x="69.85" y="35.052" size="0.6096" layer="27" font="vector" ratio="20" rot="R180" align="top-center"/>
</element>
<element name="R5" library="SparkFun-Resistors" package="0603" value="10k" x="74.93" y="30.48" smashed="yes">
<attribute name="NAME" x="74.93" y="31.242" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="93.98" y="-26.67" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="74.93" y="29.718" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="R6" library="SparkFun-Resistors" package="0603" value="10k" x="72.39" y="49.53" smashed="yes">
<attribute name="NAME" x="72.39" y="50.292" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="95.25" y="-7.62" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="72.39" y="48.768" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="R7" library="SparkFun-Resistors" package="0603" value="10k" x="72.39" y="45.72" smashed="yes">
<attribute name="NAME" x="72.39" y="46.482" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="RES-07856" x="99.06" y="-11.43" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="72.39" y="44.958" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="U$1" library="SparkFun-IC-Power" package="78XXL" value="V_REG_LD1117VXX" x="80.01" y="63.5" smashed="yes">
<attribute name="NAME" x="76.2" y="68.58" size="1.778" layer="25" ratio="10"/>
<attribute name="VALUE" x="77.343" y="66.04" size="1.778" layer="27" ratio="10"/>
</element>
<element name="U5" library="SparkFun-Sensors" package="CHIPLED-6" value="APDS-9301" x="67.31" y="48.26" smashed="yes">
<attribute name="NAME" x="66.294" y="48.641" size="0.4064" layer="25"/>
<attribute name="PROD_ID" value="IC-13662" x="99.06" y="-8.89" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="66.294" y="47.752" size="0.4064" layer="27"/>
</element>
<element name="U3" library="SparkFun-Sensors" package="LGA-16-3X3" value="LIS331" x="74.93" y="39.37" smashed="yes">
<attribute name="NAME" x="74.93" y="41.275" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="IC-12675" x="90.17" y="-8.89" size="1.778" layer="27" display="off"/>
<attribute name="SF_ID" value="COM-09755" x="90.17" y="-8.89" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="74.93" y="37.465" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="U2" library="SparkFun-Sensors" package="TO-92-AMMO" value="DS18B20" x="60.96" y="27.94" smashed="yes" rot="R180">
<attribute name="NAME" x="60.96" y="29.718" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="STORE_ID" value="SEN-00245" x="5.08" y="67.31" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="VALUE" x="60.96" y="25.146" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="U1" library="SparkFun-IC-Comms" package="SSOP28DB" value="FT232RL" x="31.75" y="34.29" smashed="yes" rot="R90">
<attribute name="NAME" x="31.75" y="28.73375" size="0.6096" layer="25" font="vector" ratio="20" rot="R180" align="bottom-center"/>
<attribute name="PROD_ID" value="IC-00870" x="72.39" y="80.01" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" x="31.75" y="40.48125" size="0.6096" layer="27" font="vector" ratio="20" rot="R180" align="bottom-center"/>
</element>
<element name="U4" library="SparkFun-IC-Microcontroller" package="TQFP32-08" value="ATMEGA328P_TQFP" x="63.5" y="40.64" smashed="yes">
<attribute name="NAME" x="63.5" y="46.355" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="IC-09069" x="81.28" y="11.43" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="63.5" y="34.29" size="0.6096" layer="27" font="vector" ratio="20" align="bottom-center"/>
</element>
<element name="C1" library="SparkFun-Capacitors" package="CPOL-RADIAL-2.5MM-6.5MM" value="100uF" x="26.67" y="46.99" smashed="yes">
<attribute name="NAME" x="26.67" y="50.419" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center"/>
<attribute name="PROD_ID" value="CAP-08439" x="26.67" y="46.99" size="1.778" layer="27" display="off"/>
<attribute name="VALUE" x="26.67" y="43.561" size="0.6096" layer="27" font="vector" ratio="20" align="top-center"/>
</element>
<element name="C2" library="SparkFun-Capacitors" package="CPOL-RADIAL-2.5MM-6.5MM" value="100uF" x="63.5" y="53.34" smashed="yes" rot="R90">
<attribute name="NAME" x="60.071" y="53.34" size="0.6096" layer="25" font="vector" ratio="20" rot="R90" align="bottom-center"/>
<attribute name="PROD_ID" value="CAP-08439" x="63.5" y="53.34" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" x="66.929" y="53.34" size="0.6096" layer="27" font="vector" ratio="20" rot="R90" align="top-center"/>
</element>
<element name="C7" library="SparkFun-Capacitors" package="CPOL-RADIAL-2.5MM-6.5MM" value="100uF" x="80.01" y="49.53" smashed="yes" rot="R90">
<attribute name="NAME" x="76.581" y="49.53" size="0.6096" layer="25" font="vector" ratio="20" rot="R90" align="bottom-center"/>
<attribute name="PROD_ID" value="CAP-08439" x="80.01" y="49.53" size="1.778" layer="27" rot="R90" display="off"/>
<attribute name="VALUE" x="83.439" y="49.53" size="0.6096" layer="27" font="vector" ratio="20" rot="R90" align="top-center"/>
</element>
</elements>
<signals>
<signal name="GND">
<contactref element="CN1" pad="GND"/>
<contactref element="C5" pad="2"/>
<contactref element="C4" pad="2"/>
<contactref element="U1" pad="26"/>
<contactref element="U1" pad="25"/>
<contactref element="U1" pad="7"/>
<contactref element="U1" pad="18"/>
<contactref element="U1" pad="21"/>
<contactref element="C11" pad="2"/>
<contactref element="C12" pad="2"/>
<contactref element="U4" pad="3"/>
<contactref element="U4" pad="5"/>
<contactref element="C9" pad="1"/>
<contactref element="C10" pad="1"/>
<contactref element="C8" pad="2"/>
<contactref element="U3" pad="5"/>
<contactref element="U3" pad="12"/>
<contactref element="U3" pad="13"/>
<contactref element="U3" pad="16"/>
<contactref element="U3" pad="10"/>
<contactref element="C3" pad="2"/>
<contactref element="U5" pad="P3"/>
<contactref element="U5" pad="P2"/>
<contactref element="U2" pad="1"/>
<contactref element="C6" pad="2"/>
<contactref element="JP1" pad="1"/>
<contactref element="IC2" pad="2"/>
<contactref element="U$1" pad="IN"/>
<contactref element="C1" pad="2"/>
<contactref element="C2" pad="2"/>
<contactref element="C7" pad="2"/>
<polygon width="0.1524" layer="1">
<vertex x="5.08" y="80.01"/>
<vertex x="90.17" y="80.01"/>
<vertex x="92.71" y="80.01"/>
<vertex x="99.06" y="73.66"/>
<vertex x="101.6" y="71.12"/>
<vertex x="101.6" y="26.67"/>
<vertex x="92.71" y="17.78"/>
<vertex x="12.7" y="17.78"/>
<vertex x="11.43" y="19.05"/>
<vertex x="5.08" y="25.4"/>
<vertex x="5.08" y="29.21"/>
</polygon>
<polygon width="0.1524" layer="16">
<vertex x="5.08" y="80.01"/>
<vertex x="92.71" y="80.01"/>
<vertex x="101.6" y="71.12"/>
<vertex x="101.6" y="25.4"/>
<vertex x="93.98" y="17.78"/>
<vertex x="91.44" y="17.78"/>
<vertex x="12.7" y="17.78"/>
<vertex x="11.43" y="19.05"/>
<vertex x="5.08" y="25.4"/>
</polygon>
<wire x1="59.2074" y1="41.84" x2="59.2074" y2="40.24" width="0" layer="19" extent="1-1"/>
<wire x1="54.61" y1="41.06" x2="59.2074" y2="40.24" width="0" layer="19" extent="1-1"/>
<wire x1="76.33" y1="39.87" x2="76.33" y2="38.87" width="0" layer="19" extent="1-1"/>
<wire x1="74.43" y1="40.77" x2="76.33" y2="40.37" width="0" layer="19" extent="1-1"/>
<wire x1="73.53" y1="38.37" x2="74.43" y2="40.77" width="0" layer="19" extent="1-1"/>
<wire x1="25.4" y1="41.49" x2="22.44" y2="43.18" width="0" layer="19" extent="1-1"/>
<wire x1="66.21" y1="49.26" x2="63.5" y2="52.09" width="0" layer="19" extent="1-1"/>
<wire x1="49.95" y1="38.1" x2="47.41" y2="41.91" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$1">
<contactref element="CN1" pad="D-"/>
<contactref element="U1" pad="16"/>
<wire x1="28.8036" y1="37.9476" x2="28.194" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="29.1084" y1="38.2524" x2="28.8036" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="29.1084" y1="39.1668" x2="29.1084" y2="38.2524" width="0.1524" layer="1"/>
<wire x1="25.908" y1="42.3672" x2="29.1084" y2="39.1668" width="0.1524" layer="1"/>
<wire x1="24.0792" y1="42.3672" x2="25.908" y2="42.3672" width="0.1524" layer="1"/>
<wire x1="20.7264" y1="39.0144" x2="24.0792" y2="42.3672" width="0.1524" layer="1"/>
<wire x1="16.764" y1="39.0144" x2="20.7264" y2="39.0144" width="0.1524" layer="1"/>
<wire x1="28.194" y1="37.9476" x2="28.094" y2="37.865" width="0.1524" layer="1"/>
<wire x1="16.764" y1="39.0144" x2="16.764" y2="38.9" width="0.1524" layer="1"/>
</signal>
<signal name="N$2">
<contactref element="CN1" pad="D+"/>
<contactref element="U1" pad="15"/>
<wire x1="25.908" y1="40.6908" x2="28.0416" y2="38.5572" width="0.1524" layer="1"/>
<wire x1="22.86" y1="40.6908" x2="25.908" y2="40.6908" width="0.1524" layer="1"/>
<wire x1="20.2692" y1="38.1" x2="22.86" y2="40.6908" width="0.1524" layer="1"/>
<wire x1="16.764" y1="38.1" x2="20.2692" y2="38.1" width="0.1524" layer="1"/>
<wire x1="28.0416" y1="38.5572" x2="28.094" y2="38.515" width="0.1524" layer="1"/>
</signal>
<signal name="N$3">
<contactref element="CN1" pad="VBUS"/>
<contactref element="C5" pad="1"/>
<contactref element="U1" pad="20"/>
<contactref element="U1" pad="4"/>
<wire x1="20.1168" y1="43.1292" x2="20.7264" y2="43.1292" width="0.1524" layer="1"/>
<wire x1="16.764" y1="39.7764" x2="20.1168" y2="43.1292" width="0.1524" layer="1"/>
<wire x1="20.7264" y1="43.1292" x2="20.74" y2="43.18" width="0.1524" layer="1"/>
<wire x1="16.764" y1="39.7764" x2="16.764" y2="39.7" width="0.1524" layer="1"/>
<wire x1="31.5468" y1="35.2044" x2="29.4132" y2="35.2044" width="0.1524" layer="1"/>
<wire x1="29.4132" y1="35.2044" x2="28.194" y2="35.2044" width="0.1524" layer="1"/>
<wire x1="34.5948" y1="32.1564" x2="31.5468" y2="35.2044" width="0.1524" layer="1"/>
<wire x1="35.3568" y1="32.1564" x2="34.5948" y2="32.1564" width="0.1524" layer="1"/>
<wire x1="28.194" y1="35.2044" x2="28.094" y2="35.265" width="0.1524" layer="1"/>
<wire x1="35.3568" y1="32.1564" x2="35.406" y2="32.015" width="0.1524" layer="1"/>
<wire x1="21.6408" y1="42.3672" x2="20.8788" y2="43.1292" width="0.1524" layer="1"/>
<wire x1="23.622" y1="42.3672" x2="21.6408" y2="42.3672" width="0.1524" layer="1"/>
<wire x1="23.9268" y1="42.672" x2="23.622" y2="42.3672" width="0.1524" layer="1"/>
<wire x1="26.0604" y1="42.672" x2="23.9268" y2="42.672" width="0.1524" layer="1"/>
<wire x1="29.4132" y1="39.3192" x2="26.0604" y2="42.672" width="0.1524" layer="1"/>
<wire x1="29.4132" y1="35.2044" x2="29.4132" y2="39.3192" width="0.1524" layer="1"/>
<wire x1="20.8788" y1="43.1292" x2="20.74" y2="43.18" width="0.1524" layer="1"/>
</signal>
<signal name="N$4">
<contactref element="U1" pad="17"/>
<contactref element="C4" pad="1"/>
<wire x1="25.4508" y1="39.1668" x2="25.4508" y2="39.7764" width="0.1524" layer="1"/>
<wire x1="27.2796" y1="37.338" x2="25.4508" y2="39.1668" width="0.1524" layer="1"/>
<wire x1="28.0416" y1="37.338" x2="27.2796" y2="37.338" width="0.1524" layer="1"/>
<wire x1="25.4508" y1="39.7764" x2="25.4" y2="39.79" width="0.1524" layer="1"/>
<wire x1="28.0416" y1="37.338" x2="28.094" y2="37.215" width="0.1524" layer="1"/>
</signal>
<signal name="RX_UC">
<contactref element="U1" pad="1"/>
<contactref element="U4" pad="30"/>
<wire x1="62.1792" y1="42.5196" x2="62.1792" y2="44.8056" width="0.1524" layer="1"/>
<wire x1="57.6072" y1="37.9476" x2="62.1792" y2="42.5196" width="0.1524" layer="16"/>
<wire x1="57.3024" y1="37.9476" x2="57.6072" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="51.2064" y1="31.8516" x2="57.3024" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="48.6156" y1="31.8516" x2="51.2064" y2="31.8516" width="0.1524" layer="1"/>
<wire x1="46.1772" y1="34.29" x2="48.6156" y2="31.8516" width="0.1524" layer="1"/>
<wire x1="40.2336" y1="34.29" x2="46.1772" y2="34.29" width="0.1524" layer="1"/>
<wire x1="36.1188" y1="30.1752" x2="40.2336" y2="34.29" width="0.1524" layer="1"/>
<wire x1="35.5092" y1="30.1752" x2="36.1188" y2="30.1752" width="0.1524" layer="1"/>
<wire x1="62.1792" y1="44.8056" x2="62.3" y2="44.9326" width="0.1524" layer="1"/>
<wire x1="35.5092" y1="30.1752" x2="35.406" y2="30.065" width="0.1524" layer="1"/>
<via x="62.1792" y="42.5196" extent="1-16" drill="0.35"/>
<via x="57.6072" y="37.9476" extent="1-16" drill="0.35"/>
</signal>
<signal name="TX_UC">
<contactref element="U1" pad="5"/>
<contactref element="U4" pad="31"/>
<wire x1="61.4172" y1="44.0436" x2="61.4172" y2="44.8056" width="0.1524" layer="1"/>
<wire x1="61.1124" y1="43.7388" x2="61.4172" y2="44.0436" width="0.1524" layer="1"/>
<wire x1="57.912" y1="40.5384" x2="61.1124" y2="43.7388" width="0.1524" layer="16"/>
<wire x1="55.4736" y1="40.5384" x2="57.912" y2="40.5384" width="0.1524" layer="1"/>
<wire x1="53.7972" y1="38.862" x2="55.4736" y2="40.5384" width="0.1524" layer="1"/>
<wire x1="42.2148" y1="38.862" x2="53.7972" y2="38.862" width="0.1524" layer="1"/>
<wire x1="36.1188" y1="32.766" x2="42.2148" y2="38.862" width="0.1524" layer="1"/>
<wire x1="35.5092" y1="32.766" x2="36.1188" y2="32.766" width="0.1524" layer="1"/>
<wire x1="61.4172" y1="44.8056" x2="61.5" y2="44.9326" width="0.1524" layer="1"/>
<wire x1="35.5092" y1="32.766" x2="35.406" y2="32.665" width="0.1524" layer="1"/>
<via x="61.1124" y="43.7388" extent="1-16" drill="0.35"/>
<via x="57.912" y="40.5384" extent="1-16" drill="0.35"/>
</signal>
<signal name="VCC">
<contactref element="C11" pad="1"/>
<contactref element="C12" pad="1"/>
<contactref element="U4" pad="4"/>
<contactref element="U4" pad="6"/>
<contactref element="R1" pad="2"/>
<contactref element="U2" pad="3"/>
<contactref element="R2" pad="2"/>
<contactref element="C6" pad="1"/>
<contactref element="IC2" pad="3"/>
<contactref element="U$1" pad="OUT"/>
<contactref element="C2" pad="1"/>
<wire x1="59.7408" y1="39.4716" x2="59.2836" y2="39.4716" width="0.1524" layer="1"/>
<wire x1="60.198" y1="39.9288" x2="59.7408" y2="39.4716" width="0.1524" layer="1"/>
<wire x1="60.198" y1="40.5384" x2="60.198" y2="39.9288" width="0.1524" layer="1"/>
<wire x1="59.7408" y1="40.9956" x2="60.198" y2="40.5384" width="0.1524" layer="1"/>
<wire x1="59.2836" y1="40.9956" x2="59.7408" y2="40.9956" width="0.1524" layer="1"/>
<wire x1="59.2836" y1="39.4716" x2="59.2074" y2="39.44" width="0.1524" layer="1"/>
<wire x1="59.2836" y1="40.9956" x2="59.2074" y2="41.04" width="0.1524" layer="1"/>
<wire x1="53.7972" y1="41.91" x2="49.11" y2="41.91" width="0.1524" layer="1"/>
<wire x1="54.5592" y1="42.672" x2="53.7972" y2="41.91" width="0.1524" layer="1"/>
<wire x1="54.5592" y1="42.672" x2="54.61" y2="42.76" width="0.1524" layer="1"/>
<wire x1="56.2356" y1="41.148" x2="59.1312" y2="41.148" width="0.1524" layer="1"/>
<wire x1="54.7116" y1="42.672" x2="56.2356" y2="41.148" width="0.1524" layer="1"/>
<wire x1="59.1312" y1="41.148" x2="59.2074" y2="41.04" width="0.1524" layer="1"/>
<wire x1="54.7116" y1="42.672" x2="54.61" y2="42.76" width="0.1524" layer="1"/>
<wire x1="58.5216" y1="35.814" x2="58.5216" y2="28.0416" width="0.1524" layer="1"/>
<wire x1="60.198" y1="37.4904" x2="58.5216" y2="35.814" width="0.1524" layer="1"/>
<wire x1="60.198" y1="39.0144" x2="60.198" y2="37.4904" width="0.1524" layer="1"/>
<wire x1="59.7408" y1="39.4716" x2="60.198" y2="39.0144" width="0.1524" layer="1"/>
<wire x1="58.5216" y1="28.0416" x2="58.42" y2="27.94" width="0.1524" layer="1"/>
<wire x1="59.7408" y1="39.4716" x2="59.2074" y2="39.44" width="0.1524" layer="1"/>
<wire x1="52.1208" y1="59.5884" x2="52.1208" y2="54.2544" width="0.1524" layer="1"/>
<wire x1="52.1208" y1="54.2544" x2="52.07" y2="54.19" width="0.1524" layer="1"/>
<wire x1="52.1208" y1="59.5884" x2="52.07" y2="59.69" width="0.1524" layer="1"/>
<wire x1="57.912" y1="48.3108" x2="61.2648" y2="48.3108" width="0.1524" layer="1"/>
<wire x1="57.15" y1="49.0728" x2="57.912" y2="48.3108" width="0.1524" layer="1"/>
<wire x1="61.2648" y1="48.3108" x2="61.38" y2="48.26" width="0.1524" layer="1"/>
<wire x1="61.4172" y1="52.578" x2="61.4172" y2="48.3108" width="0.1524" layer="1"/>
<wire x1="63.3984" y1="54.5592" x2="61.4172" y2="52.578" width="0.1524" layer="1"/>
<wire x1="61.4172" y1="48.3108" x2="61.38" y2="48.26" width="0.1524" layer="1"/>
<wire x1="63.3984" y1="54.5592" x2="63.5" y2="54.59" width="0.1524" layer="1"/>
<wire x1="82.1436" y1="59.5884" x2="82.4484" y2="59.5884" width="0.1524" layer="1"/>
<wire x1="77.5716" y1="55.0164" x2="82.1436" y2="59.5884" width="0.1524" layer="1"/>
<wire x1="63.8556" y1="55.0164" x2="77.5716" y2="55.0164" width="0.1524" layer="1"/>
<wire x1="63.5508" y1="54.7116" x2="63.8556" y2="55.0164" width="0.1524" layer="1"/>
<wire x1="82.4484" y1="59.5884" x2="82.55" y2="59.69" width="0.1524" layer="1"/>
<wire x1="63.5508" y1="54.7116" x2="63.5" y2="54.59" width="0.1524" layer="1"/>
<wire x1="57.15" y1="49.0728" x2="52.1208" y2="54.102" width="0.1524" layer="1"/>
<wire x1="52.1208" y1="54.102" x2="52.07" y2="54.19" width="0.1524" layer="1"/>
<wire x1="54.7116" y1="46.6344" x2="54.7116" y2="42.8244" width="0.1524" layer="1"/>
<wire x1="57.15" y1="49.0728" x2="54.7116" y2="46.6344" width="0.1524" layer="1"/>
<wire x1="54.7116" y1="42.8244" x2="54.61" y2="42.76" width="0.1524" layer="1"/>
<wire x1="57.15" y1="49.0728" x2="57.15" y2="49.11" width="0.1524" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="C9" pad="2"/>
<contactref element="Q2" pad="2"/>
<contactref element="U4" pad="7"/>
<wire x1="51.5112" y1="33.8328" x2="51.5112" y2="38.1" width="0.1524" layer="1"/>
<wire x1="50.7492" y1="33.0708" x2="51.5112" y2="33.8328" width="0.1524" layer="1"/>
<wire x1="51.5112" y1="38.1" x2="51.65" y2="38.1" width="0.1524" layer="1"/>
<wire x1="50.7492" y1="33.0708" x2="50.673" y2="33.02" width="0.1524" layer="1"/>
<wire x1="52.1208" y1="38.5572" x2="59.1312" y2="38.5572" width="0.1524" layer="1"/>
<wire x1="51.6636" y1="38.1" x2="52.1208" y2="38.5572" width="0.1524" layer="1"/>
<wire x1="59.1312" y1="38.5572" x2="59.2074" y2="38.64" width="0.1524" layer="1"/>
<wire x1="51.6636" y1="38.1" x2="51.65" y2="38.1" width="0.1524" layer="1"/>
</signal>
<signal name="N$9">
<contactref element="Q2" pad="1"/>
<contactref element="C10" pad="2"/>
<contactref element="U4" pad="8"/>
<wire x1="46.0248" y1="32.766" x2="46.0248" y2="31.5468" width="0.1524" layer="1"/>
<wire x1="46.0248" y1="31.5468" x2="46.0248" y2="26.67" width="0.1524" layer="1"/>
<wire x1="45.8724" y1="32.9184" x2="46.0248" y2="32.766" width="0.1524" layer="1"/>
<wire x1="46.0248" y1="26.67" x2="46.14" y2="26.67" width="0.1524" layer="1"/>
<wire x1="45.8724" y1="32.9184" x2="45.847" y2="33.02" width="0.1524" layer="1"/>
<wire x1="58.3692" y1="37.7952" x2="59.1312" y2="37.7952" width="0.1524" layer="1"/>
<wire x1="52.1208" y1="31.5468" x2="58.3692" y2="37.7952" width="0.1524" layer="1"/>
<wire x1="46.0248" y1="31.5468" x2="52.1208" y2="31.5468" width="0.1524" layer="1"/>
<wire x1="59.1312" y1="37.7952" x2="59.2074" y2="37.84" width="0.1524" layer="1"/>
</signal>
<signal name="N$10">
<contactref element="U4" pad="29"/>
<contactref element="R1" pad="1"/>
<wire x1="63.0936" y1="44.958" x2="63.0936" y2="48.1584" width="0.1524" layer="1"/>
<wire x1="63.0936" y1="48.1584" x2="63.08" y2="48.26" width="0.1524" layer="1"/>
<wire x1="63.0936" y1="44.958" x2="63.1" y2="44.9326" width="0.1524" layer="1"/>
</signal>
<signal name="SDA">
<contactref element="U4" pad="27"/>
<contactref element="U5" pad="P5"/>
<contactref element="R6" pad="1"/>
<wire x1="69.342" y1="47.3964" x2="68.4276" y2="47.3964" width="0.1524" layer="1"/>
<wire x1="71.4756" y1="49.53" x2="69.342" y2="47.3964" width="0.1524" layer="1"/>
<wire x1="68.4276" y1="47.3964" x2="68.41" y2="47.26" width="0.1524" layer="1"/>
<wire x1="71.4756" y1="49.53" x2="71.54" y2="49.53" width="0.1524" layer="1"/>
<wire x1="64.77" y1="45.5676" x2="64.77" y2="44.958" width="0.1524" layer="1"/>
<wire x1="65.8368" y1="46.6344" x2="64.77" y2="45.5676" width="0.1524" layer="1"/>
<wire x1="67.6656" y1="46.6344" x2="65.8368" y2="46.6344" width="0.1524" layer="1"/>
<wire x1="68.2752" y1="47.244" x2="67.6656" y2="46.6344" width="0.1524" layer="1"/>
<wire x1="64.77" y1="44.958" x2="64.7" y2="44.9326" width="0.1524" layer="1"/>
<wire x1="68.2752" y1="47.244" x2="68.41" y2="47.26" width="0.1524" layer="1"/>
</signal>
<signal name="SCL">
<contactref element="U4" pad="28"/>
<contactref element="U5" pad="P4"/>
<contactref element="R7" pad="1"/>
<wire x1="65.6844" y1="47.244" x2="66.1416" y2="47.244" width="0.1524" layer="1"/>
<wire x1="64.008" y1="45.5676" x2="65.6844" y2="47.244" width="0.1524" layer="1"/>
<wire x1="64.008" y1="44.958" x2="64.008" y2="45.5676" width="0.1524" layer="1"/>
<wire x1="66.1416" y1="47.244" x2="66.21" y2="47.26" width="0.1524" layer="1"/>
<wire x1="64.008" y1="44.958" x2="63.9" y2="44.9326" width="0.1524" layer="1"/>
<wire x1="68.4276" y1="45.72" x2="71.54" y2="45.72" width="0.1524" layer="1"/>
<wire x1="66.7512" y1="44.0436" x2="68.4276" y2="45.72" width="0.1524" layer="1"/>
<wire x1="64.3128" y1="44.0436" x2="66.7512" y2="44.0436" width="0.1524" layer="1"/>
<wire x1="64.008" y1="44.3484" x2="64.3128" y2="44.0436" width="0.1524" layer="1"/>
<wire x1="64.008" y1="44.8056" x2="64.008" y2="44.3484" width="0.1524" layer="1"/>
<wire x1="64.008" y1="44.8056" x2="63.9" y2="44.9326" width="0.1524" layer="1"/>
</signal>
<signal name="INT0">
<contactref element="U4" pad="32"/>
<contactref element="U3" pad="11"/>
<wire x1="79.5528" y1="39.3192" x2="76.3524" y2="39.3192" width="0.1524" layer="1"/>
<wire x1="81.8388" y1="37.0332" x2="79.5528" y2="39.3192" width="0.1524" layer="1"/>
<wire x1="83.6676" y1="37.0332" x2="81.8388" y2="37.0332" width="0.1524" layer="1"/>
<wire x1="83.82" y1="37.1856" x2="83.6676" y2="37.0332" width="0.1524" layer="1"/>
<wire x1="83.82" y1="39.0144" x2="83.82" y2="37.1856" width="0.1524" layer="1"/>
<wire x1="74.0664" y1="48.768" x2="83.82" y2="39.0144" width="0.1524" layer="1"/>
<wire x1="72.5424" y1="48.768" x2="74.0664" y2="48.768" width="0.1524" layer="1"/>
<wire x1="72.39" y1="48.9204" x2="72.5424" y2="48.768" width="0.1524" layer="1"/>
<wire x1="72.39" y1="50.1396" x2="72.39" y2="48.9204" width="0.1524" layer="1"/>
<wire x1="72.2376" y1="50.292" x2="72.39" y2="50.1396" width="0.1524" layer="1"/>
<wire x1="63.7032" y1="50.292" x2="72.2376" y2="50.292" width="0.1524" layer="1"/>
<wire x1="62.1792" y1="48.768" x2="63.7032" y2="50.292" width="0.1524" layer="1"/>
<wire x1="62.1792" y1="46.9392" x2="62.1792" y2="48.768" width="0.1524" layer="1"/>
<wire x1="60.8076" y1="45.5676" x2="62.1792" y2="46.9392" width="0.1524" layer="1"/>
<wire x1="60.8076" y1="44.958" x2="60.8076" y2="45.5676" width="0.1524" layer="1"/>
<wire x1="76.3524" y1="39.3192" x2="76.33" y2="39.37" width="0.1524" layer="1"/>
<wire x1="60.8076" y1="44.958" x2="60.7" y2="44.9326" width="0.1524" layer="1"/>
</signal>
<signal name="INT1">
<contactref element="U4" pad="1"/>
<contactref element="U3" pad="9"/>
<wire x1="75.8952" y1="38.4048" x2="76.2" y2="38.4048" width="0.1524" layer="1"/>
<wire x1="75.438" y1="38.862" x2="75.8952" y2="38.4048" width="0.1524" layer="1"/>
<wire x1="74.5236" y1="38.862" x2="75.438" y2="38.862" width="0.1524" layer="1"/>
<wire x1="72.8472" y1="40.5384" x2="74.5236" y2="38.862" width="0.1524" layer="16"/>
<wire x1="62.3316" y1="40.5384" x2="72.8472" y2="40.5384" width="0.1524" layer="16"/>
<wire x1="62.3316" y1="40.8432" x2="62.3316" y2="40.5384" width="0.1524" layer="1"/>
<wire x1="59.7408" y1="43.434" x2="62.3316" y2="40.8432" width="0.1524" layer="1"/>
<wire x1="59.2836" y1="43.434" x2="59.7408" y2="43.434" width="0.1524" layer="1"/>
<wire x1="76.2" y1="38.4048" x2="76.33" y2="38.37" width="0.1524" layer="1"/>
<wire x1="59.2836" y1="43.434" x2="59.2074" y2="43.44" width="0.1524" layer="1"/>
<via x="74.5236" y="38.862" extent="1-16" drill="0.35"/>
<via x="62.3316" y="40.5384" extent="1-16" drill="0.35"/>
</signal>
<signal name="DATA">
<contactref element="U4" pad="10"/>
<contactref element="U2" pad="2"/>
<contactref element="R2" pad="1"/>
<wire x1="57.15" y1="46.7868" x2="57.15" y2="47.41" width="0.1524" layer="1"/>
<wire x1="61.5696" y1="42.3672" x2="57.15" y2="46.7868" width="0.1524" layer="1"/>
<wire x1="61.5696" y1="42.2148" x2="61.5696" y2="42.3672" width="0.1524" layer="1"/>
<wire x1="62.9412" y1="40.8432" x2="61.5696" y2="42.2148" width="0.1524" layer="1"/>
<wire x1="62.9412" y1="38.2524" x2="62.9412" y2="40.8432" width="0.1524" layer="1"/>
<wire x1="61.5696" y1="36.8808" x2="62.9412" y2="38.2524" width="0.1524" layer="1"/>
<wire x1="61.5696" y1="36.4236" x2="61.5696" y2="36.8808" width="0.1524" layer="1"/>
<wire x1="61.5696" y1="36.4236" x2="61.5" y2="36.3474" width="0.1524" layer="1"/>
<wire x1="60.96" y1="35.3568" x2="60.96" y2="27.94" width="0.1524" layer="1"/>
<wire x1="61.4172" y1="35.814" x2="60.96" y2="35.3568" width="0.1524" layer="1"/>
<wire x1="61.4172" y1="36.2712" x2="61.4172" y2="35.814" width="0.1524" layer="1"/>
<wire x1="61.4172" y1="36.2712" x2="61.5" y2="36.3474" width="0.1524" layer="1"/>
</signal>
<signal name="CS">
<contactref element="U4" pad="14"/>
<contactref element="R5" pad="2"/>
<wire x1="73.6092" y1="32.6136" x2="75.7428" y2="30.48" width="0.1524" layer="1"/>
<wire x1="67.9704" y1="32.6136" x2="73.6092" y2="32.6136" width="0.1524" layer="1"/>
<wire x1="64.77" y1="35.814" x2="67.9704" y2="32.6136" width="0.1524" layer="1"/>
<wire x1="64.77" y1="36.2712" x2="64.77" y2="35.814" width="0.1524" layer="1"/>
<wire x1="75.7428" y1="30.48" x2="75.78" y2="30.48" width="0.1524" layer="1"/>
<wire x1="64.77" y1="36.2712" x2="64.7" y2="36.3474" width="0.1524" layer="1"/>
</signal>
<signal name="MOSI">
<contactref element="U4" pad="15"/>
<contactref element="R3" pad="2"/>
<wire x1="75.7428" y1="33.9852" x2="75.7428" y2="34.29" width="0.1524" layer="1"/>
<wire x1="74.676" y1="32.9184" x2="75.7428" y2="33.9852" width="0.1524" layer="1"/>
<wire x1="68.4276" y1="32.9184" x2="74.676" y2="32.9184" width="0.1524" layer="1"/>
<wire x1="65.532" y1="35.814" x2="68.4276" y2="32.9184" width="0.1524" layer="1"/>
<wire x1="65.532" y1="36.2712" x2="65.532" y2="35.814" width="0.1524" layer="1"/>
<wire x1="75.7428" y1="34.29" x2="75.78" y2="34.29" width="0.1524" layer="1"/>
<wire x1="65.532" y1="36.2712" x2="65.5" y2="36.3474" width="0.1524" layer="1"/>
</signal>
<signal name="MISO">
<contactref element="U4" pad="16"/>
<contactref element="U3" pad="7"/>
<wire x1="74.9808" y1="33.6804" x2="74.9808" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="74.5236" y1="33.2232" x2="74.9808" y2="33.6804" width="0.1524" layer="1"/>
<wire x1="68.58" y1="33.2232" x2="74.5236" y2="33.2232" width="0.1524" layer="1"/>
<wire x1="66.4464" y1="35.3568" x2="68.58" y2="33.2232" width="0.1524" layer="1"/>
<wire x1="66.4464" y1="36.2712" x2="66.4464" y2="35.3568" width="0.1524" layer="1"/>
<wire x1="74.9808" y1="37.9476" x2="74.93" y2="37.97" width="0.1524" layer="1"/>
<wire x1="66.4464" y1="36.2712" x2="66.3" y2="36.3474" width="0.1524" layer="1"/>
</signal>
<signal name="SCK">
<contactref element="U4" pad="17"/>
<contactref element="R4" pad="2"/>
<wire x1="68.8848" y1="36.7284" x2="68.8848" y2="34.29" width="0.1524" layer="1"/>
<wire x1="67.818" y1="37.7952" x2="68.8848" y2="36.7284" width="0.1524" layer="1"/>
<wire x1="68.8848" y1="34.29" x2="69" y2="34.29" width="0.1524" layer="1"/>
<wire x1="67.818" y1="37.7952" x2="67.7926" y2="37.84" width="0.1524" layer="1"/>
</signal>
<signal name="3V3">
<contactref element="C8" pad="1"/>
<contactref element="U3" pad="15"/>
<contactref element="U3" pad="14"/>
<contactref element="U3" pad="1"/>
<contactref element="C3" pad="1"/>
<contactref element="D1" pad="C"/>
<contactref element="D2" pad="C"/>
<contactref element="D3" pad="C"/>
<contactref element="U5" pad="P1"/>
<contactref element="R6" pad="2"/>
<contactref element="R7" pad="2"/>
<contactref element="U$1" pad="GND"/>
<contactref element="C7" pad="1"/>
<wire x1="87.1728" y1="41.91" x2="85.1916" y2="43.8912" width="0.1524" layer="1"/>
<wire x1="87.1728" y1="38.1" x2="87.1728" y2="41.91" width="0.1524" layer="1"/>
<wire x1="85.1916" y1="43.8912" x2="85.09" y2="44.03" width="0.1524" layer="1"/>
<wire x1="87.1728" y1="38.1" x2="87.24" y2="38.1" width="0.1524" layer="1"/>
<wire x1="87.3252" y1="38.1" x2="87.3252" y2="31.8516" width="0.1524" layer="1"/>
<wire x1="87.3252" y1="31.8516" x2="87.24" y2="31.75" width="0.1524" layer="1"/>
<wire x1="87.3252" y1="38.1" x2="87.24" y2="38.1" width="0.1524" layer="1"/>
<wire x1="87.3252" y1="31.6992" x2="93.5736" y2="25.4508" width="0.1524" layer="1"/>
<wire x1="93.5736" y1="25.4508" x2="93.59" y2="25.4" width="0.1524" layer="1"/>
<wire x1="87.3252" y1="31.6992" x2="87.24" y2="31.75" width="0.1524" layer="1"/>
<wire x1="73.152" y1="50.4444" x2="73.152" y2="49.53" width="0.1524" layer="1"/>
<wire x1="71.1708" y1="52.4256" x2="73.152" y2="50.4444" width="0.1524" layer="1"/>
<wire x1="73.152" y1="49.53" x2="73.24" y2="49.53" width="0.1524" layer="1"/>
<wire x1="71.1708" y1="52.4256" x2="71.12" y2="52.49" width="0.1524" layer="1"/>
<wire x1="73.914" y1="40.386" x2="73.6092" y2="40.386" width="0.1524" layer="1"/>
<wire x1="74.2188" y1="40.0812" x2="73.914" y2="40.386" width="0.1524" layer="1"/>
<wire x1="74.676" y1="40.0812" x2="74.2188" y2="40.0812" width="0.1524" layer="1"/>
<wire x1="74.8284" y1="40.2336" x2="74.676" y2="40.0812" width="0.1524" layer="1"/>
<wire x1="74.8284" y1="40.6908" x2="74.8284" y2="40.2336" width="0.1524" layer="1"/>
<wire x1="73.6092" y1="40.386" x2="73.53" y2="40.37" width="0.1524" layer="1"/>
<wire x1="74.8284" y1="40.6908" x2="74.93" y2="40.77" width="0.1524" layer="1"/>
<wire x1="74.9808" y1="40.8432" x2="75.438" y2="40.8432" width="0.1524" layer="1"/>
<wire x1="74.9808" y1="40.8432" x2="74.93" y2="40.77" width="0.1524" layer="1"/>
<wire x1="70.4088" y1="49.3776" x2="68.4276" y2="49.3776" width="0.1524" layer="1"/>
<wire x1="78.0288" y1="49.3776" x2="73.3044" y2="49.3776" width="0.1524" layer="16"/>
<wire x1="73.3044" y1="49.3776" x2="70.4088" y2="49.3776" width="0.1524" layer="16"/>
<wire x1="79.4004" y1="50.7492" x2="78.0288" y2="49.3776" width="0.1524" layer="16"/>
<wire x1="80.01" y1="50.7492" x2="79.5528" y2="50.7492" width="0.1524" layer="16"/>
<wire x1="79.5528" y1="50.7492" x2="79.4004" y2="50.7492" width="0.1524" layer="16"/>
<wire x1="68.4276" y1="49.3776" x2="68.41" y2="49.26" width="0.1524" layer="1"/>
<wire x1="80.01" y1="50.7492" x2="80.01" y2="50.78" width="0.1524" layer="16"/>
<wire x1="73.3044" y1="48.1584" x2="73.3044" y2="45.72" width="0.1524" layer="1"/>
<wire x1="73.3044" y1="49.3776" x2="73.3044" y2="48.1584" width="0.1524" layer="16"/>
<wire x1="73.3044" y1="45.72" x2="73.24" y2="45.72" width="0.1524" layer="1"/>
<wire x1="75.438" y1="42.9768" x2="75.438" y2="40.8432" width="0.1524" layer="1"/>
<wire x1="75.438" y1="46.0248" x2="75.438" y2="42.9768" width="0.1524" layer="16"/>
<wire x1="73.3044" y1="48.1584" x2="75.438" y2="46.0248" width="0.1524" layer="16"/>
<wire x1="75.438" y1="40.8432" x2="75.43" y2="40.77" width="0.1524" layer="1"/>
<wire x1="79.7052" y1="50.4444" x2="73.152" y2="50.4444" width="0.1524" layer="1"/>
<wire x1="80.01" y1="50.7492" x2="79.7052" y2="50.4444" width="0.1524" layer="1"/>
<wire x1="80.01" y1="50.7492" x2="80.01" y2="50.78" width="0.1524" layer="1"/>
<wire x1="80.01" y1="58.2168" x2="80.01" y2="59.69" width="0.1524" layer="16"/>
<wire x1="79.5528" y1="57.7596" x2="80.01" y2="58.2168" width="0.1524" layer="16"/>
<wire x1="79.5528" y1="50.7492" x2="79.5528" y2="57.7596" width="0.1524" layer="16"/>
<wire x1="79.5528" y1="50.7492" x2="80.01" y2="50.78" width="0.1524" layer="16"/>
<wire x1="85.0392" y1="45.1104" x2="85.0392" y2="44.0436" width="0.1524" layer="1"/>
<wire x1="79.7052" y1="50.4444" x2="85.0392" y2="45.1104" width="0.1524" layer="1"/>
<wire x1="85.0392" y1="44.0436" x2="85.09" y2="44.03" width="0.1524" layer="1"/>
<wire x1="79.7052" y1="50.4444" x2="80.01" y2="50.78" width="0.1524" layer="1"/>
<via x="70.4088" y="49.3776" extent="1-16" drill="0.35"/>
<via x="73.3044" y="48.1584" extent="1-16" drill="0.35"/>
<via x="75.438" y="42.9768" extent="1-16" drill="0.35"/>
</signal>
<signal name="N$27">
<contactref element="U3" pad="6"/>
<contactref element="R3" pad="1"/>
<contactref element="D1" pad="A"/>
<wire x1="74.3712" y1="34.4424" x2="74.3712" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="74.2188" y1="34.29" x2="74.3712" y2="34.4424" width="0.1524" layer="1"/>
<wire x1="74.3712" y1="37.9476" x2="74.43" y2="37.97" width="0.1524" layer="1"/>
<wire x1="74.2188" y1="34.29" x2="74.08" y2="34.29" width="0.1524" layer="1"/>
<wire x1="81.2292" y1="38.1" x2="82.94" y2="38.1" width="0.1524" layer="1"/>
<wire x1="75.7428" y1="43.5864" x2="81.2292" y2="38.1" width="0.1524" layer="1"/>
<wire x1="75.1332" y1="43.5864" x2="75.7428" y2="43.5864" width="0.1524" layer="1"/>
<wire x1="69.7992" y1="38.2524" x2="75.1332" y2="43.5864" width="0.1524" layer="1"/>
<wire x1="69.7992" y1="33.6804" x2="69.7992" y2="38.2524" width="0.1524" layer="1"/>
<wire x1="69.9516" y1="33.528" x2="69.7992" y2="33.6804" width="0.1524" layer="1"/>
<wire x1="73.3044" y1="33.528" x2="69.9516" y2="33.528" width="0.1524" layer="1"/>
<wire x1="74.0664" y1="34.29" x2="73.3044" y2="33.528" width="0.1524" layer="1"/>
<wire x1="74.0664" y1="34.29" x2="74.08" y2="34.29" width="0.1524" layer="1"/>
</signal>
<signal name="N$28">
<contactref element="U3" pad="4"/>
<contactref element="R4" pad="1"/>
<contactref element="D2" pad="A"/>
<wire x1="73.152" y1="38.862" x2="73.4568" y2="38.862" width="0.1524" layer="1"/>
<wire x1="70.7136" y1="36.4236" x2="72.5424" y2="38.2524" width="0.1524" layer="1"/>
<wire x1="72.5424" y1="38.2524" x2="73.152" y2="38.862" width="0.1524" layer="1"/>
<wire x1="70.7136" y1="34.29" x2="70.7136" y2="36.4236" width="0.1524" layer="1"/>
<wire x1="73.4568" y1="38.862" x2="73.53" y2="38.87" width="0.1524" layer="1"/>
<wire x1="70.7136" y1="34.29" x2="70.7" y2="34.29" width="0.1524" layer="1"/>
<wire x1="80.6196" y1="31.8516" x2="82.9056" y2="31.8516" width="0.1524" layer="1"/>
<wire x1="76.0476" y1="36.4236" x2="80.6196" y2="31.8516" width="0.1524" layer="1"/>
<wire x1="75.438" y1="37.0332" x2="76.0476" y2="36.4236" width="0.1524" layer="16"/>
<wire x1="73.7616" y1="37.0332" x2="75.438" y2="37.0332" width="0.1524" layer="16"/>
<wire x1="72.5424" y1="38.2524" x2="73.7616" y2="37.0332" width="0.1524" layer="1"/>
<wire x1="82.9056" y1="31.8516" x2="82.94" y2="31.75" width="0.1524" layer="1"/>
<via x="76.0476" y="36.4236" extent="1-16" drill="0.35"/>
<via x="73.7616" y="37.0332" extent="1-16" drill="0.35"/>
</signal>
<signal name="N$29">
<contactref element="U3" pad="8"/>
<contactref element="R5" pad="1"/>
<contactref element="D3" pad="A"/>
<wire x1="75.438" y1="36.1188" x2="75.438" y2="37.9476" width="0.1524" layer="1"/>
<wire x1="76.6572" y1="34.8996" x2="75.438" y2="36.1188" width="0.1524" layer="1"/>
<wire x1="76.6572" y1="29.8704" x2="76.6572" y2="34.8996" width="0.1524" layer="1"/>
<wire x1="76.5048" y1="29.718" x2="76.6572" y2="29.8704" width="0.1524" layer="1"/>
<wire x1="74.9808" y1="29.718" x2="76.5048" y2="29.718" width="0.1524" layer="1"/>
<wire x1="74.2188" y1="30.48" x2="74.9808" y2="29.718" width="0.1524" layer="1"/>
<wire x1="75.438" y1="37.9476" x2="75.43" y2="37.97" width="0.1524" layer="1"/>
<wire x1="74.2188" y1="30.48" x2="74.08" y2="30.48" width="0.1524" layer="1"/>
<wire x1="81.0768" y1="25.4508" x2="89.154" y2="25.4508" width="0.1524" layer="1"/>
<wire x1="76.6572" y1="29.8704" x2="81.0768" y2="25.4508" width="0.1524" layer="1"/>
<wire x1="89.154" y1="25.4508" x2="89.29" y2="25.4" width="0.1524" layer="1"/>
</signal>
<signal name="12V">
<contactref element="JP1" pad="2"/>
<contactref element="IC2" pad="1"/>
<contactref element="C1" pad="1"/>
<wire x1="29.1084" y1="48.1584" x2="35.5092" y2="48.1584" width="0.1524" layer="1"/>
<wire x1="28.0416" y1="47.0916" x2="29.1084" y2="48.1584" width="0.1524" layer="1"/>
<wire x1="35.5092" y1="48.1584" x2="35.56" y2="48.26" width="0.1524" layer="1"/>
<wire x1="28.0416" y1="47.0916" x2="27.92" y2="46.99" width="0.1524" layer="1"/>
<wire x1="35.6616" y1="48.3108" x2="46.9392" y2="59.5884" width="0.1524" layer="1"/>
<wire x1="46.9392" y1="59.5884" x2="46.99" y2="59.69" width="0.1524" layer="1"/>
<wire x1="35.6616" y1="48.3108" x2="35.56" y2="48.26" width="0.1524" layer="1"/>
</signal>
</signals>
<mfgpreviewcolors>
<mfgpreviewcolor name="soldermaskcolor" color="0xC8008000"/>
<mfgpreviewcolor name="silkscreencolor" color="0xFFFEFEFE"/>
<mfgpreviewcolor name="backgroundcolor" color="0xFF282828"/>
<mfgpreviewcolor name="coppercolor" color="0xFFFFBF00"/>
<mfgpreviewcolor name="substratecolor" color="0xFF786E46"/>
</mfgpreviewcolors>
<errors>
<approved hash="21,19,819a83988398819a"/>
<approved hash="21,19,6d43934391bf9140"/>
<approved hash="21,19,e7b8e544e5ba19b8"/>
<approved hash="21,19,f64bf449f449f64b"/>
<approved hash="21,19,4f14b3114d114feb"/>
<approved hash="21,19,27eddbef25ef2713"/>
<approved hash="21,19,f1ac0facf3aef051"/>
<approved hash="21,19,34d734d736d537d4"/>
</errors>
</board>
</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/master

extension: brd


text:
#ifndef _APDETACHMANAGER_H_
#define _APDETACHMANAGER_H_

#include <cocos2d.h>
#include <map>
#include <set>
#include <memory>
namespace arphomod {

enum class apDetachManagerType {
	TouchManager,
	HookActionManager,
	AnimationManager,
	AsyncTaskManager

};
/*
template<apDetachManagerType T>
class apDetachManagerT {
	using type = void*;
};

template<>
class apDetachManagerT<apDetachManagerType::TouchManager> {
	using type = APTouchManager;
	static std::set<cocos2d::Node*> nodes;
};

template<>
class apDetachManagerT<apDetachManagerType::HookActionManager> {
	using type = apHookActionManager;
};

template<>
class apDetachManagerT<apDetachManagerType::AnimationManager> {
	using type = apAnimationManager;
};

template<>
class apDetachManagerT<apDetachManagerType::AsyncTaskManager> {
	using type = apAsyncTaskManager;
};*/

class apDetachInterface;
class apDetachManager
{
public:
	apDetachManager();
	virtual ~apDetachManager();

	void addNode(cocos2d::Node* node);

	// Each Manager calls this method.
	void addNode(cocos2d::Node* node, apDetachManagerType t);

	// It calls when node on exit. ( setOnExitCallback )
	// order
	// 1. manager (derived from DetachInterface) -> detach();
	// 2. scheduler pauseTarget()
	// 3. actionManager pauseTarget()
	// 4. Erase from list.
	void detach(cocos2d::Node* node);
	void addScheduler(cocos2d::Scheduler* scheduler);
	void addActionManager(cocos2d::ActionManager* actionManager);
	static std::shared_ptr<apDetachManager> getInstance();

private:
	std::map<cocos2d::Node*, std::set<apDetachManagerType>> _detachList;
	std::map<apDetachManagerType, std::shared_ptr<apDetachInterface>> _managers;
	std::set<cocos2d::Scheduler*> _schedulers;
	std::set<cocos2d::ActionManager*> _actionManagers;
	static std::shared_ptr<apDetachManager> _sp;

};

class apDetachInterface {
public:
	virtual void detach(cocos2d::Node* node) = 0;
};
}
#endif

repository: EzKorry/Stoneman

repo_name: EzKorry/Stoneman

extension: h


text:
package main

import (
	"flag"
	"fmt"
	"log"
	"net/http"

	rsBot "rabbitsky/src/bot"
	rsChannel "rabbitsky/src/channel"
	rsHTTPHandler "rabbitsky/src/httphandler"
	rsWebSocket "rabbitsky/src/websocket"
)

func main() {
	/* Flag */
	serverPort := flag.Int("port", 8080, "Port the server will running on.")
	serverTick := flag.Int("tick", 10, "Server tick in Hz, more tick equal more bandwidth. Best to leave it default.")
	maxPlayers := flag.Int("max-players", 100, "Maximum Players in the server.")
	origin := flag.String("origin", "https://demo.rabbitsky.io", "Hostname of the website you will serve the Static HTML. Please do remember to insert http:// or https:// for this to works.")
	serverPassword := flag.String("admin-password", "", "Admin password to allow user to use admin command. Set on chat using '/admin [password]'. Leaving it empty will make command unusable.")
	limitPosMin := flag.String("limit-position-min", "0,0,0", "Position (X,Y,Z) Minimum that user allowed. If user position is less than this value, they will be disconnected.")
	limitPosMax := flag.String("limit-position-max", "4000,100,3000", "Position (X,Y,Z) Maximum that user allowed. If user position is more than this value, they will be disconnected.")
	addBots := flag.Int("add-bots", 0, "Spawn this number of bots to debug.")
	flag.Parse()

	/* Init WebSocket */
	webSocket, err := rsWebSocket.Init(*origin)
	if err != nil {
		log.Fatalln("[Error] Could not initialize WebSocket. Err: ", err)
	}

	/* Init Channel */
	channel, err := rsChannel.Init(*maxPlayers, *serverTick)
	if err != nil {
		log.Fatalln("[Error] Could not initialize WebSocket. Err: ", err)
	}

	/* Init Bot If Not 0 */
	go rsBot.AddBot(channel, *addBots, *serverTick)

	/* Init HTTP Handler */
	httpHandler, err := rsHTTPHandler.Init(channel, webSocket, *origin, *serverPassword, *limitPosMin, *limitPosMax)
	if err != nil {
		log.Fatalln("[Error] Could not initialize WebSocket. Err: ", err)
	}

	http.HandleFunc("/channel/players", httpHandler.GetChannelPlayers)
	http.HandleFunc("/channel/join", httpHandler.ChannelJoin)

	log.Println("Running on port", *serverPort)

	serverListen := fmt.Sprintf(":%d", *serverPort)
	log.Fatal(http.ListenAndServe(serverListen, nil))
}

repository: wahello/rabbitsky-server

repo_name: wahello/rabbitsky-server

extension: go


text:
import { timer, pipe, range, Observable } from "rxjs";
import { map, concat, filter, take } from "rxjs/operators";
import { bufferCount, concatMap, switchMap } from "rxjs/operators";
import outliers from "outliers";

import { whileOnline } from "../utils/whileOnline";
import { DeviceStatus } from "../types/status";

type Options = {
  getTimesync: () => Promise<number>;
  status$: Observable<DeviceStatus>;
  bufferSize?: number;
  updateInterval?: number;
};

const defaultOptions = {
  bufferSize: 100,
  updateInterval: 1 * 60 * 1000 // every minute
};

export class Timesync {
  options: Options;
  _offset: number = 0;

  constructor(options: Options) {
    this.options = {
      ...defaultOptions,
      ...options
    };

    this.start();
  }

  public start(): void {
    const { bufferSize, updateInterval, status$ } = this.options;

    const burst$ = range(0, bufferSize);
    const timer$ = timer(updateInterval, updateInterval).pipe(
      map((i) => bufferSize + i),
      whileOnline({
        status$,
        allowWhileOnSleepMode: true
      })
    );

    const firstTimeDeviceIsOnline$ = status$.pipe(
      filter((status: DeviceStatus) => status.state === "online"),
      take(1)
    );

    firstTimeDeviceIsOnline$
      .pipe(
        switchMap(() => {
          return burst$.pipe(
            concat(timer$),
            this.toOffset(),
            bufferCount(bufferSize, 1),
            this.filterOutliers(),
            map((list) => this.average(list))
          );
        })
      )
      .subscribe((offset) => {
        this._offset = offset;
      });
  }

  filterOutliers() {
    return pipe(
      map((offsets: number[]): number[] => {
        return offsets.filter(outliers());
      })
    );
  }

  toOffset() {
    const { getTimesync } = this.options;
    return pipe(
      concatMap(async () => {
        const requestStartTime = Date.now();
        const [error, serverTime] = await getTimesync()
          .then((offset) => [null, offset])
          .catch((error) => [error]);

        if (error) {
          return 0;
        }

        const responseEndTime = Date.now();
        const oneWayDuration = (responseEndTime - requestStartTime) / 2;
        const offset = responseEndTime - oneWayDuration - serverTime;
        return offset;
      })
    );
  }

  private average(list: number[]): number {
    return Math.round(
      list.reduce((acc, number) => acc + number) / list.length
    );
  }

  public get offset(): number {
    return this._offset;
  }

  public get timestamp(): number {
    return Date.now() + this._offset;
  }
}

repository: charliegerard/notion-js

repo_name: charliegerard/notion-js

gha_license_id: MIT

extension: ts


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="6.1">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting verticaltext="up"/>
</settings>
<grid distance="1" unitdist="mil" unit="mil" style="lines" multiple="1" display="yes" altdistance="0.025" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="yes"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="yes"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="yes"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="yes"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="29" name="tStop" color="7" fill="3" visible="yes" active="yes"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
<layer number="31" name="tCream" color="7" fill="4" visible="yes" active="yes"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
<layer number="45" name="Holes" color="7" fill="1" visible="yes" active="yes"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="yes"/>
<layer number="50" name="dxf" color="7" fill="1" visible="yes" active="yes"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
<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="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
<layer number="98" name="Guide" color="6" 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="yes" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
<layer number="103" name="fp3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="104" name="Name" color="7" fill="1" visible="yes" active="yes"/>
<layer number="105" name="Beschreib" color="9" fill="1" visible="yes" active="yes"/>
<layer number="106" name="BGA-Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="107" name="BD-Top" color="5" fill="1" visible="yes" active="yes"/>
<layer number="108" name="fp8" color="7" fill="1" visible="yes" active="yes"/>
<layer number="109" name="fp9" color="7" fill="1" visible="yes" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="yes" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="yes" active="yes"/>
<layer number="200" name="Logo" color="9" fill="1" visible="yes" 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="yes" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" 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="yes" active="yes"/>
</layers>
<board>
<plain>
<circle x="25" y="25" radius="25" width="0.1" layer="20"/>
<text x="23.114" y="46.482" size="0.4064" layer="1" font="vector">2014</text>
<text x="23.114" y="48.006" size="0.4064" layer="1" font="vector">LumiLabs</text>
<text x="23.114" y="47.244" size="0.4064" layer="1" font="vector">Lumy 1.0</text>
<rectangle x1="22.86" y1="46.228" x2="27.178" y2="48.768" layer="41"/>
<wire x1="19" y1="31" x2="19" y2="19" width="0.099821875" layer="20"/>
<wire x1="31" y1="19" x2="31" y2="31" width="0.099821875" layer="20"/>
<wire x1="19" y1="31" x2="22" y2="31" width="0.099821875" layer="20"/>
<wire x1="22" y1="31" x2="22" y2="34" width="0.099821875" layer="20"/>
<wire x1="22" y1="34" x2="28" y2="34" width="0.099821875" layer="20"/>
<wire x1="28" y1="34" x2="28" y2="31" width="0.099821875" layer="20"/>
<wire x1="28" y1="31" x2="31" y2="31" width="0.099821875" layer="20"/>
<circle x="25" y="25" radius="12" width="0.099821875" layer="21"/>
<wire x1="19" y1="19" x2="22" y2="19" width="0.099821875" layer="20"/>
<wire x1="22" y1="19" x2="22" y2="16" width="0.099821875" layer="20"/>
<wire x1="22" y1="16" x2="28" y2="16" width="0.099821875" layer="20"/>
<wire x1="28" y1="16" x2="28" y2="19" width="0.099821875" layer="20"/>
<wire x1="28" y1="19" x2="31" y2="19" width="0.099821875" layer="20"/>
<hole x="34" y="25" drill="2.2"/>
<hole x="16" y="25" drill="2.2"/>
<hole x="9" y="41" drill="3.2"/>
<hole x="41" y="9" drill="3.2"/>
<circle x="27.051" y="11.049" radius="0.127" width="0.254" layer="1"/>
<circle x="14.859" y="10.541" radius="0.127" width="0.254" layer="1"/>
<circle x="12.827" y="14.859" radius="0.127" width="0.254" layer="1"/>
<circle x="35.179" y="12.827" radius="0.127" width="0.254" layer="1"/>
<circle x="39.497" y="14.859" radius="0.127" width="0.254" layer="1"/>
<circle x="38.989" y="27.051" radius="0.127" width="0.254" layer="1"/>
<circle x="37.211" y="34.925" radius="0.127" width="0.254" layer="1"/>
<circle x="35.179" y="39.243" radius="0.127" width="0.254" layer="1"/>
<circle x="22.606" y="38.989" radius="0.127" width="0.254" layer="1"/>
<circle x="14.859" y="36.957" radius="0.127" width="0.254" layer="1"/>
<circle x="10.541" y="34.925" radius="0.127" width="0.254" layer="1"/>
<circle x="11.049" y="22.733" radius="0.127" width="0.254" layer="1"/>
</plain>
<libraries>
<library name="led">
<description>LEDs

<author>Created by librarian@cadsoft.de</author>

Extended by Federico Battaglin <author>&lt;federico.rd@fdpinternational.com&gt;</author> with DUOLED</description>
<packages>
<package name="CREE_XLAMP">
<description>Cree® XLamp® XP-E LEDs

Source: www.cree.com/xlamp .. XLampXP-E.pdf</description>
<wire x1="-1.65" y1="1.625" x2="1.625" y2="1.625" width="0.2032" layer="51"/>
<wire x1="1.625" y1="1.625" x2="1.625" y2="-1.625" width="0.2032" layer="51"/>
<wire x1="1.625" y1="-1.625" x2="-1.65" y2="-1.625" width="0.2032" layer="51"/>
<wire x1="-1.65" y1="-1.625" x2="-1.65" y2="1.625" width="0.2032" layer="51"/>
<wire x1="-1.525" y1="0" x2="-1.15" y2="0" width="0.1016" layer="51"/>
<wire x1="-1.325" y1="0.175" x2="-1.325" y2="-0.175" width="0.1016" layer="51"/>
<circle x="-1.25" y="-1.175" radius="0.225" width="0" layer="51"/>
<circle x="0" y="0" radius="1.25" width="0.2032" layer="51"/>
<smd name="A" x="-1.4" y="0" dx="0.5" dy="3.3" layer="1" cream="no"/>
<smd name="C" x="1.4" y="0" dx="0.5" dy="3.3" layer="1" cream="no"/>
<smd name="X" x="0" y="0" dx="1.3" dy="3.3" layer="1" cream="no"/>
<smd name="A@1" x="-1.825" y="0" dx="0.45" dy="0.5" layer="1" cream="no"/>
<smd name="C@1" x="1.825" y="0" dx="0.45" dy="0.5" layer="1" cream="no"/>
<rectangle x1="-0.6" y1="-1.6" x2="0.6" y2="1.6" layer="31"/>
<rectangle x1="-1.6" y1="-1.575" x2="-1.2" y2="1.6" layer="31"/>
<rectangle x1="-2" y1="-0.2" x2="-1.575" y2="0.2" layer="31"/>
<rectangle x1="1.2" y1="-1.6" x2="1.6" y2="1.575" layer="31" rot="R180"/>
<rectangle x1="1.575" y1="-0.2" x2="2" y2="0.2" layer="31" rot="R180"/>
</package>
</packages>
</library>
<library name="wirepad">
<description>Single Pads

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="SMD1,27-2,54">
<description>SMD PAD</description>
<smd name="1" x="0" y="0" dx="1.27" dy="2.54" layer="1"/>
<text x="0" y="0" size="0.0254" layer="27">>VALUE</text>
<text x="-0.8" y="-2.4" size="1.27" layer="25" rot="R90">>NAME</text>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules>
<description language="de">EAGLE Design Rules

Die Standard-Design-Rules sind so gewählt, dass sie für
die meisten Anwendungen passen. Sollte ihre Platine
besondere Anforderungen haben, treffen Sie die erforderlichen
Einstellungen hier und speichern die Design Rules unter
einem neuen Namen ab.</description>
<description language="en">EAGLE Design Rules

The default Design Rules have been set to cover
a wide range of applications. Your particular design
may have different requirements, so please make the
necessary adjustments and save your customized
design rules under a new name.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="8mil"/>
<param name="mdWirePad" value="8mil"/>
<param name="mdWireVia" value="8mil"/>
<param name="mdPadPad" value="8mil"/>
<param name="mdPadVia" value="8mil"/>
<param name="mdViaVia" value="8mil"/>
<param name="mdSmdPad" value="8mil"/>
<param name="mdSmdVia" value="8mil"/>
<param name="mdSmdSmd" value="8mil"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="10mil"/>
<param name="mdDrill" value="8mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="10mil"/>
<param name="msDrill" value="10mil"/>
<param name="msMicroVia" value="9.99mm"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="10mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="10mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="10mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="8mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="8mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="-1"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="4mil"/>
<param name="mlMaxStopFrame" value="4mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="0mil"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkGrid" value="0"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="1"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="50mil"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="|"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="-"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="cfExtdStep" value="10"/>
<param name="cfHugging" value="1"/>
<param name="mnExtdSteps" value="1"/>
<param name="mnRipupLevel" value="0"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
<param name="cfNonPref" value="0"/>
<param name="cfChangeDir" value="6"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="2"/>
<param name="cfMalusStep" value="2"/>
<param name="cfPadImpact" value="2"/>
<param name="cfSmdImpact" value="2"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
<param name="cfChangeDir" value="8"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
</pass>
<pass name="Optimize4" refer="Optimize3" active="yes">
<param name="cfChangeDir" value="25"/>
</pass>
</autorouter>
<elements>
<element name="LED1" library="led" package="CREE_XLAMP" value="XP-E-WHT" x="9.906" y="24.892" rot="R90"/>
<element name="LED2" library="led" package="CREE_XLAMP" value="XP-E-WHT" x="24.892" y="40.132"/>
<element name="LED4" library="led" package="CREE_XLAMP" value="XP-E-WHT" x="40.132" y="24.892" rot="R270"/>
<element name="LED5" library="led" package="CREE_XLAMP" value="XP-G-WWHT" x="17.018" y="38.1"/>
<element name="LED10" library="led" package="CREE_XLAMP" value="XP-E-AMB" x="38.354" y="17.018" rot="R90"/>
<element name="LED6" library="led" package="CREE_XLAMP" value="XP-G-WWHT" x="38.354" y="32.766" rot="R270"/>
<element name="LED7" library="led" package="CREE_XLAMP" value="XP-G-WWHT" x="33.02" y="11.684" rot="R180"/>
<element name="LED8" library="led" package="CREE_XLAMP" value="XP-G-WWHT" x="11.684" y="17.018" rot="R90"/>
<element name="LED9" library="led" package="CREE_XLAMP" value="XP-E-AMB" x="33.02" y="38.1" rot="R180"/>
<element name="LED11" library="led" package="CREE_XLAMP" value="XP-E-AMB" x="11.684" y="32.766" rot="R270"/>
<element name="LED12" library="led" package="CREE_XLAMP" value="XP-E-AMB" x="17.018" y="11.684"/>
<element name="LED3" library="led" package="CREE_XLAMP" value="XP-E-WHT" x="24.892" y="9.906" rot="R180"/>
<element name="PAD1" library="wirepad" package="SMD1,27-2,54" value="" x="45.212" y="22.352" smashed="yes" rot="R90">
<attribute name="VALUE" x="45.212" y="22.352" size="0.0254" layer="27" rot="R90"/>
</element>
<element name="PAD2" library="wirepad" package="SMD1,27-2,54" value="" x="45.212" y="27.432" smashed="yes" rot="R90">
<attribute name="VALUE" x="45.212" y="27.432" size="0.0254" layer="27" rot="R90"/>
</element>
<element name="PAD3" library="wirepad" package="SMD1,27-2,54" value="" x="4.826" y="27.432" smashed="yes" rot="R90">
<attribute name="VALUE" x="4.826" y="27.432" size="0.0254" layer="27" rot="R90"/>
</element>
<element name="PAD4" library="wirepad" package="SMD1,27-2,54" value="" x="4.826" y="22.352" smashed="yes" rot="R90">
<attribute name="VALUE" x="4.826" y="22.352" size="0.0254" layer="27" rot="R90"/>
</element>
<element name="PAD5" library="wirepad" package="SMD1,27-2,54" value="" x="27.432" y="4.826" smashed="yes" rot="R180">
<attribute name="VALUE" x="27.432" y="4.826" size="0.0254" layer="27" rot="R180"/>
</element>
<element name="PAD6" library="wirepad" package="SMD1,27-2,54" value="" x="22.352" y="4.826" smashed="yes">
<attribute name="VALUE" x="22.352" y="4.826" size="0.0254" layer="27"/>
</element>
</elements>
<signals>
<signal name="GND">
<polygon width="0.2032" layer="1">
<vertex x="0.254" y="25.146" curve="-90"/>
<vertex x="24.638" y="49.784"/>
<vertex x="25.4" y="49.784" curve="-90"/>
<vertex x="49.784" y="25.4"/>
<vertex x="49.784" y="24.638" curve="-90"/>
<vertex x="25.4" y="0.254"/>
<vertex x="24.892" y="0.254" curve="-90"/>
</polygon>
<wire x1="9.3218" y1="32.766" x2="14.3002" y2="32.766" width="1.27" layer="1"/>
<wire x1="8.382" y1="24.892" x2="12.573" y2="24.892" width="1.27" layer="1"/>
<wire x1="9.6266" y1="17.018" x2="13.7414" y2="17.018" width="1.27" layer="1"/>
<wire x1="36.322" y1="32.766" x2="40.4368" y2="32.766" width="1.27" layer="1"/>
<wire x1="37.8714" y1="24.892" x2="41.9862" y2="24.892" width="1.27" layer="1"/>
<wire x1="36.322" y1="17.018" x2="40.4876" y2="17.018" width="1.27" layer="1"/>
<wire x1="33.02" y1="9.5758" x2="33.0454" y2="13.6652" width="1.27" layer="1"/>
<wire x1="24.892" y1="7.874" x2="24.892" y2="12.0396" width="1.27" layer="1"/>
<wire x1="17.018" y1="9.6012" x2="17.018" y2="13.7668" width="1.27" layer="1"/>
<wire x1="17.018" y1="36.1442" x2="17.018" y2="40.3098" width="1.27" layer="1"/>
<wire x1="24.892" y1="37.6174" x2="24.892" y2="41.783" width="1.27" layer="1"/>
<wire x1="33.02" y1="35.8648" x2="33.02" y2="40.0304" width="1.27" layer="1"/>
</signal>
<signal name="N$2">
<contactref element="LED1" pad="C@1"/>
<contactref element="LED1" pad="C"/>
<contactref element="LED2" pad="A@1"/>
<contactref element="LED2" pad="A"/>
<wire x1="12.576" y1="26.292" x2="23.368" y2="37.084" width="0.6096" layer="1"/>
<wire x1="23.368" y1="37.084" x2="23.368" y2="40.005" width="0.6096" layer="1"/>
<wire x1="9.906" y1="26.292" x2="12.576" y2="26.292" width="0.6096" layer="1"/>
<wire x1="23.241" y1="40.005" x2="23.368" y2="40.005" width="0.4064" layer="1"/>
<wire x1="23.067" y1="40.132" x2="23.241" y2="40.132" width="0.4064" layer="1"/>
<wire x1="23.241" y1="40.132" x2="23.241" y2="40.005" width="0.4064" layer="1"/>
<wire x1="23.492" y1="40.132" x2="23.067" y2="40.132" width="0.4064" layer="1"/>
<wire x1="9.906" y1="26.292" x2="9.906" y2="26.717" width="0.4064" layer="1"/>
</signal>
<signal name="N$3">
<contactref element="LED2" pad="C@1"/>
<contactref element="LED2" pad="C"/>
<contactref element="LED4" pad="A@1"/>
<contactref element="LED4" pad="A"/>
<wire x1="26.292" y1="40.132" x2="26.292" y2="37.335" width="0.6096" layer="1"/>
<wire x1="26.292" y1="37.335" x2="37.338" y2="26.289" width="0.6096" layer="1"/>
<wire x1="37.338" y1="26.289" x2="40.129" y2="26.289" width="0.6096" layer="1"/>
<wire x1="40.129" y1="26.289" x2="40.132" y2="26.292" width="0.6096" layer="1"/>
<wire x1="26.292" y1="40.132" x2="26.717" y2="40.132" width="0.4064" layer="1"/>
<wire x1="40.132" y1="26.292" x2="40.132" y2="26.717" width="0.4064" layer="1"/>
</signal>
<signal name="N$4">
<contactref element="LED7" pad="C@1"/>
<contactref element="LED7" pad="C"/>
<contactref element="LED8" pad="A@1"/>
<contactref element="LED8" pad="A"/>
<wire x1="11.684" y1="15.193" x2="11.684" y2="10.922" width="0.6096" layer="1"/>
<wire x1="11.684" y1="10.922" x2="20.447" y2="2.159" width="0.6096" layer="1"/>
<wire x1="20.447" y1="2.159" x2="27.813" y2="2.159" width="0.6096" layer="1"/>
<wire x1="27.813" y1="2.159" x2="31.623" y2="5.969" width="0.6096" layer="1"/>
<wire x1="31.623" y1="5.969" x2="31.623" y2="11.681" width="0.6096" layer="1"/>
<wire x1="31.623" y1="11.681" x2="31.62" y2="11.684" width="0.6096" layer="1"/>
<wire x1="31.62" y1="11.684" x2="31.195" y2="11.684" width="0.4064" layer="1"/>
<wire x1="11.684" y1="15.193" x2="11.684" y2="15.618" width="0.6096" layer="1"/>
</signal>
<signal name="N$5">
<contactref element="LED6" pad="C@1"/>
<contactref element="LED6" pad="C"/>
<contactref element="LED7" pad="A@1"/>
<contactref element="LED7" pad="A"/>
<wire x1="38.354" y1="31.366" x2="46.098" y2="31.366" width="0.6096" layer="1"/>
<wire x1="46.098" y1="31.366" x2="46.101" y2="31.369" width="0.6096" layer="1"/>
<wire x1="48.768" y1="20.42" x2="40.132" y2="11.684" width="0.6096" layer="1"/>
<wire x1="40.132" y1="11.684" x2="34.845" y2="11.684" width="0.6096" layer="1"/>
<wire x1="34.845" y1="11.684" x2="34.798" y2="11.684" width="0.6096" layer="1"/>
<wire x1="48.768" y1="20.42" x2="48.768" y2="28.956" width="0.6096" layer="1"/>
<wire x1="48.768" y1="28.956" x2="46.358" y2="31.366" width="0.6096" layer="1"/>
<wire x1="46.358" y1="31.366" x2="46.098" y2="31.366" width="0.6096" layer="1"/>
<wire x1="34.845" y1="11.684" x2="34.42" y2="11.684" width="0.6096" layer="1"/>
<wire x1="38.354" y1="31.366" x2="38.354" y2="30.941" width="0.4064" layer="1"/>
</signal>
<signal name="N$6">
<contactref element="LED5" pad="C@1"/>
<contactref element="LED5" pad="C"/>
<contactref element="LED6" pad="A@1"/>
<contactref element="LED6" pad="A"/>
<wire x1="18.418" y1="38.1" x2="18.418" y2="40.897" width="0.6096" layer="1"/>
<wire x1="18.418" y1="40.897" x2="21.971" y2="44.45" width="0.6096" layer="1"/>
<wire x1="21.971" y1="44.45" x2="31.623" y2="44.45" width="0.6096" layer="1"/>
<wire x1="31.623" y1="44.45" x2="38.354" y2="37.719" width="0.6096" layer="1"/>
<wire x1="38.354" y1="37.719" x2="38.354" y2="34.591" width="0.6096" layer="1"/>
<wire x1="38.354" y1="34.591" x2="38.354" y2="34.166" width="0.6096" layer="1"/>
<wire x1="18.418" y1="38.1" x2="18.843" y2="38.1" width="0.4064" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="LED10" pad="C@1"/>
<contactref element="LED10" pad="C"/>
<contactref element="LED9" pad="A@1"/>
<contactref element="LED9" pad="A"/>
<wire x1="38.354" y1="18.418" x2="44.807" y2="18.418" width="0.6096" layer="1"/>
<wire x1="44.807" y1="18.418" x2="47.571" y2="21.182" width="0.6096" layer="1"/>
<wire x1="47.571" y1="21.182" x2="47.571" y2="28.321" width="0.6096" layer="1"/>
<wire x1="47.571" y1="28.321" x2="46.682" y2="29.21" width="0.6096" layer="1"/>
<wire x1="46.682" y1="29.21" x2="36.576" y2="29.21" width="0.6096" layer="1"/>
<wire x1="36.576" y1="29.21" x2="34.417" y2="31.369" width="0.6096" layer="1"/>
<wire x1="34.417" y1="31.369" x2="34.417" y2="38.097" width="0.6096" layer="1"/>
<wire x1="34.417" y1="38.097" x2="34.42" y2="38.1" width="0.6096" layer="1"/>
<wire x1="34.42" y1="38.1" x2="34.845" y2="38.1" width="0.4064" layer="1"/>
<wire x1="38.354" y1="18.418" x2="38.354" y2="18.843" width="0.4064" layer="1"/>
</signal>
<signal name="N$9">
<contactref element="LED9" pad="C@1"/>
<contactref element="LED9" pad="C"/>
<contactref element="LED11" pad="A@1"/>
<contactref element="LED11" pad="A"/>
<wire x1="11.684" y1="34.166" x2="11.808" y2="34.29" width="0.6096" layer="1"/>
<wire x1="11.808" y1="34.29" x2="18.542" y2="34.29" width="0.6096" layer="1"/>
<wire x1="18.542" y1="34.29" x2="21.717" y2="37.465" width="0.6096" layer="1"/>
<wire x1="21.717" y1="37.465" x2="21.717" y2="41.656" width="0.6096" layer="1"/>
<wire x1="21.717" y1="41.656" x2="22.987" y2="42.926" width="0.6096" layer="1"/>
<wire x1="22.987" y1="42.926" x2="28.956" y2="42.926" width="0.6096" layer="1"/>
<wire x1="28.956" y1="42.926" x2="31.623" y2="40.259" width="0.6096" layer="1"/>
<wire x1="31.623" y1="40.259" x2="31.623" y2="38.227" width="0.6096" layer="1"/>
<wire x1="31.623" y1="38.227" x2="31.496" y2="38.1" width="0.6096" layer="1"/>
<wire x1="31.623" y1="38.227" x2="31.62" y2="38.227" width="0.6096" layer="1"/>
<wire x1="31.62" y1="38.227" x2="31.62" y2="38.1" width="0.6096" layer="1"/>
<wire x1="11.808" y1="34.29" x2="11.684" y2="34.29" width="0.4064" layer="1"/>
<wire x1="11.684" y1="34.29" x2="11.684" y2="34.591" width="0.4064" layer="1"/>
<wire x1="31.496" y1="38.1" x2="31.195" y2="38.1" width="0.4064" layer="1"/>
</signal>
<signal name="N$10">
<contactref element="LED11" pad="C@1"/>
<contactref element="LED11" pad="C"/>
<contactref element="LED12" pad="A@1"/>
<contactref element="LED12" pad="A"/>
<wire x1="15.618" y1="11.684" x2="15.618" y2="18.218" width="0.6096" layer="1"/>
<wire x1="15.618" y1="18.218" x2="12.192" y2="21.644" width="0.6096" layer="1"/>
<wire x1="12.192" y1="21.644" x2="8.255" y2="21.644" width="0.6096" layer="1"/>
<wire x1="8.255" y1="21.644" x2="7.239" y2="22.76" width="0.6096" layer="1"/>
<wire x1="7.239" y1="22.76" x2="7.239" y2="29.21" width="0.6096" layer="1"/>
<wire x1="7.239" y1="29.21" x2="9.398" y2="31.369" width="0.6096" layer="1"/>
<wire x1="9.398" y1="31.369" x2="11.681" y2="31.369" width="0.6096" layer="1"/>
<wire x1="11.681" y1="31.369" x2="11.684" y2="31.366" width="0.6096" layer="1"/>
<wire x1="15.618" y1="11.684" x2="15.193" y2="11.684" width="0.4064" layer="1"/>
<wire x1="11.684" y1="31.366" x2="11.684" y2="30.941" width="0.4064" layer="1"/>
</signal>
<signal name="N$1">
<contactref element="LED1" pad="A@1"/>
<contactref element="LED1" pad="A"/>
<contactref element="LED3" pad="C@1"/>
<contactref element="LED3" pad="C"/>
<wire x1="9.906" y1="23.067" x2="9.906" y2="23.492" width="0.4064" layer="1"/>
<wire x1="23.492" y1="9.906" x2="23.492" y2="12.83" width="0.6096" layer="1"/>
<wire x1="23.492" y1="12.83" x2="12.83" y2="23.492" width="0.6096" layer="1"/>
<wire x1="9.906" y1="23.492" x2="12.83" y2="23.492" width="0.6096" layer="1"/>
<wire x1="23.492" y1="9.906" x2="23.067" y2="9.906" width="0.4064" layer="1"/>
</signal>
<signal name="N$7">
<contactref element="LED3" pad="A@1"/>
<contactref element="LED3" pad="A"/>
<contactref element="PAD1" pad="1"/>
<wire x1="45.212" y1="22.352" x2="43.307" y2="22.352" width="0.6096" layer="1"/>
<wire x1="43.307" y1="22.352" x2="42.926" y2="21.971" width="0.6096" layer="1"/>
<wire x1="42.926" y1="21.971" x2="35.433" y2="21.971" width="0.6096" layer="1"/>
<wire x1="35.433" y1="21.971" x2="26.289" y2="12.827" width="0.6096" layer="1"/>
<wire x1="26.289" y1="12.827" x2="26.289" y2="9.909" width="0.6096" layer="1"/>
<wire x1="26.289" y1="9.909" x2="26.292" y2="9.906" width="0.6096" layer="1"/>
<wire x1="26.289" y1="9.909" x2="26.717" y2="9.909" width="0.4064" layer="1"/>
<wire x1="26.717" y1="9.909" x2="26.717" y2="9.906" width="0.4064" layer="1"/>
</signal>
<signal name="N$11">
<contactref element="LED4" pad="C@1"/>
<contactref element="LED4" pad="C"/>
<contactref element="PAD2" pad="1"/>
<wire x1="40.132" y1="23.492" x2="42.288" y2="23.492" width="0.6096" layer="1"/>
<wire x1="42.288" y1="23.492" x2="45.212" y2="26.416" width="0.6096" layer="1"/>
<wire x1="45.212" y1="26.416" x2="45.212" y2="27.432" width="0.6096" layer="1"/>
<wire x1="40.132" y1="23.492" x2="40.132" y2="23.067" width="0.4064" layer="1"/>
</signal>
<signal name="N$12">
<contactref element="LED5" pad="A@1"/>
<contactref element="LED5" pad="A"/>
<contactref element="PAD3" pad="1"/>
<wire x1="4.826" y1="27.432" x2="4.826" y2="30.607" width="0.6096" layer="1"/>
<wire x1="4.826" y1="30.607" x2="12.319" y2="38.1" width="0.6096" layer="1"/>
<wire x1="12.319" y1="38.1" x2="15.193" y2="38.1" width="0.6096" layer="1"/>
<wire x1="15.193" y1="38.1" x2="15.5194" y2="38.1" width="0.6096" layer="1"/>
<wire x1="15.618" y1="38.1" x2="15.193" y2="38.1" width="0.4064" layer="1"/>
</signal>
<signal name="N$13">
<contactref element="LED8" pad="C@1"/>
<contactref element="LED8" pad="C"/>
<contactref element="PAD4" pad="1"/>
<wire x1="4.826" y1="22.352" x2="4.826" y2="21.463" width="0.6096" layer="1"/>
<wire x1="4.826" y1="21.463" x2="7.874" y2="18.415" width="0.6096" layer="1"/>
<wire x1="7.874" y1="18.415" x2="11.681" y2="18.415" width="0.6096" layer="1"/>
<wire x1="11.681" y1="18.415" x2="11.684" y2="18.418" width="0.6096" layer="1"/>
<wire x1="11.684" y1="18.418" x2="11.684" y2="18.843" width="0.4064" layer="1"/>
</signal>
<signal name="N$14">
<contactref element="LED10" pad="A@1"/>
<contactref element="LED10" pad="A"/>
<contactref element="PAD5" pad="1"/>
<wire x1="27.432" y1="4.826" x2="27.432" y2="7.366" width="0.6096" layer="1"/>
<wire x1="27.432" y1="7.366" x2="28.956" y2="8.89" width="0.6096" layer="1"/>
<wire x1="28.956" y1="8.89" x2="28.956" y2="12.7" width="0.6096" layer="1"/>
<wire x1="28.956" y1="12.7" x2="31.874" y2="15.618" width="0.6096" layer="1"/>
<wire x1="38.354" y1="15.618" x2="31.874" y2="15.618" width="0.6096" layer="1"/>
<wire x1="38.354" y1="15.618" x2="38.354" y2="15.193" width="0.4064" layer="1"/>
</signal>
<signal name="N$15">
<contactref element="LED12" pad="C@1"/>
<contactref element="LED12" pad="C"/>
<contactref element="PAD6" pad="1"/>
<wire x1="18.418" y1="11.684" x2="18.418" y2="7.744" width="0.6096" layer="1"/>
<wire x1="18.418" y1="7.744" x2="21.336" y2="4.826" width="0.6096" layer="1"/>
<wire x1="21.336" y1="4.826" x2="22.352" y2="4.826" width="0.6096" layer="1"/>
<wire x1="18.418" y1="11.684" x2="18.843" y2="11.684" width="0.4064" layer="1"/>
</signal>
<signal name="N$16">
</signal>
<signal name="N$17">
</signal>
<signal name="N$18">
</signal>
<signal name="N$19">
<wire x1="4.826" y1="26.416" x2="4.826" y2="25.654" width="0.3048" layer="1"/>
</signal>
<signal name="N$20">
</signal>
<signal name="N$21">
<wire x1="4.445" y1="26.035" x2="5.207" y2="26.035" width="0.3048" layer="1"/>
</signal>
<signal name="N$22">
<wire x1="45.212" y1="23.368" x2="45.212" y2="24.13" width="0.3048" layer="1"/>
</signal>
<signal name="N$23">
<wire x1="44.831" y1="23.749" x2="45.593" y2="23.749" width="0.3048" layer="1"/>
</signal>
<signal name="N$24">
<wire x1="26.416" y1="4.826" x2="25.654" y2="4.826" width="0.3048" layer="1"/>
</signal>
<signal name="N$25">
<wire x1="26.035" y1="5.207" x2="26.035" y2="4.445" width="0.3048" layer="1"/>
</signal>
</signals>
</board>
</drawing>
</eagle>

repository: eptecon/Lumy

repo_name: eptecon/Lumy


text:
import { Body, Controller, Get, Param, ParseIntPipe, Post, Put, Query, UseGuards, UseInterceptors } from '@nestjs/common';
import { ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { SCOPES } from 'src/common/auth/scopes';
import { AuditInterceptor } from 'src/common/interceptor/audit.interceptor';
import { TransformInterceptor } from 'src/common/interceptor/transform.interceptor';
import { parseQueryObj } from 'src/common/utils/query-parser';
import { AuthObj } from '../auth/constants';
import { Role } from '../auth/decorator/role.decorator';
import { GetUser } from '../auth/decorator/user.decorator';
import { JwtAuthGuard } from '../auth/guards/jwt-auth.guard';
import { RoleGuard } from '../auth/guards/role.guard';
import { ROLE_NAMES } from '../role/constants';
import { DocumentService } from './document.service';
import { CreateDocumentDto } from './dto/create-document.dto';
import { DocumentQueryFiltersArray, DocumentQueryFiltersDto } from './dto/document-query-filters.dto';
import { UpdateDocumentDto } from './dto/update-document.dto';

@ApiTags('Document')
@ApiBearerAuth('JWT')
@UseGuards(JwtAuthGuard, RoleGuard)
@UseInterceptors(AuditInterceptor, TransformInterceptor)
@Controller('document')
export class DocumentController {
  constructor(
    private readonly docService: DocumentService,
  ) {}

  @Post()
  @Role(SCOPES.WRITE_DOCUMENT)
  async create(
    @Body() newDocument: CreateDocumentDto,
    @GetUser('user_id') user_id: number,
  ) {
    newDocument.created_by_id = user_id;
    return this.docService.create(newDocument);
  }

  @Get()
  @Role(SCOPES.READ_DOCUMENT)
  async findAll(
    @Query() query: DocumentQueryFiltersDto,
    @GetUser() authObj: AuthObj
  ) {

    const { user_id, role_name } = authObj;

    if (role_name == ROLE_NAMES.customer || role_name == ROLE_NAMES.realtor)
      query.customer_id = user_id;

    query = parseQueryObj(query, DocumentQueryFiltersArray);

    return this.docService.findAll(query);
  }

  @Role(SCOPES.READ_DOCUMENT)
  @Get(':id')
  async findOne( @Param('id', ParseIntPipe) id: number ) {
    return this.docService.findById(id);
  }

  @Post('send/:id')
  @Role(SCOPES.WRITE_DOCUMENT)
  async sendDocument( @Param('id', ParseIntPipe) id: number ) {
    return this.docService.sendDocument(id);
  }

  @Role(SCOPES.MODIFY_DOCUMENT)
  @Put(':id')
  async updateDocument(
    @Body() newUpdate: UpdateDocumentDto,
    @GetUser('user_id') user_id: number,
    @Param('id', ParseIntPipe) id: number
  ) {
    newUpdate.updated_by_id = user_id;
    return await this.docService.update(id, newUpdate);
  }
}

repository: Abraham-hanks/Magscollectivity

repo_name: Abraham-hanks/Magscollectivity


text:
DESCRIPTION = "Gstreamer plugin for TI Davinci and OMAP processors"

require ti-paths.inc

inherit autotools

DEPENDS = "ti-dmai gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly"

# Fetch source from svn repo
SRCREV = "407"
SRC_URI = "svn://gforge.ti.com/svn/gstreamer_ti/trunk;module=gstreamer_ti;proto=https;user=anonymous;pswd='' \
           file://gstreamer-ti-tracker-462.patch;patch=1 \
           file://gstreamer-ti-remove-mp3-decode-support-from-auddec1.patch;patch=1 \
"

SRC_URI_append_armv7a = " \
           file://gstreamer-ti-add-omapfb.patch;patch=1 \
"

# Again, no '.' in PWD allowed :(
PR = "r37"
PV = "svnr${SRCREV}"

S = "${WORKDIR}/gstreamer_ti/ti_build/ticodecplugin"

XDC_TARGET  				= gnu.targets.arm.GCArmv5T
XDC_PLATFORM_dm355-evm 		= ti.platforms.evmDM355
XDC_PLATFORM_dm6446-evm 	= ti.platforms.evmDM6446
XDC_PLATFORM_da830-omapl137-evm 	= ti.platforms.omapl137
PLATFORM_XDC				= ${XDC_PLATFORM}

export XDC_TARGET
export XDC_PLATFORM
export PLATFORM_XDC

PLATFORM_dm355-evm 			= "dm355"
PLATFORM_dm6446-evm 		= "dm6446"
PLATFORM_da830-omapl137-evm = "ol137"

CPPFLAGS_append 			= " -DPlatform_${PLATFORM}"

PACKAGE_ARCH = "${MACHINE_ARCH}"

# export codec combo (or server) locations
export HMJCP_COMBO  = "${installdir}/codec-combo/hmjcp.accel"
export CODEC_SERVER = "${installdir}/codec-combo/cs.x64P"
export ENCODE_COMBO = "${installdir}/codec-combo/encodeCombo.x64P"
export DECODE_COMBO = "${installdir}/codec-combo/decodeCombo.x64P"

do_install_prepend () {
	# install gstreamer demo scripts
	install -d ${D}/${installdir}/gst
	cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/shared ${D}/${installdir}/gst
	cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/${PLATFORM} ${D}/${installdir}/gst

	# default loadmodule script is hard-coded for insmod, change to modprobe
	sed -i 's/insmod/modprobe/g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
	sed -i 's/.ko//g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
	if [ "${PLATFORM}" = "omap3530" ]; then
		echo "modprobe sdmak" >> ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh
	fi
	chmod 0755 ${D}/${installdir}/gst -R
}

pkg_postinst_gstreamer-ti-demo-script () {
	ln -sf ${installdir}/codec-combo/* ${installdir}/gst/${PLATFORM}/
}

PACKAGES += "gstreamer-ti-demo-script"
FILES_gstreamer-ti-demo-script = "${installdir}/gst/*"
RDEPENDS_gstreamer-ti-demo-script = "gstreamer-ti"

RDEPENDS_${PN} = " \
gst-plugins-base-meta \
gst-plugins-good-meta \
gst-plugins-bad-meta \
gst-plugins-ugly-meta \
ti-dmai-apps"

FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.a ${libdir}/gstreamer-0.10/*.la"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"

extension: bb


text:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace ResFreeImage.UI {

    [System.Serializable]
    public struct BoundRect
    {
        public float top;
        public float right;
        public float bottom;
        public float left;

        public BoundRect(float t, float r, float b, float l) {
            top = t;
            right = r;
            bottom = b;
            left = l;
        }

        public float GetWidth() {
            return right - left;
        }

        public float GetHeight() {
            return top - bottom;
        }

        public float GetAspectRatio() {
            return (right - left) / (top - bottom);
        }
    }
}

repository: Pentan/ResolutionFreeImage-Unity

repo_name: Pentan/ResolutionFreeImage-Unity

extension: cs


text:
DESCRIPTION = "Open-source Embedded GUI Library"
HOMEPAGE = "https://littlevgl.com/"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

# DEPENDS = ""

SRC_URI = " \
	git://github.com/littlevgl/lvgl.git;name=lvgl;protocol=https;destsuffix=git/lvgl \
	git://github.com/littlevgl/lv_drivers.git;name=lvdrivers;protocol=https;destsuffix=git/lv_drivers \
	\
	file://CMakeLists.txt;subdir=git/ \
	file://lv_drv_conf.h;subdir=git/ \
	file://lv_conf.h;subdir=git/ \
"
SRCREV_lvgl = "4139cd619bbfed1b2295f8175e9fb710f9abb8af"
SRCREV_lvdrivers = "a688824dfea92e14001600767b60765950db0136"

S = "${WORKDIR}/git"

inherit cmake

# We build only static library (needed to include in SDK)
ALLOW_EMPTY_${PN} = "1"

BBCLASSEXTEND = "native nativesdk"


text:
set (PLIBSYS_THREAD_MODEL win)
set (PLIBSYS_IPC_MODEL win)
set (PLIBSYS_TIME_PROFILER_MODEL win)
set (PLIBSYS_DIR_MODEL win)
set (PLIBSYS_LIBRARYLOADER_MODEL win)

set (PLIBSYS_PLATFORM_LINK_LIBRARIES ws2_32)

repository: saprykin/plibsys

repo_name: saprykin/plibsys

gha_language: C

extension: cmake