text:
035903125" width="0.254" layer="16"/>
<wire x1="2.717903125" y1="7.035903125" x2="3.302" y2="7.62" width="0.254" layer="16"/>
<wire x1="3.302" y1="7.62" x2="3.302" y2="8.89" width="0.254" layer="16"/>
<wire x1="-6.37103125" y1="-8.3173875" x2="-6.4146125" y2="-8.3173875" width="0.254" layer="16"/>
<wire x1="-6.4146125" y1="-8.3173875" x2="-7.112" y2="-7.62" width="0.254" layer="16"/>
<via x="-7.112" y="-7.62" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-7.112" y1="-7.62" x2="-8.128" y2="-7.62" width="0.254" layer="1"/>
<wire x1="-8.128" y1="-7.62" x2="-9.398" y2="-8.89" width="0.254" layer="1"/>
<via x="-1.27" y="-6.858" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-1.27" y1="-6.858" x2="-1.27" y2="-7.889" width="0.254" layer="1"/>
<wire x1="-1.27" y1="-7.889" x2="-1.258" y2="-7.901" width="0.254" layer="1"/>
<wire x1="-1.258" y1="-6.846" x2="-1.27" y2="-6.858" width="0.254" layer="1"/>
<wire x1="-1.35016875" y1="-6.77783125" x2="-1.27" y2="-6.858" width="0.254" layer="16"/>
<wire x1="-2.435278125" y1="-23.230271875" x2="-2.435278125" y2="-21.739278125" width="0.254" layer="16"/>
<wire x1="-2.435278125" y1="-21.739278125" x2="-1.524" y2="-20.828" width="0.254" layer="16"/>
<via x="-1.524" y="-20.828" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-1.524" y1="-20.828" x2="0.747" y2="-20.828" width="0.254" layer="1"/>
<wire x1="0.747" y1="-20.828" x2="1.509" y2="-21.59" width="0.254" layer="1"/>
<wire x1="-1.772228125" y1="5.449365625" x2="-3.694634375" y2="5.449365625" width="0.254" layer="16"/>
<wire x1="-3.694634375" y1="5.449365625" x2="-4.572" y2="4.572" width="0.254" layer="16"/>
<via x="-4.572" y="4.572" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-4.572" y1="4.572" x2="-5.222" y2="4.572" width="0.254" layer="1"/>
<wire x1="-5.222" y1="4.572" x2="-6.365" y2="5.715" width="0.254" layer="1"/>
<wire x1="-1.2567" y1="3.0138" x2="-1.2567" y2="0.2673" width="0.254" layer="1"/>
<wire x1="-1.2567" y1="0.2673" x2="-1.778" y2="-0.254" width="0.254" layer="1"/>
<via x="-1.778" y="-0.254" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-1.778" y1="-0.254" x2="-5.842" y2="-0.254" width="0.254" layer="16"/>
<wire x1="-5.842" y1="-0.254" x2="-7.112" y2="1.016" width="0.254" layer="16"/>
<wire x1="-7.112" y1="1.016" x2="-7.112" y2="1.524" width="0.254" layer="16"/>
<via x="-7.112" y="1.524" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-7.112" y1="1.524" x2="-4.572" y2="4.064" width="0.254" layer="1"/>
<wire x1="-4.572" y1="4.064" x2="-4.572" y2="4.572" width="0.254" layer="1"/>
<wire x1="3.302" y1="8.89" x2="1.27" y2="8.89" width="0.254" layer="16"/>
<wire x1="1.27" y1="8.89" x2="-1.27" y2="11.43" width="0.254" layer="16"/>
<via x="-1.27" y="11.43" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-1.27" y1="11.43" x2="-6.35" y2="11.43" width="0.254" layer="1"/>
<wire x1="-6.35" y1="11.43" x2="-7.62" y2="12.7" width="0.254" layer="1"/>
<wire x1="-7.62" y1="12.7" x2="-7.62" y2="16.4023375" width="0.254" layer="1"/>
<wire x1="-7.62" y1="16.4023375" x2="-7.84628125" y2="16.62861875" width="0.254" layer="1"/>
<wire x1="7.82343125" y1="-11.534721875" x2="7.82343125" y2="-11.63343125" width="0.254" layer="16"/>
<wire x1="7.82343125" y1="-11.63343125" x2="8.89" y2="-12.7" width="0.254" layer="16"/>
<wire x1="8.89" y1="-12.7" x2="8.89" y2="-17.134759375" width="0.254" layer="16"/>
<wire x1="8.89" y1="-17.134759375" x2="8.362246875" y2="-17.6625125" width="0.254" layer="16"/>
<wire x1="-8.23" y1="-10.7" x2="-8.83" y2="-10.1" width="0.254" layer="1"/>
<wire x1="-8.83" y1="-10.1" x2="-9.5" y2="-9.43" width="0.254" layer="1"/>
<wire x1="-1.778" y1="-0.254" x2="-2.54" y2="-0.254" width="0.254" layer="16"/>
<wire x1="-2.54" y1="-0.254" x2="-4.064" y2="-1.778" width="0.254" layer="16"/>
<via x="-4.064" y="-1.778" extent="1-16" drill="0.254"/>
<wire x1="-4.064" y1="-1.778" x2="-6.35" y2="-4.064" width="0.254" layer="1"/>
<wire x1="-6.35" y1="-4.064" x2="-6.35" y2="-6.858" width="0.254" layer="1"/>
<wire x1="-6.35" y1="-6.858" x2="-7.112" y2="-7.62" width="0.254" layer="1"/>
<contactref element="C8" pad="2"/>
<wire x1="6.858" y1="-19.05" x2="5.40191875" y2="-19.05" width="0.254" layer="16"/>
<wire x1="5.40191875" y1="-19.05" x2="4.478959375" y2="-18.127040625" width="0.254" layer="16"/>
<wire x1="4.478959375" y1="-18.127040625" x2="4.478959375" y2="-18.381040625" width="0.254" layer="16"/>
<wire x1="4.478959375" y1="-18.381040625" x2="3.81" y2="-19.05" width="0.254" layer="16"/>
<wire x1="3.81" y1="-19.05" x2="3.048" y2="-19.05" width="0.254" layer="16"/>
<wire x1="3.592103125" y1="-13.97" x2="3.592103125" y2="-15.030659375" width="0.254" layer="16"/>
<wire x1="3.592103125" y1="-15.030659375" x2="4.10475625" y2="-15.5433125" width="0.254" layer="16"/>
<contactref element="C13" pad="2"/>
<contactref element="C14" pad="2"/>
<wire x1="-0.9730125" y1="-24.8490125" x2="-0.9730125" y2="-24.6925375" width="0.254" layer="16"/>
<wire x1="-0.9730125" y1="-24.6925375" x2="-2.435278125" y2="-23.230271875" width="0.254" layer="16"/>
<wire x1="-1.258" y1="-7.901" x2="-1.258" y2="-8.609" width="0.254" layer="1"/>
<wire x1="-1.258" y1="-8.609" x2="-1.231" y2="-8.636" width="0.254" layer="1"/>
<wire x1="-0.496" y1="-5.434" x2="-0.496" y2="-6.084" width="0.254" layer="1"/>
<wire x1="-0.496" y1="-6.084" x2="-1.27" y2="-6.858" width="0.254" layer="1"/>
<wire x1="-2.255671875" y1="-7.04459375" x2="-1.45659375" y2="-7.04459375" width="0.254" layer="16"/>
<wire x1="-1.45659375" y1="-7.04459375" x2="-1.27" y2="-6.858" width="0.254" layer="16"/>
<wire x1="-0.1970625" y1="-8.01690625" x2="0.713515625" y2="-8.01690625" width="0.254" layer="16"/>
<wire x1="0.713515625" y1="-8.01690625" x2="1.896465625" y2="-9.19985625" width="0.254" layer="16"/>
<wire x1="-0.1970625" y1="-8.01690625" x2="-0.1970625" y2="-7.9309375" width="0.254" layer="16"/>
<wire x1="-0.1970625" y1="-7.9309375" x2="-1.27" y2="-6.858" width="0.254" layer="16"/>
<wire x1="-3.295" y1="-10.7" x2="-8.23" y2="-10.7" width="0.254" layer="1"/>
<wire x1="-3.6925125" y1="-19.616953125" x2="-3.6925125" y2="-14.5954875" width="0.254" layer="16"/>
<wire x1="-3.6925125" y1="-14.5954875" x2="-5.842" y2="-12.446" width="0.254" layer="16"/>
<via x="-5.842" y="-12.446" extent="1-16" drill="0.254"/>
<wire x1="-5.842" y1="-12.446" x2="-6.484" y2="-12.446" width="0.254" layer="1"/>
<wire x1="-6.484" y1="-12.446" x2="-8.23" y2="-10.7" width="0.254" layer="1"/>
<wire x1="-4.949746875" y1="-20.874190625" x2="-4.949746875" y2="-20.8741875" width="0.254" layer="16"/>
<wire x1="-4.949746875" y1="-20.8741875" x2="-3.6925125" y2="-19.616953125" width="0.254" layer="16"/>
</signal>
<signal name="N$1">
<contactref element="U$5" pad="-"/>
<contactref element="U$4" pad="3"/>
<contactref element="D2" pad="1"/>
<wire x1="-26.319" y1="-2.159" x2="-31.623" y2="-2.159" width="0.254" layer="1"/>
<wire x1="-25.461" y1="1.313" x2="-25.461" y2="-1.301" width="0.254" layer="1"/>
<wire x1="-25.461" y1="-1.301" x2="-26.319" y2="-2.159" width="0.254" layer="1"/>
</signal>
<signal name="N$5">
<contactref element="U$7" pad="-"/>
<contactref element="U$6" pad="3"/>
<contactref element="D3" pad="1"/>
<wire x1="1.905" y1="-26.573" x2="1.905" y2="-31.623" width="0.254" layer="1"/>
<wire x1="-1.567" y1="-25.715" x2="1.047" y2="-25.715" width="0.254" layer="1"/>
<wire x1="1.047" y1="-25.715" x2="1.905" y2="-26.573" width="0.254" layer="1"/>
</signal>
<signal name="N$7">
<contactref element="U$9" pad="-"/>
<contactref element="U$8" pad="3"/>
<contactref element="D4" pad="1"/>
<wire x1="26.192" y1="2.286" x2="26.192" y2="-0.963" width="0.254" layer="1"/>
<wire x1="26.192" y1="-0.963" x2="25.461" y2="-1.694" width="0.254" layer="1"/>
<wire x1="26.192" y1="2.286" x2="31.496" y2="2.286" width="0.254" layer="1"/>
<wire x1="31.496" y1="2.286" x2="31.75" y2="2.032" width="0.254" layer="1"/>
</signal>
<signal name="MOTOR/PC8">
<contactref element="U$2" pad="1"/>
<contactref element="R1" pad="2"/>
<contactref element="U$11" pad="4"/>
<wire x1="-3.571" y1="21.717" x2="-3.571" y2="23.523" width="0.254" layer="1"/>
<wire x1="-3.571" y1="23.523" x2="-4.021" y2="23.973" width="0.254" layer="1"/>
<wire x1="-9.5" y1="2.57" x2="-14.508" y2="2.57" width="0.254" layer="1"/>
<wire x1="-15.494" y1="3.556" x2="-15.494" y2="8.382" width="0.254" layer="1"/>
<wire x1="-15.494" y1="8.382" x2="-11.938" y2="11.938" width="0.254" layer="1"/>
<wire x1="-11.938" y1="11.938" x2="-9.398" y2="11.938" width="0.254" layer="1"/>
<via x="-9.398" y="11.938" extent="1-16" drill="0.254"/>
<wire x1="-9.398" y1="11.938" x2="-3.556" y2="17.78" width="0.254" layer="16"/>
<wire x1="-3.556" y1="17.78" x2="-3.556" y2="19.05" width="0.254" layer="16"/>
<via x="-3.556" y="19.05" extent="1-16" drill="0.254"/>
<wire x1="-3.556" y1="19.05" x2="-3.556" y2="21.702" width="0.254" layer="1"/>
<wire x1="-3.556" y1="21.702" x2="-3.571" y2="21.717" width="0.254" layer="1"/>
<wire x1="-14.508" y1="2.57" x2="-15.494" y2="3.556" width="0.254" layer="1"/>
</signal>
<signal name="RESET">
<contactref element="U$11" pad="5"/>
<contactref element="U$14" pad="P$28"/>
<wire x1="-12.5" y1="0.57" x2="-6.796" y2="0.57" width="0.254" layer="1"/>
<wire x1="-6.796" y1="0.57" x2="-4.318" y2="3.048" width="0.254" layer="1"/>
<via x="-4.318" y="3.048" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-4.318" y1="3.048" x2="-2.014884375" y2="3.048" width="0.254" layer="16"/>
<wire x1="3.61319375" y1="-0.040078125" x2="3.596078125" y2="-0.040078125" width="0.254" layer="16"/>
<wire x1="3.596078125" y1="-0.040078125" x2="3.048" y2="0.508" width="0.254" layer="16"/>
<wire x1="3.048" y1="0.508" x2="0.525115625" y2="0.508" width="0.254" layer="16"/>
<wire x1="0.525115625" y1="0.508" x2="-2.014884375" y2="3.048" width="0.254" layer="16"/>
</signal>
<signal name="SDA/PB7">
<contactref element="U$11" pad="6"/>
<contactref element="U1" pad="24"/>
<wire x1="-2.0816" y1="3.8133" x2="-2.0816" y2="2.9984" width="0.254" layer="1"/>
<wire x1="-2.0816" y1="2.9984" x2="-6.604" y2="-1.524" width="0.254" layer="1"/>
<wire x1="-6.604" y1="-1.524" x2="-9.406" y2="-1.524" width="0.254" layer="1"/>
<wire x1="-9.406" y1="-1.524" x2="-9.5" y2="-1.43" width="0.254" layer="1"/>
</signal>
<signal name="INT/PA4">
<contactref element="U$11" pad="8"/>
<contactref element="U1" pad="12"/>
<wire x1="-9.5" y1="-5.43" x2="-9.494" y2="-5.43" width="0.254" layer="1"/>
<wire x1="-9.494" y1="-5.43" x2="-5.08" y2="-1.016" width="0.254" layer="1"/>
<wire x1="2.1383" y1="6.35" x2="2.1216" y2="6.3667" width="0.254" layer="1"/>
<wire x1="-1.524" y1="-1.016" x2="-5.08" y2="-1.016" width="0.254" layer="1"/>
<wire x1="2.1383" y1="6.35" x2="4.572" y2="6.35" width="0.254" layer="1"/>
<wire x1="4.572" y1="6.35" x2="5.08" y2="6.858" width="0.254" layer="1"/>
<via x="5.08" y="6.858" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="5.08" y1="6.858" x2="6.096" y2="6.858" width="0.254" layer="16"/>
<wire x1="6.096" y1="6.858" x2="6.604" y2="6.35" width="0.254" layer="16"/>
<wire x1="6.604" y1="6.35" x2="6.604" y2="5.08" width="0.254" layer="16"/>
<wire x1="6.604" y1="5.08" x2="5.334" y2="3.81" width="0.254" layer="16"/>
<via x="5.334" y="3.81" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="5.334" y1="3.81" x2="4.572" y2="3.81" width="0.254" layer="1"/>
<wire x1="4.572" y1="3.81" x2="2.032" y2="1.27" width="0.254" layer="1"/>
<via x="2.032" y="1.27" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="2.032" y1="1.27" x2="1.27" y2="1.778" width="0.254" layer="16"/>
<via x="0.508" y="1.778" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="0.508" y1="1.778" x2="-0.762" y2="1.27" width="0.254" layer="1"/>
<wire x1="-0.762" y1="1.27" x2="-0.762" y2="-0.254" width="0.254" layer="1"/>
<wire x1="-0.762" y1="-0.254" x2="-1.524" y2="-1.016" width="0.254" layer="1"/>
<wire x1="1.27" y1="1.778" x2="0.508" y2="1.778" width="0.254" layer="16"/>
</signal>
<signal name="MOTOR/PC9">
<contactref element="U$4" pad="1"/>
<contactref element="R2" pad="2"/>
<contactref element="U$11" pad="9"/>
<wire x1="-21.336" y1="-2.809" x2="-17.121" y2="-2.809" width="0.254" layer="1"/>
<wire x1="-17.121" y1="-2.809" x2="-12.5" y2="-7.43" width="0.254" layer="1"/>
<wire x1="-21.336" y1="-2.809" x2="-23.269" y2="-2.809" width="0.254" layer="1"/>
<wire x1="-23.269" y1="-2.809" x2="-23.719" y2="-3.259" width="0.254" layer="1"/>
</signal>
<signal name="PC5">
<contactref element="U$11" pad="20"/>
</signal>
<signal name="PA5">
<contactref element="U$11" pad="18"/>
</signal>
<signal name="INT/PC0">
<contactref element="U$11" pad="15"/>
<contactref element="U$1" pad="15"/>
<wire x1="12.5" y1="-1.43" x2="12.5" y2="-2.74" width="0.254" layer="1"/>
<wire x1="12.5" y1="-2.74" x2="10.414" y2="-4.826" width="0.254" layer="1"/>
<wire x1="10.414" y1="-4.826" x2="3.556" y2="-4.826" width="0.254" layer="1"/>
<wire x1="3.556" y1="-4.826" x2="2.54" y2="-3.81" width="0.254" layer="1"/>
<wire x1="2.54" y1="-3.81" x2="1.628" y2="-3.81" width="0.254" layer="1"/>
<wire x1="1.628" y1="-3.81" x2="1.624" y2="-3.814" width="0.254" layer="1"/>
</signal>
<signal name="N$11">
<contactref element="U$11" pad="14"/>
</signal>
<signal name="PC12">
<contactref element="U$11" pad="13"/>
</signal>
<signal name="PA11">
<contactref element="U$11" pad="12"/>
<contactref element="U$14" pad="P$23"/>
<wire x1="1.845428125" y1="-1.80784375" x2="1.80784375" y2="-1.80784375" width="0.254" layer="16"/>
<wire x1="1.80784375" y1="-1.80784375" x2="1.524" y2="-1.524" width="0.254" layer="16"/>
<wire x1="-0.254" y1="-2.286" x2="-0.254" y2="-3.302" width="0.254" layer="16"/>
<wire x1="-0.254" y1="-3.302" x2="3.81" y2="-7.366" width="0.254" layer="16"/>
<via x="3.81" y="-7.366" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="3.81" y1="-7.366" x2="9.436" y2="-7.366" width="0.254" layer="1"/>
<wire x1="9.436" y1="-7.366" x2="9.5" y2="-7.43" width="0.254" layer="1"/>
<wire x1="1.524" y1="-1.524" x2="0.508" y2="-1.524" width="0.254" layer="16"/>
<wire x1="0.508" y1="-1.524" x2="-0.254" y2="-2.286" width="0.254" layer="16"/>
</signal>
<signal name="PC4">
<contactref element="U$11" pad="11"/>
</signal>
<signal name="N$6">
<contactref element="U1" pad="11"/>
</signal>
<signal name="N$9">
<contactref element="U1" pad="10"/>
<contactref element="C4" pad="2"/>
<wire x1="2.1216" y1="5.3575" x2="4.6605" y2="5.3575" width="0.254" layer="1"/>
<wire x1="4.6605" y1="5.3575" x2="4.684" y2="5.334" width="0.254" layer="1"/>
</signal>
<signal name="N$12">
<contactref element="U1" pad="20"/>
<contactref element="C3" pad="1"/>
<wire x1="-2.0816" y1="5.8596" x2="-4.9204" y2="5.8596" width="0.254" layer="1"/>
<wire x1="-4.9204" y1="5.8596" x2="-5.065" y2="5.715" width="0.254" layer="1"/>
</signal>
<signal name="N$3">
<contactref element="U1" pad="22"/>
</signal>
<signal name="N$4">
<contactref element="U1" pad="7"/>
<contactref element="U$1" pad="1"/>
<contactref element="R6" pad="1"/>
<wire x1="2.1216" y1="3.8133" x2="2.0353" y2="3.8133" width="0.254" layer="1"/>
<wire x1="2.0353" y1="3.8133" x2="1.778" y2="3.556" width="0.254" layer="1"/>
<wire x1="1.778" y1="3.556" x2="1.778" y2="2.54" width="0.254" layer="1"/>
<wire x1="1.778" y1="2.54" x2="2.032" y2="2.286" width="0.254" layer="1"/>
<via x="2.032" y="2.286" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="2.032" y1="2.286" x2="2.286" y2="2.286" width="0.254" layer="16"/>
<wire x1="2.286" y1="2.286" x2="3.302" y2="1.27" width="0.254" layer="16"/>
<via x="3.302" y="1.27" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="3.302" y1="1.27" x2="4.318" y2="0.254" width="0.254" layer="1"/>
<wire x1="4.318" y1="0.254" x2="4.318" y2="-0.904" width="0.254" layer="1"/>
<wire x1="4.318" y1="-0.904" x2="4.43" y2="-1.016" width="0.254" layer="1"/>
<wire x1="1.004" y1="-2.694" x2="1.004" y2="-2.02" width="0.254" layer="1"/>
<wire x1="1.004" y1="-2.02" x2="0.508" y2="-1.524" width="0.254" layer="1"/>
<wire x1="0.508" y1="-1.524" x2="-0.508" y2="-1.524" width="0.254" layer="1"/>
<wire x1="-0.508" y1="-1.524" x2="-1.524" y2="-2.54" width="0.254" layer="1"/>
<wire x1="-1.524" y1="-2.54" x2="-3.556" y2="-2.54" width="0.254" layer="1"/>
<wire x1="-3.556" y1="-2.54" x2="-4.826" y2="-3.81" width="0.254" layer="1"/>
<wire x1="-4.826" y1="-3.81" x2="-4.826" y2="-9.144" width="0.254" layer="1"/>
<wire x1="-4.826" y1="-9.144" x2="-4.318" y2="-9.652" width="0.254" layer="1"/>
<via x="-4.318" y="-9.652" extent="1-16" drill="0.254"/>
<wire x1="-4.318" y1="-9.652" x2="-4.318" y2="-11.43" width="0.254" layer="16"/>
<wire x1="-4.318" y1="-11.43" x2="-3.556" y2="-12.192" width="0.254" layer="16"/>
<via x="-3.556" y="-12.192" extent="1-16" drill="0.254"/>
<wire x1="-3.556" y1="-12.192" x2="2.032" y2="-12.192" width="0.254" layer="1"/>
<wire x1="2.032" y1="-12.192" x2="3.048" y2="-13.208" width="0.254" layer="1"/>
<wire x1="3.048" y1="-13.208" x2="12.7" y2="-13.208" width="0.254" layer="1"/>
<wire x1="12.7" y1="-13.208" x2="14.478" y2="-11.43" width="0.254" layer="1"/>
<via x="14.478" y="-11.43" extent="1-16" drill="0.254"/>
<wire x1="14.478" y1="-11.43" x2="14.478" y2="2.54" width="0.254" layer="16"/>
<wire x1="14.478" y1="2.54" x2="11.938" y2="5.08" width="0.254" layer="16"/>
<via x="11.938" y="5.08" extent="1-16" drill="0.254"/>
<wire x1="11.938" y1="5.08" x2="10.922" y2="6.096" width="0.254" layer="1"/>
<wire x1="10.922" y1="6.096" x2="8.89" y2="6.096" width="0.254" layer="1"/>
<wire x1="8.89" y1="6.096" x2="7.874" y2="5.08" width="0.254" layer="1"/>
<wire x1="7.874" y1="5.08" x2="7.874" y2="3.81" width="0.254" layer="1"/>
<wire x1="7.874" y1="3.81" x2="6.604" y2="2.54" width="0.254" layer="1"/>
<via x="6.604" y="2.54" extent="1-16" drill="0.254"/>
<via x="5.08" y="1.524" extent="1-16" drill="0.254"/>
<wire x1="6.604" y1="2.54" x2="6.604" y2="2.032" width="0.254" layer="16"/>
<wire x1="6.604" y1="2.032" x2="6.096" y2="1.524" width="0.254" layer="16"/>
<wire x1="6.096" y1="1.524" x2="5.08" y2="1.524" width="0.254" layer="16"/>
<wire x1="5.08" y1="1.524" x2="3.556" y2="1.524" width="0.254" layer="1"/>
<wire x1="3.556" y1="1.524" x2="3.302" y2="1.27" width="0.254" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="U1" pad="6"/>
<contactref element="U$1" pad="16"/>
<contactref element="R7" pad="1"/>
<wire x1="4.43" y1="-3.302" x2="1.636" y2="-3.302" width="0.254" layer="1"/>
<wire x1="1.636" y1="-3.302" x2="1.624" y2="-3.314" width="0.254" layer="1"/>
<wire x1="1.2967" y1="3.0138" x2="1.2967" y2="-0.1687" width="0.254" layer="1"/>
<wire x1="1.2967" y1="-0.1687" x2="4.43" y2="-3.302" width="0.254" layer="1"/>
</signal>
<signal name="N$16">
<contactref element="U$1" pad="10"/>
<contactref element="C12" pad="1"/>
<wire x1="0.469" y1="-8.636" x2="0.469" y2="-6.819" width="0.254" layer="1"/>
<wire x1="0.469" y1="-6.819" x2="0" y2="-6.35" width="0.254" layer="1"/>
<wire x1="0" y1="-6.35" x2="0" y2="-5.438" width="0.254" layer="1"/>
<wire x1="0" y1="-5.438" x2="0.004" y2="-5.434" width="0.254" layer="1"/>
</signal>
<signal name="N$13">
<contactref element="C11" pad="1"/>
<contactref element="U$1" pad="12"/>
<wire x1="-2.794" y1="-4.968" x2="-2.794" y2="-5.588" width="0.254" layer="1"/>
<via x="-1.778" y="-5.842" extent="1-16" drill="0.254" diameter="0.254"/>
<via x="2.794" y="-7.366" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="1.524" y1="-5.334" x2="1.104" y2="-5.334" width="0.254" layer="1"/>
<wire x1="1.104" y1="-5.334" x2="1.004" y2="-5.434" width="0.254" layer="1"/>
<wire x1="1.524" y1="-5.334" x2="2.794" y2="-6.604" width="0.254" layer="1"/>
<wire x1="2.794" y1="-6.604" x2="2.794" y2="-7.366" width="0.254" layer="1"/>
<wire x1="-0.762" y1="-5.842" x2="0.762" y2="-7.366" width="0.254" layer="16"/>
<wire x1="0.762" y1="-7.366" x2="1.27" y2="-7.366" width="0.254" layer="16"/>
<wire x1="1.27" y1="-7.366" x2="2.032" y2="-8.128" width="0.254" layer="16"/>
<wire x1="2.032" y1="-8.128" x2="2.54" y2="-8.128" width="0.254" layer="16"/>
<wire x1="2.54" y1="-8.128" x2="2.794" y2="-7.874" width="0.254" layer="16"/>
<wire x1="2.794" y1="-7.874" x2="2.794" y2="-7.366" width="0.254" layer="16"/>
<wire x1="-2.794" y1="-5.588" x2="-2.54" y2="-5.842" width="0.254" layer="1"/>
<wire x1="-2.54" y1="-5.842" x2="-1.778" y2="-5.842" width="0.254" layer="1"/>
<wire x1="-0.762" y1="-5.842" x2="-1.778" y2="-5.842" width="0.254" layer="16"/>
</signal>
<signal name="N$14">
<contactref element="U$1" pad="8"/>
<contactref element="C11" pad="2"/>
<wire x1="-2.794" y1="-3.668" x2="-2.428" y2="-3.668" width="0.254" layer="1"/>
<wire x1="-2.428" y1="-3.668" x2="-2.032" y2="-4.064" width="0.254" layer="1"/>
<wire x1="-2.032" y1="-4.064" x2="-2.032" y2="-4.572" width="0.254" layer="1"/>
<wire x1="-2.032" y1="-4.572" x2="-1.778" y2="-4.826" width="0.254" layer="1"/>
<wire x1="-1.778" y1="-4.826" x2="-1.128" y2="-4.826" width="0.254" layer="1"/>
<wire x1="-1.128" y1="-4.826" x2="-1.116" y2="-4.814" width="0.254" layer="1"/>
</signal>
<signal name="MOTOR/PA7">
<contactref element="U$8" pad="1"/>
<contactref element="R4" pad="2"/>
<contactref element="U$11" pad="19"/>
<wire x1="21.336" y1="2.936" x2="16.134" y2="2.936" width="0.254" layer="1"/>
<wire x1="16.134" y1="2.936" x2="12.5" y2="6.57" width="0.254" layer="1"/>
<wire x1="21.336" y1="2.936" x2="23.142" y2="2.936" width="0.254" layer="1"/>
<wire x1="23.142" y1="2.936" x2="23.592" y2="3.386" width="0.254" layer="1"/>
</signal>
<signal name="MOTOR/PA6">
<contactref element="U$6" pad="1"/>
<contactref element="R3" pad="2"/>
<contactref element="U$11" pad="17"/>
<wire x1="12.5" y1="2.57" x2="13.94" y2="2.57" width="0.254" layer="1"/>
<wire x1="13.94" y1="2.57" x2="15.24" y2="1.27" width="0.254" layer="1"/>
<wire x1="15.24" y1="-12.7" x2="6.35" y2="-21.59" width="0.254" layer="1"/>
<wire x1="6.35" y1="-21.59" x2="2.809" y2="-21.59" width="0.254" layer="1"/>
<wire x1="15.24" y1="1.27" x2="15.24" y2="0" width="0.254" layer="1"/>
<via x="15.24" y="0" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="15.24" y1="0" x2="15.24" y2="-2.54" width="0.254" layer="16"/>
<via x="15.24" y="-2.54" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="15.24" y1="-2.54" x2="15.24" y2="-12.7" width="0.254" layer="1"/>
<wire x1="2.809" y1="-21.59" x2="2.809" y2="-23.777" width="0.254" layer="1"/>
<wire x1="2.809" y1="-23.777" x2="3.005" y2="-23.973" width="0.254" layer="1"/>
</signal>
<signal name="N$18">
<contactref element="U$13" pad="12"/>
<contactref element="R8" pad="2"/>
<wire x1="3.079453125" y1="-12.396684375" x2="3.079453125" y2="-10.953453125" width="0.254" layer="16"/>
<wire x1="3.079453125" y1="-10.953453125" x2="3.048" y2="-10.922" width="0.254" layer="16"/>
<via x="3.048" y="-10.922" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="3.048" y1="-10.922" x2="3.048" y2="-9.398" width="0.254" layer="1"/>
<wire x1="3.048" y1="-9.398" x2="4.064" y2="-8.382" width="0.254" layer="1"/>
<via x="4.064" y="-8.382" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="4.064" y1="-8.382" x2="4.67070625" y2="-8.382" width="0.254" layer="16"/>
<wire x1="4.67070625" y1="-8.382" x2="5.129353125" y2="-8.840646875" width="0.254" layer="16"/>
</signal>
<signal name="N$19">
<contactref element="U$13" pad="14"/>
<contactref element="R9" pad="2"/>
<wire x1="6.206984375" y1="-9.918278125" x2="6.206984375" y2="-11.001565625" width="0.254" layer="16"/>
<wire x1="6.206984375" y1="-11.001565625" x2="4.458309375" y2="-12.750240625" width="0.254" layer="16"/>
</signal>
<signal name="N$20">
<contactref element="U$13" pad="16"/>
<contactref element="R10" pad="2"/>
<wire x1="5.16541875" y1="-13.457346875" x2="5.90080625" y2="-13.457346875" width="0.254" layer="16"/>
<wire x1="5.90080625" y1="-13.457346875" x2="6.904190625" y2="-12.4539625" width="0.254" layer="16"/>
</signal>
<signal name="N$21">
<contactref element="U$13" pad="1"/>
<contactref element="R11" pad="2"/>
<wire x1="5.16541875" y1="-14.48265" x2="5.182384375" y2="-14.48265" width="0.254" layer="16"/>
<wire x1="5.182384375" y1="-14.48265" x2="7.44300625" y2="-16.743271875" width="0.254" layer="16"/>
</signal>
<signal name="N$24">
<contactref element="U$15" pad="1"/>
<contactref element="U$15" pad="3"/>
<contactref element="R12" pad="2"/>
<wire x1="0.079196875" y1="-10.816303125" x2="-0.121621875" y2="-10.816303125" width="0.254" layer="16"/>
<wire x1="-2.974090625" y1="-7.669678125" x2="-4.34870625" y2="-6.2950625" width="0.254" layer="16"/>
<wire x1="-3.005203125" y1="-4.951559375" x2="-3.176440625" y2="-4.951559375" width="0.254" layer="16"/>
<wire x1="-3.176440625" y1="-4.951559375" x2="-3.556" y2="-4.572" width="0.254" layer="16"/>
<wire x1="-3.556" y1="-4.572" x2="-4.064" y2="-4.572" width="0.254" layer="16"/>
<wire x1="-4.064" y1="-4.572" x2="-4.826" y2="-5.334" width="0.254" layer="16"/>
<wire x1="-4.826" y1="-5.334" x2="-4.826" y2="-5.81776875" width="0.254" layer="16"/>
<wire x1="-4.826" y1="-5.81776875" x2="-4.34870625" y2="-6.2950625" width="0.254" layer="16"/>
<contactref element="C14" pad="1"/>
<wire x1="-2.974090625" y1="-7.669678125" x2="-2.948459375" y2="-7.669678125" width="0.254" layer="16"/>
<wire x1="-2.948459375" y1="-7.669678125" x2="-1.399146875" y2="-9.218990625" width="0.254" layer="16"/>
<wire x1="-1.399146875" y1="-9.218990625" x2="-1.399146875" y2="-9.337959375" width="0.254" layer="16"/>
<wire x1="-1.399146875" y1="-9.337959375" x2="0.079196875" y2="-10.816303125" width="0.254" layer="16"/>
</signal>
<signal name="N$26">
<contactref element="U$15" pad="5"/>
<contactref element="R13" pad="1"/>
<contactref element="C15" pad="2"/>
<contactref element="R14" pad="2"/>
<wire x1="-5.3033" y1="-3.996965625" x2="-5.3033" y2="-3.838575" width="0.254" layer="16"/>
<wire x1="-5.3033" y1="-3.838575" x2="-7.46421875" y2="-1.67765625" width="0.254" layer="16"/>
<wire x1="-10.3166875" y1="1.2172375" x2="-10.3166875" y2="1.1748125" width="0.254" layer="16"/>
<wire x1="-10.3166875" y1="1.1748125" x2="-8.54185" y2="-0.600025" width="0.254" layer="16"/>
<wire x1="-8.54185" y1="-0.600025" x2="-7.46421875" y2="-1.67765625" width="0.254" layer="16"/>
</signal>
<signal name="N$27">
<contactref element="U$15" pad="4"/>
<contactref element="C17" pad="1"/>
<wire x1="-5.97505" y1="-4.66871875" x2="-5.99928125" y2="-4.66871875" width="0.254" layer="16"/>
<wire x1="-5.99928125" y1="-4.66871875" x2="-7.874" y2="-2.794" width="0.254" layer="16"/>
<wire x1="-7.874" y1="-2.794" x2="-8.302315625" y2="-2.794" width="0.254" layer="16"/>
<wire x1="-8.302315625" y1="-2.794" x2="-8.520634375" y2="-2.57568125" width="0.254" layer="16"/>
</signal>
<signal name="AGND">
<contactref element="C17" pad="2"/>
<contactref element="R14" pad="1"/>
<contactref element="R27" pad="2"/>
<wire x1="-11.235928125" y1="0.297996875" x2="-11.235928125" y2="0.1396125" width="0.254" layer="16"/>
<wire x1="-11.235928125" y1="0.1396125" x2="-9.439875" y2="-1.656440625" width="0.254" layer="16"/>
<wire x1="0.002609375" y1="7.2242" x2="-1.1578" y2="7.2242" width="0.254" layer="16"/>
<wire x1="-1.1578" y1="7.2242" x2="-1.778" y2="6.604" width="0.254" layer="16"/>
<wire x1="-1.778" y1="6.604" x2="-4.826" y2="6.604" width="0.254" layer="16"/>
<wire x1="-5.588" y1="5.842" x2="-11.176" y2="5.842" width="0.254" layer="16"/>
<wire x1="-4.826" y1="6.604" x2="-5.588" y2="5.842" width="0.254" layer="16"/>
<wire x1="-11.176" y1="5.842" x2="-11.684" y2="5.334" width="0.254" layer="16"/>
<contactref element="C16" pad="2"/>
<wire x1="-11.684" y1="5.336121875" x2="-11.684" y2="5.334" width="0.254" layer="16"/>
<wire x1="-11.684" y1="5.334" x2="-12.954" y2="4.064" width="0.254" layer="16"/>
<wire x1="-12.954" y1="4.064" x2="-12.954" y2="1.86396875" width="0.254" layer="16"/>
<wire x1="-12.954" y1="1.86396875" x2="-12.6028625" y2="1.51283125" width="0.254" layer="16"/>
<wire x1="-12.6028625" y1="1.51283125" x2="-12.4507625" y2="1.51283125" width="0.254" layer="16"/>
<wire x1="-12.4507625" y1="1.51283125" x2="-11.235928125" y2="0.297996875" width="0.254" layer="16"/>
</signal>
<signal name="N$28">
<contactref element="U$16" pad="4"/>
<contactref element="C19" pad="1"/>
<wire x1="-11.573921875" y1="-5.62896875" x2="-10.402953125" y2="-5.62896875" width="0.254" layer="16"/>
<wire x1="-10.402953125" y1="-5.62896875" x2="-8.669128125" y2="-7.36279375" width="0.254" layer="16"/>
</signal>
<signal name="N$29">
<contactref element="U$16" pad="5"/>
<contactref element="R16" pad="2"/>
<contactref element="R15" pad="1"/>
<contactref element="C20" pad="2"/>
<contactref element="R17" pad="1"/>
<wire x1="-7.997378125" y1="-6.691040625" x2="-8.1982" y2="-6.691040625" width="0.254" layer="16"/>
<wire x1="-8.1982" y1="-6.691040625" x2="-10.337903125" y2="-4.5513375" width="0.254" layer="16"/>
<wire x1="-10.337903125" y1="-4.5513375" x2="-11.41553125" y2="-3.473709375" width="0.254" layer="16"/>
<wire x1="-11.41553125" y1="-3.473709375" x2="-11.7323125" y2="-3.473709375" width="0.254" layer="16"/>
<wire x1="-11.7323125" y1="-3.473709375" x2="-13.369975" y2="-1.836046875" width="0.254" layer="16"/>
<wire x1="-13.369975" y1="-1.836046875" x2="-13.369975" y2="-1.67765625" width="0.254" layer="16"/>
<wire x1="-13.369975" y1="-1.67765625" x2="-14.268" y2="-0.77963125" width="0.254" layer="16"/>
</signal>
<signal name="/PGOOD">
<contactref element="R17" pad="2"/>
<contactref element="R18" pad="1"/>
<contactref element="U$13" pad="7"/>
<wire x1="-15.187240625" y1="0.13960625" x2="-15.187240625" y2="0.297996875" width="0.254" layer="16"/>
<wire x1="-15.187240625" y1="0.13960625" x2="-15.187240625" y2="0.052759375" width="0.254" layer="16"/>
<wire x1="-15.187240625" y1="0.052759375" x2="-16.002" y2="-0.762" width="0.254" layer="16"/>
<via x="-16.002" y="-0.762" extent="1-16" drill="0.254"/>
<wire x1="-16.002" y1="-0.762" x2="-20.066" y2="-0.762" width="0.254" layer="1"/>
<via x="-20.066" y="-0.762" extent="1-16" drill="0.254"/>
<wire x1="-20.066" y1="-0.762" x2="-20.32" y2="-0.762" width="0.254" layer="16"/>
<wire x1="-20.32" y1="-0.762" x2="-20.828" y2="-1.27" width="0.254" layer="16"/>
<wire x1="-20.828" y1="-1.27" x2="-20.828" y2="-5.08" width="0.254" layer="16"/>
<wire x1="-20.828" y1="-5.08" x2="-19.812" y2="-6.096" width="0.254" layer="16"/>
<via x="-19.812" y="-6.096" extent="1-16" drill="0.254"/>
<wire x1="-19.812" y1="-6.096" x2="-9.906" y2="-16.002" width="0.254" layer="1"/>
<wire x1="-9.906" y1="-16.002" x2="-1.778" y2="-16.002" width="0.254" layer="1"/>
<wire x1="-1.778" y1="-16.002" x2="-0.254" y2="-17.526" width="0.254" layer="1"/>
<wire x1="-0.254" y1="-17.526" x2="2.794" y2="-17.526" width="0.254" layer="1"/>
<wire x1="2.794" y1="-17.526" x2="3.302" y2="-17.018" width="0.254" layer="1"/>
<via x="3.302" y="-17.018" extent="1-16" drill="0.254"/>
<wire x1="3.302" y1="-17.018" x2="3.302" y2="-16.764" width="0.254" layer="16"/>
<wire x1="3.302" y1="-16.764" x2="3.048" y2="-16.51" width="0.254" layer="16"/>
<wire x1="3.048" y1="-16.51" x2="2.286" y2="-16.51" width="0.254" layer="16"/>
<wire x1="2.286" y1="-16.51" x2="1.778" y2="-16.002" width="0.254" layer="16"/>
<wire x1="1.778" y1="-16.002" x2="1.778" y2="-15.494" width="0.254" layer="16"/>
<wire x1="1.778" y1="-15.494" x2="2.032" y2="-15.24" width="0.254" layer="16"/>
<wire x1="2.032" y1="-15.24" x2="2.032" y2="-15.17655" width="0.254" layer="16"/>
<wire x1="2.032" y1="-15.17655" x2="2.372346875" y2="-14.836203125" width="0.254" layer="16"/>
<wire x1="-15.187240625" y1="0.297996875" x2="-16.264871875" y2="1.375628125" width="0.254" layer="16"/>
</signal>
<signal name="N$32">
<contactref element="R19" pad="1"/>
<contactref element="D6" pad="A"/>
<wire x1="-19.318159375" y1="4.428915625" x2="-19.318159375" y2="4.4289125" width="0.254" layer="16"/>
<wire x1="-19.318159375" y1="4.4289125" x2="-20.93248125" y2="2.814590625" width="0.254" layer="16"/>
</signal>
<signal name="N$33">
<contactref element="R20" pad="1"/>
<contactref element="D7" pad="A"/>
<wire x1="-20.216184375" y1="5.326940625" x2="-20.934603125" y2="5.326940625" width="0.254" layer="16"/>
<wire x1="-20.934603125" y1="5.326940625" x2="-22.18971875" y2="4.071825" width="0.254" layer="16"/>
</signal>
<signal name="DGND">
<contactref element="C19" pad="2"/>
<contactref element="R16" pad="1"/>
<contactref element="D6" pad="C"/>
<contactref element="D7" pad="C"/>
<contactref element="R28" pad="2"/>
<contactref element="C23" pad="2"/>
<contactref element="JP2" pad="GND1"/>
<contactref element="U$22" pad="2"/>
<contactref element="C24" pad="2"/>
<contactref element="U$14" pad="P$29"/>
<wire x1="4.178878125" y1="0.246296875" x2="4.178878125" y2="14.74156875" width="0.254" layer="16"/>
<wire x1="4.178878125" y1="14.74156875" x2="4.188859375" y2="14.75155" width="0.254" layer="16"/>
<wire x1="12.816309375" y1="9.1082875" x2="12.9182875" y2="9.1082875" width="0.254" layer="16"/>
<wire x1="12.9182875" y1="9.1082875" x2="13.462" y2="9.652" width="0.254" layer="16"/>
<wire x1="13.462" y1="9.652" x2="13.462" y2="10.16" width="0.254" layer="16"/>
<wire x1="13.462" y1="10.16" x2="9.398" y2="14.224" width="0.254" layer="16"/>
<wire x1="9.398" y1="14.224" x2="6.858" y2="14.224" width="0.254" layer="16"/>
<wire x1="6.858" y1="14.224" x2="5.842" y2="15.24" width="0.254" layer="16"/>
<wire x1="5.842" y1="15.24" x2="4.677309375" y2="15.24" width="0.254" layer="16"/>
<wire x1="4.677309375" y1="15.24" x2="4.188859375" y2="14.75155" width="0.254" layer="16"/>
<wire x1="6.280409375" y1="16.56025625" x2="6.280409375" y2="15.678409375" width="0.254" layer="16"/>
<wire x1="6.280409375" y1="15.678409375" x2="5.842" y2="15.24" width="0.254" layer="16"/>
<wire x1="6.280409375" y1="16.56025625" x2="6.280409375" y2="16.801234375" width="0.254" layer="16"/>
<wire x1="6.280409375" y1="16.801234375" x2="7.79286875" y2="18.31369375" width="0.254" layer="16"/>
<wire x1="-23.429984375" y1="2.831559375" x2="-23.42998125" y2="2.831559375" width="0.254" layer="16"/>
<wire x1="-22.172746875" y1="1.574325" x2="-22.13664375" y2="1.574325" width="0.254" layer="16"/>
<wire x1="-14.289215625" y1="-2.7552875" x2="-14.289215625" y2="-2.913675" width="0.254" layer="16"/>
<wire x1="-14.289215625" y1="-2.913675" x2="-12.4931625" y2="-4.709728125" width="0.254" layer="16"/>
<wire x1="4.178878125" y1="0.246296875" x2="4.178878125" y2="3.047934375" width="0.254" layer="16"/>
<wire x1="4.178878125" y1="3.047934375" x2="1.7986625" y2="5.42815" width="0.254" layer="16"/>
<wire x1="-23.42998125" y1="2.831559375" x2="-23.42998125" y2="4.51001875" width="0.254" layer="16"/>
<wire x1="-23.42998125" y1="4.51001875" x2="-19.812" y2="8.128" width="0.254" layer="16"/>
<wire x1="-19.812" y1="8.128" x2="-19.05" y2="8.128" width="0.254" layer="16"/>
<via x="-19.05" y="8.128" extent="1-16" drill="0.254"/>
<via x="-5.334" y="21.59" extent="1-16" drill="0.254"/>
<wire x1="-5.334" y1="21.59" x2="4.5165625" y2="21.59" width="0.254" layer="16"/>
<wire x1="4.5165625" y1="21.59" x2="7.79286875" y2="18.31369375" width="0.254" layer="16"/>
<wire x1="-22.172746875" y1="1.574325" x2="-22.17275" y2="1.574325" width="0.254" layer="16"/>
<wire x1="-22.17275" y1="1.574325" x2="-23.429984375" y2="2.831559375" width="0.254" layer="16"/>
<wire x1="-19.05" y1="8.128" x2="-17.272" y2="8.128" width="0.254" layer="1"/>
<wire x1="-17.272" y1="8.128" x2="-10.16" y2="15.24" width="0.254" layer="1"/>
<wire x1="-10.16" y1="15.24" x2="-10.16" y2="16.764" width="0.254" layer="1"/>
<wire x1="-10.16" y1="16.764" x2="-5.334" y2="21.59" width="0.254" layer="1"/>
<wire x1="-17.52210625" y1="-2.03589375" x2="-16.764" y2="-2.794" width="0.254" layer="16"/>
<wire x1="-16.764" y1="-2.794" x2="-14.327928125" y2="-2.794" width="0.254" layer="16"/>
<wire x1="-14.327928125" y1="-2.794" x2="-14.289215625" y2="-2.7552875" width="0.254" layer="16"/>
<contactref element="C21" pad="2"/>
<wire x1="-17.52210625" y1="-2.03589375" x2="-17.52210625" y2="0.844071875" width="0.254" layer="16"/>
<wire x1="-17.52210625" y1="0.844071875" x2="-18.5447875" y2="1.866753125" width="0.254" layer="16"/>
<wire x1="-22.13664375" y1="1.574325" x2="-22.13664375" y2="1.56264375" width="0.254" layer="16"/>
<wire x1="-22.13664375" y1="1.56264375" x2="-21.082" y2="0.508" width="0.254" layer="16"/>
<wire x1="-21.082" y1="0.508" x2="-19.903540625" y2="0.508" width="0.254" layer="16"/>
<wire x1="-19.903540625" y1="0.508" x2="-18.5447875" y2="1.866753125" width="0.254" layer="16"/>
</signal>
<signal name="EN2">
<contactref element="U$13" pad="5"/>
</signal>
<signal name="EN1">
<contactref element="U$13" pad="6"/>
</signal>
<signal name="/CHG">
<contactref element="U$13" pad="9"/>
</signal>
<signal name="N$23">
<contactref element="U$13" pad="15"/>
<contactref element="R21" pad="2"/>
<contactref element="U$17" pad="3"/>
<wire x1="8.2024375" y1="-9.3596625" x2="8.2024375" y2="-9.71321875" width="0.254" layer="16"/>
<wire x1="8.2024375" y1="-9.71321875" x2="4.8118625" y2="-13.10379375" width="0.254" layer="16"/>
<wire x1="8.2024375" y1="-9.3596625" x2="8.2024375" y2="-9.3235625" width="0.254" layer="16"/>
<wire x1="8.2024375" y1="-9.3235625" x2="8.89" y2="-8.636" width="0.254" layer="16"/>
<via x="8.89" y="-8.636" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="8.89" y1="-8.636" x2="9.906" y2="-8.636" width="0.254" layer="1"/>
<wire x1="9.906" y1="-8.636" x2="10.668" y2="-9.398" width="0.254" layer="1"/>
<wire x1="10.668" y1="-9.398" x2="10.668" y2="-10.414" width="0.254" layer="1"/>
<via x="10.668" y="-10.414" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="10.668" y1="-10.414" x2="10.668" y2="-11.363015625" width="0.254" layer="16"/>
<wire x1="10.668" y1="-11.363015625" x2="10.3166875" y2="-11.714328125" width="0.254" layer="16"/>
</signal>
<signal name="VBUS">
<contactref element="U$17" pad="1"/>
<contactref element="JP2" pad="VBUS1"/>
<contactref element="U$13" pad="13"/>
<contactref element="R22" pad="2"/>
<contactref element="C23" pad="1"/>
<contactref element="U$22" pad="1"/>
<contactref element="U$14" pad="P$7"/>
<contactref element="U$14" pad="P$8"/>
<contactref element="C24" pad="1"/>
<wire x1="10.97783125" y1="10.946765625" x2="10.97783125" y2="10.72383125" width="0.254" layer="16"/>
<wire x1="10.97783125" y1="10.72383125" x2="9.144" y2="8.89" width="0.254" layer="16"/>
<wire x1="9.144" y1="8.89" x2="9.144" y2="2.54" width="0.254" layer="16"/>
<wire x1="9.144" y1="2.54" x2="8.382" y2="1.778" width="0.254" layer="16"/>
<via x="8.382" y="1.778" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="8.382" y1="1.778" x2="7.874" y2="1.27" width="0.254" layer="1"/>
<wire x1="9.207084375" y1="16.899478125" x2="8.4581125" y2="16.899478125" width="0.254" layer="16"/>
<wire x1="8.4581125" y1="16.899478125" x2="7.19965" y2="15.641015625" width="0.254" layer="16"/>
<wire x1="5.39094375" y1="13.549465625" x2="5.500534375" y2="13.549465625" width="0.254" layer="16"/>
<wire x1="5.500534375" y1="13.549465625" x2="6.35" y2="12.7" width="0.254" layer="16"/>
<via x="6.35" y="12.7" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="6.35" y1="12.7" x2="7.112" y2="12.7" width="0.254" layer="1"/>
<wire x1="7.112" y1="12.7" x2="9.144" y2="14.732" width="0.254" layer="1"/>
<wire x1="9.144" y1="14.732" x2="9.144" y2="16.83639375" width="0.254" layer="1"/>
<wire x1="9.144" y1="16.83639375" x2="9.207084375" y2="16.899478125" width="0.254" layer="1"/>
<wire x1="4.10475625" y1="-12.396684375" x2="4.10475625" y2="-11.64324375" width="0.254" layer="16"/>
<wire x1="4.10475625" y1="-11.64324375" x2="4.318" y2="-11.43" width="0.254" layer="16"/>
<via x="4.318" y="-11.43" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="4.318" y1="-11.43" x2="7.366" y2="-8.382" width="0.254" layer="1"/>
<via x="7.366" y="-8.382" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="7.366" y1="-8.382" x2="7.836596875" y2="-8.382" width="0.254" layer="16"/>
<wire x1="7.836596875" y1="-8.382" x2="9.015609375" y2="-7.2029875" width="0.254" layer="16"/>
<wire x1="10.97783125" y1="10.946765625" x2="8.103234375" y2="10.946765625" width="0.254" layer="16"/>
<wire x1="8.103234375" y1="10.946765625" x2="6.35" y2="12.7" width="0.254" layer="16"/>
<wire x1="6.865884375" y1="-2.161396875" x2="6.865884375" y2="-3.29276875" width="0.254" layer="16"/>
<wire x1="6.865884375" y1="-3.29276875" x2="8.37276875" y2="-3.29276875" width="0.254" layer="16"/>
<wire x1="8.37276875" y1="-3.29276875" x2="8.89" y2="-3.81" width="0.254" layer="16"/>
<wire x1="8.89" y1="-3.81" x2="8.89" y2="-7.077378125" width="0.254" layer="16"/>
<wire x1="8.89" y1="-7.077378125" x2="9.015609375" y2="-7.2029875" width="0.254" layer="16"/>
<wire x1="9.015609375" y1="-7.2029875" x2="9.015609375" y2="-6.732390625" width="0.254" layer="16"/>
<wire x1="9.015609375" y1="-6.732390625" x2="9.652" y2="-6.096" width="0.254" layer="16"/>
<via x="9.652" y="-6.096" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="9.652" y1="-6.096" x2="10.414" y2="-6.096" width="0.254" layer="1"/>
<wire x1="10.414" y1="-6.096" x2="10.922" y2="-6.604" width="0.254" layer="1"/>
<wire x1="10.922" y1="-6.604" x2="11.176" y2="-6.604" width="0.254" layer="1"/>
<via x="11.176" y="-6.604" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="11.176" y1="-6.604" x2="11.684" y2="-6.604" width="0.254" layer="16"/>
<wire x1="11.684" y1="-6.604" x2="11.938" y2="-6.35" width="0.254" layer="16"/>
<wire x1="11.938" y1="-6.35" x2="11.938" y2="-6.1514375" width="0.254" layer="16"/>
<wire x1="11.938" y1="-6.1514375" x2="11.235928125" y2="-5.449365625" width="0.254" layer="16"/>
<wire x1="7.874" y1="1.27" x2="7.874" y2="0.254" width="0.254" layer="1"/>
<wire x1="7.874" y1="0.254" x2="8.89" y2="-0.762" width="0.254" layer="1"/>
<wire x1="8.89" y1="-0.762" x2="8.89" y2="-1.524" width="0.254" layer="1"/>
<wire x1="8.89" y1="-1.524" x2="7.874" y2="-2.54" width="0.254" layer="1"/>
<via x="7.874" y="-2.54" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="7.874" y1="-2.54" x2="7.618653125" y2="-2.54" width="0.254" layer="16"/>
<wire x1="7.618653125" y1="-2.54" x2="6.865884375" y2="-3.29276875" width="0.254" layer="16"/>
</signal>
<signal name="N$15">
<contactref element="R21" pad="1"/>
<contactref element="U$18" pad="4"/>
<wire x1="11.235928125" y1="-12.63356875" x2="11.235928125" y2="-13.402071875" width="0.254" layer="16"/>
<wire x1="11.235928125" y1="-13.402071875" x2="9.906" y2="-14.732" width="0.254" layer="16"/>
<via x="9.906" y="-14.732" extent="1-16" drill="0.254"/>
<wire x1="9.906" y1="-14.732" x2="-8.636" y2="-14.732" width="0.254" layer="1"/>
<wire x1="-8.636" y1="-14.732" x2="-19.05" y2="-4.318" width="0.254" layer="1"/>
<via x="-19.05" y="-4.318" extent="1-16" drill="0.254"/>
<wire x1="-19.05" y1="-4.318" x2="-19.05" y2="0" width="0.254" layer="16"/>
<via x="-19.05" y="0" extent="1-16" drill="0.254"/>
<wire x1="-19.05" y1="0" x2="-19.05" y2="2.794" width="0.254" layer="1"/>
<wire x1="-19.05" y1="2.794" x2="-16.51" y2="5.334" width="0.254" layer="1"/>
<via x="-16.51" y="5.334" extent="1-16" drill="0.254"/>
<wire x1="-16.51" y1="5.334" x2="-14.224" y2="7.62" width="0.254" layer="16"/>
<wire x1="-14.224" y1="7.62" x2="-8.412140625" y2="7.62" width="0.254" layer="16"/>
<wire x1="-8.412140625" y1="7.62" x2="-7.308875" y2="8.723265625" width="0.254" layer="16"/>
</signal>
<signal name="N$25">
<contactref element="U$18" pad="1"/>
<contactref element="U$19" pad="P$2"/>
<wire x1="-2.801065625" y1="9.808678125" x2="-2.970775" y2="9.808678125" width="0.254" layer="16"/>
<wire x1="-2.970775" y1="9.808678125" x2="-4.339028125" y2="8.440425" width="0.254" layer="16"/>
</signal>
<signal name="SYSOFF">
<contactref element="U$18" pad="3"/>
<contactref element="R23" pad="2"/>
<wire x1="-2.69146875" y1="4.530125" x2="-3.343875" y2="4.530125" width="0.254" layer="16"/>
<wire x1="-3.343875" y1="4.530125" x2="-4.064" y2="3.81" width="0.254" layer="16"/>
<wire x1="-4.064" y1="3.81" x2="-5.08" y2="3.81" width="0.254" layer="16"/>
<wire x1="-5.08" y1="3.81" x2="-6.096" y2="4.826" width="0.254" layer="16"/>
<wire x1="-6.096" y1="4.826" x2="-7.112" y2="4.826" width="0.254" layer="16"/>
<via x="-7.112" y="4.826" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-7.112" y1="4.826" x2="-7.62" y2="5.334" width="0.254" layer="1"/>
<wire x1="-7.62" y1="5.334" x2="-7.62" y2="6.604" width="0.254" layer="1"/>
<via x="-7.62" y="6.604" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-7.62" y1="6.604" x2="-6.858" y2="7.366" width="0.254" layer="16"/>
<wire x1="-6.858" y1="7.366" x2="-5.951609375" y2="7.366" width="0.254" layer="16"/>
<wire x1="-5.951609375" y1="7.366" x2="-5.68253125" y2="7.096921875" width="0.254" layer="16"/>
</signal>
<signal name="N$30">
<contactref element="U$20" pad="2"/>
<contactref element="R24" pad="2"/>
<contactref element="C22" pad="1"/>
<wire x1="-1.37885625" y1="-19.393509375" x2="-1.6305875" y2="-19.393509375" width="0.254" layer="16"/>
<wire x1="-1.6305875" y1="-19.393509375" x2="-2.773271875" y2="-20.53619375" width="0.254" layer="16"/>
<wire x1="-2.773271875" y1="-20.53619375" x2="-2.773271875" y2="-20.536196875" width="0.254" layer="16"/>
<wire x1="-2.773271875" y1="-20.536196875" x2="-4.03050625" y2="-21.79343125" width="0.254" layer="16"/>
</signal>
<signal name="N$34">
<contactref element="R26" pad="1"/>
<contactref element="U$20" pad="3"/>
<wire x1="0.777815625" y1="-18.5803375" x2="1.0182375" y2="-18.5803375" width="0.254" layer="16"/>
<wire x1="1.0182375" y1="-18.5803375" x2="2.234459375" y2="-19.796559375" width="0.254" layer="16"/>
</signal>
<signal name="VCOM">
<contactref element="U$20" pad="1"/>
<contactref element="R25" pad="2"/>
<contactref element="U$13" pad="10"/>
<contactref element="U$13" pad="11"/>
<contactref element="C10" pad="1"/>
<contactref element="R12" pad="1"/>
<contactref element="U$16" pad="1"/>
<contactref element="C18" pad="1"/>
<contactref element="U$16" pad="3"/>
<wire x1="-0.035353125" y1="-20.7370125" x2="-0.035353125" y2="-20.830346875" width="0.254" layer="16"/>
<wire x1="-0.035353125" y1="-20.830346875" x2="-1.5160375" y2="-22.31103125" width="0.254" layer="16"/>
<wire x1="2.372346875" y1="-13.10379375" x2="2.3666875" y2="-13.10379375" width="0.254" layer="16"/>
<wire x1="2.3666875" y1="-13.10379375" x2="0.9984375" y2="-11.73554375" width="0.254" layer="16"/>
<wire x1="0.9984375" y1="-11.73554375" x2="0.9984375" y2="-11.893934375" width="0.254" layer="16"/>
<wire x1="0.9984375" y1="-11.893934375" x2="-0.07919375" y2="-12.971565625" width="0.254" layer="16"/>
<wire x1="0.977225" y1="-10.119096875" x2="0.977225" y2="-11.71433125" width="0.254" layer="16"/>
<wire x1="0.977225" y1="-11.71433125" x2="0.9984375" y2="-11.73554375" width="0.254" layer="16"/>
<wire x1="0.977225" y1="-10.119096875" x2="0.977221875" y2="-10.119096875" width="0.254" layer="16"/>
<wire x1="-0.035353125" y1="-20.7370125" x2="-0.035353125" y2="-19.014646875" width="0.254" layer="16"/>
<wire x1="-0.035353125" y1="-19.014646875" x2="-0.508" y2="-18.542" width="0.254" layer="16"/>
<wire x1="-0.508" y1="-18.542" x2="-0.508" y2="-16.764" width="0.254" layer="16"/>
<wire x1="-0.508" y1="-16.764" x2="-2.54" y2="-14.732" width="0.254" layer="16"/>
<wire x1="-2.54" y1="-14.732" x2="-2.54" y2="-13.462" width="0.254" layer="16"/>
<wire x1="-2.54" y1="-13.462" x2="-1.778" y2="-12.7" width="0.254" layer="16"/>
<wire x1="-1.778" y1="-12.7" x2="-0.350759375" y2="-12.7" width="0.254" layer="16"/>
<wire x1="-0.350759375" y1="-12.7" x2="-0.07919375" y2="-12.971565625" width="0.254" layer="16"/>
<wire x1="2.7259" y1="-12.750240625" x2="2.372346875" y2="-13.10379375" width="0.254" layer="16"/>
<wire x1="-7.042784375" y1="-8.9891375" x2="-7.0128625" y2="-8.9891375" width="0.254" layer="16"/>
<wire x1="-7.0128625" y1="-8.9891375" x2="-6.35" y2="-9.652" width="0.254" layer="16"/>
<wire x1="-6.35" y1="-9.652" x2="-5.588" y2="-9.652" width="0.254" layer="16"/>
<wire x1="-5.588" y1="-9.652" x2="-5.08" y2="-9.144" width="0.254" layer="16"/>
<wire x1="-5.08" y1="-9.144" x2="-5.08" y2="-8.264915625" width="0.254" layer="16"/>
<wire x1="-5.08" y1="-8.264915625" x2="-5.69928125" y2="-7.645634375" width="0.254" layer="16"/>
<wire x1="-5.69928125" y1="-7.645634375" x2="-4.800365625" y2="-7.645634375" width="0.254" layer="16"/>
<wire x1="-4.800365625" y1="-7.645634375" x2="-1.778" y2="-10.668" width="0.254" layer="16"/>
<wire x1="-1.778" y1="-10.668" x2="-1.778" y2="-12.7" width="0.254" layer="16"/>
<contactref element="C13" pad="1"/>
<wire x1="-1.5160375" y1="-22.31103125" x2="-1.106828125" y2="-22.31103125" width="0.254" layer="16"/>
<wire x1="-1.106828125" y1="-22.31103125" x2="0.22906875" y2="-23.646928125" width="0.254" layer="16"/>
</signal>
<signal name="N$35">
<contactref element="JP2" pad="D+1"/>
<contactref element="U$14" pad="P$4"/>
<wire x1="5.805225" y1="-1.1007375" x2="5.805225" y2="-1.052775" width="0.254" layer="16"/>
<wire x1="5.805225" y1="-1.052775" x2="7.366" y2="0.508" width="0.254" layer="16"/>
<wire x1="7.366" y1="0.508" x2="7.366" y2="2.032" width="0.254" layer="16"/>
<wire x1="7.366" y1="2.032" x2="8.382" y2="3.048" width="0.254" layer="16"/>
<via x="8.382" y="3.048" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="8.382" y1="3.048" x2="10.414" y2="3.048" width="0.254" layer="1"/>
<wire x1="10.414" y1="3.048" x2="10.922" y2="3.556" width="0.254" layer="1"/>
<via x="10.922" y="3.556" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="10.922" y1="3.556" x2="10.922" y2="9.05245625" width="0.254" layer="16"/>
<wire x1="10.922" y1="9.05245625" x2="11.89706875" y2="10.027525" width="0.254" layer="16"/>
</signal>
<signal name="N$36">
<contactref element="JP2" pad="D-1"/>
<contactref element="U$14" pad="P$5"/>
<wire x1="6.158778125" y1="-1.454290625" x2="6.165709375" y2="-1.454290625" width="0.254" layer="16"/>
<wire x1="6.165709375" y1="-1.454290625" x2="9.906" y2="2.286" width="0.254" layer="16"/>
<wire x1="9.906" y1="2.286" x2="9.906" y2="8.95569375" width="0.254" layer="16"/>
<wire x1="9.906" y1="8.95569375" x2="11.43745" y2="10.48714375" width="0.254" layer="16"/>
</signal>
<signal name="VCCD">
<contactref element="U$11" pad="1"/>
<contactref element="U$16" pad="6"/>
<contactref element="R15" pad="2"/>
<contactref element="C20" pad="1"/>
<contactref element="R18" pad="2"/>
<contactref element="R19" pad="2"/>
<contactref element="R20" pad="2"/>
<wire x1="-19.29694375" y1="6.24618125" x2="-18.39891875" y2="5.34815625" width="0.254" layer="16"/>
<wire x1="-12.5" y1="8.57" x2="-12.5" y2="7.82" width="0.254" layer="1"/>
<wire x1="-12.5" y1="7.82" x2="-13.97" y2="6.35" width="0.254" layer="1"/>
<via x="-13.97" y="6.35" extent="1-16" drill="0.254"/>
<wire x1="-13.97" y1="6.35" x2="-13.97" y2="3.6705" width="0.254" layer="16"/>
<wire x1="-13.97" y1="3.6705" x2="-15.34563125" y2="2.29486875" width="0.254" layer="16"/>
<wire x1="-15.345628125" y1="2.29486875" x2="-10.496290625" y2="-2.55446875" width="0.254" layer="16"/>
<wire x1="-10.496290625" y1="-2.55446875" x2="-9.4186625" y2="-3.632096875" width="0.254" layer="16"/>
<wire x1="-7.325625" y1="-6.019290625" x2="-7.325625" y2="-5.725134375" width="0.254" layer="16"/>
<wire x1="-7.325625" y1="-5.725134375" x2="-9.4186625" y2="-3.632096875" width="0.254" layer="16"/>
<contactref element="C21" pad="1"/>
<wire x1="-15.34563125" y1="2.29486875" x2="-15.345628125" y2="2.29486875" width="0.254" layer="16"/>
<wire x1="-17.342703125" y1="3.0688375" x2="-17.342703125" y2="4.291940625" width="0.254" layer="16"/>
<wire x1="-17.342703125" y1="4.291940625" x2="-18.39891875" y2="5.34815625" width="0.254" layer="16"/>
<wire x1="-17.342703


text:
125" y1="3.0688375" x2="-16.1196" y2="3.0688375" width="0.254" layer="16"/>
<wire x1="-16.1196" y1="3.0688375" x2="-15.34563125" y2="2.29486875" width="0.254" layer="16"/>
</signal>
<signal name="VCCA">
<contactref element="U1" pad="13"/>
<contactref element="U1" pad="9"/>
<contactref element="U1" pad="8"/>
<contactref element="R6" pad="2"/>
<contactref element="R7" pad="2"/>
<contactref element="U$1" pad="4"/>
<contactref element="U$1" pad="2"/>
<contactref element="U$1" pad="13"/>
<contactref element="U$15" pad="6"/>
<contactref element="R13" pad="2"/>
<contactref element="C15" pad="1"/>
<contactref element="C5" pad="1"/>
<contactref element="C6" pad="1"/>
<contactref element="C7" pad="1"/>
<contactref element="C9" pad="1"/>
<wire x1="-0.496" y1="-2.694" x2="-0.496" y2="-2.274" width="0.254" layer="1"/>
<wire x1="-0.496" y1="-2.274" x2="-0.254" y2="-2.032" width="0.254" layer="1"/>
<wire x1="-0.254" y1="-2.032" x2="0.254" y2="-2.032" width="0.254" layer="1"/>
<wire x1="0.254" y1="-2.032" x2="0.508" y2="-2.286" width="0.254" layer="1"/>
<wire x1="0.508" y1="-2.286" x2="0.508" y2="-2.69" width="0.254" layer="1"/>
<wire x1="0.508" y1="-2.69" x2="0.504" y2="-2.694" width="0.254" layer="1"/>
<wire x1="1.624" y1="-4.814" x2="1.004" y2="-4.814" width="0.254" layer="1"/>
<wire x1="1.004" y1="-4.814" x2="-0.508" y2="-3.302" width="0.254" layer="1"/>
<wire x1="-0.508" y1="-3.302" x2="-0.508" y2="-2.706" width="0.254" layer="1"/>
<wire x1="-0.508" y1="-2.706" x2="-0.496" y2="-2.694" width="0.254" layer="1"/>
<wire x1="1.624" y1="-4.814" x2="2.274" y2="-4.814" width="0.254" layer="1"/>
<wire x1="2.274" y1="-4.814" x2="3.048" y2="-5.588" width="0.254" layer="1"/>
<wire x1="3.048" y1="-5.588" x2="6.35" y2="-5.588" width="0.254" layer="1"/>
<via x="6.35" y="-5.588" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="6.35" y1="-5.588" x2="7.874" y2="-4.064" width="0.254" layer="16"/>
<via x="7.874" y="-4.064" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="7.874" y1="-4.064" x2="7.874" y2="-3.556" width="0.254" layer="1"/>
<wire x1="7.874" y1="-3.556" x2="7.62" y2="-3.302" width="0.254" layer="1"/>
<wire x1="7.62" y1="-3.302" x2="5.73" y2="-3.302" width="0.254" layer="1"/>
<wire x1="5.73" y1="-1.016" x2="5.73" y2="-3.302" width="0.254" layer="1"/>
<wire x1="-4.631546875" y1="-3.325215625" x2="-4.631546875" y2="-2.671846875" width="0.254" layer="16"/>
<wire x1="-4.631546875" y1="-2.671846875" x2="-6.544978125" y2="-0.758415625" width="0.254" layer="16"/>
<wire x1="-6.544978125" y1="-0.758415625" x2="-6.54498125" y2="-0.758415625" width="0.254" layer="16"/>
<wire x1="-6.54498125" y1="-0.758415625" x2="-7.622609375" y2="0.3192125" width="0.254" layer="16"/>
<wire x1="-2.013946875" y1="13.32" x2="0.526053125" y2="13.32" width="0.254" layer="1"/>
<wire x1="3.06605" y1="13.32" x2="0.526053125" y2="13.32" width="0.254" layer="1"/>
<wire x1="2.1216" y1="4.3179" x2="2.1216" y2="4.8225" width="0.254" layer="1"/>
<wire x1="2.1216" y1="4.3179" x2="2.7941" y2="4.3179" width="0.254" layer="1"/>
<wire x1="2.7941" y1="4.3179" x2="2.794" y2="4.318" width="0.254" layer="1"/>
<via x="2.794" y="3.048" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="2.794" y1="3.048" x2="1.524" y2="3.048" width="0.254" layer="16"/>
<wire x1="1.524" y1="3.048" x2="0.508" y2="4.064" width="0.254" layer="16"/>
<wire x1="0.508" y1="4.064" x2="0.508" y2="6.096" width="0.254" layer="16"/>
<wire x1="0.508" y1="6.096" x2="2.286" y2="7.874" width="0.254" layer="16"/>
<via x="2.286" y="7.874" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="2.286" y1="7.874" x2="2.794" y2="7.874" width="0.254" layer="1"/>
<wire x1="2.794" y1="7.874" x2="3.302" y2="7.366" width="0.254" layer="1"/>
<wire x1="3.302" y1="7.366" x2="3.302" y2="7.112" width="0.254" layer="1"/>
<wire x1="3.302" y1="7.112" x2="3.048" y2="6.858" width="0.254" layer="1"/>
<wire x1="3.048" y1="6.858" x2="1.6049" y2="6.858" width="0.254" layer="1"/>
<wire x1="1.6049" y1="6.858" x2="1.2967" y2="7.1662" width="0.254" layer="1"/>
<wire x1="1.2967" y1="7.1662" x2="1.2967" y2="11.55065" width="0.254" layer="1"/>
<wire x1="1.2967" y1="11.55065" x2="3.06605" y2="13.32" width="0.254" layer="1"/>
<wire x1="5.73" y1="2.682" x2="7.112" y2="4.064" width="0.254" layer="1"/>
<wire x1="7.112" y1="4.064" x2="7.112" y2="9.27405" width="0.254" layer="1"/>
<wire x1="7.112" y1="9.27405" x2="3.06605" y2="13.32" width="0.254" layer="1"/>
<wire x1="-4.55394375" y1="13.32" x2="-5.476" y2="13.32" width="0.254" layer="1"/>
<wire x1="-5.476" y1="13.32" x2="-6.096" y2="12.7" width="0.254" layer="1"/>
<via x="-6.096" y="12.7" extent="1-16" drill="0.254"/>
<wire x1="-6.096" y1="12.7" x2="-6.858" y2="12.7" width="0.254" layer="16"/>
<wire x1="-6.858" y1="12.7" x2="-8.128" y2="11.43" width="0.254" layer="16"/>
<via x="-8.128" y="11.43" extent="1-16" drill="0.254"/>
<wire x1="-8.128" y1="11.43" x2="-8.128" y2="10.668" width="0.254" layer="1"/>
<wire x1="-8.128" y1="10.668" x2="-12.192" y2="6.604" width="0.254" layer="1"/>
<wire x1="-12.192" y1="6.604" x2="-12.192" y2="5.842" width="0.254" layer="1"/>
<wire x1="-12.192" y1="5.842" x2="-12.446" y2="5.588" width="0.254" layer="1"/>
<wire x1="-12.446" y1="5.588" x2="-13.716" y2="5.588" width="0.254" layer="1"/>
<wire x1="-13.716" y1="5.588" x2="-14.478" y2="4.826" width="0.254" layer="1"/>
<wire x1="-14.478" y1="4.826" x2="-14.478" y2="3.81" width="0.254" layer="1"/>
<wire x1="-14.478" y1="3.81" x2="-13.97" y2="3.302" width="0.254" layer="1"/>
<wire x1="-13.97" y1="3.302" x2="-10.922" y2="3.302" width="0.254" layer="1"/>
<wire x1="-10.922" y1="3.302" x2="-10.414" y2="3.81" width="0.254" layer="1"/>
<wire x1="-10.414" y1="3.81" x2="-9.652" y2="3.81" width="0.254" layer="1"/>
<via x="-9.652" y="3.81" extent="1-16" drill="0.254"/>
<wire x1="-9.652" y1="3.81" x2="-9.398" y2="3.81" width="0.254" layer="16"/>
<wire x1="-9.398" y1="3.81" x2="-8.382" y2="2.794" width="0.254" layer="16"/>
<wire x1="-8.382" y1="2.794" x2="-8.382" y2="1.078603125" width="0.254" layer="16"/>
<wire x1="-8.382" y1="1.078603125" x2="-7.622609375" y2="0.3192125" width="0.254" layer="16"/>
<wire x1="-4.55394375" y1="13.32" x2="-2.013946875" y2="13.32" width="0.254" layer="1"/>
<wire x1="2.794" y1="4.318" x2="3.048" y2="4.318" width="0.254" layer="1"/>
<wire x1="3.048" y1="4.318" x2="3.302" y2="4.064" width="0.254" layer="1"/>
<wire x1="3.302" y1="4.064" x2="3.302" y2="3.556" width="0.254" layer="1"/>
<wire x1="3.302" y1="3.556" x2="2.794" y2="3.048" width="0.254" layer="1"/>
<wire x1="5.73" y1="2.682" x2="5.73" y2="2.144" width="0.254" layer="1"/>
<wire x1="5.842" y1="-0.904" x2="5.73" y2="-1.016" width="0.254" layer="1"/>
<contactref element="C16" pad="1"/>
<wire x1="-11.400778125" y1="2.714915625" x2="-10.0183125" y2="2.714915625" width="0.254" layer="16"/>
<wire x1="-10.0183125" y1="2.714915625" x2="-8.382" y2="1.078603125" width="0.254" layer="16"/>
<wire x1="5.842" y1="-0.904" x2="5.842" y2="2.032" width="0.254" layer="1"/>
<wire x1="5.842" y1="2.032" x2="5.73" y2="2.144" width="0.254" layer="1"/>
</signal>
<signal name="BATTERY_IN">
<contactref element="U$12" pad="P"/>
<contactref element="JP1" pad="P1"/>
<contactref element="U$12" pad="S"/>
<wire x1="-12.1568375" y1="11.421440625" x2="-12.4108375" y2="11.42144375" width="0.254" layer="16"/>
<wire x1="-11.096178125" y1="12.482103125" x2="-11.139896875" y2="12.482103125" width="0.254" layer="16"/>
<wire x1="-11.139896875" y1="12.482103125" x2="-9.398" y2="14.224" width="0.254" layer="16"/>
<wire x1="-9.398" y1="14.224" x2="-9.398" y2="15.24" width="0.254" layer="16"/>
<wire x1="-9.398" y1="15.24" x2="-10.16" y2="16.002" width="0.254" layer="16"/>
<wire x1="-10.16" y1="16.002" x2="-10.16" y2="17.272" width="0.254" layer="16"/>
<wire x1="-10.16" y1="17.272" x2="-8.636" y2="18.796" width="0.254" layer="16"/>
<wire x1="-8.636" y1="18.796" x2="-6.4215625" y2="18.796" width="0.254" layer="16"/>
<wire x1="-6.4215625" y1="18.796" x2="-6.05023125" y2="18.42466875" width="0.254" layer="16"/>
<wire x1="-12.4108375" y1="11.42144375" x2="-12.1568375" y2="11.42144375" width="0.254" layer="16"/>
<wire x1="-12.1568375" y1="11.42144375" x2="-11.096178125" y2="12.482103125" width="0.254" layer="16"/>
</signal>
<signal name="BOOT0">
<contactref element="U$11" pad="16"/>
<contactref element="U$14" pad="P$24"/>
<wire x1="2.19898125" y1="-1.454290625" x2="2.19898125" y2="-1.43698125" width="0.254" layer="16"/>
<wire x1="2.19898125" y1="-1.43698125" x2="1.778" y2="-1.016" width="0.254" layer="16"/>
<wire x1="1.778" y1="-1.016" x2="0.254" y2="-1.016" width="0.254" layer="16"/>
<wire x1="0.254" y1="-1.016" x2="-1.016" y2="-2.286" width="0.254" layer="16"/>
<wire x1="-1.016" y1="-2.286" x2="-1.016" y2="-4.318" width="0.254" layer="16"/>
<wire x1="-1.016" y1="-4.318" x2="1.27" y2="-6.604" width="0.254" layer="16"/>
<via x="1.27" y="-6.604" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="1.27" y1="-6.604" x2="1.27" y2="-7.366" width="0.254" layer="1"/>
<wire x1="1.27" y1="-7.366" x2="2.032" y2="-8.128" width="0.254" layer="1"/>
<wire x1="2.032" y1="-8.128" x2="2.032" y2="-11.176" width="0.254" layer="1"/>
<wire x1="2.032" y1="-11.176" x2="3.302" y2="-12.446" width="0.254" layer="1"/>
<wire x1="3.302" y1="-12.446" x2="11.684" y2="-12.446" width="0.254" layer="1"/>
<wire x1="11.684" y1="-12.446" x2="12.7" y2="-11.43" width="0.254" layer="1"/>
<via x="12.7" y="-11.43" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="12.7" y1="-11.43" x2="12.7" y2="-5.334" width="0.254" layer="16"/>
<wire x1="12.7" y1="-5.334" x2="13.97" y2="-4.064" width="0.254" layer="16"/>
<wire x1="13.97" y1="-4.064" x2="13.97" y2="-2.032" width="0.254" layer="16"/>
<wire x1="13.97" y1="-2.032" x2="11.43" y2="0.508" width="0.254" layer="16"/>
<via x="11.43" y="0.508" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="11.43" y1="0.508" x2="9.562" y2="0.508" width="0.254" layer="1"/>
<wire x1="9.562" y1="0.508" x2="9.5" y2="0.57" width="0.254" layer="1"/>
</signal>
<signal name="UART_TX">
<contactref element="U$11" pad="2"/>
<contactref element="U$14" pad="P$25"/>
<wire x1="-9.5" y1="6.57" x2="-9.5" y2="6.198" width="0.254" layer="1"/>
<wire x1="-9.5" y1="6.198" x2="-6.604" y2="3.302" width="0.254" layer="1"/>
<via x="-6.604" y="3.302" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-6.604" y1="3.302" x2="-4.064" y2="0.762" width="0.254" layer="16"/>
<wire x1="1.959796875" y1="-0.508" x2="2.552534375" y2="-1.1007375" width="0.254" layer="16"/>
<wire x1="1.959796875" y1="-0.508" x2="-0.254" y2="-0.508" width="0.254" layer="16"/>
<wire x1="-0.254" y1="-0.508" x2="-1.524" y2="0.762" width="0.254" layer="16"/>
<wire x1="-1.524" y1="0.762" x2="-4.064" y2="0.762" width="0.254" layer="16"/>
</signal>
<signal name="UART_RX">
<contactref element="U$11" pad="3"/>
<contactref element="U$14" pad="P$26"/>
<wire x1="-12.5" y1="4.57" x2="-9.142" y2="4.57" width="0.254" layer="1"/>
<wire x1="-9.142" y1="4.57" x2="-8.636" y2="4.064" width="0.254" layer="1"/>
<via x="-8.636" y="4.064" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="-8.636" y1="4.064" x2="-6.35" y2="4.064" width="0.254" layer="16"/>
<wire x1="-6.35" y1="4.064" x2="-3.556" y2="1.27" width="0.254" layer="16"/>
<wire x1="2.158903125" y1="0" x2="2.9060875" y2="-0.747184375" width="0.254" layer="16"/>
<wire x1="2.158903125" y1="0" x2="0.254" y2="0" width="0.254" layer="16"/>
<wire x1="0.254" y1="0" x2="-1.016" y2="1.27" width="0.254" layer="16"/>
<wire x1="-1.016" y1="1.27" x2="-3.556" y2="1.27" width="0.254" layer="16"/>
</signal>
<signal name="SCL/PB6">
<contactref element="U$11" pad="7"/>
<contactref element="U1" pad="23"/>
<wire x1="-10.668" y1="-0.508" x2="-6.604" y2="-0.508" width="0.254" layer="1"/>
<wire x1="-6.604" y1="-0.508" x2="-3.048" y2="3.048" width="0.254" layer="1"/>
<wire x1="-3.048" y1="3.048" x2="-3.048" y2="3.81" width="0.254" layer="1"/>
<wire x1="-3.048" y1="3.81" x2="-2.54" y2="4.318" width="0.254" layer="1"/>
<wire x1="-2.54" y1="4.318" x2="-2.0817" y2="4.318" width="0.254" layer="1"/>
<wire x1="-2.0817" y1="4.318" x2="-2.0816" y2="4.3179" width="0.254" layer="1"/>
<wire x1="-12.5" y1="-2.34" x2="-10.668" y2="-0.508" width="0.254" layer="1"/>
<wire x1="-12.5" y1="-2.34" x2="-12.5" y2="-3.43" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$10">
<contactref element="U$14" pad="P$3"/>
<contactref element="C1" pad="2"/>
<wire x1="5.451671875" y1="-0.747184375" x2="5.842" y2="-0.35685625" width="0.254" layer="16"/>
<wire x1="5.842" y1="-0.35685625" x2="5.842" y2="0.254" width="0.254" layer="16"/>
<wire x1="5.842" y1="0.254" x2="6.604" y2="1.016" width="0.254" layer="16"/>
<via x="6.604" y="1.016" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="6.604" y1="1.016" x2="7.112" y2="1.016" width="0.254" layer="1"/>
<wire x1="7.112" y1="1.016" x2="7.366" y2="0.762" width="0.254" layer="1"/>
<wire x1="7.366" y1="0.762" x2="7.366" y2="-0.254" width="0.254" layer="1"/>
<wire x1="7.366" y1="-0.254" x2="7.874" y2="-0.762" width="0.254" layer="1"/>
<via x="7.874" y="-0.762" extent="1-16" drill="0.254" diameter="0.254"/>
<wire x1="7.874" y1="-0.762" x2="9.80924375" y2="-0.762" width="0.254" layer="16"/>
<wire x1="9.80924375" y1="-0.762" x2="10.111621875" y2="-1.064378125" width="0.254" layer="16"/>
</signal>
<signal name="N$17">
<contactref element="U$14" pad="P$6"/>
<contactref element="C1" pad="1"/>
<wire x1="6.51233125" y1="-1.80784375" x2="6.57415625" y2="-1.80784375" width="0.254" layer="16"/>
<wire x1="6.57415625" y1="-1.80784375" x2="6.858" y2="-1.524" width="0.254" layer="16"/>
<wire x1="6.858" y1="-1.524" x2="8.7327625" y2="-1.524" width="0.254" layer="16"/>
<wire x1="8.7327625" y1="-1.524" x2="9.19238125" y2="-1.98361875" width="0.254" layer="16"/>
</signal>
</signals>
</board>
</drawing>
</eagle>

repository: XuTangle/OpenMoteSTM

license_type: permissive

repo_name: XuTangle/OpenMoteSTM

branch_name: refs/heads/master

extension: brd


text:
#include "DirectX_ex.h"

BOOL _dx_init(INT *nError)
{
    BOOL ret = FALSE;
    ID3D11Device *pD3DDevice = nullptr;
    *nError = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, D3D11_CREATE_DEVICE_BGRA_SUPPORT, NULL, 0, D3D11_SDK_VERSION, &pD3DDevice, NULL, NULL);
    if (*nError == 0 && pD3DDevice != nullptr)
    {
        *nError = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, __uuidof(ID2D1Factory1), (LPVOID *)&(g_Ri.pD2Dfactory));
        if (*nError == 0)
        {
            IDXGIDevice *pDXGIDevice = nullptr;
            *nError = pD3DDevice->QueryInterface(__uuidof(IDXGIDevice), (LPVOID *)&pDXGIDevice);
            if (*nError == 0 && pDXGIDevice != nullptr)
            {
                *nError = g_Ri.pD2Dfactory->CreateDevice(pDXGIDevice, &g_Ri.pD2DDevice);
                if (*nError == 0 && g_Ri.pD2DDevice != nullptr)
                {
                    *nError = g_Ri.pD2DDevice->CreateDeviceContext(D2D1_DEVICE_CONTEXT_OPTIONS_NONE, &g_Ri.pD2DDeviceContext);
                    if (*nError == 0 && g_Ri.pD2DDeviceContext != nullptr)
                    {
                        g_Ri.pD2DDeviceContext->SetUnitMode(D2D1_UNIT_MODE_PIXELS);
                        g_Ri.pGDIInterop = _dx_get_gdiInterop(g_Ri.pD2DDeviceContext);
                        *nError = DWriteCreateFactory(DWRITE_FACTORY_TYPE_SHARED, __uuidof(IDWriteFactory), (IUnknown **)&g_Ri.pDWriteFactory);
                        if (*nError == 0)
                        {
                            WCHAR LocaleName[260];
                            INT reta = GetUserDefaultLocaleName(LocaleName, 260) * 2;
                            if (reta > 0)
                            {
                                g_Ri.pLocalName = Ex_MemAlloc(reta);
                                RtlMoveMemory(g_Ri.pLocalName, LocaleName, reta);
                            }
                            ret = TRUE;
                        }
                    }
                }
                pDXGIDevice->Release();
            }
        }
        pD3DDevice->Release();
    }
    return ret;
}

void _dx_uninit()
{
    if (g_Ri.pLocalName)
    {
        Ex_MemFree(g_Ri.pLocalName);
    }
    if (g_Ri.pEffectGaussianBlur)
    {
        g_Ri.pEffectGaussianBlur->Release();
    }
    if (g_Ri.pEffectHueRotation)
    {
        g_Ri.pEffectHueRotation->Release();
    }
    if (g_Ri.pGDIInterop)
    {
        g_Ri.pGDIInterop->Release();
    }
    if (g_Ri.pD2DDeviceContext)
    {
        g_Ri.pD2DDeviceContext->Release();
    }
    if (g_Ri.pD2DDevice)
    {
        g_Ri.pD2DDevice->Release();
    }
    if (g_Ri.pD2Dfactory)
    {
        g_Ri.pD2Dfactory->Release();
    }
    if (g_Ri.pDWriteFactory)
    {
        g_Ri.pDWriteFactory->Release();
    }
}

ID2D1GdiInteropRenderTarget *_dx_get_gdiInterop(ID2D1DeviceContext *pDeviceContext)
{
    ID2D1GdiInteropRenderTarget *pGDIInterface = nullptr;
    ((ID2D1DeviceContext *)pDeviceContext)->QueryInterface(__uuidof(ID2D1GdiInteropRenderTarget), (LPVOID *)&pGDIInterface);
    return pGDIInterface;
}

ID2D1Bitmap *_dx_createbitmap(ID2D1DeviceContext *pDeviceContext, INT width, INT height, INT *nError)
{

    D2D1_SIZE_U size;
    size.width = width;
    size.height = height;

    D2D1_BITMAP_PROPERTIES1 pro = {};
    pro.pixelFormat.alphaMode = D2D1_ALPHA_MODE_PREMULTIPLIED;
    pro.pixelFormat.format = DXGI_FORMAT_B8G8R8A8_UNORM;
    pro.dpiX = 96;
    pro.dpiY = 96;

    pro.bitmapOptions = D2D1_BITMAP_OPTIONS_TARGET | D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE;

    ID2D1Bitmap1 *pBitmap = nullptr;
    if (nError)
    {
        *nError = pDeviceContext->CreateBitmap(size, NULL, 0, pro, (ID2D1Bitmap1 **)&pBitmap);
    }
    return pBitmap;
}

void _dx_settarget(ID2D1DeviceContext *pDeviceContext, ID2D1Bitmap *pBitmap)
{
    if (pBitmap)
    {
        pDeviceContext->SetTarget(pBitmap);
    }
}

void _dx_getsize(ID2D1Bitmap *pBitmap, FLOAT *width, FLOAT *height)
{
    D2D1_SIZE_F size = pBitmap->GetSize();
    *width = size.width;
    *height = size.height;
}

ID2D1Bitmap *_dx_gettarget(ID2D1DeviceContext *pDeviceContext)
{
    ID2D1Bitmap *pImage = nullptr;
    pDeviceContext->GetTarget((ID2D1Image **)&pImage);
    return pImage;
}

void _dx_begindraw(ID2D1DeviceContext *pDeviceContext)
{
    pDeviceContext->BeginDraw();
}

INT _dx_enddraw(ID2D1DeviceContext *pDeviceContext)
{
    INT nError = pDeviceContext->EndDraw();
    if (nError != 0)
    {
        Ex_SetLastError(nError);
    }
    return nError;
}

void _dx_flush(ID2D1DeviceContext *pDeviceContext)
{
    pDeviceContext->Flush();
}

void _dx_clear(ID2D1DeviceContext *pDeviceContext, EXARGB Color)
{
    D2D1_COLOR_F color_f = {0};
    ARGB2ColorF(Color, &color_f);
    pDeviceContext->Clear(color_f);
}

BOOL _dx_createeffect(ID2D1DeviceContext *pDeviceContext, IID peffectId, ID2D1Effect **peffect, INT *nError)
{
    ID2D1Effect *ret = nullptr;
    *nError = pDeviceContext->CreateEffect(peffectId, &ret);
    *peffect = ret;
    return nError == 0;
}

void _dx_blur(ID2D1DeviceContext *pDeviceContext, ID2D1Bitmap *pBitmap, FLOAT fDeviation, RECT *lprc, INT *nError)
{
    _dx_flush(pDeviceContext);
    if (g_Ri.pEffectGaussianBlur == 0)
    {
        _dx_createeffect(pDeviceContext, CLSID_D2D1GaussianBlur, &g_Ri.pEffectGaussianBlur, nError);
        INT hard = 1;
        UINT32 datasize = 4;
        *nError = g_Ri.pEffectGaussianBlur->SetValue(D2D1_GAUSSIANBLUR_PROP_BORDER_MODE, D2D1_BORDER_MODE_SOFT);
    }
    if (*nError == 0)
    {
        D2D1_SIZE_F size = {};
        D2D1_POINT_2F ptOffset = {};
        if (lprc == 0)
        {
            size = pBitmap->GetSize();
        }
        else
        {
            ptOffset.x = (FLOAT)lprc->left;
            ptOffset.y = (FLOAT)lprc->top;
            size.width = (FLOAT)lprc->right - ptOffset.x;
            size.height = (FLOAT)lprc->bottom - ptOffset.y;
        }

        ID2D1Bitmap *pCopyBitmap = _dx_createbitmap(pDeviceContext, (INT)size.width, (INT)size.height, nError);
        if (*nError == 0)
        {
            pCopyBitmap->CopyFromBitmap(NULL, pBitmap, (D2D_RECT_U *)lprc);
            g_Ri.pEffectGaussianBlur->SetInput(0, pCopyBitmap, TRUE);

            FLOAT fScale = fDeviation / 2;
            *nError = g_Ri.pEffectGaussianBlur->SetValue(D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION, (BYTE *)&fScale, 4);
            if (*nError == 0)
            {
                ID2D1Image *output = nullptr;
                g_Ri.pEffectGaussianBlur->GetOutput(&output);
                if (output != 0)
                {
                    pDeviceContext->DrawImage(output, ptOffset, D2D1_INTERPOLATION_MODE_LINEAR, D2D1_COMPOSITE_MODE_SOURCE_OVER);
                    output->Release();
                }
            }
            pCopyBitmap->Release();
        }
    }
}

void _dx_cliprect(ID2D1DeviceContext *pDeviceContext, FLOAT left, FLOAT top, FLOAT right, FLOAT bottom)
{
    D2D1_RECT_F rect = {0};
    rect.left = left;
    rect.top = top;
    rect.right = right;
    rect.bottom = bottom;
    pDeviceContext->PushAxisAlignedClip(rect, (D2D1_ANTIALIAS_MODE)Flag_Query(EXGF_RENDER_CANVAS_ALIAS));
}

void _dx_resetclip(ID2D1DeviceContext *pDeviceContext)
{
    pDeviceContext->PopAxisAlignedClip();
}

void _dx_drawbitmaprect(ID2D1DeviceContext *pDeviceContext, ID2D1Bitmap *pBitmap, FLOAT dstLeft, FLOAT dstTop, FLOAT dstRight, FLOAT dstBottom, INT dwAlpha)
{
    D2D1_RECT_F rect = {0};
    rect.left = dstLeft;
    rect.top = dstTop;
    rect.right = dstRight;
    rect.bottom = dstBottom;
    pDeviceContext->DrawBitmap(pBitmap, rect, (FLOAT)(dwAlpha / 255.0), D2D1_BITMAP_INTERPOLATION_MODE_LINEAR);
}

void _dx_drawbitmaprectrect(ID2D1DeviceContext *pDeviceContext, ID2D1Bitmap *pBitmap, FLOAT dstLeft, FLOAT dstTop, FLOAT dstRight, FLOAT dstBottom, FLOAT srcLeft, FLOAT srcTop, FLOAT srcRight, FLOAT srcBottom, INT dwAlpha)
{
    D2D1_RECT_F rect = {0};
    rect.left = dstLeft;
    rect.top = dstTop;
    rect.right = dstRight;
    rect.bottom = dstBottom;
    D2D1_RECT_F rect2 = {0};
    rect2.left = srcLeft;
    rect2.top = srcTop;
    rect2.right = srcRight;
    rect2.bottom = srcBottom;
    pDeviceContext->DrawBitmap(pBitmap, rect, (FLOAT)(dwAlpha / 255.0), D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, rect2);
}

void _dx_drawimage(ID2D1DeviceContext *pDeviceContext, img_s *pImage, FLOAT left, FLOAT top, INT mode)
{
    D2D1_POINT_2F point = {};
    point.x = left;
    point.y = top;
    pDeviceContext->DrawImage((ID2D1Image *)pImage, point, D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR, (D2D1_COMPOSITE_MODE)mode);
}

void _dx_drawimage_ex(ID2D1DeviceContext *pDeviceContext, img_s *pImage, FLOAT dstLeft, FLOAT dstTop, FLOAT srcLeft, FLOAT srcTop, FLOAT srcRight, FLOAT srcBottom, INT mode)
{
    D2D1_POINT_2F point = {0};
    point.x = dstLeft;
    point.y = dstTop;
    D2D1_RECT_F rect = {0};
    rect.left = srcLeft;
    rect.top = srcTop;
    rect.right = srcRight;
    rect.bottom = srcBottom;
    pDeviceContext->DrawImage((ID2D1Image *)pImage, point, rect, D2D1_INTERPOLATION_MODE_LINEAR, (D2D1_COMPOSITE_MODE)mode);
}

void _dx_bmp_copyfrom(ID2D1Bitmap **pDestBitmap, ID2D1Bitmap *pSrcBitmap, INT dX, INT dY, INT srcLeft, INT srcTop, INT srcRight, INT srcBottom)
{
    D2D1_POINT_2U point = {0};
    point.x = dX;
    point.y = dY;
    D2D1_RECT_U rect = {0};
    rect.left = srcLeft;
    rect.top = srcTop;
    rect.right = srcRight;
    rect.bottom = srcBottom;
    (*pDestBitmap)->CopyFromBitmap(&point, pSrcBitmap, &rect);
}

void _dx_rotate_hue(ID2D1DeviceContext *pDeviceContext, ID2D1Bitmap *pBitmap, FLOAT fAngle, INT *nError)
{
    _dx_flush(pDeviceContext);
    if (g_Ri.pEffectHueRotation == 0)
    {
        _dx_createeffect(pDeviceContext, CLSID_D2D1HueRotation, &g_Ri.pEffectHueRotation, nError);
    }
    if (*nError == 0)
    {
        D2D1_SIZE_F szf = pBitmap->GetSize();

        ID2D1Bitmap *pCopyBitmap = _dx_createbitmap(pDeviceContext, szf.width, szf.height, nError);
        if (*nError == 0)
        {
            pCopyBitmap->CopyFromBitmap(NULL, pBitmap, NULL);
            g_Ri.pEffectHueRotation->SetInput(0, pCopyBitmap, 1);
            *nError = g_Ri.pEffectHueRotation->SetValue(0, (BYTE *)&fAngle, 4);
            if (*nError == 0)
            {
                ID2D1Image *output = nullptr;
                g_Ri.pEffectHueRotation->GetOutput(&output);
                if (output != 0)
                {
                    pDeviceContext->DrawImage(output, NULL, NULL, D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR, D2D1_COMPOSITE_MODE_SOURCE_COPY);
                    output->Release();
                }
            }
            pCopyBitmap->Release();
        }
    }
}

void ARGB2ColorF(EXARGB argb, D2D1_COLOR_F *color)
{
    color->b = (FLOAT)(argb & 0xFF) / 255;
    color->g = (FLOAT)((argb >> 8) & 0xFF) / 255;
    color->r = (FLOAT)((argb >> 16) & 0xFF) / 255;
    color->a = (FLOAT)((argb >> 24) & 0xFF) / 255;
}

void ColorF2ARGB(D2D1_COLOR_F color, EXARGB *argb)
{
    if (argb)
    {
        *argb = (EXARGB)(ExARGB((INT)color.r, (INT)color.g, (INT)color.b, (INT)color.a));
    }
}

void _dx_drawframe_apng(img_s *pImage, IWICBitmap *pImgSrc, IStream *lpStream, INT x, INT y, BYTE dispose, BYTE blend, INT nIndex)
{
    UINT w = NULL, h = NULL;
    IWICStream *pIWICStream = nullptr;
    HRESULT hr = 0;
    hr = g_Ri.pWICFactory->CreateStream(&pIWICStream);
    if (hr == 0)
    {
        hr = pIWICStream->InitializeFromIStream(lpStream);
        if (hr == 0)
        {
            IWICBitmapDecoder *pDecoder = nullptr;
            hr = g_Ri.pWICFactory->CreateDecoderFromStream(pIWICStream, NULL, WICDecodeMetadataCacheOnLoad, &pDecoder);
            if (hr == 0)
            {
                IWICBitmapFrameDecode *pFrame = nullptr;
                hr = pDecoder->GetFrame(0, &pFrame);
                if (hr == 0)
                {
                    IWICFormatConverter *pConverter = nullptr;
                    g_Ri.pWICFactory->CreateFormatConverter(&pConverter);
                    hr = pConverter->Initialize(pFrame, GUID_WICPixelFormat32bppPBGRA, WICBitmapDitherTypeNone, NULL, 0.0f, WICBitmapPaletteTypeCustom);
                    if (hr == 0)
                    {
                        const D2D1_PIXEL_FORMAT format =
                            D2D1::PixelFormat(
                                DXGI_FORMAT_B8G8R8A8_UNORM,
                                D2D1_ALPHA_MODE_PREMULTIPLIED);
                        const D2D1_RENDER_TARGET_PROPERTIES pro =
                            D2D1::RenderTargetProperties(
                                D2D1_RENDER_TARGET_TYPE_DEFAULT,
                                format,
                                96.0f, // default dpi
                                96.0f, // default dpi
                                D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE);

                        ID2D1RenderTarget *rt = nullptr;
                        HRESULT ret = g_Ri.pD2Dfactory->CreateWicBitmapRenderTarget((IWICBitmap *)pImgSrc, &pro, &rt);
                        if (ret == 0)
                        {
                            rt->BeginDraw();
                            if (nIndex == 0)
                            {
                                rt->Clear(NULL);
                            }
                            else
                            {
                                sizeof(EX_APNG_THUNK);
                                EX_APNG_THUNK *pFramePrev = pImage->lpFrames_[nIndex - 1];
                                BYTE disposePrev = pFramePrev->dispose_op;
                                if (disposePrev != 0)
                                {
                                    D2D1_RECT_F rcf;
                                    rcf.left = pImage->p_x_;
                                    rcf.top = pImage->p_y_;
                                    rcf.right = rcf.left + pImage->p_w_;
                                    rcf.bottom = rcf.top + pImage->p_h_;
                                    rt->PushAxisAlignedClip(rcf, (D2D1_ANTIALIAS_MODE)Flag_Query(EXGF_RENDER_CANVAS_ALIAS));
                                    rt->Clear(NULL);
                                    rt->PopAxisAlignedClip();
                                    if (disposePrev == 2) //恢复之前帧区域图像
                                    {
                                        IWICBitmap *pImgPrev = pImage->pPrev_;
                                        if (pImgPrev != 0)
                                        {
                                            ID2D1Bitmap *pBitmap = nullptr;
                                            HRESULT ret = rt->CreateBitmapFromWicBitmap(pImgPrev, NULL, &pBitmap);
                                            if (ret == 0)
                                            {
                                                rt->DrawBitmap(pBitmap, &rcf, 1.0, D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR, NULL);
                                                ((ID2D1Bitmap *)pBitmap)->Release();
                                            }
                                            pImgPrev->Release();
                                            pImage->pPrev_ = nullptr;
                                        }
                                    }
                                }
                            }
                            rt->EndDraw();
                            ID2D1Bitmap *pD2D1Bitmap = nullptr;
                            hr = rt->CreateBitmapFromWicBitmap(pConverter, &pD2D1Bitmap);
                            if (hr == 0)
                            {
                                D2D1_SIZE_F size = pD2D1Bitmap->GetSize();
                                w = size.width;
                                h = size.height;
                                if (dispose != 0)
                                {
                                    pImage->p_x_ = x;
                                    pImage->p_y_ = y;
                                    pImage->p_w_ = w;
                                    pImage->p_h_ = h;
                                    if (dispose == 2) //保存当前帧区域图像给下一帧使用
                                    {
                                        IWICBitmap *pWicBitmap = nullptr;
                                        g_Ri.pWICFactory->CreateBitmapFromSourceRect((IWICBitmapSource *)pImgSrc, x, y, w, h, &pWicBitmap);
                                        pImage->pPrev_ = pWicBitmap;
                                    }
                                }
                                rt->BeginDraw();
                                D2D1_RECT_F srect = {0, 0, w, h};
                                D2D1_RECT_F drect = {x, y, w + x, h + y};
                                rt->DrawBitmap(pD2D1Bitmap, &drect, 1, D2D1_BITMAP_INTERPOLATION_MODE_LINEAR, &srect);
                                rt->EndDraw();
                                pD2D1Bitmap->Release();
                            }
                            rt->Release();
                        }
                        pConverter->Release();
                    }
                    pFrame->Release();
                }
                pDecoder->Release();
            }
        }
        pIWICStream->Release();
    }
}

license: MIT

repository: HappyMessage/ExDUIR

repo_name: HappyMessage/ExDUIR

extension: cpp


text:
<?xml version="1.0" encoding="UTF-8"?>
<drawing version="7">
    <attr value="spartan3e" name="DeviceFamilyName">
        <trait delete="all:0" />
        <trait editname="all:0" />
        <trait edittrait="all:0" />
    </attr>
    <netlist>
        <signal name="XLXN_5" />
        <signal name="XLXN_6" />
        <signal name="XLXN_7" />
        <signal name="XLXN_8" />
        <signal name="XLXN_9" />
        <signal name="XLXN_10" />
        <signal name="XLXN_11" />
        <signal name="XLXN_12" />
        <signal name="XLXN_13" />
        <signal name="CLK_IN" />
        <signal name="CLK_OUT" />
        <signal name="XLXN_16" />
        <port polarity="Input" name="CLK_IN" />
        <port polarity="Output" name="CLK_OUT" />
        <blockdef name="SEQUENCE_2">
            <timestamp>2016-12-5T4:3:52</timestamp>
            <rect width="256" x="64" y="-192" height="192" />
            <line x2="0" y1="-160" y2="-160" x1="64" />
            <line x2="0" y1="-96" y2="-96" x1="64" />
            <line x2="384" y1="-160" y2="-160" x1="320" />
            <line x2="384" y1="-96" y2="-96" x1="320" />
            <line x2="384" y1="-32" y2="-32" x1="320" />
        </blockdef>
        <blockdef name="constant">
            <timestamp>2006-1-1T10:10:10</timestamp>
            <rect width="112" x="0" y="0" height="64" />
            <line x2="112" y1="32" y2="32" x1="144" />
        </blockdef>
        <block symbolname="SEQUENCE_2" name="XLXI_7">
            <blockpin signalname="CLK_IN" name="CLK" />
            <blockpin signalname="XLXN_9" name="CLR" />
            <blockpin name="EXE_1" />
            <blockpin name="EXE_2" />
            <blockpin signalname="XLXN_5" name="EXE_3" />
        </block>
        <block symbolname="SEQUENCE_2" name="XLXI_8">
            <blockpin signalname="XLXN_5" name="CLK" />
            <blockpin signalname="XLXN_9" name="CLR" />
            <blockpin name="EXE_1" />
            <blockpin name="EXE_2" />
            <blockpin signalname="XLXN_6" name="EXE_3" />
        </block>
        <block symbolname="SEQUENCE_2" name="XLXI_9">
            <blockpin signalname="XLXN_6" name="CLK" />
            <blockpin signalname="XLXN_9" name="CLR" />
            <blockpin name="EXE_1" />
            <blockpin name="EXE_2" />
            <blockpin signalname="XLXN_7" name="EXE_3" />
        </block>
        <block symbolname="SEQUENCE_2" name="XLXI_10">
            <blockpin signalname="XLXN_7" name="CLK" />
            <blockpin signalname="XLXN_9" name="CLR" />
            <blockpin name="EXE_1" />
            <blockpin name="EXE_2" />
            <blockpin signalname="XLXN_8" name="EXE_3" />
        </block>
        <block symbolname="SEQUENCE_2" name="XLXI_11">
            <blockpin signalname="XLXN_8" name="CLK" />
            <blockpin signalname="XLXN_9" name="CLR" />
            <blockpin name="EXE_1" />
            <blockpin name="EXE_2" />
            <blockpin signalname="XLXN_16" name="EXE_3" />
        </block>
        <block symbolname="SEQUENCE_2" name="XLXI_12">
            <blockpin signalname="XLXN_16" name="CLK" />
            <blockpin signalname="XLXN_9" name="CLR" />
            <blockpin name="EXE_1" />
            <blockpin name="EXE_2" />
            <blockpin signalname="CLK_OUT" name="EXE_3" />
        </block>
        <block symbolname="constant" name="XLXI_13">
            <attr value="0" name="CValue">
                <trait delete="all:1 sym:0" />
                <trait editname="all:1 sch:0" />
                <trait valuetype="BitVector 32 Hexadecimal" />
            </attr>
            <blockpin signalname="XLXN_9" name="O" />
        </block>
    </netlist>
    <sheet sheetnum="1" width="3520" height="2720">
        <instance x="400" y="320" name="XLXI_7" orien="R0">
        </instance>
        <branch name="XLXN_5">
            <wire x2="816" y1="288" y2="288" x1="784" />
        </branch>
        <instance x="816" y="448" name="XLXI_8" orien="R0">
        </instance>
        <branch name="XLXN_6">
            <wire x2="1232" y1="416" y2="416" x1="1200" />
        </branch>
        <instance x="1232" y="576" name="XLXI_9" orien="R0">
        </instance>
        <branch name="XLXN_7">
            <wire x2="1648" y1="544" y2="544" x1="1616" />
        </branch>
        <instance x="1648" y="704" name="XLXI_10" orien="R0">
        </instance>
        <branch name="XLXN_8">
            <wire x2="2048" y1="672" y2="672" x1="2032" />
            <wire x2="2064" y1="672" y2="672" x1="2048" />
        </branch>
        <instance x="2064" y="832" name="XLXI_11" orien="R0">
        </instance>
        <instance x="2464" y="960" name="XLXI_12" orien="R0">
        </instance>
        <branch name="XLXN_9">
            <wire x2="400" y1="224" y2="224" x1="336" />
            <wire x2="336" y1="224" y2="352" x1="336" />
            <wire x2="816" y1="352" y2="352" x1="336" />
            <wire x2="336" y1="352" y2="480" x1="336" />
            <wire x2="1232" y1="480" y2="480" x1="336" />
            <wire x2="336" y1="480" y2="608" x1="336" />
            <wire x2="1648" y1="608" y2="608" x1="336" />
            <wire x2="336" y1="608" y2="736" x1="336" />
            <wire x2="2064" y1="736" y2="736" x1="336" />
            <wire x2="336" y1="736" y2="864" x1="336" />
            <wire x2="2464" y1="864" y2="864" x1="336" />
        </branch>
        <branch name="CLK_IN">
            <wire x2="400" y1="160" y2="160" x1="368" />
        </branch>
        <iomarker fontsize="28" x="368" y="160" name="CLK_IN" orien="R180" />
        <branch name="CLK_OUT">
            <wire x2="2880" y1="928" y2="928" x1="2848" />
        </branch>
        <iomarker fontsize="28" x="2880" y="928" name="CLK_OUT" orien="R0" />
        <instance x="192" y="832" name="XLXI_13" orien="R0">
        </instance>
        <branch name="XLXN_16">
            <wire x2="2464" y1="800" y2="800" x1="2448" />
        </branch>
    </sheet>
</drawing>

extension: sch


text:
/*
(C) Copyright IBM Corp. 2021

SPDX-License-Identifier: Apache-2.0
*/

package controllers

import (
	"context"

	"github.com/go-logr/logr"
	corev1 "k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/api/errors"
	"k8s.io/apimachinery/pkg/runtime"
	ksourcesv1 "knative.dev/eventing/pkg/apis/sources/v1"
	kservingv1 "knative.dev/serving/pkg/apis/serving/v1"
	ctrl "sigs.k8s.io/controller-runtime"
	"sigs.k8s.io/controller-runtime/pkg/client"
	"sigs.k8s.io/controller-runtime/pkg/reconcile"

	"github.com/Alvearie/imaging-ingestion/imaging-ingestion-operator/api/v1alpha1"
	"github.com/Alvearie/imaging-ingestion/imaging-ingestion-operator/common"
)

// DicomwebIngestionServiceReconciler reconciles a DicomwebIngestionService object
type DicomwebIngestionServiceReconciler struct {
	client.Client
	Log    logr.Logger
	Scheme *runtime.Scheme
}

//+kubebuilder:rbac:groups=imaging-ingestion.alvearie.org,namespace=system,resources=dicomwebingestionservices,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=imaging-ingestion.alvearie.org,namespace=system,resources=dicomwebingestionservices/status,verbs=get;update;patch
//+kubebuilder:rbac:groups=imaging-ingestion.alvearie.org,namespace=system,resources=dicomwebingestionservices/finalizers,verbs=update

//+kubebuilder:rbac:groups=core,namespace=system,resources=configmaps,verbs=get;list;watch
//+kubebuilder:rbac:groups=core,namespace=system,resources=secrets,verbs=get;list;watch
//+kubebuilder:rbac:groups=serving.knative.dev,namespace=system,resources=services,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=sources.knative.dev,namespace=system,resources=sinkbindings,verbs=get;list;watch;create;update;patch;delete

// Reconcile is part of the main kubernetes reconciliation loop which aims to
// move the current state of the cluster closer to the desired state.
//
// For more details, check Reconcile and its Result here:
// - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.7.2/pkg/reconcile
func (r *DicomwebIngestionServiceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
	log := r.Log.WithValues("dicomwebingestionservice", req.NamespacedName)
	log.Info("Reconciling DicomwebIngestionService")

	instance := &v1alpha1.DicomwebIngestionService{}
	err := r.Get(ctx, req.NamespacedName, instance)
	if err != nil {
		if errors.IsNotFound(err) {
			// Request object not found, could have been deleted after reconcile request.
			// Owned objects are automatically garbage collected. For additional cleanup logic use finalizers.
			// Return and don't requeue
			return reconcile.Result{}, nil
		}
		// Error reading the object - requeue the request.
		return reconcile.Result{}, err
	}

	currentState := NewDicomwebIngestionServiceState()

	// Read current state
	err = currentState.Read(ctx, instance, r.Client)
	if err != nil {
		return r.ManageError(ctx, instance, err)
	}

	desiredState := r.reconcileInternal(currentState, instance)
	// Run the actions to reach the desired state
	actionRunner := common.NewControllerActionRunner(ctx, r.Client, r.Scheme, instance)
	err = actionRunner.RunAll(desiredState)
	if err != nil {
		return r.ManageError(ctx, instance, err)
	}

	return r.ManageSuccess(ctx, instance, currentState)
}

func (r *DicomwebIngestionServiceReconciler) ManageError(ctx context.Context, instance *v1alpha1.DicomwebIngestionService, issue error) (reconcile.Result, error) {
	instance.Status.Message = issue.Error()
	instance.Status.Ready = false
	instance.Status.Phase = v1alpha1.PhaseFailing

	err := r.Client.Status().Update(ctx, instance)
	if err != nil {
		logger.Error(err, "unable to update status")
	}

	return reconcile.Result{
		RequeueAfter: common.RequeueDelayError,
		Requeue:      true,
	}, nil
}

func (r *DicomwebIngestionServiceReconciler) ManageSuccess(ctx context.Context, instance *v1alpha1.DicomwebIngestionService, currentState *DicomwebIngestionServiceState) (reconcile.Result, error) {
	resourcesReady, err := currentState.IsResourcesReady(instance)
	if err != nil {
		return r.ManageError(ctx, instance, err)
	}

	instance.Status.Ready = resourcesReady
	instance.Status.Message = ""

	// If resources are ready and we have not errored before now, we are in a reconciling phase
	if resourcesReady {
		instance.Status.Phase = v1alpha1.PhaseReconciling
	} else {
		instance.Status.Phase = v1alpha1.PhaseInitialising
	}

	err = r.Client.Status().Update(ctx, instance)
	if err != nil {
		logger.Error(err, "unable to update status")
		return reconcile.Result{
			RequeueAfter: common.RequeueDelayError,
			Requeue:      true,
		}, nil
	}

	return reconcile.Result{RequeueAfter: common.RequeueDelay}, nil
}

// SetupWithManager sets up the controller with the Manager.
func (r *DicomwebIngestionServiceReconciler) SetupWithManager(mgr ctrl.Manager) error {
	return ctrl.NewControllerManagedBy(mgr).
		For(&v1alpha1.DicomwebIngestionService{}).
		Owns(&corev1.ConfigMap{}).
		Owns(&corev1.Secret{}).
		Owns(&kservingv1.Service{}).
		Owns(&ksourcesv1.SinkBinding{}).
		Complete(r)
}

repository: draiberg/imaging-ingestion

repo_name: draiberg/imaging-ingestion

branch_name: refs/heads/main

extension: go


text:
DESCRIPTION = "Atmel SAM-BA In-system Programmer"
SECTION = "devel"
LICENSE = "GPL-2.0-only"

LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"

SRC_URI = "https://github.com/atmelcorp/${BPN}/releases/download/v${PV}/${BPN}_${PV}-linux_x86_64.tar.gz"
SRC_URI[md5sum] = "54f9c25b18a2a1afe2735b5da38e7580"
SRC_URI[sha256sum] = "dc32c49688bbfab5aa687042caae5f611fe3d9e722098a561f8f5d2fbc57249d"

inherit deploy

S = "${WORKDIR}/${BPN}_${PV}"

do_install () {
    install -d ${D}${bindir}/sam-ba_cdc_linux
    cp -R --no-dereference --preserve=mode,links ${S}/* ${D}${bindir}/sam-ba_cdc_linux
}

addtask deploy after do_install

do_deploy () {
        install -d ${DEPLOYDIR}/sam-ba
        cp -R --no-dereference --preserve=mode,links ${D}${bindir}/sam-ba_cdc_linux/* ${DEPLOYDIR}/sam-ba
}

INSANE_SKIP:${PN} += "already-stripped"
BBCLASSEXTEND = "native nativesdk"

COMPATIBLE_HOST:class-target = "null"

repository: alexandrebelloni/meta-atmel

repo_name: alexandrebelloni/meta-atmel

gha_license_id: MIT

extension: bb


text:
package component

import (
	"fmt"
	"html/template"
	"math/rand"
	"strings"
	"time"
)

type Select struct {
	Name  string
	Title string
	Value map[string]string
}

func (c *Select) GetContent() template.HTML {
	rand.Seed(time.Now().Unix())
	id := rand.Int()

	var o strings.Builder
	for k, v := range c.Value {
		o.WriteString(fmt.Sprintf(`<option value="%s">%s</option>`, k, v))
	}

	return template.HTML(fmt.Sprintf(`

	%s:
	<select name="%s" id="select-%d">%s</select>

`, id, c.Title, c.Name, id, o.String()))
}

repository: tranch/assistant

repo_name: tranch/assistant


text:
SUMMARY = "Screen grabber for Dreambox Set-Top-Boxes"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
SRCREV = "baaf2b802a82d12153d4e95b02f009554e7f2eef"
PR = "r2"

inherit autotools schwerkraft-git

repository: kiyala/op

repo_name: kiyala/op


text:
// Copyright (c) Microsoft.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.

using System.Collections.Immutable;
using System.Linq;
using Roslyn.Utilities;

namespace Microsoft.CodeAnalysis
{
    internal static class IDocumentTrackingServiceExtensions
    {
        /// <summary>
        /// Gets the active <see cref="Document"/> the user is currently working in. May be null if
        /// there is no active document or the active document is not in this <paramref name="solution"/>.
        /// </summary>
        public static Document GetActiveDocument(this IDocumentTrackingService service, Solution solution)
        {
            // Note: GetDocument checks that the DocId is contained in the solution, and returns null if not.
            return solution.GetDocument(service.TryGetActiveDocument());
        }

        /// <summary>
        /// Get a read only collection of all the unique visible documents in the workspace that are
        /// contained within <paramref name="solution"/>.
        /// </summary>
        public static ImmutableArray<Document> GetVisibleDocuments(this IDocumentTrackingService service, Solution solution)
            => service.GetVisibleDocuments()
                      .Select(d => solution.GetDocument(d))
                      .WhereNotNull()
                      .Distinct()
                      .ToImmutableArray();
    }
}

repository: jcouv/roslyn

repo_name: jcouv/roslyn

gha_language: C#

extension: cs