<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1761572842783" clover="3.2.0">
  <project timestamp="1761572842783" name="All files">
    <metrics statements="5035" coveredstatements="4384" conditionals="1615" coveredconditionals="1115" methods="1098" coveredmethods="907" elements="7748" coveredelements="6406" complexity="0" loc="5035" ncloc="5035" packages="65" files="136" classes="136"/>
    <package name="src">
      <metrics statements="2" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
      <file name="main.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/main.ts">
        <metrics statements="2" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
        <line num="5" count="96" type="stmt"/>
        <line num="6" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app">
      <metrics statements="64" coveredstatements="46" conditionals="18" coveredconditionals="8" methods="21" coveredmethods="17"/>
      <file name="app.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.component.html">
        <metrics statements="20" coveredstatements="20" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
        <line num="1" count="95" type="stmt"/>
        <line num="3" count="51056" type="stmt"/>
        <line num="5" count="51056" type="stmt"/>
        <line num="6" count="51056" type="stmt"/>
        <line num="7" count="73" type="stmt"/>
        <line num="8" count="73" type="stmt"/>
        <line num="10" count="45724" type="stmt"/>
        <line num="11" count="45724" type="stmt"/>
        <line num="13" count="45724" type="stmt"/>
        <line num="14" count="45724" type="stmt"/>
        <line num="15" count="73" type="stmt"/>
        <line num="16" count="45724" type="stmt"/>
        <line num="17" count="73" type="stmt"/>
        <line num="20" count="73" type="stmt"/>
        <line num="21" count="73" type="stmt"/>
        <line num="22" count="73" type="stmt"/>
        <line num="24" count="51056" type="stmt"/>
        <line num="25" count="95" type="stmt"/>
        <line num="26" count="95" type="stmt"/>
        <line num="27" count="95" type="stmt"/>
      </file>
      <file name="app.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.component.ts">
        <metrics statements="38" coveredstatements="20" conditionals="16" coveredconditionals="6" methods="13" coveredmethods="9"/>
        <line num="26" count="191" type="cond" truecount="2" falsecount="0"/>
        <line num="27" count="95" type="stmt"/>
        <line num="30" count="95" type="stmt"/>
        <line num="32" count="95" type="stmt"/>
        <line num="34" count="95" type="stmt"/>
        <line num="35" count="95" type="stmt"/>
        <line num="36" count="95" type="stmt"/>
        <line num="39" count="95" type="stmt"/>
        <line num="40" count="2851" type="stmt"/>
        <line num="42" count="221" type="stmt"/>
        <line num="43" count="221" type="cond" truecount="4" falsecount="0"/>
        <line num="44" count="179" type="stmt"/>
        <line num="47" count="42" type="stmt"/>
        <line num="53" count="3" type="stmt"/>
        <line num="57" count="95" type="stmt"/>
        <line num="58" count="95" type="stmt"/>
        <line num="60" count="95" type="stmt"/>
        <line num="72" count="95" type="stmt"/>
        <line num="74" count="0" type="stmt"/>
        <line num="75" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="76" count="0" type="stmt"/>
        <line num="77" count="0" type="stmt"/>
        <line num="79" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="80" count="0" type="stmt"/>
        <line num="87" count="95" type="stmt"/>
        <line num="89" count="168" type="stmt"/>
        <line num="92" count="0" type="stmt"/>
        <line num="93" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="0" type="stmt"/>
        <line num="97" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="98" count="0" type="stmt"/>
        <line num="105" count="0" type="stmt"/>
        <line num="106" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="107" count="0" type="stmt"/>
        <line num="109" count="0" type="stmt"/>
        <line num="113" count="0" type="stmt"/>
        <line num="114" count="0" type="stmt"/>
      </file>
      <file name="app.config.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.config.ts">
        <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="3" coveredmethods="3"/>
        <line num="17" count="96" type="stmt"/>
        <line num="27" count="96" type="stmt"/>
        <line num="28" count="96" type="stmt"/>
      </file>
      <file name="app.routes.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/app.routes.ts">
        <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="41" count="96" type="stmt"/>
      </file>
      <file name="status-count.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/status-count.pipe.ts">
        <metrics statements="2" coveredstatements="2" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="8" count="244" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="618" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.administrator">
      <metrics statements="18" coveredstatements="17" conditionals="4" coveredconditionals="3" methods="9" coveredmethods="8"/>
      <file name="administrator.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/administrator/administrator.component.html">
        <metrics statements="9" coveredstatements="9" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="2"/>
        <line num="1" count="3" type="stmt"/>
        <line num="4" count="3" type="stmt"/>
        <line num="5" count="3" type="stmt"/>
        <line num="6" count="3" type="stmt"/>
        <line num="7" count="3" type="stmt"/>
        <line num="8" count="3" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
      </file>
      <file name="administrator.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/administrator/administrator.component.ts">
        <metrics statements="9" coveredstatements="8" conditionals="4" coveredconditionals="3" methods="7" coveredmethods="6"/>
        <line num="16" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="3" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="2" type="stmt"/>
        <line num="29" count="2" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="37" count="2" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.calendar-heatmap">
      <metrics statements="80" coveredstatements="62" conditionals="18" coveredconditionals="9" methods="11" coveredmethods="7"/>
      <file name="calendar-heatmap.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/calendar-heatmap/calendar-heatmap.component.html">
        <metrics statements="2" coveredstatements="2" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="0"/>
        <line num="1" count="9276" type="stmt"/>
        <line num="3" count="18552" type="stmt"/>
      </file>
      <file name="calendar-heatmap.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/calendar-heatmap/calendar-heatmap.component.ts">
        <metrics statements="78" coveredstatements="60" conditionals="18" coveredconditionals="9" methods="10" coveredmethods="7"/>
        <line num="21" count="96" type="stmt"/>
        <line num="30" count="399" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="303" type="stmt"/>
        <line num="35" count="303" type="stmt"/>
        <line num="36" count="303" type="stmt"/>
        <line num="37" count="303" type="stmt"/>
        <line num="44" count="303" type="stmt"/>
        <line num="47" count="153" type="stmt"/>
        <line num="49" count="153" type="stmt"/>
        <line num="51" count="153" type="stmt"/>
        <line num="56" count="153" type="cond" truecount="3" falsecount="1"/>
        <line num="58" count="51" type="stmt"/>
        <line num="59" count="51" type="stmt"/>
        <line num="62" count="51" type="stmt"/>
        <line num="63" count="51" type="stmt"/>
        <line num="66" count="51" type="stmt"/>
        <line num="67" count="51" type="stmt"/>
        <line num="70" count="0" type="stmt"/>
        <line num="71" count="0" type="stmt"/>
        <line num="74" count="153" type="stmt"/>
        <line num="76" count="153" type="stmt"/>
        <line num="77" count="153" type="stmt"/>
        <line num="78" count="306" type="stmt"/>
        <line num="79" count="306" type="stmt"/>
        <line num="80" count="306" type="cond" truecount="1" falsecount="1"/>
        <line num="81" count="306" type="stmt"/>
        <line num="84" count="153" type="stmt"/>
        <line num="85" count="153" type="stmt"/>
        <line num="87" count="0" type="stmt"/>
        <line num="92" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="93" count="0" type="stmt"/>
        <line num="94" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="95" count="0" type="cond" truecount="0" falsecount="3"/>
        <line num="97" count="0" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="101" count="0" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="105" count="0" type="stmt"/>
        <line num="113" count="153" type="stmt"/>
        <line num="114" count="153" type="stmt"/>
        <line num="115" count="153" type="stmt"/>
        <line num="116" count="153" type="stmt"/>
        <line num="117" count="153" type="stmt"/>
        <line num="118" count="153" type="stmt"/>
        <line num="119" count="153" type="stmt"/>
        <line num="121" count="3213" type="stmt"/>
        <line num="122" count="3213" type="stmt"/>
        <line num="123" count="3213" type="stmt"/>
        <line num="124" count="22491" type="stmt"/>
        <line num="125" count="22491" type="stmt"/>
        <line num="126" count="22491" type="stmt"/>
        <line num="127" count="22491" type="stmt"/>
        <line num="128" count="22491" type="stmt"/>
        <line num="131" count="153" type="stmt"/>
        <line num="132" count="153" type="stmt"/>
        <line num="134" count="153" type="stmt"/>
        <line num="135" count="153" type="stmt"/>
        <line num="137" count="153" type="stmt"/>
        <line num="138" count="153" type="stmt"/>
        <line num="140" count="153" type="stmt"/>
        <line num="148" count="153" type="cond" truecount="3" falsecount="0"/>
        <line num="150" count="51" type="stmt"/>
        <line num="151" count="51" type="stmt"/>
        <line num="153" count="51" type="stmt"/>
        <line num="154" count="51" type="stmt"/>
        <line num="156" count="51" type="stmt"/>
        <line num="157" count="51" type="stmt"/>
        <line num="160" count="153" type="stmt"/>
        <line num="168" count="0" type="stmt"/>
        <line num="169" count="0" type="stmt"/>
        <line num="170" count="0" type="stmt"/>
        <line num="171" count="0" type="stmt"/>
        <line num="172" count="0" type="stmt"/>
        <line num="173" count="0" type="stmt"/>
        <line num="203" count="338" type="stmt"/>
        <line num="204" count="338" type="stmt"/>
        <line num="205" count="338" type="stmt"/>
        <line num="206" count="338" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.campaign">
      <metrics statements="96" coveredstatements="82" conditionals="24" coveredconditionals="15" methods="24" coveredmethods="16"/>
      <file name="campaign.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaign/campaign.component.html">
        <metrics statements="52" coveredstatements="52" conditionals="4" coveredconditionals="4" methods="4" coveredmethods="3"/>
        <line num="10" count="1200" type="stmt"/>
        <line num="11" count="11" type="stmt"/>
        <line num="12" count="11" type="stmt"/>
        <line num="13" count="11" type="stmt"/>
        <line num="15" count="1200" type="stmt"/>
        <line num="16" count="1200" type="stmt"/>
        <line num="17" count="11" type="stmt"/>
        <line num="18" count="11" type="stmt"/>
        <line num="19" count="1200" type="stmt"/>
        <line num="20" count="332" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="23" count="1200" type="stmt"/>
        <line num="24" count="268" type="stmt"/>
        <line num="25" count="1200" type="stmt"/>
        <line num="26" count="268" type="stmt"/>
        <line num="27" count="9" type="stmt"/>
        <line num="28" count="9" type="stmt"/>
        <line num="30" count="11" type="stmt"/>
        <line num="32" count="1200" type="stmt"/>
        <line num="34" count="11" type="stmt"/>
        <line num="35" count="11" type="stmt"/>
        <line num="36" count="11" type="stmt"/>
        <line num="38" count="11" type="stmt"/>
        <line num="40" count="11" type="stmt"/>
        <line num="41" count="11" type="stmt"/>
        <line num="42" count="11" type="stmt"/>
        <line num="44" count="11" type="stmt"/>
        <line num="45" count="1200" type="cond" truecount="2" falsecount="0"/>
        <line num="46" count="268" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="160" type="stmt"/>
        <line num="49" count="160" type="stmt"/>
        <line num="52" count="5" type="stmt"/>
        <line num="53" count="5" type="stmt"/>
        <line num="54" count="5" type="stmt"/>
        <line num="55" count="5" type="stmt"/>
        <line num="56" count="5" type="stmt"/>
        <line num="57" count="5" type="stmt"/>
        <line num="58" count="5" type="stmt"/>
        <line num="60" count="5" type="stmt"/>
        <line num="62" count="591" type="stmt"/>
        <line num="63" count="591" type="stmt"/>
        <line num="64" count="591" type="stmt"/>
        <line num="65" count="591" type="stmt"/>
        <line num="66" count="591" type="stmt"/>
        <line num="67" count="7" type="stmt"/>
        <line num="68" count="7" type="stmt"/>
        <line num="71" count="5" type="stmt"/>
        <line num="72" count="536" type="stmt"/>
        <line num="74" count="536" type="stmt"/>
        <line num="76" count="9" type="stmt"/>
        <line num="86" count="11" type="stmt"/>
      </file>
      <file name="campaign.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaign/campaign.component.ts">
        <metrics statements="44" coveredstatements="30" conditionals="20" coveredconditionals="11" methods="20" coveredmethods="13"/>
        <line num="16" count="107" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="11" type="stmt"/>
        <line num="22" count="11" type="stmt"/>
        <line num="24" count="11" type="stmt"/>
        <line num="28" count="11" type="stmt"/>
        <line num="33" count="11" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="11" type="cond" truecount="2" falsecount="0"/>
        <line num="35" count="9" type="stmt"/>
        <line num="37" count="9" type="stmt"/>
        <line num="38" count="9" type="stmt"/>
        <line num="39" count="9" type="stmt"/>
        <line num="40" count="9" type="stmt"/>
        <line num="43" count="0" type="stmt"/>
        <line num="50" count="3" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="53" count="3" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="60" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="61" count="2" type="stmt"/>
        <line num="63" count="2" type="stmt"/>
        <line num="64" count="2" type="stmt"/>
        <line num="65" count="2" type="stmt"/>
        <line num="68" count="0" type="stmt"/>
        <line num="75" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="76" count="1" type="stmt"/>
        <line num="78" count="1" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="88" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="89" count="1" type="stmt"/>
        <line num="91" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="92" count="1" type="stmt"/>
        <line num="93" count="1" type="stmt"/>
        <line num="96" count="0" type="stmt"/>
        <line num="100" count="0" type="stmt"/>
        <line num="107" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="108" count="0" type="stmt"/>
        <line num="110" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="111" count="0" type="stmt"/>
        <line num="112" count="0" type="stmt"/>
        <line num="115" count="0" type="stmt"/>
        <line num="119" count="0" type="stmt"/>
        <line num="126" count="9" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.campaigns">
      <metrics statements="22" coveredstatements="22" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
      <file name="campaigns.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaigns/campaigns.component.html">
        <metrics statements="19" coveredstatements="19" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="10" type="stmt"/>
        <line num="3" count="368" type="stmt"/>
        <line num="5" count="368" type="stmt"/>
        <line num="6" count="114" type="stmt"/>
        <line num="9" count="9" type="stmt"/>
        <line num="10" count="9" type="stmt"/>
        <line num="11" count="9" type="stmt"/>
        <line num="12" count="9" type="stmt"/>
        <line num="13" count="9" type="stmt"/>
        <line num="15" count="9" type="stmt"/>
        <line num="16" count="190" type="stmt"/>
        <line num="17" count="394" type="stmt"/>
        <line num="18" count="394" type="stmt"/>
        <line num="19" count="394" type="stmt"/>
        <line num="20" count="14" type="stmt"/>
        <line num="21" count="14" type="stmt"/>
        <line num="23" count="9" type="stmt"/>
        <line num="24" count="228" type="stmt"/>
        <line num="25" count="9" type="stmt"/>
      </file>
      <file name="campaigns.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/campaigns/campaigns.component.ts">
        <metrics statements="3" coveredstatements="3" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
        <line num="15" count="106" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="10" type="stmt"/>
        <line num="21" count="9" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.command-center">
      <metrics statements="28" coveredstatements="28" conditionals="8" coveredconditionals="8" methods="12" coveredmethods="12"/>
      <file name="command-center.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/command-center/command-center.component.html">
        <metrics statements="10" coveredstatements="10" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="2" count="24" type="stmt"/>
        <line num="3" count="12129" type="stmt"/>
        <line num="4" count="12129" type="stmt"/>
        <line num="9" count="12153" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="12129" type="stmt"/>
        <line num="12" count="24" type="stmt"/>
        <line num="13" count="1038" type="stmt"/>
        <line num="15" count="24" type="stmt"/>
        <line num="17" count="24258" type="stmt"/>
        <line num="18" count="24" type="stmt"/>
      </file>
      <file name="command-center.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/command-center/command-center.component.ts">
        <metrics statements="18" coveredstatements="18" conditionals="6" coveredconditionals="6" methods="11" coveredmethods="11"/>
        <line num="18" count="120" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="24" type="stmt"/>
        <line num="27" count="24" type="stmt"/>
        <line num="29" count="24" type="stmt"/>
        <line num="30" count="24" type="stmt"/>
        <line num="36" count="12132" type="stmt"/>
        <line num="40" count="3" type="stmt"/>
        <line num="41" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="45" count="2" type="stmt"/>
        <line num="47" count="2" type="stmt"/>
        <line num="53" count="46" type="stmt"/>
        <line num="55" count="46" type="cond" truecount="2" falsecount="0"/>
        <line num="56" count="22" type="stmt"/>
        <line num="57" count="22" type="stmt"/>
        <line num="59" count="24" type="stmt"/>
        <line num="61" count="24" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.commands-table">
      <metrics statements="75" coveredstatements="66" conditionals="36" coveredconditionals="24" methods="15" coveredmethods="13"/>
      <file name="commands-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/commands-table/commands-table.component.html">
        <metrics statements="32" coveredstatements="32" conditionals="6" coveredconditionals="6" methods="3" coveredmethods="2"/>
        <line num="2" count="196" type="stmt"/>
        <line num="3" count="1" type="stmt"/>
        <line num="4" count="1" type="stmt"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="196" type="stmt"/>
        <line num="13" count="4" type="stmt"/>
        <line num="16" count="84" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="35" count="1720" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="1720" type="stmt"/>
        <line num="37" count="1720" type="stmt"/>
        <line num="38" count="1720" type="stmt"/>
        <line num="39" count="40" type="stmt"/>
        <line num="40" count="840" type="cond" truecount="4" falsecount="0"/>
        <line num="41" count="40" type="stmt"/>
        <line num="42" count="1720" type="stmt"/>
        <line num="43" count="40" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
      </file>
      <file name="commands-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/commands-table/commands-table.component.ts">
        <metrics statements="43" coveredstatements="34" conditionals="30" coveredconditionals="18" methods="12" coveredmethods="11"/>
        <line num="21" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
        <line num="39" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="40" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="2" type="stmt"/>
        <line num="43" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="44" count="0" type="stmt"/>
        <line num="47" count="2" type="stmt"/>
        <line num="48" count="2" type="stmt"/>
        <line num="50" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="51" count="0" type="stmt"/>
        <line num="53" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="54" count="0" type="stmt"/>
        <line num="57" count="2" type="stmt"/>
        <line num="58" count="2" type="stmt"/>
        <line num="64" count="2" type="stmt"/>
        <line num="66" count="2" type="stmt"/>
        <line num="67" count="6" type="stmt"/>
        <line num="74" count="4" type="stmt"/>
        <line num="76" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="77" count="4" type="stmt"/>
        <line num="79" count="4" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="89" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="90" count="2" type="stmt"/>
        <line num="92" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="93" count="2" type="stmt"/>
        <line num="96" count="2" type="cond" truecount="2" falsecount="2"/>
        <line num="97" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="98" count="0" type="stmt"/>
        <line num="101" count="0" type="stmt"/>
        <line num="103" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="104" count="0" type="stmt"/>
        <line num="107" count="2" type="stmt"/>
        <line num="111" count="1" type="stmt"/>
        <line num="112" count="1" type="stmt"/>
        <line num="114" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.configuration">
      <metrics statements="20" coveredstatements="18" conditionals="12" coveredconditionals="8" methods="6" coveredmethods="5"/>
      <file name="configuration.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/configuration/configuration.component.html">
        <metrics statements="8" coveredstatements="8" conditionals="4" coveredconditionals="1" methods="0" coveredmethods="0"/>
        <line num="1" count="20" type="stmt"/>
        <line num="2" count="32" type="cond" truecount="0" falsecount="2"/>
        <line num="3" count="33" type="cond" truecount="1" falsecount="1"/>
        <line num="4" count="1" type="stmt"/>
        <line num="6" count="40" type="stmt"/>
        <line num="7" count="40" type="stmt"/>
        <line num="8" count="16" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
      </file>
      <file name="configuration.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/configuration/configuration.component.ts">
        <metrics statements="12" coveredstatements="10" conditionals="8" coveredconditionals="7" methods="6" coveredmethods="5"/>
        <line num="17" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="26" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="33" count="188" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="187" type="cond" truecount="2" falsecount="0"/>
        <line num="35" count="185" type="stmt"/>
        <line num="39" count="0" type="stmt"/>
        <line num="40" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.configurations">
      <metrics statements="61" coveredstatements="59" conditionals="32" coveredconditionals="25" methods="13" coveredmethods="13"/>
      <file name="configurations.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/configurations/configurations.component.html">
        <metrics statements="24" coveredstatements="24" conditionals="4" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="1" count="4" type="stmt"/>
        <line num="3" count="490" type="stmt"/>
        <line num="5" count="490" type="stmt"/>
        <line num="7" count="203" type="stmt"/>
        <line num="9" count="203" type="stmt"/>
        <line num="12" count="4" type="stmt"/>
        <line num="13" count="4" type="stmt"/>
        <line num="14" count="4" type="stmt"/>
        <line num="15" count="4" type="stmt"/>
        <line num="16" count="4" type="stmt"/>
        <line num="17" count="4" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
        <line num="20" count="4" type="stmt"/>
        <line num="21" count="475" type="stmt"/>
        <line num="22" count="983" type="stmt"/>
        <line num="23" count="983" type="stmt"/>
        <line num="24" count="983" type="stmt"/>
        <line num="25" count="33" type="stmt"/>
        <line num="26" count="475" type="cond" truecount="2" falsecount="2"/>
        <line num="27" count="33" type="stmt"/>
        <line num="29" count="983" type="stmt"/>
        <line num="30" count="983" type="stmt"/>
        <line num="31" count="33" type="stmt"/>
        <line num="34" count="4" type="stmt"/>
      </file>
      <file name="configurations.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/configurations/configurations.component.ts">
        <metrics statements="37" coveredstatements="35" conditionals="28" coveredconditionals="23" methods="12" coveredmethods="12"/>
        <line num="18" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="4" type="stmt"/>
        <line num="22" count="4" type="stmt"/>
        <line num="24" count="4" type="stmt"/>
        <line num="25" count="4" type="stmt"/>
        <line num="26" count="4" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
        <line num="30" count="4" type="stmt"/>
        <line num="33" count="4" type="stmt"/>
        <line num="34" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="35" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="13" type="stmt"/>
        <line num="42" count="4" type="stmt"/>
        <line num="46" count="13" type="stmt"/>
        <line num="47" count="13" type="stmt"/>
        <line num="48" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="13" type="stmt"/>
        <line num="53" count="13" type="stmt"/>
        <line num="54" count="33" type="stmt"/>
        <line num="55" count="33" type="cond" truecount="1" falsecount="1"/>
        <line num="56" count="0" type="stmt"/>
        <line num="59" count="13" type="stmt"/>
        <line num="65" count="2" type="stmt"/>
        <line num="69" count="9" type="stmt"/>
        <line num="70" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="71" count="9" type="stmt"/>
        <line num="73" count="9" type="cond" truecount="3" falsecount="1"/>
        <line num="74" count="9" type="stmt"/>
        <line num="76" count="9" type="cond" truecount="4" falsecount="0"/>
        <line num="77" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="78" count="0" type="stmt"/>
        <line num="81" count="6" type="stmt"/>
        <line num="83" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="86" count="9" type="stmt"/>
        <line num="90" count="12" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.countdown">
      <metrics statements="119" coveredstatements="94" conditionals="58" coveredconditionals="24" methods="12" coveredmethods="8"/>
      <file name="countdown.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/countdown/countdown.component.html">
        <metrics statements="60" coveredstatements="60" conditionals="28" coveredconditionals="14" methods="0" coveredmethods="0"/>
        <line num="1" count="1" type="stmt"/>
        <line num="2" count="788" type="stmt"/>
        <line num="4" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="789" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="11" count="789" type="stmt"/>
        <line num="12" count="1" type="stmt"/>
        <line num="13" count="1" type="stmt"/>
        <line num="15" count="789" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="19" count="789" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="24" count="788" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="789" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="31" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="32" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="35" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="36" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="39" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="40" count="1" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="43" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="44" count="1" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="47" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="48" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="51" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="52" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="58" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="62" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="66" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="67" count="1" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="70" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="71" count="1" type="stmt"/>
        <line num="72" count="1" type="stmt"/>
        <line num="74" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="75" count="1" type="stmt"/>
        <line num="76" count="1" type="stmt"/>
        <line num="78" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="1" type="stmt"/>
        <line num="80" count="1" type="stmt"/>
        <line num="82" count="789" type="cond" truecount="1" falsecount="1"/>
        <line num="83" count="1" type="stmt"/>
        <line num="85" count="1" type="stmt"/>
        <line num="87" count="1" type="stmt"/>
      </file>
      <file name="countdown.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/countdown/countdown.component.ts">
        <metrics statements="59" coveredstatements="34" conditionals="30" coveredconditionals="10" methods="12" coveredmethods="8"/>
        <line num="14" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="36" count="1" type="cond" truecount="2" falsecount="2"/>
        <line num="37" count="0" type="stmt"/>
        <line num="39" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="40" count="0" type="stmt"/>
        <line num="41" count="0" type="stmt"/>
        <line num="43" count="0" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
        <line num="47" count="0" type="stmt"/>
        <line num="48" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="49" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="50" count="0" type="stmt"/>
        <line num="52" count="0" type="stmt"/>
        <line num="55" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="56" count="0" type="stmt"/>
        <line num="58" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="60" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="61" count="0" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="69" count="1" type="stmt"/>
        <line num="70" count="56" type="stmt"/>
        <line num="71" count="1" type="stmt"/>
        <line num="75" count="3" type="stmt"/>
        <line num="76" count="3" type="stmt"/>
        <line num="80" count="0" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="85" count="60" type="stmt"/>
        <line num="86" count="60" type="cond" truecount="1" falsecount="1"/>
        <line num="87" count="60" type="stmt"/>
        <line num="89" count="60" type="stmt"/>
        <line num="90" count="60" type="cond" truecount="1" falsecount="1"/>
        <line num="91" count="0" type="stmt"/>
        <line num="94" count="60" type="stmt"/>
        <line num="95" count="60" type="stmt"/>
        <line num="96" count="60" type="stmt"/>
        <line num="97" count="60" type="stmt"/>
        <line num="100" count="0" type="stmt"/>
        <line num="101" count="0" type="stmt"/>
        <line num="102" count="0" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="108" count="1576" type="cond" truecount="1" falsecount="1"/>
        <line num="109" count="0" type="stmt"/>
        <line num="111" count="1576" type="cond" truecount="2" falsecount="0"/>
        <line num="115" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="116" count="4" type="stmt"/>
        <line num="118" count="4" type="stmt"/>
        <line num="119" count="4" type="stmt"/>
        <line num="122" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.custom-view">
      <metrics statements="53" coveredstatements="46" conditionals="20" coveredconditionals="14" methods="9" coveredmethods="8"/>
      <file name="custom-view.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-view/custom-view.component.html">
        <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="1" type="stmt"/>
        <line num="2" count="1" type="stmt"/>
        <line num="3" count="1" type="stmt"/>
      </file>
      <file name="custom-view.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-view/custom-view.component.ts">
        <metrics statements="50" coveredstatements="43" conditionals="20" coveredconditionals="14" methods="9" coveredmethods="8"/>
        <line num="12" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="18" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="22" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="23" count="1" type="stmt"/>
        <line num="25" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="34" count="0" type="stmt"/>
        <line num="40" count="1" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="44" count="1" type="stmt"/>
        <line num="45" count="7" type="stmt"/>
        <line num="46" count="7" type="stmt"/>
        <line num="47" count="7" type="stmt"/>
        <line num="48" count="7" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="51" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="56" count="7" type="stmt"/>
        <line num="60" count="7" type="stmt"/>
        <line num="62" count="7" type="cond" truecount="7" falsecount="3"/>
        <line num="64" count="1" type="stmt"/>
        <line num="65" count="1" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="69" count="1" type="stmt"/>
        <line num="72" count="1" type="stmt"/>
        <line num="73" count="1" type="stmt"/>
        <line num="76" count="1" type="stmt"/>
        <line num="77" count="1" type="stmt"/>
        <line num="80" count="1" type="stmt"/>
        <line num="81" count="1" type="stmt"/>
        <line num="84" count="1" type="stmt"/>
        <line num="85" count="1" type="stmt"/>
        <line num="88" count="0" type="stmt"/>
        <line num="89" count="0" type="stmt"/>
        <line num="92" count="1" type="stmt"/>
        <line num="93" count="1" type="stmt"/>
        <line num="96" count="0" type="stmt"/>
        <line num="97" count="0" type="stmt"/>
        <line num="100" count="0" type="stmt"/>
        <line num="103" count="7" type="stmt"/>
        <line num="104" count="7" type="stmt"/>
        <line num="105" count="7" type="stmt"/>
        <line num="106" count="5" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.custom-views">
      <metrics statements="33" coveredstatements="19" conditionals="6" coveredconditionals="2" methods="13" coveredmethods="5"/>
      <file name="custom-views.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-views/custom-views.component.html">
        <metrics statements="13" coveredstatements="13" conditionals="0" coveredconditionals="0" methods="2" coveredmethods="0"/>
        <line num="2" count="182" type="stmt"/>
        <line num="4" count="182" type="stmt"/>
        <line num="7" count="3" type="stmt"/>
        <line num="8" count="3" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="13" count="13" type="stmt"/>
        <line num="14" count="12" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="17" count="3" type="stmt"/>
        <line num="19" count="364" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="22" count="364" type="stmt"/>
      </file>
      <file name="custom-views.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/custom-views/custom-views.component.ts">
        <metrics statements="20" coveredstatements="6" conditionals="6" coveredconditionals="2" methods="11" coveredmethods="5"/>
        <line num="17" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="3" type="stmt"/>
        <line num="27" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="28" count="0" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="33" count="0" type="stmt"/>
        <line num="38" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="39" count="0" type="stmt"/>
        <line num="41" count="0" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="53" count="3" type="stmt"/>
        <line num="55" count="3" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="63" count="0" type="stmt"/>
        <line num="69" count="0" type="stmt"/>
        <line num="70" count="0" type="stmt"/>
        <line num="72" count="0" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.dashboard">
      <metrics statements="45" coveredstatements="45" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="5"/>
      <file name="dashboard.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/dashboard/dashboard.component.html">
        <metrics statements="40" coveredstatements="40" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="2" count="101" type="stmt"/>
        <line num="5" count="6184" type="stmt"/>
        <line num="8" count="6184" type="stmt"/>
        <line num="11" count="51" type="stmt"/>
        <line num="12" count="6184" type="stmt"/>
        <line num="13" count="6235" type="stmt"/>
        <line num="16" count="51" type="stmt"/>
        <line num="20" count="51" type="stmt"/>
        <line num="21" count="6184" type="stmt"/>
        <line num="22" count="6235" type="stmt"/>
        <line num="25" count="51" type="stmt"/>
        <line num="29" count="51" type="stmt"/>
        <line num="30" count="6184" type="stmt"/>
        <line num="31" count="6235" type="stmt"/>
        <line num="34" count="51" type="stmt"/>
        <line num="38" count="51" type="stmt"/>
        <line num="39" count="6184" type="stmt"/>
        <line num="40" count="6235" type="stmt"/>
        <line num="43" count="51" type="stmt"/>
        <line num="47" count="51" type="stmt"/>
        <line num="48" count="6184" type="stmt"/>
        <line num="49" count="6235" type="stmt"/>
        <line num="52" count="51" type="stmt"/>
        <line num="56" count="51" type="stmt"/>
        <line num="57" count="6184" type="stmt"/>
        <line num="58" count="6235" type="stmt"/>
        <line num="63" count="51" type="stmt"/>
        <line num="67" count="101" type="stmt"/>
        <line num="68" count="101" type="stmt"/>
        <line num="69" count="101" type="stmt"/>
        <line num="70" count="101" type="stmt"/>
        <line num="72" count="101" type="stmt"/>
        <line num="73" count="101" type="stmt"/>
        <line num="74" count="101" type="stmt"/>
        <line num="75" count="101" type="stmt"/>
        <line num="76" count="101" type="stmt"/>
        <line num="77" count="101" type="stmt"/>
        <line num="78" count="101" type="stmt"/>
        <line num="79" count="101" type="stmt"/>
        <line num="82" count="101" type="stmt"/>
      </file>
      <file name="dashboard.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/dashboard/dashboard.component.ts">
        <metrics statements="5" coveredstatements="5" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="5"/>
        <line num="16" count="197" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="101" type="stmt"/>
        <line num="23" count="51" type="stmt"/>
        <line num="24" count="85" type="stmt"/>
        <line num="29" count="89" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device">
      <metrics statements="36" coveredstatements="34" conditionals="6" coveredconditionals="6" methods="10" coveredmethods="8"/>
      <file name="device.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device/device.component.html">
        <metrics statements="18" coveredstatements="18" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="128" type="stmt"/>
        <line num="3" count="256" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="1" type="stmt"/>
        <line num="6" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="20" count="256" type="stmt"/>
        <line num="21" count="3" type="stmt"/>
        <line num="22" count="164" type="stmt"/>
        <line num="23" count="3" type="stmt"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="82" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="29" count="3" type="stmt"/>
        <line num="30" count="164" type="stmt"/>
        <line num="32" count="3" type="stmt"/>
      </file>
      <file name="device.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device/device.component.ts">
        <metrics statements="18" coveredstatements="16" conditionals="4" coveredconditionals="4" methods="10" coveredmethods="8"/>
        <line num="23" count="101" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="5" type="stmt"/>
        <line num="28" count="5" type="stmt"/>
        <line num="32" count="5" type="stmt"/>
        <line num="35" count="4" type="stmt"/>
        <line num="36" count="4" type="stmt"/>
        <line num="37" count="4" type="stmt"/>
        <line num="38" count="4" type="stmt"/>
        <line num="41" count="6" type="stmt"/>
        <line num="42" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="43" count="3" type="stmt"/>
        <line num="46" count="2" type="stmt"/>
        <line num="48" count="0" type="stmt"/>
        <line num="51" count="2" type="stmt"/>
        <line num="55" count="5" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="65" count="4" type="stmt"/>
        <line num="66" count="4" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-card">
      <metrics statements="56" coveredstatements="55" conditionals="10" coveredconditionals="7" methods="6" coveredmethods="6"/>
      <file name="device-card.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card/device-card.component.html">
        <metrics statements="42" coveredstatements="42" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="82" type="stmt"/>
        <line num="3" count="167" type="stmt"/>
        <line num="4" count="167" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="10" count="167" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
        <line num="13" count="164" type="stmt"/>
        <line num="15" count="3" type="stmt"/>
        <line num="16" count="167" type="stmt"/>
        <line num="18" count="3" type="stmt"/>
        <line num="19" count="164" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="3" type="stmt"/>
        <line num="22" count="167" type="stmt"/>
        <line num="24" count="3" type="stmt"/>
        <line num="25" count="164" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="28" count="164" type="stmt"/>
        <line num="29" count="167" type="stmt"/>
        <line num="31" count="3" type="stmt"/>
        <line num="33" count="3" type="stmt"/>
        <line num="35" count="164" type="stmt"/>
        <line num="36" count="3" type="stmt"/>
        <line num="37" count="3" type="stmt"/>
        <line num="38" count="3" type="stmt"/>
        <line num="39" count="3" type="stmt"/>
        <line num="40" count="3" type="stmt"/>
        <line num="41" count="164" type="stmt"/>
        <line num="42" count="3" type="stmt"/>
        <line num="43" count="3" type="stmt"/>
        <line num="44" count="3" type="stmt"/>
        <line num="45" count="3" type="stmt"/>
        <line num="46" count="3" type="stmt"/>
        <line num="47" count="164" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="50" count="3" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="stmt"/>
        <line num="55" count="164" type="stmt"/>
        <line num="56" count="167" type="stmt"/>
        <line num="57" count="3" type="stmt"/>
        <line num="60" count="3" type="stmt"/>
      </file>
      <file name="device-card.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card/device-card.component.ts">
        <metrics statements="14" coveredstatements="13" conditionals="8" coveredconditionals="5" methods="6" coveredmethods="6"/>
        <line num="14" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="29" count="3" type="stmt"/>
        <line num="30" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="31" count="3" type="stmt"/>
        <line num="33" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="34" count="3" type="stmt"/>
        <line num="37" count="0" type="stmt"/>
        <line num="39" count="3" type="stmt"/>
        <line num="40" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="41" count="3" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-card-mini">
      <metrics statements="14" coveredstatements="14" conditionals="4" coveredconditionals="3" methods="6" coveredmethods="6"/>
      <file name="device-card-mini.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card-mini/device-card-mini.component.html">
        <metrics statements="7" coveredstatements="7" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="54" type="stmt"/>
        <line num="5" count="111" type="stmt"/>
        <line num="6" count="111" type="stmt"/>
        <line num="8" count="3" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="111" type="stmt"/>
        <line num="14" count="3" type="stmt"/>
      </file>
      <file name="device-card-mini.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-card-mini/device-card-mini.component.ts">
        <metrics statements="7" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="6" coveredmethods="6"/>
        <line num="13" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="3" type="stmt"/>
        <line num="23" count="3" type="stmt"/>
        <line num="25" count="6" type="stmt"/>
        <line num="26" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="3" type="stmt"/>
        <line num="34" count="3" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-setup">
      <metrics statements="39" coveredstatements="39" conditionals="4" coveredconditionals="3" methods="8" coveredmethods="8"/>
      <file name="device-setup.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setup/device-setup.component.html">
        <metrics statements="25" coveredstatements="25" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="1" count="22" type="stmt"/>
        <line num="2" count="37" type="stmt"/>
        <line num="5" count="37" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="9" count="36" type="stmt"/>
        <line num="10" count="108" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="12" count="1" type="stmt"/>
        <line num="17" count="36" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="27" count="333" type="stmt"/>
        <line num="28" count="9" type="stmt"/>
        <line num="29" count="333" type="stmt"/>
        <line num="30" count="9" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="41" count="44" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
      </file>
      <file name="device-setup.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setup/device-setup.component.ts">
        <metrics statements="14" coveredstatements="14" conditionals="4" coveredconditionals="3" methods="7" coveredmethods="7"/>
        <line num="17" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="32" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="35" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="46" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-setups">
      <metrics statements="15" coveredstatements="15" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
      <file name="device-setups.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setups/device-setups.component.html">
        <metrics statements="12" coveredstatements="12" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="4" type="stmt"/>
        <line num="3" count="88" type="stmt"/>
        <line num="5" count="88" type="stmt"/>
        <line num="8" count="4" type="stmt"/>
        <line num="9" count="4" type="stmt"/>
        <line num="10" count="4" type="stmt"/>
        <line num="12" count="4" type="stmt"/>
        <line num="13" count="30" type="stmt"/>
        <line num="14" count="63" type="stmt"/>
        <line num="15" count="63" type="stmt"/>
        <line num="16" count="3" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
      </file>
      <file name="device-setups.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-setups/device-setups.component.ts">
        <metrics statements="3" coveredstatements="3" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
        <line num="14" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="4" type="stmt"/>
        <line num="21" count="4" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.device-states">
      <metrics statements="96" coveredstatements="85" conditionals="26" coveredconditionals="16" methods="24" coveredmethods="15"/>
      <file name="device-states.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-states/device-states.component.html">
        <metrics statements="44" coveredstatements="44" conditionals="2" coveredconditionals="0" methods="4" coveredmethods="1"/>
        <line num="1" count="201" type="stmt"/>
        <line num="3" count="402" type="stmt"/>
        <line num="6" count="244" type="stmt"/>
        <line num="7" count="244" type="stmt"/>
        <line num="9" count="2" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="20" count="123" type="cond" truecount="0" falsecount="2"/>
        <line num="21" count="242" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="23" count="2" type="stmt"/>
        <line num="25" count="2" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="242" type="stmt"/>
        <line num="38" count="2" type="stmt"/>
        <line num="39" count="1" type="stmt"/>
        <line num="41" count="33" type="stmt"/>
        <line num="44" count="1" type="stmt"/>
        <line num="45" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="52" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="57" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="61" count="680" type="stmt"/>
        <line num="62" count="680" type="stmt"/>
        <line num="63" count="680" type="stmt"/>
        <line num="65" count="20" type="stmt"/>
        <line num="66" count="660" type="stmt"/>
        <line num="67" count="680" type="stmt"/>
        <line num="68" count="20" type="stmt"/>
        <line num="70" count="20" type="stmt"/>
        <line num="71" count="680" type="stmt"/>
        <line num="72" count="660" type="stmt"/>
        <line num="73" count="20" type="stmt"/>
        <line num="75" count="1" type="stmt"/>
        <line num="76" count="2" type="stmt"/>
        <line num="77" count="2" type="stmt"/>
        <line num="78" count="121" type="stmt"/>
        <line num="82" count="2" type="stmt"/>
      </file>
      <file name="device-states.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/device-states/device-states.component.ts">
        <metrics statements="52" coveredstatements="41" conditionals="24" coveredconditionals="16" methods="20" coveredmethods="14"/>
        <line num="38" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="43" count="3" type="stmt"/>
        <line num="44" count="3" type="stmt"/>
        <line num="47" count="3" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="50" count="3" type="stmt"/>
        <line num="56" count="3" type="stmt"/>
        <line num="59" count="2" type="stmt"/>
        <line num="65" count="2" type="stmt"/>
        <line num="66" count="2" type="stmt"/>
        <line num="67" count="2" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="69" count="2" type="stmt"/>
        <line num="71" count="4" type="stmt"/>
        <line num="72" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="73" count="1" type="stmt"/>
        <line num="74" count="1" type="stmt"/>
        <line num="77" count="2" type="stmt"/>
        <line num="79" count="0" type="stmt"/>
        <line num="80" count="0" type="stmt"/>
        <line num="83" count="2" type="stmt"/>
        <line num="89" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="90" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="92" count="2" type="stmt"/>
        <line num="96" count="2" type="stmt"/>
        <line num="97" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="98" count="2" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="107" count="0" type="stmt"/>
        <line num="111" count="0" type="stmt"/>
        <line num="112" count="0" type="stmt"/>
        <line num="114" count="0" type="stmt"/>
        <line num="121" count="0" type="stmt"/>
        <line num="122" count="0" type="stmt"/>
        <line num="126" count="4" type="stmt"/>
        <line num="130" count="3" type="stmt"/>
        <line num="131" count="3" type="stmt"/>
        <line num="133" count="3" type="stmt"/>
        <line num="138" count="12" type="stmt"/>
        <line num="141" count="3" type="stmt"/>
        <line num="144" count="0" type="stmt"/>
        <line num="150" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="151" count="1" type="stmt"/>
        <line num="153" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="154" count="1" type="stmt"/>
        <line num="157" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="158" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="159" count="0" type="stmt"/>
        <line num="162" count="1" type="stmt"/>
        <line num="163" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="165" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.devices">
      <metrics statements="68" coveredstatements="54" conditionals="24" coveredconditionals="12" methods="14" coveredmethods="8"/>
      <file name="devices.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/devices/devices.component.html">
        <metrics statements="36" coveredstatements="35" conditionals="8" coveredconditionals="4" methods="1" coveredmethods="0"/>
        <line num="1" count="2" type="stmt"/>
        <line num="3" count="56" type="stmt"/>
        <line num="5" count="56" type="stmt"/>
        <line num="7" count="30" type="cond" truecount="0" falsecount="2"/>
        <line num="9" count="28" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="16" count="2" type="stmt"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="84" type="stmt"/>
        <line num="22" count="177" type="stmt"/>
        <line num="23" count="177" type="stmt"/>
        <line num="24" count="9" type="stmt"/>
        <line num="25" count="168" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="93" type="stmt"/>
        <line num="28" count="9" type="stmt"/>
        <line num="29" count="9" type="stmt"/>
        <line num="30" count="168" type="stmt"/>
        <line num="31" count="413" type="stmt"/>
        <line num="32" count="21" type="stmt"/>
        <line num="33" count="9" type="stmt"/>
        <line num="34" count="9" type="stmt"/>
        <line num="35" count="168" type="cond" truecount="1" falsecount="1"/>
        <line num="36" count="93" type="stmt"/>
        <line num="38" count="9" type="stmt"/>
        <line num="39" count="0" type="stmt"/>
        <line num="40" count="9" type="stmt"/>
        <line num="41" count="9" type="stmt"/>
        <line num="42" count="9" type="stmt"/>
        <line num="43" count="84" type="cond" truecount="1" falsecount="1"/>
        <line num="45" count="9" type="stmt"/>
        <line num="48" count="2" type="stmt"/>
      </file>
      <file name="devices.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/devices/devices.component.ts">
        <metrics statements="32" coveredstatements="19" conditionals="16" coveredconditionals="8" methods="13" coveredmethods="8"/>
        <line num="18" count="98" type="cond" truecount="2" falsecount="0"/>
        <line num="23" count="2" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="33" count="2" type="stmt"/>
        <line num="34" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="35" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="36" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="2" type="cond" truecount="2" falsecount="2"/>
        <line num="38" count="0" type="stmt"/>
        <line num="41" count="2" type="stmt"/>
        <line num="44" count="2" type="stmt"/>
        <line num="46" count="2" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="50" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="51" count="0" type="stmt"/>
        <line num="58" count="2" type="stmt"/>
        <line num="62" count="0" type="stmt"/>
        <line num="63" count="0" type="stmt"/>
        <line num="65" count="0" type="stmt"/>
        <line num="72" count="4" type="stmt"/>
        <line num="78" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="80" count="0" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="83" count="0" type="stmt"/>
        <line num="84" count="0" type="stmt"/>
        <line num="86" count="0" type="stmt"/>
        <line num="87" count="0" type="stmt"/>
        <line num="92" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.empty-placeholder">
      <metrics statements="17" coveredstatements="16" conditionals="8" coveredconditionals="5" methods="6" coveredmethods="6"/>
      <file name="empty-placeholder.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/empty-placeholder/empty-placeholder.component.html">
        <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="3" count="53" type="stmt"/>
        <line num="4" count="1" type="stmt"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
      </file>
      <file name="empty-placeholder.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/empty-placeholder/empty-placeholder.component.ts">
        <metrics statements="13" coveredstatements="12" conditionals="8" coveredconditionals="5" methods="5" coveredmethods="5"/>
        <line num="11" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="1" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="19" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="20" count="0" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="26" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.error">
      <metrics statements="24" coveredstatements="24" conditionals="10" coveredconditionals="7" methods="5" coveredmethods="5"/>
      <file name="error.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/error/error.component.html">
        <metrics statements="13" coveredstatements="13" conditionals="2" coveredconditionals="1" methods="1" coveredmethods="1"/>
        <line num="4" count="4" type="stmt"/>
        <line num="5" count="316" type="stmt"/>
        <line num="6" count="316" type="stmt"/>
        <line num="7" count="4" type="stmt"/>
        <line num="8" count="4" type="stmt"/>
        <line num="9" count="316" type="stmt"/>
        <line num="10" count="320" type="cond" truecount="1" falsecount="1"/>
        <line num="11" count="320" type="stmt"/>
        <line num="12" count="320" type="stmt"/>
        <line num="13" count="320" type="stmt"/>
        <line num="14" count="4" type="stmt"/>
        <line num="15" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
      </file>
      <file name="error.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/error/error.component.ts">
        <metrics statements="11" coveredstatements="11" conditionals="8" coveredconditionals="6" methods="4" coveredmethods="4"/>
        <line num="12" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="14" count="4" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
        <line num="21" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="22" count="4" type="stmt"/>
        <line num="25" count="4" type="stmt"/>
        <line num="26" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="4" type="stmt"/>
        <line num="30" count="4" type="stmt"/>
        <line num="36" count="4" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.event">
      <metrics statements="19" coveredstatements="16" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="4"/>
      <file name="event.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event/event.component.html">
        <metrics statements="10" coveredstatements="8" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="2" count="97" type="stmt"/>
        <line num="3" count="187" type="stmt"/>
        <line num="4" count="187" type="stmt"/>
        <line num="5" count="187" type="stmt"/>
        <line num="6" count="93" type="stmt"/>
        <line num="7" count="93" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="194" type="stmt"/>
        <line num="11" count="0" type="stmt"/>
        <line num="12" count="0" type="stmt"/>
      </file>
      <file name="event.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event/event.component.ts">
        <metrics statements="9" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="4"/>
        <line num="14" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="35" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.event-rule">
      <metrics statements="14" coveredstatements="13" conditionals="4" coveredconditionals="4" methods="5" coveredmethods="4"/>
      <file name="event-rule.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rule/event-rule.component.html">
        <metrics statements="7" coveredstatements="7" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="10" type="stmt"/>
        <line num="3" count="20" type="stmt"/>
        <line num="4" count="9" type="stmt"/>
        <line num="5" count="9" type="stmt"/>
        <line num="6" count="9" type="stmt"/>
        <line num="7" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="8" count="1" type="stmt"/>
      </file>
      <file name="event-rule.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rule/event-rule.component.ts">
        <metrics statements="7" coveredstatements="6" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="4"/>
        <line num="16" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="30" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="36" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.event-rules">
      <metrics statements="56" coveredstatements="50" conditionals="32" coveredconditionals="25" methods="15" coveredmethods="10"/>
      <file name="event-rules.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rules/event-rules.component.html">
        <metrics statements="19" coveredstatements="19" conditionals="8" coveredconditionals="6" methods="4" coveredmethods="1"/>
        <line num="1" count="64" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="128" type="stmt"/>
        <line num="4" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="6" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="8" count="54" type="cond" truecount="0" falsecount="2"/>
        <line num="10" count="52" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="23" count="2" type="stmt"/>
        <line num="24" count="520" type="stmt"/>
        <line num="25" count="1100" type="stmt"/>
        <line num="26" count="1100" type="stmt"/>
        <line num="27" count="60" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
      </file>
      <file name="event-rules.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/event-rules/event-rules.component.ts">
        <metrics statements="37" coveredstatements="31" conditionals="24" coveredconditionals="19" methods="11" coveredmethods="9"/>
        <line num="20" count="98" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="2" type="stmt"/>
        <line num="25" count="2" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="32" count="2" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="stmt"/>
        <line num="37" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="38" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="40" count="2" type="stmt"/>
        <line num="41" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="42" count="0" type="stmt"/>
        <line num="45" count="2" type="stmt"/>
        <line num="46" count="2" type="stmt"/>
        <line num="51" count="6" type="stmt"/>
        <line num="52" count="6" type="stmt"/>
        <line num="53" count="6" type="stmt"/>
        <line num="54" count="6" type="stmt"/>
        <line num="57" count="0" type="stmt"/>
        <line num="63" count="4" type="stmt"/>
        <line num="64" count="4" type="cond" truecount="3" falsecount="1"/>
        <line num="65" count="4" type="stmt"/>
        <line num="67" count="4" type="cond" truecount="3" falsecount="1"/>
        <line num="68" count="4" type="stmt"/>
        <line num="71" count="4" type="cond" truecount="4" falsecount="0"/>
        <line num="72" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="73" count="2" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
        <line num="78" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="2" type="stmt"/>
        <line num="82" count="4" type="stmt"/>
        <line num="86" count="0" type="stmt"/>
        <line num="87" count="0" type="stmt"/>
        <line num="89" count="0" type="stmt"/>
        <line num="96" count="4" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.events">
      <metrics statements="67" coveredstatements="56" conditionals="36" coveredconditionals="24" methods="15" coveredmethods="10"/>
      <file name="events.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/events/events.component.html">
        <metrics statements="21" coveredstatements="21" conditionals="8" coveredconditionals="6" methods="4" coveredmethods="1"/>
        <line num="1" count="174" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="348" type="stmt"/>
        <line num="4" count="348" type="cond" truecount="2" falsecount="0"/>
        <line num="6" count="348" type="cond" truecount="2" falsecount="0"/>
        <line num="8" count="32" type="cond" truecount="0" falsecount="2"/>
        <line num="10" count="30" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="13" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="15" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="25" count="300" type="stmt"/>
        <line num="26" count="640" type="stmt"/>
        <line num="27" count="640" type="stmt"/>
        <line num="28" count="640" type="stmt"/>
        <line num="29" count="40" type="stmt"/>
        <line num="32" count="2" type="stmt"/>
      </file>
      <file name="events.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/events/events.component.ts">
        <metrics statements="46" coveredstatements="35" conditionals="28" coveredconditionals="18" methods="11" coveredmethods="9"/>
        <line num="22" count="101" type="cond" truecount="2" falsecount="0"/>
        <line num="24" count="5" type="stmt"/>
        <line num="28" count="5" type="stmt"/>
        <line num="29" count="5" type="stmt"/>
        <line num="30" count="5" type="stmt"/>
        <line num="31" count="5" type="stmt"/>
        <line num="32" count="5" type="stmt"/>
        <line num="33" count="5" type="stmt"/>
        <line num="34" count="5" type="stmt"/>
        <line num="39" count="5" type="stmt"/>
        <line num="42" count="4" type="stmt"/>
        <line num="43" count="4" type="stmt"/>
        <line num="44" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="45" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="4" type="stmt"/>
        <line num="48" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="49" count="0" type="stmt"/>
        <line num="51" count="4" type="stmt"/>
        <line num="52" count="4" type="stmt"/>
        <line num="54" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="55" count="0" type="stmt"/>
        <line num="57" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="58" count="1" type="stmt"/>
        <line num="60" count="4" type="stmt"/>
        <line num="61" count="4" type="stmt"/>
        <line num="67" count="6" type="stmt"/>
        <line num="68" count="6" type="stmt"/>
        <line num="70" count="5" type="stmt"/>
        <line num="71" count="5" type="stmt"/>
        <line num="74" count="0" type="stmt"/>
        <line num="80" count="2" type="stmt"/>
        <line num="81" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="82" count="2" type="stmt"/>
        <line num="84" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="85" count="2" type="stmt"/>
        <line num="88" count="2" type="cond" truecount="2" falsecount="2"/>
        <line num="89" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="90" count="0" type="stmt"/>
        <line num="93" count="0" type="stmt"/>
        <line num="95" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="96" count="0" type="stmt"/>
        <line num="99" count="2" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="104" count="0" type="stmt"/>
        <line num="106" count="0" type="stmt"/>
        <line num="113" count="8" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.footer">
      <metrics statements="5" coveredstatements="5" conditionals="4" coveredconditionals="4" methods="4" coveredmethods="4"/>
      <file name="footer.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/footer/footer.component.html">
        <metrics statements="1" coveredstatements="1" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="45797" type="cond" truecount="2" falsecount="0"/>
      </file>
      <file name="footer.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/footer/footer.component.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
        <line num="11" count="169" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="73" type="stmt"/>
        <line num="19" count="73" type="stmt"/>
        <line num="20" count="73" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.four-o-four">
      <metrics statements="20" coveredstatements="20" conditionals="4" coveredconditionals="4" methods="4" coveredmethods="4"/>
      <file name="four-o-four.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/four-o-four/four-o-four.component.html">
        <metrics statements="13" coveredstatements="13" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="2" count="3" type="stmt"/>
        <line num="3" count="3" type="stmt"/>
        <line num="5" count="3" type="stmt"/>
        <line num="6" count="3" type="stmt"/>
        <line num="7" count="67" type="stmt"/>
        <line num="8" count="3" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
        <line num="13" count="3" type="stmt"/>
        <line num="14" count="3" type="stmt"/>
        <line num="16" count="3" type="stmt"/>
      </file>
      <file name="four-o-four.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/four-o-four/four-o-four.component.ts">
        <metrics statements="7" coveredstatements="7" conditionals="4" coveredconditionals="4" methods="3" coveredmethods="3"/>
        <line num="11" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="3" type="stmt"/>
        <line num="15" count="3" type="stmt"/>
        <line num="16" count="3" type="stmt"/>
        <line num="20" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.global-error">
      <metrics statements="23" coveredstatements="19" conditionals="6" coveredconditionals="4" methods="6" coveredmethods="5"/>
      <file name="global-error.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/global-error/global-error.component.html">
        <metrics statements="9" coveredstatements="9" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="3" count="1" type="stmt"/>
        <line num="4" count="52" type="stmt"/>
        <line num="5" count="1" type="stmt"/>
        <line num="7" count="1" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="52" type="stmt"/>
        <line num="11" count="52" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
      </file>
      <file name="global-error.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/global-error/global-error.component.ts">
        <metrics statements="14" coveredstatements="10" conditionals="6" coveredconditionals="4" methods="6" coveredmethods="5"/>
        <line num="12" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="19" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="26" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="27" count="0" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="0" type="stmt"/>
        <line num="43" count="0" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.header">
      <metrics statements="44" coveredstatements="37" conditionals="4" coveredconditionals="4" methods="11" coveredmethods="6"/>
      <file name="header.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/header/header.component.html">
        <metrics statements="27" coveredstatements="27" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="0"/>
        <line num="4" count="73" type="stmt"/>
        <line num="5" count="73" type="stmt"/>
        <line num="6" count="73" type="stmt"/>
        <line num="7" count="73" type="stmt"/>
        <line num="8" count="73" type="stmt"/>
        <line num="9" count="73" type="stmt"/>
        <line num="10" count="45797" type="stmt"/>
        <line num="11" count="73" type="stmt"/>
        <line num="14" count="73" type="stmt"/>
        <line num="15" count="73" type="stmt"/>
        <line num="16" count="73" type="stmt"/>
        <line num="18" count="73" type="stmt"/>
        <line num="19" count="73" type="stmt"/>
        <line num="20" count="73" type="stmt"/>
        <line num="21" count="73" type="stmt"/>
        <line num="22" count="73" type="stmt"/>
        <line num="23" count="73" type="stmt"/>
        <line num="24" count="73" type="stmt"/>
        <line num="25" count="45724" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="68" type="stmt"/>
        <line num="27" count="68" type="stmt"/>
        <line num="28" count="68" type="stmt"/>
        <line num="29" count="68" type="stmt"/>
        <line num="31" count="73" type="stmt"/>
        <line num="32" count="73" type="stmt"/>
        <line num="33" count="73" type="stmt"/>
        <line num="38" count="73" type="stmt"/>
      </file>
      <file name="header.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/header/header.component.ts">
        <metrics statements="17" coveredstatements="10" conditionals="2" coveredconditionals="2" methods="10" coveredmethods="6"/>
        <line num="14" count="169" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="73" type="stmt"/>
        <line num="16" count="73" type="stmt"/>
        <line num="22" count="73" type="stmt"/>
        <line num="23" count="73" type="stmt"/>
        <line num="25" count="72" type="stmt"/>
        <line num="28" count="0" type="stmt"/>
        <line num="29" count="0" type="stmt"/>
        <line num="35" count="73" type="stmt"/>
        <line num="36" count="73" type="stmt"/>
        <line num="37" count="1709" type="stmt"/>
        <line num="41" count="0" type="stmt"/>
        <line num="45" count="1782" type="stmt"/>
        <line num="49" count="0" type="stmt"/>
        <line num="50" count="0" type="stmt"/>
        <line num="51" count="0" type="stmt"/>
        <line num="53" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.leftbar">
      <metrics statements="74" coveredstatements="70" conditionals="4" coveredconditionals="3" methods="8" coveredmethods="6"/>
      <file name="leftbar.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/leftbar/leftbar.component.html">
        <metrics statements="63" coveredstatements="60" conditionals="2" coveredconditionals="1" methods="0" coveredmethods="0"/>
        <line num="4" count="74" type="stmt"/>
        <line num="5" count="74" type="stmt"/>
        <line num="7" count="74" type="stmt"/>
        <line num="9" count="74" type="stmt"/>
        <line num="10" count="74" type="stmt"/>
        <line num="11" count="74" type="stmt"/>
        <line num="13" count="74" type="stmt"/>
        <line num="14" count="74" type="stmt"/>
        <line num="15" count="74" type="stmt"/>
        <line num="17" count="74" type="stmt"/>
        <line num="18" count="74" type="stmt"/>
        <line num="19" count="74" type="stmt"/>
        <line num="20" count="74" type="stmt"/>
        <line num="21" count="74" type="stmt"/>
        <line num="24" count="74" type="stmt"/>
        <line num="25" count="74" type="stmt"/>
        <line num="26" count="74" type="stmt"/>
        <line num="29" count="74" type="stmt"/>
        <line num="30" count="74" type="stmt"/>
        <line num="32" count="74" type="stmt"/>
        <line num="33" count="74" type="stmt"/>
        <line num="34" count="74" type="stmt"/>
        <line num="35" count="74" type="stmt"/>
        <line num="36" count="74" type="stmt"/>
        <line num="38" count="74" type="stmt"/>
        <line num="39" count="74" type="stmt"/>
        <line num="40" count="74" type="stmt"/>
        <line num="42" count="74" type="stmt"/>
        <line num="44" count="74" type="stmt"/>
        <line num="45" count="74" type="stmt"/>
        <line num="46" count="74" type="stmt"/>
        <line num="48" count="74" type="stmt"/>
        <line num="49" count="74" type="stmt"/>
        <line num="50" count="74" type="stmt"/>
        <line num="51" count="74" type="stmt"/>
        <line num="52" count="74" type="stmt"/>
        <line num="53" count="74" type="stmt"/>
        <line num="54" count="74" type="stmt"/>
        <line num="55" count="74" type="stmt"/>
        <line num="56" count="74" type="stmt"/>
        <line num="57" count="74" type="stmt"/>
        <line num="58" count="74" type="stmt"/>
        <line num="59" count="74" type="stmt"/>
        <line num="60" count="74" type="stmt"/>
        <line num="70" count="74" type="stmt"/>
        <line num="71" count="45632" type="stmt"/>
        <line num="72" count="74" type="stmt"/>
        <line num="73" count="45632" type="stmt"/>
        <line num="74" count="74" type="stmt"/>
        <line num="76" count="74" type="stmt"/>
        <line num="77" count="74" type="stmt"/>
        <line num="78" count="45632" type="cond" truecount="1" falsecount="1"/>
        <line num="81" count="0" type="stmt"/>
        <line num="82" count="0" type="stmt"/>
        <line num="84" count="0" type="stmt"/>
        <line num="86" count="74" type="stmt"/>
        <line num="88" count="22816" type="stmt"/>
        <line num="89" count="45706" type="stmt"/>
        <line num="91" count="74" type="stmt"/>
        <line num="93" count="22816" type="stmt"/>
        <line num="94" count="45706" type="stmt"/>
        <line num="96" count="74" type="stmt"/>
        <line num="99" count="74" type="stmt"/>
      </file>
      <file name="leftbar.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/leftbar/leftbar.component.ts">
        <metrics statements="11" coveredstatements="10" conditionals="2" coveredconditionals="2" methods="8" coveredmethods="6"/>
        <line num="14" count="170" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="74" type="stmt"/>
        <line num="17" count="74" type="stmt"/>
        <line num="20" count="74" type="stmt"/>
        <line num="21" count="74" type="stmt"/>
        <line num="23" count="72" type="stmt"/>
        <line num="30" count="74" type="stmt"/>
        <line num="32" count="162" type="stmt"/>
        <line num="36" count="74" type="stmt"/>
        <line num="38" count="130" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.loader">
      <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
      <file name="loader.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/loader/loader.component.html">
        <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="3" count="29" type="stmt"/>
        <line num="4" count="29" type="stmt"/>
        <line num="6" count="29" type="stmt"/>
      </file>
      <file name="loader.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/loader/loader.component.ts">
        <metrics statements="1" coveredstatements="1" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="9" count="125" type="cond" truecount="2" falsecount="0"/>
      </file>
    </package>
    <package name="src.app.components.login">
      <metrics statements="52" coveredstatements="48" conditionals="10" coveredconditionals="8" methods="16" coveredmethods="14"/>
      <file name="login.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/login/login.component.html">
        <metrics statements="20" coveredstatements="20" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="6" count="37" type="stmt"/>
        <line num="7" count="4548" type="stmt"/>
        <line num="8" count="37" type="stmt"/>
        <line num="9" count="4548" type="stmt"/>
        <line num="11" count="37" type="stmt"/>
        <line num="12" count="37" type="stmt"/>
        <line num="13" count="37" type="stmt"/>
        <line num="14" count="37" type="stmt"/>
        <line num="15" count="37" type="stmt"/>
        <line num="18" count="37" type="stmt"/>
        <line num="21" count="37" type="stmt"/>
        <line num="22" count="37" type="stmt"/>
        <line num="23" count="37" type="stmt"/>
        <line num="24" count="37" type="stmt"/>
        <line num="25" count="37" type="stmt"/>
        <line num="28" count="37" type="stmt"/>
        <line num="29" count="4548" type="stmt"/>
        <line num="30" count="37" type="stmt"/>
        <line num="32" count="37" type="stmt"/>
        <line num="39" count="37" type="stmt"/>
      </file>
      <file name="login.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/login/login.component.ts">
        <metrics statements="32" coveredstatements="28" conditionals="10" coveredconditionals="8" methods="15" coveredmethods="13"/>
        <line num="20" count="133" type="cond" truecount="2" falsecount="0"/>
        <line num="22" count="37" type="stmt"/>
        <line num="26" count="37" type="stmt"/>
        <line num="32" count="37" type="stmt"/>
        <line num="33" count="37" type="stmt"/>
        <line num="36" count="37" type="stmt"/>
        <line num="38" count="37" type="cond" truecount="4" falsecount="0"/>
        <line num="39" count="2" type="stmt"/>
        <line num="43" count="37" type="stmt"/>
        <line num="45" count="37" type="stmt"/>
        <line num="48" count="37" type="stmt"/>
        <line num="51" count="37" type="stmt"/>
        <line num="57" count="37" type="stmt"/>
        <line num="58" count="529" type="stmt"/>
        <line num="61" count="37" type="stmt"/>
        <line num="63" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="64" count="0" type="stmt"/>
        <line num="65" count="0" type="stmt"/>
        <line num="66" count="0" type="stmt"/>
        <line num="74" count="18" type="stmt"/>
        <line num="78" count="18" type="stmt"/>
        <line num="79" count="18" type="stmt"/>
        <line num="80" count="18" type="stmt"/>
        <line num="83" count="16" type="stmt"/>
        <line num="84" count="16" type="stmt"/>
        <line num="85" count="16" type="stmt"/>
        <line num="86" count="16" type="stmt"/>
        <line num="87" count="16" type="stmt"/>
        <line num="89" count="16" type="stmt"/>
        <line num="90" count="15" type="cond" truecount="2" falsecount="0"/>
        <line num="96" count="1" type="stmt"/>
        <line num="104" count="529" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.modes-table">
      <metrics statements="43" coveredstatements="36" conditionals="12" coveredconditionals="7" methods="9" coveredmethods="8"/>
      <file name="modes-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/modes-table/modes-table.component.html">
        <metrics statements="22" coveredstatements="21" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="1" count="82" type="stmt"/>
        <line num="2" count="164" type="stmt"/>
        <line num="4" count="82" type="stmt"/>
        <line num="7" count="3" type="stmt"/>
        <line num="8" count="3" type="stmt"/>
        <line num="9" count="3" type="stmt"/>
        <line num="10" count="3" type="stmt"/>
        <line num="11" count="3" type="stmt"/>
        <line num="12" count="3" type="stmt"/>
        <line num="14" count="3" type="stmt"/>
        <line num="16" count="501" type="stmt"/>
        <line num="17" count="501" type="stmt"/>
        <line num="18" count="501" type="stmt"/>
        <line num="19" count="501" type="stmt"/>
        <line num="20" count="9" type="stmt"/>
        <line num="21" count="492" type="cond" truecount="2" falsecount="0"/>
        <line num="22" count="164" type="stmt"/>
        <line num="25" count="82" type="stmt"/>
        <line num="27" count="9" type="stmt"/>
        <line num="28" count="0" type="stmt"/>
        <line num="31" count="9" type="stmt"/>
        <line num="33" count="3" type="stmt"/>
      </file>
      <file name="modes-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/modes-table/modes-table.component.ts">
        <metrics statements="21" coveredstatements="15" conditionals="10" coveredconditionals="5" methods="8" coveredmethods="7"/>
        <line num="18" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="3" type="stmt"/>
        <line num="22" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="23" count="3" type="stmt"/>
        <line num="28" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="29" count="3" type="stmt"/>
        <line num="33" count="3" type="stmt"/>
        <line num="36" count="3" type="stmt"/>
        <line num="37" count="3" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="44" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="45" count="1" type="stmt"/>
        <line num="48" count="0" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="1" type="stmt"/>
        <line num="54" count="0" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="56" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="57" count="0" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.multi-select-signals">
      <metrics statements="143" coveredstatements="128" conditionals="44" coveredconditionals="32" methods="43" coveredmethods="39"/>
      <file name="multi-select-signals.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/multi-select-signals/multi-select-signals.component.html">
        <metrics statements="36" coveredstatements="36" conditionals="10" coveredconditionals="10" methods="9" coveredmethods="9"/>
        <line num="2" count="32" type="stmt"/>
        <line num="5" count="14504" type="stmt"/>
        <line num="6" count="14504" type="stmt"/>
        <line num="11" count="14536" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="32" type="stmt"/>
        <line num="16" count="14504" type="stmt"/>
        <line num="17" count="32" type="stmt"/>
        <line num="18" count="44244" type="stmt"/>
        <line num="20" count="32" type="stmt"/>
        <line num="22" count="14504" type="stmt"/>
        <line num="23" count="14504" type="stmt"/>
        <line num="24" count="14504" type="cond" truecount="2" falsecount="0"/>
        <line num="25" count="14504" type="stmt"/>
        <line num="31" count="29040" type="cond" truecount="2" falsecount="0"/>
        <line num="32" count="32" type="stmt"/>
        <line num="34" count="32" type="stmt"/>
        <line num="35" count="29008" type="stmt"/>
        <line num="36" count="29008" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="32" type="stmt"/>
        <line num="39" count="32" type="stmt"/>
        <line num="40" count="1" type="stmt"/>
        <line num="44" count="32" type="stmt"/>
        <line num="49" count="32" type="stmt"/>
        <line num="52" count="29008" type="stmt"/>
        <line num="53" count="14536" type="cond" truecount="2" falsecount="0"/>
        <line num="54" count="14504" type="stmt"/>
        <line num="58" count="370" type="stmt"/>
        <line num="60" count="32" type="stmt"/>
        <line num="61" count="44" type="stmt"/>
        <line num="62" count="90" type="stmt"/>
        <line num="63" count="2" type="stmt"/>
        <line num="65" count="32" type="stmt"/>
        <line num="66" count="32" type="stmt"/>
        <line num="67" count="32" type="stmt"/>
        <line num="68" count="29008" type="stmt"/>
        <line num="71" count="32" type="stmt"/>
      </file>
      <file name="multi-select-signals.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/multi-select-signals/multi-select-signals.component.ts">
        <metrics statements="107" coveredstatements="92" conditionals="34" coveredconditionals="22" methods="34" coveredmethods="30"/>
        <line num="25" count="128" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="32" type="stmt"/>
        <line num="27" count="32" type="stmt"/>
        <line num="28" count="32" type="stmt"/>
        <line num="29" count="32" type="stmt"/>
        <line num="30" count="32" type="stmt"/>
        <line num="31" count="32" type="stmt"/>
        <line num="32" count="32" type="stmt"/>
        <line num="33" count="32" type="stmt"/>
        <line num="34" count="32" type="stmt"/>
        <line num="36" count="32" type="stmt"/>
        <line num="37" count="32" type="stmt"/>
        <line num="38" count="32" type="stmt"/>
        <line num="39" count="32" type="stmt"/>
        <line num="41" count="32" type="stmt"/>
        <line num="43" count="32" type="stmt"/>
        <line num="44" count="32" type="stmt"/>
        <line num="45" count="32" type="stmt"/>
        <line num="48" count="8" type="stmt"/>
        <line num="49" count="8" type="stmt"/>
        <line num="50" count="8" type="stmt"/>
        <line num="54" count="14512" type="stmt"/>
        <line num="57" count="32" type="stmt"/>
        <line num="60" count="32" type="stmt"/>
        <line num="61" count="32" type="stmt"/>
        <line num="62" count="32" type="stmt"/>
        <line num="64" count="32" type="stmt"/>
        <line num="65" count="62" type="stmt"/>
        <line num="66" count="62" type="cond" truecount="2" falsecount="0"/>
        <line num="67" count="30" type="cond" truecount="1" falsecount="1"/>
        <line num="68" count="30" type="stmt"/>
        <line num="71" count="0" type="stmt"/>
        <line num="73" count="30" type="cond" truecount="3" falsecount="1"/>
        <line num="74" count="0" type="stmt"/>
        <line num="76" count="30" type="stmt"/>
        <line num="79" count="32" type="stmt"/>
        <line num="83" count="32" type="stmt"/>
        <line num="84" count="32" type="stmt"/>
        <line num="88" count="32" type="stmt"/>
        <line num="90" count="31" type="stmt"/>
        <line num="92" count="3503" type="cond" truecount="1" falsecount="1"/>
        <line num="93" count="0" type="stmt"/>
        <line num="94" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="95" count="0" type="stmt"/>
        <line num="98" count="3503" type="stmt"/>
        <line num="100" count="31" type="stmt"/>
        <line num="101" count="31" type="stmt"/>
        <line num="107" count="204" type="stmt"/>
        <line num="109" count="204" type="cond" truecount="2" falsecount="0"/>
        <line num="110" count="116" type="stmt"/>
        <line num="111" count="116" type="stmt"/>
        <line num="113" count="88" type="stmt"/>
        <line num="115" count="87" type="cond" truecount="2" falsecount="0"/>
        <line num="116" count="240" type="stmt"/>
        <line num="117" count="80" type="stmt"/>
        <line num="120" count="7" type="stmt"/>
        <line num="122" count="87" type="stmt"/>
        <line num="130" count="35" type="stmt"/>
        <line num="132" count="34" type="stmt"/>
        <line num="138" count="57" type="stmt"/>
        <line num="142" count="87" type="stmt"/>
        <line num="143" count="2" type="stmt"/>
        <line num="144" count="208" type="stmt"/>
        <line num="147" count="87" type="cond" truecount="1" falsecount="1"/>
        <line num="148" count="0" type="stmt"/>
        <line num="153" count="30" type="stmt"/>
        <line num="154" count="74" type="stmt"/>
        <line num="155" count="74" type="stmt"/>
        <line num="156" count="74" type="stmt"/>
        <line num="157" count="55" type="cond" truecount="1" falsecount="1"/>
        <line num="158" count="0" type="stmt"/>
        <line num="161" count="74" type="stmt"/>
        <line num="162" count="74" type="stmt"/>
        <line num="169" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="170" count="1" type="stmt"/>
        <line num="173" count="1" type="stmt"/>
        <line num="174" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="175" count="0" type="stmt"/>
        <line num="176" count="0" type="stmt"/>
        <line num="178" count="1" type="stmt"/>
        <line num="179" count="1" type="stmt"/>
        <line num="181" count="1" type="stmt"/>
        <line num="182" count="1" type="stmt"/>
        <line num="184" count="1" type="stmt"/>
        <line num="187" count="0" type="stmt"/>
        <line num="194" count="1" type="stmt"/>
        <line num="196" count="1" type="stmt"/>
        <line num="197" count="1" type="stmt"/>
        <line num="198" count="1" type="stmt"/>
        <line num="199" count="1" type="stmt"/>
        <line num="200" count="1" type="stmt"/>
        <line num="201" count="1" type="stmt"/>
        <line num="202" count="1" type="stmt"/>
        <line num="204" count="1" type="stmt"/>
        <line num="207" count="0" type="stmt"/>
        <line num="213" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="217" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="218" count="0" type="stmt"/>
        <line num="220" count="1" type="stmt"/>
        <line num="222" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="223" count="0" type="stmt"/>
        <line num="225" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="226" count="1" type="stmt"/>
        <line num="227" count="1" type="stmt"/>
        <line num="230" count="0" type="stmt"/>
        <line num="232" count="1" type="stmt"/>
        <line num="235" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.petri">
      <metrics statements="65" coveredstatements="61" conditionals="35" coveredconditionals="22" methods="17" coveredmethods="15"/>
      <file name="petri.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/petri/petri.component.html">
        <metrics statements="24" coveredstatements="24" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="1"/>
        <line num="1" count="226" type="stmt"/>
        <line num="3" count="452" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="4" type="stmt"/>
        <line num="6" count="456" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="452" type="stmt"/>
        <line num="8" count="1" type="stmt"/>
        <line num="9" count="53" type="stmt"/>
        <line num="11" count="1" type="stmt"/>
        <line num="12" count="52" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="1" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="52" type="stmt"/>
        <line num="17" count="159" type="stmt"/>
        <line num="18" count="3" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="22" count="452" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="25" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="31" count="4" type="stmt"/>
      </file>
      <file name="petri.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/petri/petri.component.ts">
        <metrics statements="41" coveredstatements="37" conditionals="29" coveredconditionals="16" methods="16" coveredmethods="14"/>
        <line num="19" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="4" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
        <line num="30" count="4" type="stmt"/>
        <line num="32" count="4" type="stmt"/>
        <line num="35" count="3" type="stmt"/>
        <line num="36" count="3" type="stmt"/>
        <line num="38" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="3" type="stmt"/>
        <line num="41" count="6" type="stmt"/>
        <line num="42" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="43" count="3" type="stmt"/>
        <line num="46" count="2" type="stmt"/>
        <line num="48" count="0" type="stmt"/>
        <line num="51" count="2" type="stmt"/>
        <line num="52" count="2" type="stmt"/>
        <line num="61" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="62" count="2" type="cond" truecount="4" falsecount="1"/>
        <line num="63" count="0" type="stmt"/>
        <line num="64" count="0" type="stmt"/>
        <line num="66" count="2" type="stmt"/>
        <line num="67" count="2" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="69" count="2" type="stmt"/>
        <line num="71" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="72" count="1" type="stmt"/>
        <line num="76" count="2" type="stmt"/>
        <line num="78" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="1" type="stmt"/>
        <line num="84" count="3" type="stmt"/>
        <line num="85" count="3" type="stmt"/>
        <line num="89" count="1" type="stmt"/>
        <line num="90" count="1" type="stmt"/>
        <line num="91" count="1" type="stmt"/>
        <line num="95" count="1" type="stmt"/>
        <line num="96" count="1" type="stmt"/>
        <line num="97" count="1" type="stmt"/>
        <line num="101" count="78" type="stmt"/>
        <line num="105" count="12" type="stmt"/>
        <line num="109" count="0" type="stmt"/>
        <line num="113" count="2" type="cond" truecount="2" falsecount="4"/>
      </file>
    </package>
    <package name="src.app.components.phase">
      <metrics statements="78" coveredstatements="71" conditionals="23" coveredconditionals="18" methods="18" coveredmethods="14"/>
      <file name="phase.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/phase/phase.component.html">
        <metrics statements="38" coveredstatements="38" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="8" count="1202" type="stmt"/>
        <line num="9" count="5" type="stmt"/>
        <line num="10" count="5" type="stmt"/>
        <line num="12" count="5" type="stmt"/>
        <line num="13" count="5" type="stmt"/>
        <line num="14" count="1202" type="stmt"/>
        <line num="15" count="1202" type="stmt"/>
        <line num="18" count="5" type="stmt"/>
        <line num="19" count="1202" type="stmt"/>
        <line num="21" count="5" type="stmt"/>
        <line num="22" count="5" type="stmt"/>
        <line num="23" count="5" type="stmt"/>
        <line num="25" count="5" type="stmt"/>
        <line num="27" count="5" type="stmt"/>
        <line num="28" count="5" type="stmt"/>
        <line num="29" count="5" type="stmt"/>
        <line num="32" count="5" type="stmt"/>
        <line num="34" count="5" type="stmt"/>
        <line num="35" count="5" type="stmt"/>
        <line num="36" count="5" type="stmt"/>
        <line num="37" count="601" type="stmt"/>
        <line num="39" count="5" type="stmt"/>
        <line num="41" count="5" type="stmt"/>
        <line num="42" count="5" type="stmt"/>
        <line num="43" count="5" type="stmt"/>
        <line num="44" count="601" type="stmt"/>
        <line num="46" count="5" type="stmt"/>
        <line num="47" count="5" type="stmt"/>
        <line num="48" count="1202" type="stmt"/>
        <line num="49" count="294" type="stmt"/>
        <line num="50" count="1202" type="cond" truecount="2" falsecount="0"/>
        <line num="51" count="307" type="stmt"/>
        <line num="52" count="3" type="stmt"/>
        <line num="53" count="614" type="stmt"/>
        <line num="54" count="3" type="stmt"/>
        <line num="62" count="5" type="stmt"/>
        <line num="64" count="1202" type="stmt"/>
        <line num="65" count="285" type="stmt"/>
      </file>
      <file name="phase.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/phase/phase.component.ts">
        <metrics statements="40" coveredstatements="33" conditionals="21" coveredconditionals="16" methods="15" coveredmethods="11"/>
        <line num="17" count="101" type="cond" truecount="2" falsecount="0"/>
        <line num="30" count="5" type="stmt"/>
        <line num="34" count="5" type="stmt"/>
        <line num="41" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="43" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="44" count="3" type="stmt"/>
        <line num="46" count="3" type="stmt"/>
        <line num="47" count="3" type="stmt"/>
        <line num="48" count="3" type="stmt"/>
        <line num="49" count="3" type="stmt"/>
        <line num="50" count="3" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="52" count="3" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="62" count="3" type="stmt"/>
        <line num="63" count="3" type="stmt"/>
        <line num="64" count="3" type="stmt"/>
        <line num="65" count="3" type="stmt"/>
        <line num="66" count="3" type="cond" truecount="4" falsecount="1"/>
        <line num="67" count="3" type="stmt"/>
        <line num="69" count="0" type="stmt"/>
        <line num="70" count="0" type="stmt"/>
        <line num="74" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="75" count="2" type="stmt"/>
        <line num="77" count="2" type="stmt"/>
        <line num="78" count="2" type="stmt"/>
        <line num="79" count="2" type="stmt"/>
        <line num="82" count="0" type="stmt"/>
        <line num="89" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="90" count="1" type="stmt"/>
        <line num="92" count="1" type="stmt"/>
        <line num="95" count="0" type="stmt"/>
        <line num="102" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="103" count="1" type="stmt"/>
        <line num="105" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="106" count="1" type="stmt"/>
        <line num="107" count="1" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="114" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.pid">
      <metrics statements="119" coveredstatements="108" conditionals="57" coveredconditionals="40" methods="22" coveredmethods="19"/>
      <file name="pid.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid/pid.component.html">
        <metrics statements="22" coveredstatements="22" conditionals="4" coveredconditionals="4" methods="1" coveredmethods="1"/>
        <line num="1" count="368" type="stmt"/>
        <line num="3" count="736" type="cond" truecount="2" falsecount="0"/>
        <line num="4" count="736" type="stmt"/>
        <line num="6" count="740" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="4" type="stmt"/>
        <line num="8" count="736" type="stmt"/>
        <line num="9" count="736" type="stmt"/>
        <line num="10" count="112" type="stmt"/>
        <line num="11" count="1" type="stmt"/>
        <line num="12" count="4" type="stmt"/>
        <line num="14" count="4" type="stmt"/>
        <line num="15" count="736" type="stmt"/>
        <line num="16" count="736" type="stmt"/>
        <line num="17" count="104" type="stmt"/>
        <line num="18" count="1" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="21" count="4" type="stmt"/>
        <line num="22" count="736" type="stmt"/>
        <line num="23" count="736" type="stmt"/>
        <line num="24" count="96" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
      </file>
      <file name="pid.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid/pid.component.ts">
        <metrics statements="97" coveredstatements="86" conditionals="53" coveredconditionals="36" methods="21" coveredmethods="18"/>
        <line num="25" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="4" type="stmt"/>
        <line num="39" count="4" type="stmt"/>
        <line num="42" count="4" type="stmt"/>
        <line num="44" count="4" type="stmt"/>
        <line num="45" count="4" type="stmt"/>
        <line num="48" count="4" type="stmt"/>
        <line num="51" count="3" type="stmt"/>
        <line num="55" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="56" count="3" type="stmt"/>
        <line num="59" count="5" type="cond" truecount="4" falsecount="0"/>
        <line num="60" count="1" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="63" count="5" type="stmt"/>
        <line num="64" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="65" count="2" type="stmt"/>
        <line num="68" count="2" type="stmt"/>
        <line num="70" count="0" type="stmt"/>
        <line num="73" count="2" type="stmt"/>
        <line num="74" count="2" type="stmt"/>
        <line num="75" count="2" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="82" count="0" type="stmt"/>
        <line num="88" count="2" type="cond" truecount="4" falsecount="1"/>
        <line num="89" count="0" type="stmt"/>
        <line num="90" count="0" type="stmt"/>
        <line num="92" count="2" type="stmt"/>
        <line num="93" count="2" type="stmt"/>
        <line num="94" count="2" type="stmt"/>
        <line num="95" count="2" type="stmt"/>
        <line num="96" count="2" type="stmt"/>
        <line num="100" count="2" type="stmt"/>
        <line num="102" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="103" count="0" type="stmt"/>
        <line num="105" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="107" count="1" type="stmt"/>
        <line num="108" count="1" type="stmt"/>
        <line num="109" count="1" type="stmt"/>
        <line num="110" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="111" count="1" type="stmt"/>
        <line num="113" count="1" type="stmt"/>
        <line num="114" count="1" type="stmt"/>
        <line num="117" count="1" type="stmt"/>
        <line num="120" count="0" type="stmt"/>
        <line num="121" count="0" type="stmt"/>
        <line num="123" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="124" count="1" type="stmt"/>
        <line num="126" count="1" type="stmt"/>
        <line num="127" count="1" type="stmt"/>
        <line num="131" count="1" type="stmt"/>
        <line num="133" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="135" count="1" type="stmt"/>
        <line num="136" count="1" type="stmt"/>
        <line num="137" count="1" type="stmt"/>
        <line num="138" count="1" type="stmt"/>
        <line num="140" count="1" type="stmt"/>
        <line num="141" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="142" count="1" type="stmt"/>
        <line num="143" count="1" type="stmt"/>
        <line num="144" count="1" type="stmt"/>
        <line num="147" count="0" type="stmt"/>
        <line num="148" count="0" type="stmt"/>
        <line num="156" count="2" type="stmt"/>
        <line num="157" count="2" type="stmt"/>
        <line num="158" count="2" type="stmt"/>
        <line num="159" count="2" type="stmt"/>
        <line num="160" count="8" type="stmt"/>
        <line num="161" count="8" type="stmt"/>
        <line num="162" count="8" type="stmt"/>
        <line num="164" count="2" type="stmt"/>
        <line num="165" count="18" type="stmt"/>
        <line num="166" count="18" type="stmt"/>
        <line num="167" count="18" type="stmt"/>
        <line num="170" count="2" type="stmt"/>
        <line num="171" count="2" type="stmt"/>
        <line num="172" count="2" type="stmt"/>
        <line num="173" count="56" type="cond" truecount="2" falsecount="0"/>
        <line num="174" count="22" type="stmt"/>
        <line num="175" count="22" type="stmt"/>
        <line num="176" count="22" type="stmt"/>
        <line num="181" count="2" type="stmt"/>
        <line num="182" count="26" type="stmt"/>
        <line num="184" count="25" type="stmt"/>
        <line num="185" count="25" type="stmt"/>
        <line num="190" count="3" type="stmt"/>
        <line num="191" count="2" type="stmt"/>
        <line num="192" count="2" type="stmt"/>
        <line num="193" count="48" type="cond" truecount="1" falsecount="1"/>
        <line num="194" count="48" type="cond" truecount="2" falsecount="0"/>
        <line num="195" count="26" type="stmt"/>
        <line num="197" count="48" type="cond" truecount="2" falsecount="0"/>
        <line num="198" count="22" type="stmt"/>
        <line num="202" count="2" type="stmt"/>
        <line num="204" count="2" type="stmt"/>
        <line num="208" count="2" type="cond" truecount="2" falsecount="4"/>
        <line num="215" count="0" type="stmt"/>
        <line num="219" count="2" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.pid-designer">
      <metrics statements="31" coveredstatements="25" conditionals="8" coveredconditionals="3" methods="5" coveredmethods="3"/>
      <file name="pid-designer.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid-designer/pid-designer.component.html">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="0" methods="2" coveredmethods="0"/>
        <line num="3" count="30" type="cond" truecount="0" falsecount="2"/>
        <line num="7" count="2" type="stmt"/>
        <line num="8" count="2" type="stmt"/>
        <line num="9" count="29" type="stmt"/>
        <line num="10" count="2" type="stmt"/>
        <line num="11" count="2" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
      </file>
      <file name="pid-designer.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/pid-designer/pid-designer.component.ts">
        <metrics statements="23" coveredstatements="17" conditionals="6" coveredconditionals="3" methods="3" coveredmethods="3"/>
        <line num="14" count="98" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="62" count="1" type="stmt"/>
        <line num="67" count="1" type="stmt"/>
        <line num="68" count="1" type="stmt"/>
        <line num="69" count="1" type="stmt"/>
        <line num="72" count="0" type="stmt"/>
        <line num="73" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="74" count="0" type="stmt"/>
        <line num="75" count="0" type="stmt"/>
        <line num="77" count="0" type="stmt"/>
        <line num="79" count="0" type="stmt"/>
        <line num="82" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="83" count="1" type="stmt"/>
        <line num="84" count="1" type="stmt"/>
        <line num="85" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.profile">
      <metrics statements="59" coveredstatements="56" conditionals="8" coveredconditionals="7" methods="9" coveredmethods="7"/>
      <file name="profile.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/profile/profile.component.html">
        <metrics statements="34" coveredstatements="34" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="12" count="3" type="stmt"/>
        <line num="13" count="224" type="stmt"/>
        <line num="15" count="3" type="stmt"/>
        <line num="16" count="3" type="stmt"/>
        <line num="17" count="3" type="stmt"/>
        <line num="19" count="3" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="21" count="3" type="stmt"/>
        <line num="22" count="3" type="stmt"/>
        <line num="24" count="3" type="stmt"/>
        <line num="25" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="stmt"/>
        <line num="28" count="3" type="stmt"/>
        <line num="29" count="3" type="stmt"/>
        <line num="32" count="3" type="stmt"/>
        <line num="33" count="224" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="1" type="stmt"/>
        <line num="37" count="1" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
        <line num="40" count="1" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="45" count="3" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="56" count="224" type="stmt"/>
        <line num="57" count="3" type="stmt"/>
        <line num="58" count="3" type="stmt"/>
        <line num="64" count="3" type="stmt"/>
      </file>
      <file name="profile.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/profile/profile.component.ts">
        <metrics statements="25" coveredstatements="22" conditionals="6" coveredconditionals="5" methods="8" coveredmethods="6"/>
        <line num="17" count="99" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="3" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="23" count="3" type="stmt"/>
        <line num="32" count="3" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="1" type="stmt"/>
        <line num="40" count="2" type="stmt"/>
        <line num="42" count="2" type="stmt"/>
        <line num="51" count="2" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="57" count="1" type="stmt"/>
        <line num="58" count="1" type="stmt"/>
        <line num="61" count="0" type="stmt"/>
        <line num="65" count="2" type="stmt"/>
        <line num="66" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="67" count="0" type="stmt"/>
        <line num="70" count="2" type="stmt"/>
        <line num="76" count="1" type="stmt"/>
        <line num="79" count="1" type="stmt"/>
        <line num="82" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.refresh-rate-selector">
      <metrics statements="21" coveredstatements="19" conditionals="4" coveredconditionals="4" methods="6" coveredmethods="6"/>
      <file name="refresh-rate-selector.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/refresh-rate-selector/refresh-rate-selector.component.html">
        <metrics statements="13" coveredstatements="11" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="1" count="39" type="stmt"/>
        <line num="2" count="30562" type="stmt"/>
        <line num="3" count="0" type="stmt"/>
        <line num="5" count="0" type="stmt"/>
        <line num="6" count="30562" type="stmt"/>
        <line num="7" count="39" type="stmt"/>
        <line num="9" count="39" type="stmt"/>
        <line num="10" count="78" type="stmt"/>
        <line num="11" count="30562" type="stmt"/>
        <line num="12" count="15320" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="15281" type="stmt"/>
        <line num="17" count="39" type="stmt"/>
        <line num="18" count="39" type="stmt"/>
      </file>
      <file name="refresh-rate-selector.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/refresh-rate-selector/refresh-rate-selector.component.ts">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="5"/>
        <line num="16" count="135" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="39" type="stmt"/>
        <line num="19" count="39" type="stmt"/>
        <line num="25" count="15282" type="stmt"/>
        <line num="29" count="40" type="stmt"/>
        <line num="30" count="40" type="stmt"/>
        <line num="36" count="39" type="stmt"/>
        <line num="45" count="39" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.register">
      <metrics statements="79" coveredstatements="76" conditionals="20" coveredconditionals="18" methods="11" coveredmethods="10"/>
      <file name="register.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/register/register.component.html">
        <metrics statements="56" coveredstatements="56" conditionals="12" coveredconditionals="11" methods="1" coveredmethods="1"/>
        <line num="6" count="1" type="stmt"/>
        <line num="7" count="288" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="288" type="stmt"/>
        <line num="13" count="1" type="stmt"/>
        <line num="14" count="1" type="stmt"/>
        <line num="15" count="1" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
        <line num="17" count="1" type="stmt"/>
        <line num="20" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="26" count="1" type="stmt"/>
        <line num="29" count="1" type="stmt"/>
        <line num="31" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="35" count="1" type="stmt"/>
        <line num="38" count="1" type="stmt"/>
        <line num="41" count="1" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="1" type="stmt"/>
        <line num="44" count="288" type="cond" truecount="1" falsecount="1"/>
        <line num="45" count="1" type="stmt"/>
        <line num="46" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="47" count="1" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="50" count="1" type="stmt"/>
        <line num="51" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="57" count="1" type="stmt"/>
        <line num="58" count="1" type="stmt"/>
        <line num="59" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="61" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="62" count="1" type="stmt"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="65" count="1" type="stmt"/>
        <line num="66" count="68" type="cond" truecount="2" falsecount="0"/>
        <line num="67" count="1" type="stmt"/>
        <line num="69" count="1" type="stmt"/>
        <line num="70" count="1" type="stmt"/>
        <line num="71" count="1" type="stmt"/>
        <line num="74" count="1" type="stmt"/>
        <line num="76" count="288" type="stmt"/>
        <line num="84" count="1" type="stmt"/>
      </file>
      <file name="register.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/register/register.component.ts">
        <metrics statements="23" coveredstatements="20" conditionals="8" coveredconditionals="7" methods="10" coveredmethods="9"/>
        <line num="17" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="27" count="1" type="stmt"/>
        <line num="28" count="1" type="stmt"/>
        <line num="32" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="42" count="1" type="stmt"/>
        <line num="43" count="28" type="stmt"/>
        <line num="48" count="798" type="stmt"/>
        <line num="52" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="stmt"/>
        <line num="55" count="1" type="stmt"/>
        <line num="57" count="1" type="cond" truecount="5" falsecount="1"/>
        <line num="58" count="0" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="62" count="1" type="stmt"/>
        <line num="65" count="1" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="67" count="1" type="stmt"/>
        <line num="73" count="0" type="stmt"/>
        <line num="80" count="28" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal">
      <metrics statements="17" coveredstatements="15" conditionals="4" coveredconditionals="4" methods="5" coveredmethods="4"/>
      <file name="signal.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal/signal.component.html">
        <metrics statements="9" coveredstatements="9" conditionals="2" coveredconditionals="2" methods="0" coveredmethods="0"/>
        <line num="1" count="1015" type="cond" truecount="2" falsecount="0"/>
        <line num="2" count="2030" type="stmt"/>
        <line num="4" count="2030" type="stmt"/>
        <line num="5" count="1978" type="stmt"/>
        <line num="6" count="5" type="stmt"/>
        <line num="7" count="1978" type="stmt"/>
        <line num="8" count="1978" type="stmt"/>
        <line num="9" count="5" type="stmt"/>
        <line num="10" count="5" type="stmt"/>
      </file>
      <file name="signal.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal/signal.component.ts">
        <metrics statements="8" coveredstatements="6" conditionals="2" coveredconditionals="2" methods="5" coveredmethods="4"/>
        <line num="24" count="101" type="cond" truecount="2" falsecount="0"/>
        <line num="29" count="5" type="stmt"/>
        <line num="30" count="5" type="stmt"/>
        <line num="34" count="5" type="stmt"/>
        <line num="35" count="5" type="stmt"/>
        <line num="36" count="5" type="stmt"/>
        <line num="39" count="0" type="stmt"/>
        <line num="40" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal-card">
      <metrics statements="105" coveredstatements="94" conditionals="30" coveredconditionals="23" methods="19" coveredmethods="13"/>
      <file name="signal-card.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-card/signal-card.component.html">
        <metrics statements="62" coveredstatements="60" conditionals="16" coveredconditionals="14" methods="1" coveredmethods="0"/>
        <line num="1" count="1267" type="stmt"/>
        <line num="7" count="9" type="stmt"/>
        <line num="10" count="9" type="stmt"/>
        <line num="12" count="2075" type="stmt"/>
        <line num="13" count="9" type="stmt"/>
        <line num="14" count="2066" type="cond" truecount="1" falsecount="1"/>
        <line num="15" count="2075" type="stmt"/>
        <line num="17" count="9" type="stmt"/>
        <line num="18" count="0" type="stmt"/>
        <line num="22" count="9" type="stmt"/>
        <line num="31" count="9" type="stmt"/>
        <line num="32" count="2075" type="stmt"/>
        <line num="34" count="9" type="stmt"/>
        <line num="38" count="9" type="stmt"/>
        <line num="39" count="2075" type="stmt"/>
        <line num="41" count="9" type="stmt"/>
        <line num="45" count="9" type="stmt"/>
        <line num="46" count="2075" type="cond" truecount="2" falsecount="0"/>
        <line num="49" count="9" type="stmt"/>
        <line num="51" count="2066" type="stmt"/>
        <line num="52" count="1750" type="stmt"/>
        <line num="54" count="9" type="stmt"/>
        <line num="55" count="1750" type="stmt"/>
        <line num="56" count="1750" type="stmt"/>
        <line num="57" count="1750" type="stmt"/>
        <line num="58" count="9" type="stmt"/>
        <line num="59" count="1750" type="cond" truecount="2" falsecount="0"/>
        <line num="61" count="9" type="stmt"/>
        <line num="64" count="1750" type="cond" truecount="2" falsecount="0"/>
        <line num="65" count="329" type="stmt"/>
        <line num="67" count="3" type="stmt"/>
        <line num="69" count="3" type="stmt"/>
        <line num="70" count="3" type="stmt"/>
        <line num="71" count="658" type="stmt"/>
        <line num="72" count="661" type="stmt"/>
        <line num="74" count="3" type="stmt"/>
        <line num="76" count="1750" type="cond" truecount="2" falsecount="0"/>
        <line num="78" count="9" type="stmt"/>
        <line num="79" count="1759" type="stmt"/>
        <line num="81" count="9" type="stmt"/>
        <line num="83" count="1750" type="cond" truecount="2" falsecount="0"/>
        <line num="85" count="9" type="stmt"/>
        <line num="86" count="9" type="stmt"/>
        <line num="87" count="1750" type="cond" truecount="1" falsecount="1"/>
        <line num="88" count="884" type="stmt"/>
        <line num="90" count="9" type="stmt"/>
        <line num="91" count="0" type="stmt"/>
        <line num="95" count="9" type="stmt"/>
        <line num="96" count="9" type="stmt"/>
        <line num="98" count="2066" type="stmt"/>
        <line num="101" count="9" type="stmt"/>
        <line num="102" count="1687" type="stmt"/>
        <line num="104" count="9" type="stmt"/>
        <line num="108" count="9" type="stmt"/>
        <line num="109" count="1687" type="stmt"/>
        <line num="113" count="9" type="stmt"/>
        <line num="115" count="2075" type="stmt"/>
        <line num="116" count="9" type="stmt"/>
        <line num="117" count="2066" type="stmt"/>
        <line num="118" count="1033" type="cond" truecount="2" falsecount="0"/>
        <line num="119" count="9" type="stmt"/>
        <line num="121" count="9" type="stmt"/>
      </file>
      <file name="signal-card.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-card/signal-card.component.ts">
        <metrics statements="43" coveredstatements="34" conditionals="14" coveredconditionals="9" methods="18" coveredmethods="13"/>
        <line num="25" count="106" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="10" type="stmt"/>
        <line num="29" count="10" type="stmt"/>
        <line num="30" count="10" type="stmt"/>
        <line num="37" count="10" type="stmt"/>
        <line num="39" count="10" type="stmt"/>
        <line num="41" count="10" type="stmt"/>
        <line num="44" count="10" type="stmt"/>
        <line num="45" count="10" type="stmt"/>
        <line num="46" count="10" type="stmt"/>
        <line num="47" count="10" type="stmt"/>
        <line num="49" count="10" type="stmt"/>
        <line num="50" count="10" type="stmt"/>
        <line num="51" count="9" type="stmt"/>
        <line num="52" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="53" count="4" type="stmt"/>
        <line num="54" count="10" type="stmt"/>
        <line num="56" count="5" type="stmt"/>
        <line num="57" count="9" type="stmt"/>
        <line num="60" count="13" type="cond" truecount="4" falsecount="0"/>
        <line num="61" count="4" type="stmt"/>
        <line num="63" count="29" type="stmt"/>
        <line num="64" count="13" type="cond" truecount="1" falsecount="1"/>
        <line num="65" count="13" type="stmt"/>
        <line num="71" count="10" type="stmt"/>
        <line num="72" count="20" type="stmt"/>
        <line num="75" count="19" type="stmt"/>
        <line num="76" count="19" type="stmt"/>
        <line num="79" count="0" type="stmt"/>
        <line num="83" count="10" type="stmt"/>
        <line num="84" count="14" type="stmt"/>
        <line num="87" count="13" type="stmt"/>
        <line num="90" count="0" type="stmt"/>
        <line num="96" count="3" type="stmt"/>
        <line num="97" count="3" type="stmt"/>
        <line num="101" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="102" count="0" type="stmt"/>
        <line num="103" count="0" type="stmt"/>
        <line num="106" count="0" type="stmt"/>
        <line num="107" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="108" count="0" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="117" count="378" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal-command">
      <metrics statements="90" coveredstatements="72" conditionals="47" coveredconditionals="32" methods="22" coveredmethods="16"/>
      <file name="signal-command.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-command/signal-command.component.html">
        <metrics statements="26" coveredstatements="26" conditionals="15" coveredconditionals="13" methods="8" coveredmethods="6"/>
        <line num="1" count="11" type="stmt"/>
        <line num="3" count="2370" type="cond" truecount="2" falsecount="0"/>
        <line num="5" count="2370" type="stmt"/>
        <line num="6" count="77" type="stmt"/>
        <line num="7" count="77" type="cond" truecount="0" falsecount="2"/>
        <line num="8" count="77" type="stmt"/>
        <line num="9" count="1" type="stmt"/>
        <line num="11" count="2370" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="603" type="stmt"/>
        <line num="13" count="609" type="cond" truecount="2" falsecount="0"/>
        <line num="16" count="2370" type="stmt"/>
        <line num="17" count="769" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="384" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="24" count="1" type="stmt"/>
        <line num="25" count="1" type="stmt"/>
        <line num="28" count="11" type="stmt"/>
        <line num="29" count="1185" type="cond" truecount="5" falsecount="0"/>
        <line num="31" count="2381" type="stmt"/>
        <line num="32" count="2370" type="stmt"/>
        <line num="34" count="2370" type="stmt"/>
        <line num="35" count="2" type="stmt"/>
        <line num="36" count="152" type="stmt"/>
        <line num="37" count="306" type="stmt"/>
        <line num="38" count="2" type="stmt"/>
        <line num="39" count="11" type="stmt"/>
      </file>
      <file name="signal-command.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-command/signal-command.component.ts">
        <metrics statements="64" coveredstatements="46" conditionals="32" coveredconditionals="19" methods="14" coveredmethods="10"/>
        <line num="24" count="107" type="cond" truecount="2" falsecount="0"/>
        <line num="26" count="11" type="stmt"/>
        <line num="29" count="11" type="stmt"/>
        <line num="30" count="11" type="stmt"/>
        <line num="31" count="11" type="stmt"/>
        <line num="41" count="11" type="stmt"/>
        <line num="43" count="11" type="stmt"/>
        <line num="47" count="15" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="15" type="cond" truecount="2" falsecount="0"/>
        <line num="49" count="10" type="stmt"/>
        <line num="50" count="10" type="stmt"/>
        <line num="51" count="10" type="stmt"/>
        <line num="54" count="5" type="stmt"/>
        <line num="55" count="5" type="stmt"/>
        <line num="56" count="5" type="stmt"/>
        <line num="59" count="15" type="stmt"/>
        <line num="60" count="15" type="stmt"/>
        <line num="65" count="4" type="stmt"/>
        <line num="66" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="67" count="2" type="stmt"/>
        <line num="70" count="4" type="stmt"/>
        <line num="71" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="72" count="1" type="stmt"/>
        <line num="74" count="3" type="cond" truecount="2" falsecount="0"/>
        <line num="75" count="2" type="stmt"/>
        <line num="78" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="1" type="stmt"/>
        <line num="83" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="84" count="3" type="stmt"/>
        <line num="87" count="1" type="stmt"/>
        <line num="89" count="4" type="stmt"/>
        <line num="91" count="4" type="stmt"/>
        <line num="94" count="0" type="stmt"/>
        <line num="95" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="96" count="0" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="104" count="4" type="stmt"/>
        <line num="106" count="4" type="stmt"/>
        <line num="108" count="4" type="stmt"/>
        <line num="111" count="0" type="stmt"/>
        <line num="112" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="113" count="0" type="stmt"/>
        <line num="115" count="0" type="stmt"/>
        <line num="121" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="122" count="1" type="stmt"/>
        <line num="123" count="1" type="stmt"/>
        <line num="125" count="1" type="stmt"/>
        <line num="126" count="1" type="stmt"/>
        <line num="129" count="0" type="stmt"/>
        <line num="130" count="0" type="stmt"/>
        <line num="131" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="132" count="0" type="stmt"/>
        <line num="134" count="0" type="stmt"/>
        <line num="141" count="4" type="stmt"/>
        <line num="142" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="143" count="4" type="stmt"/>
        <line num="146" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="147" count="0" type="stmt"/>
        <line num="149" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="150" count="4" type="stmt"/>
        <line num="153" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="154" count="0" type="stmt"/>
        <line num="156" count="0" type="stmt"/>
        <line num="160" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signal-countdown">
      <metrics statements="8" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="6" coveredmethods="5"/>
      <file name="signal-countdown.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-countdown/signal-countdown.component.html">
        <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="394" type="stmt"/>
      </file>
      <file name="signal-countdown.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signal-countdown/signal-countdown.component.ts">
        <metrics statements="7" coveredstatements="6" conditionals="4" coveredconditionals="3" methods="6" coveredmethods="5"/>
        <line num="13" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="1" type="stmt"/>
        <line num="22" count="1" type="stmt"/>
        <line num="23" count="6" type="stmt"/>
        <line num="25" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="26" count="6" type="stmt"/>
        <line num="32" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals">
      <metrics statements="26" coveredstatements="26" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
      <file name="signals.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals/signals.component.html">
        <metrics statements="20" coveredstatements="20" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
        <line num="1" count="638" type="stmt"/>
        <line num="3" count="1276" type="stmt"/>
        <line num="4" count="9" type="stmt"/>
        <line num="5" count="1276" type="stmt"/>
        <line num="6" count="1276" type="stmt"/>
        <line num="9" count="953" type="stmt"/>
        <line num="10" count="7" type="stmt"/>
        <line num="12" count="7" type="stmt"/>
        <line num="15" count="953" type="stmt"/>
        <line num="16" count="7" type="stmt"/>
        <line num="18" count="7" type="stmt"/>
        <line num="21" count="953" type="stmt"/>
        <line num="22" count="7" type="stmt"/>
        <line num="24" count="7" type="stmt"/>
        <line num="27" count="953" type="stmt"/>
        <line num="28" count="7" type="stmt"/>
        <line num="31" count="7" type="stmt"/>
        <line num="32" count="9" type="stmt"/>
        <line num="33" count="9" type="stmt"/>
        <line num="34" count="9" type="stmt"/>
      </file>
      <file name="signals.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals/signals.component.ts">
        <metrics statements="6" coveredstatements="6" conditionals="2" coveredconditionals="2" methods="4" coveredmethods="4"/>
        <line num="24" count="105" type="cond" truecount="2" falsecount="0"/>
        <line num="25" count="9" type="stmt"/>
        <line num="29" count="9" type="stmt"/>
        <line num="32" count="9" type="stmt"/>
        <line num="33" count="8" type="stmt"/>
        <line num="35" count="9" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-graph">
      <metrics statements="307" coveredstatements="283" conditionals="137" coveredconditionals="107" methods="48" coveredmethods="42"/>
      <file name="signals-graph.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graph/signals-graph.component.html">
        <metrics statements="35" coveredstatements="35" conditionals="2" coveredconditionals="2" methods="6" coveredmethods="6"/>
        <line num="1" count="13305" type="stmt"/>
        <line num="2" count="26610" type="stmt"/>
        <line num="3" count="70" type="stmt"/>
        <line num="8" count="35" type="stmt"/>
        <line num="10" count="35" type="stmt"/>
        <line num="12" count="35" type="stmt"/>
        <line num="13" count="35" type="stmt"/>
        <line num="16" count="35" type="stmt"/>
        <line num="17" count="35" type="stmt"/>
        <line num="18" count="36" type="stmt"/>
        <line num="19" count="26610" type="stmt"/>
        <line num="21" count="36" type="stmt"/>
        <line num="23" count="36" type="stmt"/>
        <line num="24" count="36" type="stmt"/>
        <line num="26" count="36" type="stmt"/>
        <line num="28" count="36" type="stmt"/>
        <line num="29" count="26610" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="33" count="1" type="stmt"/>
        <line num="34" count="1" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
        <line num="38" count="35" type="stmt"/>
        <line num="44" count="26645" type="stmt"/>
        <line num="46" count="35" type="stmt"/>
        <line num="49" count="26645" type="stmt"/>
        <line num="51" count="35" type="stmt"/>
        <line num="54" count="26645" type="stmt"/>
        <line num="56" count="35" type="stmt"/>
        <line num="59" count="26645" type="stmt"/>
        <line num="61" count="35" type="stmt"/>
        <line num="64" count="26645" type="stmt"/>
        <line num="70" count="35" type="stmt"/>
        <line num="72" count="26645" type="cond" truecount="2" falsecount="0"/>
        <line num="73" count="35" type="stmt"/>
        <line num="74" count="35" type="stmt"/>
      </file>
      <file name="signals-graph.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graph/signals-graph.component.ts">
        <metrics statements="272" coveredstatements="248" conditionals="135" coveredconditionals="105" methods="42" coveredmethods="36"/>
        <line num="24" count="96" type="stmt"/>
        <line num="33" count="131" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="35" type="stmt"/>
        <line num="38" count="35" type="stmt"/>
        <line num="39" count="35" type="stmt"/>
        <line num="42" count="35" type="stmt"/>
        <line num="43" count="35" type="stmt"/>
        <line num="46" count="35" type="stmt"/>
        <line num="62" count="35" type="stmt"/>
        <line num="63" count="35" type="stmt"/>
        <line num="65" count="35" type="stmt"/>
        <line num="69" count="35" type="stmt"/>
        <line num="70" count="35" type="stmt"/>
        <line num="72" count="35" type="stmt"/>
        <line num="74" count="35" type="stmt"/>
        <line num="75" count="35" type="stmt"/>
        <line num="76" count="35" type="stmt"/>
        <line num="77" count="35" type="stmt"/>
        <line num="78" count="35" type="stmt"/>
        <line num="79" count="35" type="stmt"/>
        <line num="81" count="35" type="stmt"/>
        <line num="84" count="35" type="stmt"/>
        <line num="85" count="35" type="stmt"/>
        <line num="89" count="35" type="stmt"/>
        <line num="91" count="35" type="stmt"/>
        <line num="93" count="35" type="cond" truecount="2" falsecount="0"/>
        <line num="94" count="30" type="stmt"/>
        <line num="99" count="35" type="stmt"/>
        <line num="100" count="35" type="stmt"/>
        <line num="101" count="1" type="stmt"/>
        <line num="103" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="104" count="1" type="stmt"/>
        <line num="105" count="1" type="stmt"/>
        <line num="106" count="1" type="stmt"/>
        <line num="110" count="1" type="cond" truecount="3" falsecount="1"/>
        <line num="111" count="1" type="stmt"/>
        <line num="112" count="1" type="stmt"/>
        <line num="115" count="1" type="stmt"/>
        <line num="117" count="1" type="stmt"/>
        <line num="118" count="1" type="stmt"/>
        <line num="119" count="1" type="stmt"/>
        <line num="124" count="97" type="cond" truecount="2" falsecount="0"/>
        <line num="125" count="41" type="stmt"/>
        <line num="126" count="41" type="cond" truecount="5" falsecount="0"/>
        <line num="127" count="10" type="stmt"/>
        <line num="128" count="10" type="stmt"/>
        <line num="130" count="41" type="stmt"/>
        <line num="132" count="56" type="cond" truecount="1" falsecount="1"/>
        <line num="133" count="0" type="stmt"/>
        <line num="134" count="0" type="cond" truecount="0" falsecount="5"/>
        <line num="135" count="0" type="stmt"/>
        <line num="136" count="0" type="stmt"/>
        <line num="138" count="0" type="stmt"/>
        <line num="141" count="56" type="stmt"/>
        <line num="142" count="56" type="stmt"/>
        <line num="144" count="56" type="stmt"/>
        <line num="146" count="56" type="stmt"/>
        <line num="147" count="56" type="cond" truecount="2" falsecount="0"/>
        <line num="148" count="25" type="cond" truecount="2" falsecount="0"/>
        <line num="149" count="1" type="stmt"/>
        <line num="153" count="56" type="cond" truecount="2" falsecount="0"/>
        <line num="154" count="29" type="stmt"/>
        <line num="156" count="29" type="stmt"/>
        <line num="157" count="29" type="stmt"/>
        <line num="158" count="48" type="stmt"/>
        <line num="159" count="24" type="stmt"/>
        <line num="161" count="29" type="stmt"/>
        <line num="162" count="29" type="cond" truecount="1" falsecount="1"/>
        <line num="163" count="29" type="stmt"/>
        <line num="165" count="29" type="stmt"/>
        <line num="167" count="29" type="cond" truecount="1" falsecount="1"/>
        <line num="168" count="29" type="stmt"/>
        <line num="169" count="29" type="stmt"/>
        <line num="173" count="29" type="stmt"/>
        <line num="175" count="29" type="stmt"/>
        <line num="178" count="29" type="stmt"/>
        <line num="180" count="27" type="cond" truecount="1" falsecount="1"/>
        <line num="181" count="27" type="stmt"/>
        <line num="182" count="27" type="stmt"/>
        <line num="184" count="27" type="cond" truecount="1" falsecount="1"/>
        <line num="186" count="0" type="stmt"/>
        <line num="197" count="64" type="cond" truecount="5" falsecount="0"/>
        <line num="198" count="30" type="stmt"/>
        <line num="199" count="30" type="stmt"/>
        <line num="202" count="34" type="stmt"/>
        <line num="204" count="34" type="stmt"/>
        <line num="205" count="34" type="stmt"/>
        <line num="208" count="34" type="stmt"/>
        <line num="215" count="34" type="stmt"/>
        <line num="216" count="34" type="cond" truecount="4" falsecount="0"/>
        <line num="217" count="28" type="stmt"/>
        <line num="219" count="45" type="stmt"/>
        <line num="220" count="45" type="stmt"/>
        <line num="223" count="45" type="stmt"/>
        <line num="227" count="45" type="stmt"/>
        <line num="230" count="45" type="stmt"/>
        <line num="231" count="45" type="cond" truecount="5" falsecount="0"/>
        <line num="232" count="41" type="stmt"/>
        <line num="235" count="45" type="stmt"/>
        <line num="237" count="45" type="stmt"/>
        <line num="239" count="45" type="cond" truecount="2" falsecount="0"/>
        <line num="240" count="41" type="stmt"/>
        <line num="243" count="4" type="stmt"/>
        <line num="246" count="45" type="stmt"/>
        <line num="249" count="0" type="stmt"/>
        <line num="250" count="0" type="stmt"/>
        <line num="256" count="6" type="stmt"/>
        <line num="258" count="10" type="stmt"/>
        <line num="259" count="10" type="stmt"/>
        <line num="260" count="10" type="stmt"/>
        <line num="261" count="10" type="cond" truecount="3" falsecount="1"/>
        <line num="262" count="10" type="stmt"/>
        <line num="263" count="10" type="stmt"/>
        <line num="265" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="266" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="268" count="2" type="stmt"/>
        <line num="270" count="2" type="stmt"/>
        <line num="274" count="6" type="stmt"/>
        <line num="278" count="10" type="stmt"/>
        <line num="282" count="10" type="stmt"/>
        <line num="285" count="10" type="stmt"/>
        <line num="286" count="10" type="cond" truecount="5" falsecount="0"/>
        <line num="287" count="5" type="stmt"/>
        <line num="290" count="10" type="stmt"/>
        <line num="292" count="10" type="stmt"/>
        <line num="294" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="295" count="5" type="stmt"/>
        <line num="298" count="5" type="stmt"/>
        <line num="301" count="10" type="stmt"/>
        <line num="304" count="0" type="stmt"/>
        <line num="305" count="0" type="stmt"/>
        <line num="313" count="55" type="cond" truecount="2" falsecount="0"/>
        <line num="314" count="6" type="stmt"/>
        <line num="315" count="6" type="stmt"/>
        <line num="318" count="49" type="cond" truecount="1" falsecount="1"/>
        <line num="319" count="0" type="stmt"/>
        <line num="322" count="49" type="cond" truecount="2" falsecount="0"/>
        <line num="323" count="45" type="stmt"/>
        <line num="325" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="326" count="4" type="cond" truecount="2" falsecount="0"/>
        <line num="327" count="2" type="stmt"/>
        <line num="328" count="2" type="stmt"/>
        <line num="330" count="2" type="stmt"/>
        <line num="333" count="47" type="stmt"/>
        <line num="334" count="47" type="stmt"/>
        <line num="335" count="47" type="stmt"/>
        <line num="337" count="40" type="stmt"/>
        <line num="339" count="38" type="stmt"/>
        <line num="340" count="23" type="stmt"/>
        <line num="341" count="0" type="stmt"/>
        <line num="343" count="23" type="cond" truecount="1" falsecount="1"/>
        <line num="344" count="0" type="stmt"/>
        <line num="347" count="23" type="stmt"/>
        <line num="348" count="2" type="stmt"/>
        <line num="349" count="2" type="stmt"/>
        <line num="351" count="23" type="stmt"/>
        <line num="356" count="111" type="stmt"/>
        <line num="357" count="111" type="stmt"/>
        <line num="358" count="111" type="stmt"/>
        <line num="359" count="111" type="cond" truecount="1" falsecount="1"/>
        <line num="360" count="111" type="stmt"/>
        <line num="361" count="77" type="stmt"/>
        <line num="362" count="77" type="stmt"/>
        <line num="363" count="77" type="stmt"/>
        <line num="370" count="77" type="stmt"/>
        <line num="371" count="77" type="stmt"/>
        <line num="372" count="77" type="stmt"/>
        <line num="373" count="77" type="stmt"/>
        <line num="382" count="111" type="stmt"/>
        <line num="398" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="400" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="401" count="0" type="stmt"/>
        <line num="402" count="0" type="stmt"/>
        <line num="403" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="405" count="0" type="stmt"/>
        <line num="433" count="964" type="stmt"/>
        <line num="434" count="964" type="cond" truecount="1" falsecount="1"/>
        <line num="440" count="0" type="stmt"/>
        <line num="441" count="0" type="stmt"/>
        <line num="442" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="451" count="111" type="stmt"/>
        <line num="453" count="111" type="cond" truecount="1" falsecount="1"/>
        <line num="454" count="111" type="stmt"/>
        <line num="457" count="111" type="cond" truecount="4" falsecount="0"/>
        <line num="458" count="60" type="stmt"/>
        <line num="469" count="111" type="stmt"/>
        <line num="478" count="55" type="cond" truecount="2" falsecount="0"/>
        <line num="479" count="7" type="stmt"/>
        <line num="481" count="55" type="cond" truecount="2" falsecount="0"/>
        <line num="482" count="52" type="stmt"/>
        <line num="485" count="3" type="stmt"/>
        <line num="489" count="55" type="stmt"/>
        <line num="490" count="55" type="stmt"/>
        <line num="494" count="111" type="stmt"/>
        <line num="528" count="161" type="stmt"/>
        <line num="529" count="161" type="stmt"/>
        <line num="530" count="161" type="cond" truecount="4" falsecount="0"/>
        <line num="531" count="49" type="stmt"/>
        <line num="532" count="96" type="stmt"/>
        <line num="533" count="96" type="cond" truecount="2" falsecount="0"/>
        <line num="534" count="36" type="stmt"/>
        <line num="536" count="60" type="stmt"/>
        <line num="537" count="60" type="cond" truecount="1" falsecount="1"/>
        <line num="538" count="60" type="stmt"/>
        <line num="540" count="60" type="stmt"/>
        <line num="541" count="60" type="cond" truecount="2" falsecount="0"/>
        <line num="542" count="12" type="stmt"/>
        <line num="545" count="60" type="stmt"/>
        <line num="546" count="60" type="stmt"/>
        <line num="548" count="60" type="stmt"/>
        <line num="557" count="60" type="stmt"/>
        <line num="566" count="60" type="cond" truecount="2" falsecount="0"/>
        <line num="567" count="48" type="stmt"/>
        <line num="568" count="48" type="stmt"/>
        <line num="569" count="48" type="stmt"/>
        <line num="570" count="48" type="stmt"/>
        <line num="573" count="60" type="stmt"/>
        <line num="574" count="60" type="cond" truecount="2" falsecount="0"/>
        <line num="575" count="44" type="stmt"/>
        <line num="579" count="161" type="stmt"/>
        <line num="583" count="76" type="stmt"/>
        <line num="584" count="76" type="stmt"/>
        <line num="585" count="76" type="stmt"/>
        <line num="587" count="76" type="stmt"/>
        <line num="588" count="76" type="cond" truecount="2" falsecount="0"/>
        <line num="590" count="46" type="stmt"/>
        <line num="594" count="76" type="stmt"/>
        <line num="595" count="76" type="stmt"/>
        <line num="599" count="55" type="cond" truecount="2" falsecount="0"/>
        <line num="600" count="49" type="stmt"/>
        <line num="601" count="49" type="stmt"/>
        <line num="604" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="605" count="3" type="stmt"/>
        <line num="606" count="3" type="stmt"/>
        <line num="608" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="609" count="2" type="stmt"/>
        <line num="611" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="612" count="2" type="stmt"/>
        <line num="618" count="85" type="stmt"/>
        <line num="619" count="85" type="stmt"/>
        <line num="624" count="85" type="stmt"/>
        <line num="628" count="85" type="cond" truecount="2" falsecount="0"/>
        <line num="629" count="2" type="stmt"/>
        <line num="630" count="2" type="stmt"/>
        <line num="632" count="85" type="stmt"/>
        <line num="638" count="2" type="stmt"/>
        <line num="640" count="2" type="stmt"/>
        <line num="641" count="2" type="stmt"/>
        <line num="644" count="0" type="stmt"/>
        <line num="650" count="1" type="stmt"/>
        <line num="652" count="1" type="stmt"/>
        <line num="653" count="1" type="stmt"/>
        <line num="656" count="0" type="stmt"/>
        <line num="662" count="2" type="stmt"/>
        <line num="663" count="2" type="stmt"/>
        <line num="667" count="113" type="stmt"/>
        <line num="700" count="10" type="stmt"/>
        <line num="704" count="40" type="stmt"/>
        <line num="706" count="40" type="stmt"/>
        <line num="707" count="40" type="stmt"/>
        <line num="708" count="11" type="stmt"/>
        <line num="712" count="40" type="stmt"/>
        <line num="713" count="58" type="stmt"/>
        <line num="714" count="58" type="cond" truecount="2" falsecount="0"/>
        <line num="715" count="47" type="stmt"/>
        <line num="716" count="47" type="stmt"/>
        <line num="717" count="47" type="stmt"/>
        <line num="718" count="47" type="stmt"/>
        <line num="719" count="47" type="stmt"/>
        <line num="720" count="47" type="stmt"/>
        <line num="721" count="47" type="stmt"/>
        <line num="729" count="4" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-graphs">
      <metrics statements="122" coveredstatements="113" conditionals="39" coveredconditionals="29" methods="37" coveredmethods="31"/>
      <file name="signals-graphs.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graphs/signals-graphs.component.html">
        <metrics statements="46" coveredstatements="46" conditionals="12" coveredconditionals="6" methods="13" coveredmethods="9"/>
        <line num="1" count="13305" type="stmt"/>
        <line num="4" count="26610" type="stmt"/>
        <line num="6" count="35" type="stmt"/>
        <line num="7" count="26610" type="stmt"/>
        <line num="8" count="26610" type="stmt"/>
        <line num="10" count="1425" type="cond" truecount="0" falsecount="2"/>
        <line num="15" count="697" type="stmt"/>
        <line num="18" count="31" type="stmt"/>
        <line num="19" count="31" type="stmt"/>
        <line num="22" count="62" type="stmt"/>
        <line num="23" count="1394" type="stmt"/>
        <line num="24" count="728" type="cond" truecount="0" falsecount="2"/>
        <line num="28" count="31" type="stmt"/>
        <line num="31" count="31" type="stmt"/>
        <line num="32" count="35" type="stmt"/>
        <line num="34" count="26610" type="stmt"/>
        <line num="35" count="58" type="stmt"/>
        <line num="36" count="25216" type="stmt"/>
        <line num="37" count="12637" type="cond" truecount="0" falsecount="2"/>
        <line num="41" count="29" type="stmt"/>
        <line num="42" count="29" type="stmt"/>
        <line num="44" count="26610" type="stmt"/>
        <line num="45" count="26610" type="stmt"/>
        <line num="48" count="70" type="stmt"/>
        <line num="49" count="26610" type="stmt"/>
        <line num="50" count="13340" type="cond" truecount="2" falsecount="0"/>
        <line num="55" count="35" type="stmt"/>
        <line num="56" count="35" type="stmt"/>
        <line num="58" count="26610" type="stmt"/>
        <line num="59" count="58" type="stmt"/>
        <line num="60" count="25216" type="stmt"/>
        <line num="61" count="12637" type="cond" truecount="2" falsecount="0"/>
        <line num="64" count="29" type="stmt"/>
        <line num="65" count="29" type="stmt"/>
        <line num="67" count="35" type="stmt"/>
        <line num="68" count="26610" type="stmt"/>
        <line num="69" count="70" type="stmt"/>
        <line num="72" count="35" type="stmt"/>
        <line num="74" count="13305" type="stmt"/>
        <line num="75" count="13340" type="cond" truecount="2" falsecount="0"/>
        <line num="76" count="108" type="stmt"/>
        <line num="77" count="6" type="stmt"/>
        <line num="78" count="13305" type="stmt"/>
        <line num="80" count="35" type="stmt"/>
        <line num="82" count="26610" type="stmt"/>
        <line num="83" count="35" type="stmt"/>
      </file>
      <file name="signals-graphs.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-graphs/signals-graphs.component.ts">
        <metrics statements="76" coveredstatements="67" conditionals="27" coveredconditionals="23" methods="24" coveredmethods="22"/>
        <line num="29" count="142" type="cond" truecount="2" falsecount="0"/>
        <line num="31" count="46" type="stmt"/>
        <line num="32" count="46" type="stmt"/>
        <line num="33" count="46" type="stmt"/>
        <line num="35" count="46" type="stmt"/>
        <line num="36" count="46" type="stmt"/>
        <line num="38" count="46" type="stmt"/>
        <line num="45" count="46" type="stmt"/>
        <line num="59" count="46" type="stmt"/>
        <line num="60" count="46" type="stmt"/>
        <line num="62" count="46" type="stmt"/>
        <line num="64" count="46" type="stmt"/>
        <line num="65" count="1" type="stmt"/>
        <line num="66" count="1" type="stmt"/>
        <line num="68" count="46" type="stmt"/>
        <line num="80" count="46" type="stmt"/>
        <line num="81" count="46" type="stmt"/>
        <line num="82" count="46" type="stmt"/>
        <line num="86" count="46" type="stmt"/>
        <line num="87" count="46" type="stmt"/>
        <line num="88" count="48" type="stmt"/>
        <line num="89" count="48" type="cond" truecount="4" falsecount="0"/>
        <line num="90" count="38" type="stmt"/>
        <line num="95" count="46" type="cond" truecount="2" falsecount="0"/>
        <line num="96" count="36" type="stmt"/>
        <line num="97" count="66" type="stmt"/>
        <line num="98" count="66" type="cond" truecount="2" falsecount="0"/>
        <line num="99" count="28" type="cond" truecount="2" falsecount="0"/>
        <line num="100" count="24" type="stmt"/>
        <line num="103" count="4" type="stmt"/>
        <line num="107" count="38" type="stmt"/>
        <line num="112" count="46" type="stmt"/>
        <line num="114" count="46" type="cond" truecount="2" falsecount="0"/>
        <line num="115" count="8" type="stmt"/>
        <line num="118" count="46" type="cond" truecount="5" falsecount="0"/>
        <line num="119" count="3" type="stmt"/>
        <line num="120" count="3" type="stmt"/>
        <line num="121" count="3" type="stmt"/>
        <line num="126" count="35" type="stmt"/>
        <line num="130" count="35" type="stmt"/>
        <line num="132" count="35" type="stmt"/>
        <line num="134" count="35" type="stmt"/>
        <line num="135" count="35" type="stmt"/>
        <line num="137" count="35" type="stmt"/>
        <line num="139" count="35" type="stmt"/>
        <line num="141" count="35" type="stmt"/>
        <line num="151" count="35" type="stmt"/>
        <line num="153" count="35" type="stmt"/>
        <line num="154" count="35" type="stmt"/>
        <line num="156" count="35" type="stmt"/>
        <line num="160" count="9" type="stmt"/>
        <line num="161" count="7" type="cond" truecount="1" falsecount="1"/>
        <line num="162" count="7" type="stmt"/>
        <line num="165" count="0" type="stmt"/>
        <line num="170" count="54" type="stmt"/>
        <line num="173" count="54" type="stmt"/>
        <line num="177" count="54" type="stmt"/>
        <line num="181" count="35" type="stmt"/>
        <line num="185" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="186" count="1" type="stmt"/>
        <line num="187" count="1" type="stmt"/>
        <line num="191" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="192" count="0" type="stmt"/>
        <line num="193" count="0" type="stmt"/>
        <line num="195" count="0" type="stmt"/>
        <line num="196" count="0" type="stmt"/>
        <line num="197" count="0" type="stmt"/>
        <line num="201" count="11" type="stmt"/>
        <line num="205" count="0" type="stmt"/>
        <line num="206" count="0" type="stmt"/>
        <line num="210" count="2" type="stmt"/>
        <line num="211" count="2" type="stmt"/>
        <line num="215" count="1" type="stmt"/>
        <line num="216" count="1" type="stmt"/>
        <line num="220" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="221" count="3" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-table">
      <metrics statements="75" coveredstatements="70" conditionals="32" coveredconditionals="26" methods="21" coveredmethods="17"/>
      <file name="signals-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-table/signals-table.component.html">
        <metrics statements="31" coveredstatements="31" conditionals="4" coveredconditionals="4" methods="5" coveredmethods="4"/>
        <line num="1" count="720" type="stmt"/>
        <line num="2" count="1440" type="stmt"/>
        <line num="5" count="481" type="stmt"/>
        <line num="9" count="11" type="stmt"/>
        <line num="10" count="11" type="stmt"/>
        <line num="11" count="11" type="stmt"/>
        <line num="13" count="11" type="stmt"/>
        <line num="14" count="962" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="4" type="stmt"/>
        <line num="16" count="4" type="stmt"/>
        <line num="17" count="4" type="stmt"/>
        <line num="18" count="4" type="stmt"/>
        <line num="19" count="4" type="stmt"/>
        <line num="20" count="11" type="stmt"/>
        <line num="22" count="973" type="cond" truecount="2" falsecount="0"/>
        <line num="25" count="11" type="stmt"/>
        <line num="30" count="11" type="stmt"/>
        <line num="31" count="11" type="stmt"/>
        <line num="32" count="11" type="stmt"/>
        <line num="33" count="11" type="stmt"/>
        <line num="34" count="11" type="stmt"/>
        <line num="35" count="11" type="stmt"/>
        <line num="37" count="11" type="stmt"/>
        <line num="38" count="5354" type="stmt"/>
        <line num="39" count="11340" type="stmt"/>
        <line num="40" count="5354" type="stmt"/>
        <line num="41" count="11340" type="stmt"/>
        <line num="42" count="11340" type="stmt"/>
        <line num="43" count="11340" type="stmt"/>
        <line num="44" count="632" type="stmt"/>
        <line num="46" count="11" type="stmt"/>
      </file>
      <file name="signals-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-table/signals-table.component.ts">
        <metrics statements="44" coveredstatements="39" conditionals="28" coveredconditionals="22" methods="16" coveredmethods="13"/>
        <line num="24" count="108" type="cond" truecount="2" falsecount="0"/>
        <line num="29" count="12" type="stmt"/>
        <line num="30" count="12" type="stmt"/>
        <line num="32" count="12" type="stmt"/>
        <line num="33" count="12" type="stmt"/>
        <line num="34" count="12" type="stmt"/>
        <line num="35" count="12" type="stmt"/>
        <line num="38" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="3" type="stmt"/>
        <line num="40" count="3" type="stmt"/>
        <line num="44" count="12" type="stmt"/>
        <line num="47" count="12" type="stmt"/>
        <line num="48" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="49" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="51" count="12" type="stmt"/>
        <line num="52" count="12" type="cond" truecount="1" falsecount="1"/>
        <line num="53" count="12" type="stmt"/>
        <line num="58" count="5354" type="stmt"/>
        <line num="62" count="0" type="stmt"/>
        <line num="66" count="0" type="stmt"/>
        <line num="67" count="0" type="stmt"/>
        <line num="71" count="32" type="stmt"/>
        <line num="72" count="32" type="stmt"/>
        <line num="76" count="1" type="stmt"/>
        <line num="77" count="1" type="stmt"/>
        <line num="79" count="1" type="stmt"/>
        <line num="86" count="24" type="stmt"/>
        <line num="90" count="67" type="stmt"/>
        <line num="91" count="67" type="cond" truecount="2" falsecount="0"/>
        <line num="94" count="65" type="stmt"/>
        <line num="95" count="65" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="104" count="20" type="stmt"/>
        <line num="105" count="20" type="cond" truecount="3" falsecount="1"/>
        <line num="106" count="20" type="stmt"/>
        <line num="108" count="20" type="cond" truecount="3" falsecount="1"/>
        <line num="109" count="20" type="stmt"/>
        <line num="111" count="20" type="cond" truecount="4" falsecount="0"/>
        <line num="112" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="113" count="0" type="stmt"/>
        <line num="116" count="8" type="stmt"/>
        <line num="118" count="8" type="cond" truecount="1" falsecount="1"/>
        <line num="121" count="12" type="stmt"/>
        <line num="124" count="20" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.signals-values-table">
      <metrics statements="185" coveredstatements="153" conditionals="44" coveredconditionals="26" methods="46" coveredmethods="35"/>
      <file name="signals-values-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-values-table/signals-values-table.component.html">
        <metrics statements="93" coveredstatements="74" conditionals="14" coveredconditionals="10" methods="13" coveredmethods="5"/>
        <line num="1" count="4" type="stmt"/>
        <line num="2" count="1976" type="stmt"/>
        <line num="5" count="3952" type="stmt"/>
        <line num="6" count="6" type="stmt"/>
        <line num="8" count="3952" type="stmt"/>
        <line num="9" count="10" type="stmt"/>
        <line num="10" count="4" type="stmt"/>
        <line num="11" count="1980" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="3952" type="stmt"/>
        <line num="15" count="4" type="stmt"/>
        <line num="25" count="4" type="stmt"/>
        <line num="26" count="4" type="stmt"/>
        <line num="27" count="4" type="stmt"/>
        <line num="28" count="1976" type="stmt"/>
        <line num="29" count="1976" type="stmt"/>
        <line num="31" count="4" type="stmt"/>
        <line num="35" count="4" type="stmt"/>
        <line num="36" count="4" type="stmt"/>
        <line num="37" count="4" type="stmt"/>
        <line num="38" count="1976" type="stmt"/>
        <line num="39" count="1976" type="stmt"/>
        <line num="41" count="4" type="stmt"/>
        <line num="43" count="11400" type="stmt"/>
        <line num="46" count="22820" type="stmt"/>
        <line num="47" count="22800" type="stmt"/>
        <line num="48" count="20" type="stmt"/>
        <line num="49" count="22800" type="cond" truecount="2" falsecount="0"/>
        <line num="50" count="2" type="stmt"/>
        <line num="51" count="1368" type="stmt"/>
        <line num="52" count="2" type="stmt"/>
        <line num="53" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="54" count="0" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="57" count="0" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="60" count="0" type="stmt"/>
        <line num="62" count="2" type="stmt"/>
        <line num="65" count="4" type="stmt"/>
        <line num="66" count="1976" type="stmt"/>
        <line num="67" count="4" type="stmt"/>
        <line num="68" count="0" type="stmt"/>
        <line num="69" count="0" type="stmt"/>
        <line num="71" count="4" type="stmt"/>
        <line num="74" count="2" type="stmt"/>
        <line num="75" count="1368" type="stmt"/>
        <line num="76" count="2" type="stmt"/>
        <line num="77" count="0" type="stmt"/>
        <line num="78" count="0" type="stmt"/>
        <line num="80" count="2" type="stmt"/>
        <line num="83" count="2" type="stmt"/>
        <line num="84" count="1368" type="stmt"/>
        <line num="85" count="2" type="stmt"/>
        <line num="86" count="0" type="stmt"/>
        <line num="87" count="0" type="stmt"/>
        <line num="89" count="2" type="stmt"/>
        <line num="92" count="2" type="stmt"/>
        <line num="93" count="1368" type="stmt"/>
        <line num="94" count="2" type="stmt"/>
        <line num="95" count="0" type="stmt"/>
        <line num="97" count="0" type="stmt"/>
        <line num="98" count="0" type="stmt"/>
        <line num="100" count="0" type="stmt"/>
        <line num="102" count="2" type="stmt"/>
        <line num="104" count="20" type="stmt"/>
        <line num="105" count="8" type="stmt"/>
        <line num="106" count="3952" type="stmt"/>
        <line num="109" count="20" type="stmt"/>
        <line num="110" count="4" type="stmt"/>
        <line num="111" count="4" type="stmt"/>
        <line num="113" count="4" type="stmt"/>
        <line num="115" count="11" type="stmt"/>
        <line num="116" count="3411" type="stmt"/>
        <line num="117" count="11" type="stmt"/>
        <line num="118" count="11" type="stmt"/>
        <line num="119" count="3411" type="stmt"/>
        <line num="120" count="11" type="stmt"/>
        <line num="122" count="3400" type="stmt"/>
        <line num="123" count="21992" type="cond" truecount="4" falsecount="2"/>
        <line num="125" count="0" type="stmt"/>
        <line num="128" count="1474" type="stmt"/>
        <line num="130" count="57" type="stmt"/>
        <line num="131" count="9573" type="stmt"/>
        <line num="133" count="57" type="stmt"/>
        <line num="135" count="3400" type="stmt"/>
        <line num="137" count="11" type="stmt"/>
        <line num="139" count="4" type="stmt"/>
        <line num="141" count="3952" type="cond" truecount="2" falsecount="0"/>
        <line num="142" count="4" type="stmt"/>
        <line num="143" count="3952" type="stmt"/>
        <line num="144" count="40" type="stmt"/>
        <line num="146" count="4" type="stmt"/>
      </file>
      <file name="signals-values-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/signals-values-table/signals-values-table.component.ts">
        <metrics statements="92" coveredstatements="79" conditionals="30" coveredconditionals="16" methods="33" coveredmethods="30"/>
        <line num="36" count="11" type="stmt"/>
        <line num="37" count="11" type="stmt"/>
        <line num="38" count="11" type="stmt"/>
        <line num="39" count="11" type="stmt"/>
        <line num="40" count="11" type="stmt"/>
        <line num="41" count="11" type="stmt"/>
        <line num="42" count="11" type="stmt"/>
        <line num="43" count="11" type="stmt"/>
        <line num="44" count="11" type="stmt"/>
        <line num="45" count="11" type="stmt"/>
        <line num="46" count="11" type="stmt"/>
        <line num="50" count="19" type="stmt"/>
        <line num="51" count="19" type="stmt"/>
        <line num="52" count="19" type="stmt"/>
        <line num="63" count="100" type="cond" truecount="2" falsecount="0"/>
        <line num="64" count="4" type="stmt"/>
        <line num="69" count="4" type="stmt"/>
        <line num="70" count="4" type="stmt"/>
        <line num="88" count="4" type="stmt"/>
        <line num="90" count="4" type="stmt"/>
        <line num="92" count="4" type="stmt"/>
        <line num="95" count="4" type="stmt"/>
        <line num="96" count="4" type="stmt"/>
        <line num="97" count="4" type="stmt"/>
        <line num="99" count="4" type="stmt"/>
        <line num="109" count="4" type="stmt"/>
        <line num="113" count="4" type="stmt"/>
        <line num="114" count="10" type="stmt"/>
        <line num="115" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="116" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="117" count="6" type="stmt"/>
        <line num="120" count="0" type="stmt"/>
        <line num="122" count="6" type="stmt"/>
        <line num="125" count="4" type="stmt"/>
        <line num="131" count="1" type="stmt"/>
        <line num="132" count="1" type="stmt"/>
        <line num="133" count="1" type="stmt"/>
        <line num="140" count="0" type="stmt"/>
        <line num="141" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="142" count="0" type="stmt"/>
        <line num="143" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="144" count="0" type="stmt"/>
        <line num="151" count="7" type="stmt"/>
        <line num="152" count="7" type="stmt"/>
        <line num="154" count="7" type="stmt"/>
        <line num="155" count="7" type="stmt"/>
        <line num="156" count="11" type="stmt"/>
        <line num="157" count="11" type="stmt"/>
        <line num="158" count="11" type="stmt"/>
        <line num="160" count="7" type="stmt"/>
        <line num="161" count="7" type="stmt"/>
        <line num="162" count="7" type="stmt"/>
        <line num="163" count="7" type="stmt"/>
        <line num="164" count="7" type="stmt"/>
        <line num="170" count="7" type="stmt"/>
        <line num="171" count="11" type="stmt"/>
        <line num="174" count="11" type="stmt"/>
        <line num="176" count="11" type="stmt"/>
        <line num="177" count="19" type="stmt"/>
        <line num="178" count="19" type="cond" truecount="1" falsecount="1"/>
        <line num="179" count="19" type="stmt"/>
        <line num="182" count="11" type="stmt"/>
        <line num="188" count="7" type="stmt"/>
        <line num="190" count="11" type="stmt"/>
        <line num="191" count="19" type="stmt"/>
        <line num="192" count="19" type="cond" truecount="1" falsecount="1"/>
        <line num="193" count="19" type="stmt"/>
        <line num="194" count="30" type="cond" truecount="2" falsecount="0"/>
        <line num="195" count="19" type="cond" truecount="1" falsecount="1"/>
        <line num="196" count="19" type="stmt"/>
        <line num="205" count="1474" type="stmt"/>
        <line num="209" count="3" type="stmt"/>
        <line num="210" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="211" count="0" type="stmt"/>
        <line num="212" count="0" type="stmt"/>
        <line num="218" count="5" type="stmt"/>
        <line num="219" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="220" count="1" type="stmt"/>
        <line num="225" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="226" count="0" type="stmt"/>
        <line num="227" count="0" type="stmt"/>
        <line num="229" count="0" type="stmt"/>
        <line num="233" count="1" type="stmt"/>
        <line num="237" count="11" type="stmt"/>
        <line num="238" count="11" type="cond" truecount="2" falsecount="0"/>
        <line num="239" count="11" type="stmt"/>
        <line num="240" count="11" type="cond" truecount="2" falsecount="0"/>
        <line num="241" count="11" type="stmt"/>
        <line num="243" count="7" type="stmt"/>
        <line num="244" count="7" type="stmt"/>
        <line num="248" count="7" type="stmt"/>
        <line num="252" count="7" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.theme-builder">
      <metrics statements="127" coveredstatements="120" conditionals="26" coveredconditionals="21" methods="25" coveredmethods="22"/>
      <file name="theme-builder.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/theme-builder/theme-builder.component.html">
        <metrics statements="50" coveredstatements="49" conditionals="10" coveredconditionals="9" methods="4" coveredmethods="4"/>
        <line num="1" count="13305" type="stmt"/>
        <line num="3" count="35" type="stmt"/>
        <line num="4" count="35" type="stmt"/>
        <line num="5" count="35" type="stmt"/>
        <line num="6" count="26610" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="1" type="stmt"/>
        <line num="10" count="35" type="stmt"/>
        <line num="12" count="35" type="stmt"/>
        <line num="14" count="35" type="stmt"/>
        <line num="17" count="13305" type="stmt"/>
        <line num="23" count="13305" type="stmt"/>
        <line num="26" count="35" type="stmt"/>
        <line num="27" count="862" type="stmt"/>
        <line num="29" count="35" type="stmt"/>
        <line num="30" count="26610" type="cond" truecount="1" falsecount="1"/>
        <line num="31" count="0" type="stmt"/>
        <line num="34" count="35" type="stmt"/>
        <line num="36" count="35" type="stmt"/>
        <line num="37" count="35" type="stmt"/>
        <line num="39" count="26610" type="stmt"/>
        <line num="40" count="35" type="stmt"/>
        <line num="41" count="26610" type="cond" truecount="2" falsecount="0"/>
        <line num="42" count="2" type="stmt"/>
        <line num="44" count="35" type="stmt"/>
        <line num="46" count="35" type="stmt"/>
        <line num="47" count="35" type="stmt"/>
        <line num="49" count="26610" type="stmt"/>
        <line num="50" count="35" type="stmt"/>
        <line num="51" count="26610" type="cond" truecount="2" falsecount="0"/>
        <line num="52" count="2" type="stmt"/>
        <line num="54" count="35" type="stmt"/>
        <line num="56" count="35" type="stmt"/>
        <line num="57" count="35" type="stmt"/>
        <line num="58" count="35" type="stmt"/>
        <line num="60" count="35" type="stmt"/>
        <line num="61" count="35" type="stmt"/>
        <line num="62" count="26610" type="cond" truecount="2" falsecount="0"/>
        <line num="64" count="940" type="stmt"/>
        <line num="65" count="5" type="stmt"/>
        <line num="66" count="940" type="stmt"/>
        <line num="67" count="5" type="stmt"/>
        <line num="68" count="5" type="stmt"/>
        <line num="70" count="5" type="stmt"/>
        <line num="71" count="5" type="stmt"/>
        <line num="72" count="5" type="stmt"/>
        <line num="74" count="35" type="stmt"/>
        <line num="76" count="37" type="stmt"/>
        <line num="77" count="25670" type="stmt"/>
        <line num="78" count="37" type="stmt"/>
        <line num="81" count="35" type="stmt"/>
      </file>
      <file name="theme-builder.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/theme-builder/theme-builder.component.ts">
        <metrics statements="77" coveredstatements="71" conditionals="16" coveredconditionals="12" methods="21" coveredmethods="18"/>
        <line num="20" count="131" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="35" type="stmt"/>
        <line num="23" count="35" type="stmt"/>
        <line num="24" count="35" type="stmt"/>
        <line num="25" count="35" type="stmt"/>
        <line num="30" count="35" type="stmt"/>
        <line num="32" count="35" type="stmt"/>
        <line num="33" count="35" type="stmt"/>
        <line num="35" count="35" type="stmt"/>
        <line num="38" count="35" type="stmt"/>
        <line num="40" count="35" type="stmt"/>
        <line num="50" count="35" type="stmt"/>
        <line num="52" count="34" type="stmt"/>
        <line num="53" count="34" type="stmt"/>
        <line num="59" count="42" type="cond" truecount="2" falsecount="0"/>
        <line num="60" count="37" type="stmt"/>
        <line num="62" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="63" count="5" type="stmt"/>
        <line num="64" count="5" type="stmt"/>
        <line num="65" count="5" type="stmt"/>
        <line num="66" count="5" type="stmt"/>
        <line num="67" count="5" type="stmt"/>
        <line num="68" count="5" type="stmt"/>
        <line num="69" count="5" type="stmt"/>
        <line num="74" count="47" type="stmt"/>
        <line num="76" count="47" type="cond" truecount="2" falsecount="0"/>
        <line num="77" count="13" type="stmt"/>
        <line num="78" count="13" type="stmt"/>
        <line num="80" count="34" type="stmt"/>
        <line num="82" count="34" type="stmt"/>
        <line num="90" count="53220" type="stmt"/>
        <line num="91" count="53220" type="cond" truecount="3" falsecount="1"/>
        <line num="95" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="96" count="0" type="stmt"/>
        <line num="97" count="0" type="stmt"/>
        <line num="99" count="2" type="stmt"/>
        <line num="101" count="2" type="stmt"/>
        <line num="102" count="2" type="stmt"/>
        <line num="103" count="2" type="stmt"/>
        <line num="104" count="2" type="stmt"/>
        <line num="105" count="2" type="stmt"/>
        <line num="106" count="2" type="stmt"/>
        <line num="107" count="2" type="stmt"/>
        <line num="109" count="2" type="stmt"/>
        <line num="111" count="2" type="stmt"/>
        <line num="112" count="2" type="stmt"/>
        <line num="113" count="2" type="stmt"/>
        <line num="114" count="2" type="stmt"/>
        <line num="115" count="2" type="stmt"/>
        <line num="118" count="0" type="stmt"/>
        <line num="124" count="1" type="stmt"/>
        <line num="125" count="1" type="stmt"/>
        <line num="126" count="1" type="stmt"/>
        <line num="127" count="1" type="stmt"/>
        <line num="128" count="1" type="stmt"/>
        <line num="129" count="1" type="stmt"/>
        <line num="130" count="1" type="stmt"/>
        <line num="132" count="1" type="stmt"/>
        <line num="134" count="1" type="stmt"/>
        <line num="135" count="1" type="stmt"/>
        <line num="136" count="1" type="stmt"/>
        <line num="139" count="0" type="stmt"/>
        <line num="145" count="1" type="stmt"/>
        <line num="147" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="148" count="1" type="stmt"/>
        <line num="149" count="1" type="stmt"/>
        <line num="150" count="1" type="stmt"/>
        <line num="153" count="0" type="stmt"/>
        <line num="157" count="0" type="stmt"/>
        <line num="163" count="37" type="stmt"/>
        <line num="164" count="37" type="stmt"/>
        <line num="165" count="37" type="stmt"/>
        <line num="166" count="37" type="stmt"/>
        <line num="167" count="37" type="stmt"/>
        <line num="168" count="37" type="stmt"/>
        <line num="169" count="37" type="stmt"/>
        <line num="173" count="1" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.themes">
      <metrics statements="30" coveredstatements="30" conditionals="8" coveredconditionals="7" methods="17" coveredmethods="17"/>
      <file name="themes.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes/themes.component.html">
        <metrics statements="14" coveredstatements="14" conditionals="4" coveredconditionals="4" methods="7" coveredmethods="7"/>
        <line num="1" count="13340" type="cond" truecount="2" falsecount="0"/>
        <line num="3" count="26610" type="stmt"/>
        <line num="4" count="26610" type="stmt"/>
        <line num="5" count="26610" type="stmt"/>
        <line num="6" count="35" type="stmt"/>
        <line num="8" count="26610" type="stmt"/>
        <line num="9" count="26610" type="stmt"/>
        <line num="10" count="35" type="stmt"/>
        <line num="11" count="26610" type="stmt"/>
        <line num="12" count="13305" type="stmt"/>
        <line num="13" count="35" type="stmt"/>
        <line num="14" count="26610" type="stmt"/>
        <line num="15" count="26645" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="35" type="stmt"/>
      </file>
      <file name="themes.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes/themes.component.ts">
        <metrics statements="16" coveredstatements="16" conditionals="4" coveredconditionals="3" methods="10" coveredmethods="10"/>
        <line num="14" count="131" type="cond" truecount="2" falsecount="0"/>
        <line num="15" count="35" type="stmt"/>
        <line num="18" count="35" type="stmt"/>
        <line num="21" count="35" type="stmt"/>
        <line num="23" count="35" type="stmt"/>
        <line num="26" count="35" type="stmt"/>
        <line num="30" count="46" type="stmt"/>
        <line num="32" count="45" type="stmt"/>
        <line num="35" count="46" type="stmt"/>
        <line num="37" count="45" type="stmt"/>
        <line num="43" count="9" type="cond" truecount="1" falsecount="1"/>
        <line num="44" count="3" type="stmt"/>
        <line num="45" count="3" type="stmt"/>
        <line num="49" count="2" type="stmt"/>
        <line num="53" count="11" type="stmt"/>
        <line num="54" count="11" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.themes-list">
      <metrics statements="85" coveredstatements="77" conditionals="20" coveredconditionals="16" methods="17" coveredmethods="14"/>
      <file name="themes-list.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes-list/themes-list.component.html">
        <metrics statements="53" coveredstatements="52" conditionals="10" coveredconditionals="10" methods="6" coveredmethods="6"/>
        <line num="1" count="70" type="stmt"/>
        <line num="3" count="26610" type="stmt"/>
        <line num="8" count="279" type="stmt"/>
        <line num="11" count="70" type="stmt"/>
        <line num="15" count="70" type="stmt"/>
        <line num="16" count="70" type="stmt"/>
        <line num="17" count="70" type="stmt"/>
        <line num="18" count="53220" type="stmt"/>
        <line num="19" count="70" type="stmt"/>
        <line num="20" count="53220" type="stmt"/>
        <line num="21" count="70" type="stmt"/>
        <line num="25" count="233" type="stmt"/>
        <line num="26" count="139241" type="stmt"/>
        <line num="27" count="139008" type="stmt"/>
        <line num="28" count="233" type="stmt"/>
        <line num="29" count="139241" type="stmt"/>
        <line num="32" count="139008" type="stmt"/>
        <line num="33" count="139008" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="74" type="stmt"/>
        <line num="37" count="28" type="stmt"/>
        <line num="39" count="233" type="stmt"/>
        <line num="40" count="131" type="stmt"/>
        <line num="42" count="233" type="stmt"/>
        <line num="43" count="233" type="stmt"/>
        <line num="44" count="139008" type="stmt"/>
        <line num="45" count="139008" type="cond" truecount="2" falsecount="0"/>
        <line num="46" count="28" type="stmt"/>
        <line num="49" count="0" type="stmt"/>
        <line num="51" count="233" type="stmt"/>
        <line num="52" count="205" type="stmt"/>
        <line num="56" count="233" type="stmt"/>
        <line num="57" count="139008" type="stmt"/>
        <line num="58" count="62570" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="100" type="stmt"/>
        <line num="60" count="100" type="stmt"/>
        <line num="61" count="233" type="stmt"/>
        <line num="62" count="139008" type="cond" truecount="2" falsecount="0"/>
        <line num="63" count="63246" type="stmt"/>
        <line num="64" count="207" type="stmt"/>
        <line num="66" count="233" type="stmt"/>
        <line num="67" count="6258" type="stmt"/>
        <line num="68" count="31" type="stmt"/>
        <line num="70" count="233" type="stmt"/>
        <line num="71" count="139008" type="stmt"/>
        <line num="72" count="62470" type="cond" truecount="2" falsecount="0"/>
        <line num="73" count="25235" type="stmt"/>
        <line num="74" count="84" type="stmt"/>
        <line num="76" count="100" type="stmt"/>
        <line num="77" count="233" type="stmt"/>
        <line num="79" count="70" type="stmt"/>
        <line num="81" count="72" type="stmt"/>
        <line num="82" count="72" type="stmt"/>
        <line num="84" count="70" type="stmt"/>
      </file>
      <file name="themes-list.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/themes-list/themes-list.component.ts">
        <metrics statements="32" coveredstatements="25" conditionals="10" coveredconditionals="6" methods="11" coveredmethods="8"/>
        <line num="17" count="166" type="cond" truecount="2" falsecount="0"/>
        <line num="19" count="70" type="stmt"/>
        <line num="20" count="70" type="stmt"/>
        <line num="21" count="70" type="stmt"/>
        <line num="23" count="70" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="32" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="33" count="1" type="stmt"/>
        <line num="36" count="1" type="stmt"/>
        <line num="40" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="41" count="0" type="stmt"/>
        <line num="44" count="0" type="stmt"/>
        <line num="51" count="5" type="stmt"/>
        <line num="52" count="5" type="stmt"/>
        <line num="53" count="5" type="stmt"/>
        <line num="54" count="5" type="stmt"/>
        <line num="56" count="5" type="stmt"/>
        <line num="57" count="5" type="stmt"/>
        <line num="58" count="5" type="stmt"/>
        <line num="59" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="60" count="3" type="stmt"/>
        <line num="63" count="2" type="stmt"/>
        <line num="67" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="68" count="0" type="stmt"/>
        <line num="71" count="0" type="stmt"/>
        <line num="78" count="3" type="stmt"/>
        <line num="82" count="93" type="stmt"/>
        <line num="86" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.users-table">
      <metrics statements="48" coveredstatements="47" conditionals="14" coveredconditionals="13" methods="9" coveredmethods="7"/>
      <file name="users-table.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/users-table/users-table.component.html">
        <metrics statements="34" coveredstatements="34" conditionals="6" coveredconditionals="6" methods="0" coveredmethods="0"/>
        <line num="2" count="268" type="stmt"/>
        <line num="3" count="5" type="stmt"/>
        <line num="4" count="5" type="stmt"/>
        <line num="5" count="5" type="stmt"/>
        <line num="7" count="5" type="stmt"/>
        <line num="8" count="5" type="stmt"/>
        <line num="11" count="134" type="stmt"/>
        <line num="13" count="134" type="stmt"/>
        <line num="16" count="3" type="stmt"/>
        <line num="17" count="3" type="stmt"/>
        <line num="18" count="3" type="stmt"/>
        <line num="19" count="3" type="stmt"/>
        <line num="20" count="3" type="stmt"/>
        <line num="21" count="3" type="stmt"/>
        <line num="22" count="3" type="stmt"/>
        <line num="23" count="3" type="stmt"/>
        <line num="25" count="5" type="stmt"/>
        <line num="27" count="189" type="stmt"/>
        <line num="28" count="189" type="stmt"/>
        <line num="29" count="189" type="stmt"/>
        <line num="30" count="189" type="stmt"/>
        <line num="31" count="9" type="stmt"/>
        <line num="32" count="90" type="cond" truecount="2" falsecount="0"/>
        <line num="33" count="9" type="stmt"/>
        <line num="34" count="9" type="stmt"/>
        <line num="35" count="90" type="cond" truecount="2" falsecount="0"/>
        <line num="36" count="9" type="stmt"/>
        <line num="37" count="9" type="stmt"/>
        <line num="38" count="180" type="cond" truecount="2" falsecount="0"/>
        <line num="39" count="60" type="stmt"/>
        <line num="41" count="9" type="stmt"/>
        <line num="42" count="30" type="stmt"/>
        <line num="45" count="9" type="stmt"/>
        <line num="48" count="5" type="stmt"/>
      </file>
      <file name="users-table.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/users-table/users-table.component.ts">
        <metrics statements="14" coveredstatements="13" conditionals="8" coveredconditionals="7" methods="9" coveredmethods="7"/>
        <line num="16" count="101" type="cond" truecount="2" falsecount="0"/>
        <line num="21" count="5" type="stmt"/>
        <line num="24" count="3" type="stmt"/>
        <line num="26" count="3" type="stmt"/>
        <line num="27" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="28" count="3" type="stmt"/>
        <line num="29" count="3" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="40" count="90" type="cond" truecount="2" falsecount="0"/>
        <line num="41" count="20" type="stmt"/>
        <line num="43" count="70" type="stmt"/>
        <line num="47" count="90" type="cond" truecount="2" falsecount="0"/>
        <line num="48" count="30" type="stmt"/>
        <line num="50" count="60" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.videos">
      <metrics statements="43" coveredstatements="36" conditionals="14" coveredconditionals="6" methods="16" coveredmethods="13"/>
      <file name="videos.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/videos/videos.component.html">
        <metrics statements="14" coveredstatements="14" conditionals="2" coveredconditionals="2" methods="2" coveredmethods="2"/>
        <line num="1" count="283" type="stmt"/>
        <line num="3" count="566" type="stmt"/>
        <line num="6" count="4" type="stmt"/>
        <line num="7" count="354" type="stmt"/>
        <line num="9" count="181" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="177" type="stmt"/>
        <line num="13" count="4" type="stmt"/>
        <line num="16" count="4" type="stmt"/>
        <line num="17" count="4" type="stmt"/>
        <line num="18" count="354" type="stmt"/>
        <line num="19" count="127" type="stmt"/>
        <line num="20" count="126" type="stmt"/>
        <line num="21" count="1" type="stmt"/>
        <line num="23" count="4" type="stmt"/>
      </file>
      <file name="videos.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/videos/videos.component.ts">
        <metrics statements="29" coveredstatements="22" conditionals="12" coveredconditionals="4" methods="14" coveredmethods="11"/>
        <line num="17" count="101" type="cond" truecount="2" falsecount="0"/>
        <line num="18" count="5" type="stmt"/>
        <line num="21" count="5" type="stmt"/>
        <line num="24" count="8" type="stmt"/>
        <line num="26" count="5" type="stmt"/>
        <line num="27" count="5" type="stmt"/>
        <line num="28" count="5" type="stmt"/>
        <line num="32" count="4" type="stmt"/>
        <line num="34" count="4" type="stmt"/>
        <line num="35" count="4" type="stmt"/>
        <line num="38" count="0" type="stmt"/>
        <line num="44" count="2" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
        <line num="49" count="1" type="stmt"/>
        <line num="50" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="51" count="1" type="stmt"/>
        <line num="53" count="1" type="stmt"/>
        <line num="54" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="55" count="1" type="stmt"/>
        <line num="56" count="1" type="stmt"/>
        <line num="57" count="1" type="stmt"/>
        <line num="58" count="1" type="stmt"/>
        <line num="62" count="0" type="stmt"/>
        <line num="70" count="3" type="stmt"/>
        <line num="71" count="0" type="cond" truecount="0" falsecount="4"/>
        <line num="72" count="0" type="stmt"/>
        <line num="73" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="74" count="0" type="stmt"/>
        <line num="76" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.components.view-builder">
      <metrics statements="126" coveredstatements="106" conditionals="49" coveredconditionals="37" methods="24" coveredmethods="20"/>
      <file name="view-builder.component.html" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/view-builder/view-builder.component.html">
        <metrics statements="35" coveredstatements="35" conditionals="6" coveredconditionals="6" methods="7" coveredmethods="7"/>
        <line num="2" count="2" type="stmt"/>
        <line num="3" count="836" type="stmt"/>
        <line num="4" count="836" type="stmt"/>
        <line num="5" count="2" type="stmt"/>
        <line num="6" count="836" type="stmt"/>
        <line num="8" count="2" type="stmt"/>
        <line num="9" count="2" type="stmt"/>
        <line num="10" count="836" type="stmt"/>
        <line num="12" count="838" type="cond" truecount="2" falsecount="0"/>
        <line num="13" count="836" type="stmt"/>
        <line num="14" count="836" type="stmt"/>
        <line num="16" count="2" type="stmt"/>
        <line num="19" count="7" type="stmt"/>
        <line num="20" count="2" type="stmt"/>
        <line num="21" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="23" count="2" type="stmt"/>
        <line num="24" count="2" type="stmt"/>
        <line num="25" count="2" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="29" count="2" type="stmt"/>
        <line num="31" count="2" type="stmt"/>
        <line num="33" count="838" type="cond" truecount="2" falsecount="0"/>
        <line num="34" count="7" type="stmt"/>
        <line num="37" count="2" type="stmt"/>
        <line num="38" count="2" type="stmt"/>
        <line num="39" count="836" type="cond" truecount="2" falsecount="0"/>
        <line num="40" count="2" type="stmt"/>
        <line num="41" count="2" type="stmt"/>
        <line num="42" count="296" type="stmt"/>
        <line num="44" count="2" type="stmt"/>
        <line num="45" count="2" type="stmt"/>
        <line num="49" count="2" type="stmt"/>
      </file>
      <file name="view-builder.component.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/components/view-builder/view-builder.component.ts">
        <metrics statements="91" coveredstatements="71" conditionals="43" coveredconditionals="31" methods="17" coveredmethods="13"/>
        <line num="16" count="98" type="cond" truecount="2" falsecount="0"/>
        <line num="17" count="2" type="stmt"/>
        <line num="18" count="2" type="stmt"/>
        <line num="19" count="2" type="stmt"/>
        <line num="22" count="2" type="stmt"/>
        <line num="26" count="2" type="stmt"/>
        <line num="27" count="2" type="stmt"/>
        <line num="28" count="2" type="stmt"/>
        <line num="30" count="2" type="stmt"/>
        <line num="31" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="35" count="2" type="stmt"/>
        <line num="40" count="2" type="stmt"/>
        <line num="41" count="2" type="stmt"/>
        <line num="42" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="43" count="1" type="stmt"/>
        <line num="45" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="46" count="1" type="stmt"/>
        <line num="47" count="1" type="stmt"/>
        <line num="48" count="1" type="stmt"/>
        <line num="51" count="0" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="62" count="7" type="stmt"/>
        <line num="63" count="7" type="cond" truecount="7" falsecount="3"/>
        <line num="65" count="1" type="stmt"/>
        <line num="72" count="1" type="stmt"/>
        <line num="75" count="1" type="stmt"/>
        <line num="82" count="1" type="stmt"/>
        <line num="85" count="1" type="stmt"/>
        <line num="90" count="1" type="stmt"/>
        <line num="93" count="1" type="stmt"/>
        <line num="98" count="1" type="stmt"/>
        <line num="101" count="1" type="stmt"/>
        <line num="108" count="1" type="stmt"/>
        <line num="111" count="1" type="stmt"/>
        <line num="116" count="1" type="stmt"/>
        <line num="119" count="0" type="stmt"/>
        <line num="124" count="0" type="stmt"/>
        <line num="127" count="1" type="stmt"/>
        <line num="132" count="1" type="stmt"/>
        <line num="135" count="0" type="stmt"/>
        <line num="144" count="0" type="stmt"/>
        <line num="147" count="0" type="stmt"/>
        <line num="150" count="7" type="stmt"/>
        <line num="154" count="7" type="stmt"/>
        <line num="155" count="7" type="stmt"/>
        <line num="156" count="7" type="stmt"/>
        <line num="158" count="7" type="stmt"/>
        <line num="159" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="160" count="6" type="stmt"/>
        <line num="163" count="1" type="stmt"/>
        <line num="165" count="7" type="stmt"/>
        <line num="168" count="0" type="stmt"/>
        <line num="169" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="170" count="0" type="stmt"/>
        <line num="173" count="0" type="stmt"/>
        <line num="179" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="180" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="181" count="1" type="stmt"/>
        <line num="183" count="1" type="stmt"/>
        <line num="186" count="0" type="stmt"/>
        <line num="191" count="1" type="stmt"/>
        <line num="193" count="1" type="stmt"/>
        <line num="194" count="1" type="stmt"/>
        <line num="195" count="1" type="stmt"/>
        <line num="198" count="0" type="stmt"/>
        <line num="206" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="207" count="1" type="stmt"/>
        <line num="209" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="210" count="1" type="stmt"/>
        <line num="211" count="1" type="stmt"/>
        <line num="214" count="0" type="stmt"/>
        <line num="218" count="0" type="stmt"/>
        <line num="225" count="2" type="stmt"/>
        <line num="226" count="2" type="stmt"/>
        <line num="227" count="2" type="stmt"/>
        <line num="230" count="2" type="cond" truecount="3" falsecount="1"/>
        <line num="231" count="0" type="stmt"/>
        <line num="234" count="2" type="stmt"/>
        <line num="238" count="2" type="stmt"/>
        <line num="239" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="240" count="0" type="stmt"/>
        <line num="243" count="2" type="stmt"/>
        <line num="247" count="2" type="stmt"/>
        <line num="248" count="14" type="cond" truecount="2" falsecount="0"/>
        <line num="253" count="2" type="cond" truecount="4" falsecount="1"/>
        <line num="254" count="0" type="stmt"/>
        <line num="258" count="2" type="stmt"/>
        <line num="259" count="2" type="stmt"/>
        <line num="264" count="2" type="stmt"/>
        <line num="267" count="0" type="stmt"/>
        <line num="268" count="0" type="stmt"/>
      </file>
    </package>
    <package name="src.app.guards">
      <metrics statements="15" coveredstatements="15" conditionals="4" coveredconditionals="4" methods="2" coveredmethods="2"/>
      <file name="admin.guard.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/guards/admin.guard.ts">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="5" count="96" type="stmt"/>
        <line num="6" count="9" type="stmt"/>
        <line num="7" count="9" type="stmt"/>
        <line num="9" count="9" type="stmt"/>
        <line num="10" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="2" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="15" count="7" type="stmt"/>
      </file>
      <file name="auth.guard.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/guards/auth.guard.ts">
        <metrics statements="7" coveredstatements="7" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="5" count="96" type="stmt"/>
        <line num="6" count="190" type="stmt"/>
        <line num="7" count="190" type="stmt"/>
        <line num="9" count="190" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="33" type="stmt"/>
        <line num="11" count="33" type="stmt"/>
        <line num="13" count="157" type="stmt"/>
      </file>
    </package>
    <package name="src.app.http-interceptors">
      <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
      <file name="auth.interceptor.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/http-interceptors/auth.interceptor.ts">
        <metrics statements="8" coveredstatements="8" conditionals="2" coveredconditionals="2" methods="3" coveredmethods="3"/>
        <line num="7" count="1742" type="stmt"/>
        <line num="8" count="1742" type="stmt"/>
        <line num="10" count="1742" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="127" type="stmt"/>
        <line num="14" count="1615" type="stmt"/>
        <line num="18" count="1615" type="stmt"/>
        <line num="22" count="1615" type="stmt"/>
        <line num="25" count="127" type="stmt"/>
      </file>
    </package>
    <package name="src.app.models">
      <metrics statements="1003" coveredstatements="816" conditionals="221" coveredconditionals="147" methods="139" coveredmethods="115"/>
      <file name="canvas.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/canvas.ts">
        <metrics statements="273" coveredstatements="190" conditionals="31" coveredconditionals="22" methods="50" coveredmethods="37"/>
        <line num="12" count="5683" type="stmt"/>
        <line num="13" count="5683" type="stmt"/>
        <line num="17" count="278" type="stmt"/>
        <line num="21" count="0" type="stmt"/>
        <line num="25" count="0" type="stmt"/>
        <line num="29" count="130" type="stmt"/>
        <line num="40" count="192" type="stmt"/>
        <line num="41" count="192" type="stmt"/>
        <line num="42" count="192" type="stmt"/>
        <line num="43" count="192" type="stmt"/>
        <line num="47" count="96" type="stmt"/>
        <line num="48" count="96" type="stmt"/>
        <line num="56" count="694" type="stmt"/>
        <line num="57" count="694" type="stmt"/>
        <line num="58" count="694" type="stmt"/>
        <line num="67" count="592" type="stmt"/>
        <line num="68" count="592" type="stmt"/>
        <line num="78" count="1545" type="stmt"/>
        <line num="79" count="1545" type="stmt"/>
        <line num="80" count="1545" type="stmt"/>
        <line num="85" count="28" type="stmt"/>
        <line num="86" count="28" type="stmt"/>
        <line num="87" count="28" type="stmt"/>
        <line num="88" count="28" type="stmt"/>
        <line num="89" count="28" type="stmt"/>
        <line num="100" count="1525" type="stmt"/>
        <line num="104" count="862" type="stmt"/>
        <line num="105" count="862" type="stmt"/>
        <line num="106" count="862" type="stmt"/>
        <line num="107" count="862" type="stmt"/>
        <line num="108" count="862" type="stmt"/>
        <line num="109" count="862" type="stmt"/>
        <line num="110" count="862" type="stmt"/>
        <line num="116" count="393" type="stmt"/>
        <line num="117" count="393" type="stmt"/>
        <line num="119" count="393" type="cond" truecount="1" falsecount="1"/>
        <line num="120" count="393" type="stmt"/>
        <line num="121" count="393" type="stmt"/>
        <line num="124" count="393" type="cond" truecount="2" falsecount="0"/>
        <line num="125" count="373" type="stmt"/>
        <line num="126" count="373" type="stmt"/>
        <line num="127" count="373" type="stmt"/>
        <line num="130" count="393" type="stmt"/>
        <line num="135" count="280" type="stmt"/>
        <line num="140" count="280" type="stmt"/>
        <line num="141" count="280" type="stmt"/>
        <line num="143" count="280" type="cond" truecount="1" falsecount="1"/>
        <line num="144" count="280" type="stmt"/>
        <line num="145" count="280" type="stmt"/>
        <line num="148" count="280" type="cond" truecount="1" falsecount="1"/>
        <line num="149" count="280" type="stmt"/>
        <line num="150" count="280" type="stmt"/>
        <line num="151" count="280" type="stmt"/>
        <line num="154" count="280" type="stmt"/>
        <line num="159" count="14" type="stmt"/>
        <line num="162" count="14" type="stmt"/>
        <line num="163" count="14" type="stmt"/>
        <line num="166" count="14" type="stmt"/>
        <line num="168" count="14" type="stmt"/>
        <line num="171" count="14" type="stmt"/>
        <line num="174" count="14" type="stmt"/>
        <line num="175" count="14" type="stmt"/>
        <line num="176" count="14" type="stmt"/>
        <line num="179" count="14" type="cond" truecount="2" falsecount="0"/>
        <line num="182" count="14" type="stmt"/>
        <line num="183" count="14" type="stmt"/>
        <line num="186" count="14" type="cond" truecount="1" falsecount="1"/>
        <line num="187" count="14" type="stmt"/>
        <line num="188" count="14" type="stmt"/>
        <line num="191" count="14" type="cond" truecount="1" falsecount="1"/>
        <line num="192" count="14" type="stmt"/>
        <line num="193" count="14" type="stmt"/>
        <line num="194" count="14" type="stmt"/>
        <line num="197" count="14" type="stmt"/>
        <line num="203" count="550" type="stmt"/>
        <line num="205" count="550" type="stmt"/>
        <line num="206" count="550" type="stmt"/>
        <line num="208" count="550" type="stmt"/>
        <line num="209" count="550" type="stmt"/>
        <line num="210" count="550" type="stmt"/>
        <line num="211" count="550" type="stmt"/>
        <line num="215" count="550" type="stmt"/>
        <line num="216" count="550" type="stmt"/>
        <line num="217" count="550" type="stmt"/>
        <line num="221" count="550" type="stmt"/>
        <line num="226" count="550" type="stmt"/>
        <line num="227" count="550" type="stmt"/>
        <line num="230" count="550" type="stmt"/>
        <line num="231" count="550" type="stmt"/>
        <line num="232" count="550" type="stmt"/>
        <line num="235" count="550" type="stmt"/>
        <line num="239" count="42" type="stmt"/>
        <line num="241" count="42" type="stmt"/>
        <line num="242" count="42" type="stmt"/>
        <line num="243" count="1506" type="stmt"/>
        <line num="246" count="42" type="stmt"/>
        <line num="247" count="42" type="stmt"/>
        <line num="248" count="42" type="stmt"/>
        <line num="252" count="417" type="stmt"/>
        <line num="254" count="417" type="stmt"/>
        <line num="255" count="417" type="stmt"/>
        <line num="256" count="1411" type="stmt"/>
        <line num="259" count="417" type="stmt"/>
        <line num="260" count="417" type="stmt"/>
        <line num="261" count="417" type="stmt"/>
        <line num="262" count="417" type="cond" truecount="2" falsecount="0"/>
        <line num="263" count="116" type="stmt"/>
        <line num="264" count="116" type="stmt"/>
        <line num="266" count="417" type="stmt"/>
        <line num="270" count="0" type="stmt"/>
        <line num="271" count="0" type="stmt"/>
        <line num="272" count="0" type="stmt"/>
        <line num="273" count="0" type="stmt"/>
        <line num="274" count="0" type="stmt"/>
        <line num="275" count="0" type="stmt"/>
        <line num="276" count="0" type="stmt"/>
        <line num="289" count="15" type="cond" truecount="2" falsecount="0"/>
        <line num="290" count="5" type="stmt"/>
        <line num="291" count="5" type="stmt"/>
        <line num="294" count="15" type="cond" truecount="2" falsecount="0"/>
        <line num="295" count="5" type="stmt"/>
        <line num="296" count="5" type="stmt"/>
        <line num="299" count="15" type="stmt"/>
        <line num="300" count="15" type="stmt"/>
        <line num="301" count="15" type="stmt"/>
        <line num="302" count="15" type="stmt"/>
        <line num="307" count="0" type="stmt"/>
        <line num="311" count="10" type="stmt"/>
        <line num="315" count="5" type="stmt"/>
        <line num="316" count="5" type="stmt"/>
        <line num="317" count="5" type="stmt"/>
        <line num="318" count="5" type="stmt"/>
        <line num="319" count="5" type="stmt"/>
        <line num="320" count="259" type="stmt"/>
        <line num="321" count="259" type="stmt"/>
        <line num="322" count="259" type="stmt"/>
        <line num="323" count="259" type="stmt"/>
        <line num="325" count="5" type="stmt"/>
        <line num="334" count="5" type="stmt"/>
        <line num="335" count="5" type="stmt"/>
        <line num="336" count="5" type="stmt"/>
        <line num="340" count="2838" type="stmt"/>
        <line num="344" count="2838" type="stmt"/>
        <line num="348" count="2828" type="stmt"/>
        <line num="352" count="2828" type="stmt"/>
        <line num="356" count="5" type="stmt"/>
        <line num="357" count="5" type="stmt"/>
        <line num="358" count="5" type="stmt"/>
        <line num="362" count="5" type="stmt"/>
        <line num="367" count="10" type="stmt"/>
        <line num="368" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="370" count="8" type="stmt"/>
        <line num="371" count="8" type="stmt"/>
        <line num="372" count="8" type="stmt"/>
        <line num="373" count="8" type="stmt"/>
        <line num="374" count="8" type="stmt"/>
        <line num="378" count="2" type="stmt"/>
        <line num="379" count="2" type="stmt"/>
        <line num="380" count="2" type="stmt"/>
        <line num="381" count="2" type="stmt"/>
        <line num="382" count="2" type="stmt"/>
        <line num="384" count="10" type="stmt"/>
        <line num="385" count="10" type="stmt"/>
        <line num="390" count="5" type="stmt"/>
        <line num="391" count="5" type="stmt"/>
        <line num="392" count="5" type="stmt"/>
        <line num="393" count="5" type="stmt"/>
        <line num="397" count="0" type="stmt"/>
        <line num="398" count="0" type="stmt"/>
        <line num="399" count="0" type="stmt"/>
        <line num="400" count="0" type="stmt"/>
        <line num="404" count="0" type="stmt"/>
        <line num="405" count="0" type="stmt"/>
        <line num="406" count="0" type="stmt"/>
        <line num="407" count="0" type="stmt"/>
        <line num="408" count="0" type="stmt"/>
        <line num="409" count="0" type="stmt"/>
        <line num="413" count="0" type="stmt"/>
        <line num="414" count="0" type="stmt"/>
        <line num="415" count="0" type="stmt"/>
        <line num="416" count="0" type="stmt"/>
        <line num="417" count="0" type="stmt"/>
        <line num="418" count="0" type="stmt"/>
        <line num="424" count="2453" type="stmt"/>
        <line num="425" count="2453" type="stmt"/>
        <line num="426" count="2453" type="stmt"/>
        <line num="430" count="4" type="stmt"/>
        <line num="431" count="4" type="stmt"/>
        <line num="432" count="4" type="stmt"/>
        <line num="447" count="5" type="stmt"/>
        <line num="449" count="5" type="stmt"/>
        <line num="452" count="5" type="stmt"/>
        <line num="453" count="5" type="stmt"/>
        <line num="455" count="5" type="stmt"/>
        <line num="456" count="5" type="stmt"/>
        <line num="457" count="5" type="stmt"/>
        <line num="459" count="5" type="stmt"/>
        <line num="460" count="0" type="stmt"/>
        <line num="461" count="0" type="stmt"/>
        <line num="464" count="5" type="stmt"/>
        <line num="465" count="4" type="stmt"/>
        <line num="466" count="4" type="stmt"/>
        <line num="468" count="4" type="stmt"/>
        <line num="470" count="4" type="stmt"/>
        <line num="473" count="5" type="stmt"/>
        <line num="474" count="0" type="stmt"/>
        <line num="478" count="5" type="stmt"/>
        <line num="479" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="480" count="0" type="stmt"/>
        <line num="481" count="0" type="stmt"/>
        <line num="482" count="0" type="stmt"/>
        <line num="483" count="0" type="stmt"/>
        <line num="484" count="0" type="stmt"/>
        <line num="488" count="5" type="stmt"/>
        <line num="489" count="0" type="stmt"/>
        <line num="490" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="491" count="0" type="stmt"/>
        <line num="493" count="0" type="stmt"/>
        <line num="494" count="0" type="stmt"/>
        <line num="497" count="5" type="stmt"/>
        <line num="498" count="5" type="stmt"/>
        <line num="502" count="4" type="stmt"/>
        <line num="503" count="4" type="stmt"/>
        <line num="504" count="4" type="stmt"/>
        <line num="507" count="4" type="stmt"/>
        <line num="514" count="5" type="stmt"/>
        <line num="515" count="5" type="stmt"/>
        <line num="516" count="5" type="stmt"/>
        <line num="521" count="0" type="stmt"/>
        <line num="522" count="0" type="stmt"/>
        <line num="523" count="0" type="stmt"/>
        <line num="525" count="0" type="stmt"/>
        <line num="526" count="0" type="stmt"/>
        <line num="527" count="0" type="stmt"/>
        <line num="528" count="0" type="stmt"/>
        <line num="529" count="0" type="stmt"/>
        <line num="530" count="0" type="stmt"/>
        <line num="533" count="0" type="stmt"/>
        <line num="534" count="0" type="stmt"/>
        <line num="535" count="0" type="stmt"/>
        <line num="536" count="0" type="stmt"/>
        <line num="537" count="0" type="stmt"/>
        <line num="538" count="0" type="stmt"/>
        <line num="543" count="0" type="stmt"/>
        <line num="544" count="0" type="stmt"/>
        <line num="545" count="0" type="stmt"/>
        <line num="547" count="0" type="stmt"/>
        <line num="548" count="0" type="stmt"/>
        <line num="549" count="0" type="stmt"/>
        <line num="550" count="0" type="stmt"/>
        <line num="551" count="0" type="stmt"/>
        <line num="552" count="0" type="stmt"/>
        <line num="553" count="0" type="stmt"/>
        <line num="559" count="0" type="stmt"/>
        <line num="561" count="0" type="stmt"/>
        <line num="562" count="0" type="stmt"/>
        <line num="563" count="0" type="stmt"/>
        <line num="564" count="0" type="stmt"/>
        <line num="565" count="0" type="stmt"/>
        <line num="566" count="0" type="stmt"/>
        <line num="568" count="0" type="stmt"/>
        <line num="569" count="0" type="stmt"/>
        <line num="570" count="0" type="stmt"/>
        <line num="571" count="0" type="stmt"/>
        <line num="572" count="0" type="stmt"/>
        <line num="574" count="0" type="stmt"/>
        <line num="576" count="0" type="stmt"/>
        <line num="577" count="0" type="stmt"/>
        <line num="578" count="0" type="stmt"/>
        <line num="579" count="0" type="stmt"/>
        <line num="580" count="0" type="stmt"/>
        <line num="582" count="0" type="stmt"/>
        <line num="588" count="12" type="stmt"/>
      </file>
      <file name="colorSetting.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/colorSetting.ts">
        <metrics statements="4" coveredstatements="4" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
        <line num="19" count="96" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="96" type="stmt"/>
        <line num="21" count="96" type="stmt"/>
        <line num="22" count="96" type="stmt"/>
      </file>
      <file name="events.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/events.ts">
        <metrics statements="6" coveredstatements="6" conditionals="0" coveredconditionals="0" methods="1" coveredmethods="1"/>
        <line num="9" count="1" type="stmt"/>
        <line num="10" count="1" type="stmt"/>
        <line num="11" count="2" type="stmt"/>
        <line num="12" count="2" type="stmt"/>
        <line num="14" count="2" type="stmt"/>
        <line num="16" count="1" type="stmt"/>
      </file>
      <file name="petri.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/petri.ts">
        <metrics statements="247" coveredstatements="188" conditionals="83" coveredconditionals="42" methods="30" coveredmethods="25"/>
        <line num="4" count="96" type="stmt"/>
        <line num="5" count="96" type="stmt"/>
        <line num="8" count="490" type="cond" truecount="2" falsecount="0"/>
        <line num="9" count="260" type="stmt"/>
        <line num="11" count="230" type="stmt"/>
        <line num="20" count="88" type="stmt"/>
        <line num="24" count="220" type="stmt"/>
        <line num="26" count="220" type="stmt"/>
        <line num="27" count="220" type="stmt"/>
        <line num="28" count="220" type="stmt"/>
        <line num="29" count="220" type="stmt"/>
        <line num="30" count="220" type="stmt"/>
        <line num="31" count="220" type="cond" truecount="2" falsecount="0"/>
        <line num="32" count="3" type="stmt"/>
        <line num="34" count="220" type="stmt"/>
        <line num="35" count="220" type="stmt"/>
        <line num="45" count="108" type="stmt"/>
        <line num="49" count="270" type="stmt"/>
        <line num="50" count="270" type="stmt"/>
        <line num="51" count="270" type="stmt"/>
        <line num="52" count="270" type="stmt"/>
        <line num="54" count="270" type="stmt"/>
        <line num="56" count="270" type="stmt"/>
        <line num="57" count="270" type="stmt"/>
        <line num="58" count="270" type="stmt"/>
        <line num="59" count="270" type="stmt"/>
        <line num="60" count="270" type="stmt"/>
        <line num="62" count="270" type="stmt"/>
        <line num="63" count="270" type="stmt"/>
        <line num="72" count="550" type="stmt"/>
        <line num="73" count="550" type="stmt"/>
        <line num="74" count="550" type="stmt"/>
        <line num="75" count="550" type="stmt"/>
        <line num="76" count="550" type="stmt"/>
        <line num="77" count="550" type="stmt"/>
        <line num="78" count="550" type="stmt"/>
        <line num="79" count="550" type="cond" truecount="2" falsecount="0"/>
        <line num="81" count="485" type="cond" truecount="2" falsecount="0"/>
        <line num="82" count="270" type="stmt"/>
        <line num="83" count="270" type="stmt"/>
        <line num="86" count="215" type="stmt"/>
        <line num="87" count="215" type="stmt"/>
        <line num="89" count="485" type="stmt"/>
        <line num="94" count="65" type="stmt"/>
        <line num="95" count="65" type="stmt"/>
        <line num="96" count="65" type="stmt"/>
        <line num="97" count="65" type="stmt"/>
        <line num="99" count="65" type="stmt"/>
        <line num="100" count="65" type="stmt"/>
        <line num="101" count="65" type="cond" truecount="2" falsecount="0"/>
        <line num="102" count="65" type="stmt"/>
        <line num="103" count="65" type="stmt"/>
        <line num="104" count="65" type="stmt"/>
        <line num="106" count="65" type="stmt"/>
        <line num="107" count="65" type="stmt"/>
        <line num="108" count="65" type="stmt"/>
        <line num="119" count="110" type="stmt"/>
        <line num="120" count="110" type="stmt"/>
        <line num="121" count="110" type="stmt"/>
        <line num="130" count="110" type="stmt"/>
        <line num="131" count="110" type="stmt"/>
        <line num="132" count="110" type="stmt"/>
        <line num="159" count="440" type="stmt"/>
        <line num="173" count="2" type="stmt"/>
        <line num="174" count="2" type="stmt"/>
        <line num="177" count="2" type="stmt"/>
        <line num="178" count="2" type="stmt"/>
        <line num="179" count="2" type="stmt"/>
        <line num="180" count="2" type="stmt"/>
        <line num="181" count="2" type="stmt"/>
        <line num="182" count="2" type="stmt"/>
        <line num="184" count="2" type="stmt"/>
        <line num="186" count="2" type="stmt"/>
        <line num="187" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="188" count="0" type="stmt"/>
        <line num="190" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="191" count="0" type="stmt"/>
        <line num="200" count="2" type="stmt"/>
        <line num="201" count="2" type="stmt"/>
        <line num="202" count="88" type="stmt"/>
        <line num="205" count="2" type="stmt"/>
        <line num="207" count="2" type="stmt"/>
        <line num="208" count="108" type="stmt"/>
        <line num="211" count="2" type="stmt"/>
        <line num="212" count="2" type="stmt"/>
        <line num="213" count="110" type="stmt"/>
        <line num="214" count="110" type="stmt"/>
        <line num="215" count="110" type="stmt"/>
        <line num="217" count="2" type="stmt"/>
        <line num="218" count="2" type="stmt"/>
        <line num="219" count="110" type="stmt"/>
        <line num="220" count="110" type="stmt"/>
        <line num="221" count="110" type="stmt"/>
        <line num="224" count="2" type="stmt"/>
        <line num="229" count="2" type="stmt"/>
        <line num="230" count="2" type="stmt"/>
        <line num="231" count="2" type="stmt"/>
        <line num="232" count="2" type="stmt"/>
        <line num="233" count="88" type="stmt"/>
        <line num="234" count="108" type="stmt"/>
        <line num="235" count="2" type="stmt"/>
        <line num="236" count="196" type="stmt"/>
        <line num="237" count="196" type="cond" truecount="1" falsecount="1"/>
        <line num="238" count="0" type="stmt"/>
        <line num="240" count="196" type="stmt"/>
        <line num="241" count="196" type="cond" truecount="4" falsecount="0"/>
        <line num="242" count="2" type="stmt"/>
        <line num="243" count="2" type="stmt"/>
        <line num="246" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="247" count="1" type="stmt"/>
        <line num="249" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="250" count="1" type="stmt"/>
        <line num="252" count="2" type="stmt"/>
        <line num="257" count="194" type="cond" truecount="2" falsecount="0"/>
        <line num="258" count="106" type="stmt"/>
        <line num="261" count="88" type="stmt"/>
        <line num="263" count="194" type="stmt"/>
        <line num="264" count="194" type="stmt"/>
        <line num="265" count="10670" type="cond" truecount="2" falsecount="0"/>
        <line num="266" count="218" type="stmt"/>
        <line num="269" count="194" type="stmt"/>
        <line num="274" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="275" count="0" type="stmt"/>
        <line num="278" count="0" type="stmt"/>
        <line num="280" count="0" type="stmt"/>
        <line num="281" count="0" type="stmt"/>
        <line num="282" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="283" count="0" type="stmt"/>
        <line num="286" count="0" type="stmt"/>
        <line num="290" count="0" type="stmt"/>
        <line num="296" count="2" type="stmt"/>
        <line num="297" count="2" type="stmt"/>
        <line num="298" count="2" type="stmt"/>
        <line num="299" count="2" type="stmt"/>
        <line num="300" count="2" type="stmt"/>
        <line num="301" count="2" type="stmt"/>
        <line num="302" count="2" type="stmt"/>
        <line num="303" count="2" type="cond" truecount="2" falsecount="0"/>
        <line num="304" count="122" type="stmt"/>
        <line num="305" count="122" type="stmt"/>
        <line num="306" count="194" type="stmt"/>
        <line num="307" count="218" type="cond" truecount="2" falsecount="0"/>
        <line num="308" count="194" type="stmt"/>
        <line num="309" count="194" type="stmt"/>
        <line num="313" count="122" type="stmt"/>
        <line num="314" count="122" type="stmt"/>
        <line num="316" count="122" type="stmt"/>
        <line num="318" count="2" type="stmt"/>
        <line num="325" count="2" type="stmt"/>
        <line num="327" count="2" type="stmt"/>
        <line num="328" count="2" type="stmt"/>
        <line num="331" count="2" type="stmt"/>
        <line num="333" count="2" type="stmt"/>
        <line num="336" count="2" type="stmt"/>
        <line num="337" count="196" type="cond" truecount="2" falsecount="0"/>
        <line num="338" count="124" type="stmt"/>
        <line num="340" count="196" type="stmt"/>
        <line num="344" count="2" type="stmt"/>
        <line num="345" count="124" type="stmt"/>
        <line num="346" count="196" type="stmt"/>
        <line num="351" count="2" type="stmt"/>
        <line num="357" count="0" type="stmt"/>
        <line num="358" count="0" type="stmt"/>
        <line num="359" count="0" type="stmt"/>
        <line num="360" count="0" type="stmt"/>
        <line num="361" count="0" type="stmt"/>
        <line num="363" count="0" type="stmt"/>
        <line num="364" count="0" type="stmt"/>
        <line num="365" count="0" type="stmt"/>
        <line num="366" count="0" type="stmt"/>
        <line num="367" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="368" count="0" type="stmt"/>
        <line num="371" count="0" type="stmt"/>
        <line num="372" count="0" type="stmt"/>
        <line num="373" count="0" type="stmt"/>
        <line num="375" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="379" count="0" type="stmt"/>
        <line num="380" count="0" type="stmt"/>
        <line num="381" count="0" type="stmt"/>
        <line num="383" count="0" type="stmt"/>
        <line num="384" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="385" count="0" type="stmt"/>
        <line num="386" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="387" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="388" count="0" type="stmt"/>
        <line num="389" count="0" type="stmt"/>
        <line num="396" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="397" count="0" type="stmt"/>
        <line num="398" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="399" count="0" type="stmt"/>
        <line num="400" count="0" type="stmt"/>
        <line num="401" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="402" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="403" count="0" type="stmt"/>
        <line num="406" count="0" type="stmt"/>
        <line num="413" count="0" type="stmt"/>
        <line num="414" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="415" count="0" type="stmt"/>
        <line num="416" count="0" type="stmt"/>
        <line num="417" count="0" type="stmt"/>
        <line num="418" count="0" type="stmt"/>
        <line num="423" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="424" count="0" type="stmt"/>
        <line num="428" count="0" type="stmt"/>
        <line num="432" count="2" type="stmt"/>
        <line num="433" count="2" type="stmt"/>
        <line num="434" count="196" type="stmt"/>
        <line num="436" count="2" type="stmt"/>
        <line num="441" count="5" type="cond" truecount="2" falsecount="0"/>
        <line num="444" count="5" type="stmt"/>
        <line num="445" count="5" type="cond" truecount="1" falsecount="1"/>
        <line num="446" count="0" type="stmt"/>
        <line num="450" count="5" type="stmt"/>
        <line num="451" count="5" type="stmt"/>
        <line num="452" count="5" type="stmt"/>
        <line num="454" count="5" type="stmt"/>
        <line num="455" count="5" type="stmt"/>
        <line num="456" count="5" type="stmt"/>
        <line num="457" count="5" type="stmt"/>
        <line num="459" count="5" type="stmt"/>
        <line num="460" count="275" type="stmt"/>
        <line num="461" count="275" type="stmt"/>
        <line num="462" count="275" type="cond" truecount="3" falsecount="1"/>
        <line num="463" count="275" type="stmt"/>
        <line num="467" count="5" type="stmt"/>
        <line num="468" count="275" type="stmt"/>
        <line num="469" count="275" type="stmt"/>
        <line num="470" count="275" type="cond" truecount="3" falsecount="1"/>
        <line num="471" count="275" type="stmt"/>
        <line num="475" count="5" type="stmt"/>
        <line num="476" count="5" type="stmt"/>
        <line num="477" count="220" type="stmt"/>
        <line num="480" count="5" type="stmt"/>
        <line num="481" count="3" type="stmt"/>
        <line num="482" count="3" type="cond" truecount="1" falsecount="1"/>
        <line num="483" count="3" type="stmt"/>
        <line num="487" count="5" type="stmt"/>
        <line num="488" count="220" type="stmt"/>
        <line num="489" count="220" type="cond" truecount="1" falsecount="1"/>
        <line num="490" count="220" type="stmt"/>
        <line num="491" count="220" type="cond" truecount="1" falsecount="1"/>
        <line num="492" count="0" type="stmt"/>
        <line num="494" count="220" type="stmt"/>
        <line num="499" count="5" type="stmt"/>
        <line num="500" count="270" type="stmt"/>
        <line num="501" count="270" type="cond" truecount="1" falsecount="1"/>
        <line num="502" count="270" type="stmt"/>
      </file>
      <file name="pid.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/pid.ts">
        <metrics statements="377" coveredstatements="337" conditionals="73" coveredconditionals="59" methods="32" coveredmethods="28"/>
        <line num="7" count="95" type="stmt"/>
        <line num="22" count="96" type="stmt"/>
        <line num="28" count="96" type="stmt"/>
        <line num="32" count="864" type="stmt"/>
        <line num="37" count="63" type="stmt"/>
        <line num="38" count="63" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="0" type="stmt"/>
        <line num="45" count="63" type="stmt"/>
        <line num="46" count="63" type="stmt"/>
        <line num="47" count="63" type="stmt"/>
        <line num="48" count="63" type="stmt"/>
        <line num="49" count="63" type="stmt"/>
        <line num="51" count="63" type="stmt"/>
        <line num="55" count="0" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="57" count="0" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="59" count="0" type="stmt"/>
        <line num="60" count="0" type="stmt"/>
        <line num="61" count="0" type="stmt"/>
        <line num="73" count="26" type="stmt"/>
        <line num="74" count="26" type="stmt"/>
        <line num="78" count="0" type="stmt"/>
        <line num="79" count="0" type="stmt"/>
        <line num="80" count="0" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="86" count="74" type="stmt"/>
        <line num="87" count="74" type="stmt"/>
        <line num="88" count="74" type="stmt"/>
        <line num="89" count="74" type="stmt"/>
        <line num="90" count="74" type="stmt"/>
        <line num="93" count="74" type="cond" truecount="2" falsecount="0"/>
        <line num="94" count="60" type="stmt"/>
        <line num="95" count="60" type="stmt"/>
        <line num="96" count="60" type="stmt"/>
        <line num="97" count="60" type="stmt"/>
        <line num="98" count="60" type="stmt"/>
        <line num="101" count="14" type="stmt"/>
        <line num="102" count="14" type="stmt"/>
        <line num="103" count="14" type="stmt"/>
        <line num="104" count="14" type="stmt"/>
        <line num="105" count="14" type="stmt"/>
        <line num="107" count="74" type="stmt"/>
        <line num="108" count="74" type="cond" truecount="2" falsecount="0"/>
        <line num="109" count="14" type="stmt"/>
        <line num="111" count="60" type="cond" truecount="2" falsecount="0"/>
        <line num="112" count="20" type="cond" truecount="2" falsecount="0"/>
        <line num="114" count="10" type="cond" truecount="2" falsecount="0"/>
        <line num="115" count="6" type="stmt"/>
        <line num="117" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="118" count="0" type="stmt"/>
        <line num="120" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="121" count="4" type="stmt"/>
        <line num="123" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="124" count="0" type="stmt"/>
        <line num="127" count="0" type="stmt"/>
        <line num="130" count="10" type="cond" truecount="1" falsecount="1"/>
        <line num="131" count="0" type="stmt"/>
        <line num="132" count="0" type="stmt"/>
        <line num="137" count="74" type="stmt"/>
        <line num="139" count="74" type="cond" truecount="2" falsecount="0"/>
        <line num="140" count="60" type="cond" truecount="2" falsecount="0"/>
        <line num="141" count="48" type="stmt"/>
        <line num="144" count="12" type="stmt"/>
        <line num="154" count="12" type="stmt"/>
        <line num="155" count="12" type="stmt"/>
        <line num="157" count="12" type="stmt"/>
        <line num="158" count="12" type="stmt"/>
        <line num="159" count="12" type="stmt"/>
        <line num="160" count="12" type="stmt"/>
        <line num="161" count="12" type="stmt"/>
        <line num="162" count="12" type="stmt"/>
        <line num="164" count="12" type="stmt"/>
        <line num="166" count="12" type="stmt"/>
        <line num="167" count="12" type="stmt"/>
        <line num="168" count="12" type="stmt"/>
        <line num="169" count="12" type="stmt"/>
        <line num="170" count="12" type="stmt"/>
        <line num="171" count="12" type="stmt"/>
        <line num="174" count="12" type="stmt"/>
        <line num="175" count="12" type="stmt"/>
        <line num="176" count="12" type="stmt"/>
        <line num="185" count="70" type="stmt"/>
        <line num="186" count="70" type="stmt"/>
        <line num="187" count="70" type="stmt"/>
        <line num="188" count="70" type="stmt"/>
        <line num="189" count="70" type="stmt"/>
        <line num="191" count="70" type="stmt"/>
        <line num="192" count="70" type="stmt"/>
        <line num="193" count="70" type="stmt"/>
        <line num="194" count="70" type="stmt"/>
        <line num="196" count="70" type="stmt"/>
        <line num="198" count="70" type="stmt"/>
        <line num="200" count="70" type="stmt"/>
        <line num="201" count="70" type="stmt"/>
        <line num="203" count="70" type="stmt"/>
        <line num="204" count="70" type="stmt"/>
        <line num="206" count="70" type="stmt"/>
        <line num="208" count="70" type="stmt"/>
        <line num="221" count="0" type="stmt"/>
        <line num="222" count="0" type="stmt"/>
        <line num="223" count="0" type="stmt"/>
        <line num="225" count="0" type="stmt"/>
        <line num="226" count="0" type="stmt"/>
        <line num="228" count="0" type="stmt"/>
        <line num="233" count="0" type="stmt"/>
        <line num="234" count="0" type="stmt"/>
        <line num="247" count="6" type="stmt"/>
        <line num="248" count="6" type="stmt"/>
        <line num="249" count="6" type="stmt"/>
        <line num="250" count="6" type="stmt"/>
        <line num="251" count="6" type="stmt"/>
        <line num="253" count="6" type="stmt"/>
        <line num="255" count="6" type="stmt"/>
        <line num="259" count="6" type="stmt"/>
        <line num="260" count="6" type="stmt"/>
        <line num="264" count="6" type="stmt"/>
        <line num="277" count="6" type="stmt"/>
        <line num="278" count="6" type="stmt"/>
        <line num="279" count="6" type="stmt"/>
        <line num="280" count="6" type="stmt"/>
        <line num="282" count="6" type="stmt"/>
        <line num="284" count="6" type="stmt"/>
        <line num="289" count="6" type="stmt"/>
        <line num="303" count="7" type="stmt"/>
        <line num="304" count="7" type="stmt"/>
        <line num="305" count="7" type="stmt"/>
        <line num="306" count="7" type="stmt"/>
        <line num="308" count="7" type="stmt"/>
        <line num="309" count="7" type="stmt"/>
        <line num="310" count="7" type="stmt"/>
        <line num="311" count="7" type="stmt"/>
        <line num="312" count="7" type="stmt"/>
        <line num="313" count="7" type="stmt"/>
        <line num="314" count="7" type="stmt"/>
        <line num="315" count="7" type="stmt"/>
        <line num="316" count="7" type="stmt"/>
        <line num="317" count="7" type="stmt"/>
        <line num="318" count="7" type="stmt"/>
        <line num="320" count="7" type="stmt"/>
        <line num="321" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="322" count="6" type="stmt"/>
        <line num="323" count="6" type="stmt"/>
        <line num="327" count="7" type="cond" truecount="4" falsecount="0"/>
        <line num="328" count="2" type="stmt"/>
        <line num="329" count="2" type="stmt"/>
        <line num="330" count="2" type="stmt"/>
        <line num="345" count="6" type="stmt"/>
        <line num="346" count="6" type="stmt"/>
        <line num="347" count="6" type="stmt"/>
        <line num="348" count="6" type="stmt"/>
        <line num="349" count="6" type="stmt"/>
        <line num="351" count="6" type="stmt"/>
        <line num="352" count="6" type="stmt"/>
        <line num="354" count="6" type="stmt"/>
        <line num="355" count="6" type="stmt"/>
        <line num="357" count="6" type="stmt"/>
        <line num="359" count="6" type="stmt"/>
        <line num="360" count="6" type="stmt"/>
        <line num="363" count="6" type="stmt"/>
        <line num="364" count="6" type="stmt"/>
        <line num="365" count="6" type="stmt"/>
        <line num="366" count="6" type="stmt"/>
        <line num="367" count="6" type="stmt"/>
        <line num="368" count="6" type="stmt"/>
        <line num="370" count="6" type="stmt"/>
        <line num="371" count="6" type="stmt"/>
        <line num="372" count="6" type="stmt"/>
        <line num="374" count="6" type="stmt"/>
        <line num="375" count="6" type="stmt"/>
        <line num="376" count="6" type="stmt"/>
        <line num="379" count="6" type="stmt"/>
        <line num="380" count="6" type="stmt"/>
        <line num="382" count="6" type="stmt"/>
        <line num="383" count="6" type="stmt"/>
        <line num="385" count="6" type="stmt"/>
        <line num="386" count="6" type="stmt"/>
        <line num="388" count="6" type="stmt"/>
        <line num="389" count="6" type="stmt"/>
        <line num="390" count="6" type="stmt"/>
        <line num="393" count="6" type="stmt"/>
        <line num="394" count="6" type="stmt"/>
        <line num="395" count="6" type="stmt"/>
        <line num="399" count="6" type="stmt"/>
        <line num="400" count="6" type="stmt"/>
        <line num="403" count="6" type="stmt"/>
        <line num="404" count="6" type="stmt"/>
        <line num="405" count="6" type="stmt"/>
        <line num="406" count="6" type="stmt"/>
        <line num="407" count="6" type="stmt"/>
        <line num="408" count="6" type="stmt"/>
        <line num="410" count="6" type="stmt"/>
        <line num="424" count="2" type="stmt"/>
        <line num="428" count="0" type="stmt"/>
        <line num="429" count="0" type="stmt"/>
        <line num="430" count="0" type="stmt"/>
        <line num="435" count="6" type="stmt"/>
        <line num="436" count="6" type="stmt"/>
        <line num="437" count="6" type="stmt"/>
        <line num="438" count="6" type="stmt"/>
        <line num="439" count="6" type="stmt"/>
        <line num="440" count="6" type="stmt"/>
        <line num="442" count="6" type="stmt"/>
        <line num="443" count="6" type="stmt"/>
        <line num="445" count="6" type="stmt"/>
        <line num="446" count="6" type="stmt"/>
        <line num="447" count="6" type="cond" truecount="2" falsecount="2"/>
        <line num="448" count="0" type="stmt"/>
        <line num="450" count="6" type="stmt"/>
        <line num="451" count="6" type="stmt"/>
        <line num="452" count="6" type="stmt"/>
        <line num="453" count="6" type="stmt"/>
        <line num="454" count="6" type="stmt"/>
        <line num="457" count="6" type="stmt"/>
        <line num="459" count="6" type="stmt"/>
        <line num="460" count="726" type="stmt"/>
        <line num="461" count="726" type="stmt"/>
        <line num="462" count="726" type="stmt"/>
        <line num="463" count="726" type="stmt"/>
        <line num="464" count="726" type="stmt"/>
        <line num="465" count="726" type="stmt"/>
        <line num="468" count="6" type="stmt"/>
        <line num="469" count="6" type="stmt"/>
        <line num="472" count="6" type="stmt"/>
        <line num="476" count="6" type="stmt"/>
        <line num="478" count="6" type="stmt"/>
        <line num="482" count="6" type="stmt"/>
        <line num="484" count="6" type="stmt"/>
        <line num="486" count="6" type="stmt"/>
        <line num="488" count="6" type="stmt"/>
        <line num="490" count="6" type="stmt"/>
        <line num="499" count="96" type="stmt"/>
        <line num="500" count="96" type="stmt"/>
        <line num="501" count="96" type="stmt"/>
        <line num="502" count="96" type="stmt"/>
        <line num="503" count="96" type="stmt"/>
        <line num="504" count="96" type="stmt"/>
        <line num="505" count="96" type="stmt"/>
        <line num="506" count="96" type="stmt"/>
        <line num="507" count="96" type="stmt"/>
        <line num="525" count="84" type="stmt"/>
        <line num="526" count="84" type="stmt"/>
        <line num="527" count="84" type="stmt"/>
        <line num="528" count="84" type="stmt"/>
        <line num="529" count="84" type="stmt"/>
        <line num="533" count="84" type="stmt"/>
        <line num="539" count="236" type="stmt"/>
        <line num="540" count="236" type="stmt"/>
        <line num="542" count="236" type="stmt"/>
        <line num="543" count="236" type="stmt"/>
        <line num="544" count="236" type="cond" truecount="2" falsecount="0"/>
        <line num="545" count="223" type="cond" truecount="2" falsecount="0"/>
        <line num="546" count="191" type="stmt"/>
        <line num="547" count="191" type="stmt"/>
        <line num="548" count="191" type="stmt"/>
        <line num="551" count="32" type="stmt"/>
        <line num="555" count="13" type="cond" truecount="1" falsecount="1"/>
        <line num="556" count="0" type="stmt"/>
        <line num="557" count="0" type="stmt"/>
        <line num="558" count="0" type="stmt"/>
        <line num="561" count="13" type="stmt"/>
        <line num="565" count="236" type="stmt"/>
        <line num="566" count="236" type="stmt"/>
        <line num="587" count="32" type="stmt"/>
        <line num="590" count="8" type="stmt"/>
        <line num="591" count="8" type="stmt"/>
        <line num="592" count="8" type="stmt"/>
        <line num="593" count="8" type="stmt"/>
        <line num="597" count="84" type="stmt"/>
        <line num="598" count="84" type="stmt"/>
        <line num="599" count="84" type="stmt"/>
        <line num="600" count="84" type="stmt"/>
        <line num="602" count="84" type="stmt"/>
        <line num="605" count="84" type="stmt"/>
        <line num="606" count="84" type="stmt"/>
        <line num="609" count="84" type="stmt"/>
        <line num="610" count="84" type="cond" truecount="1" falsecount="1"/>
        <line num="611" count="84" type="stmt"/>
        <line num="612" count="84" type="stmt"/>
        <line num="614" count="84" type="cond" truecount="2" falsecount="0"/>
        <line num="615" count="26" type="cond" truecount="3" falsecount="1"/>
        <line num="616" count="0" type="stmt"/>
        <line num="617" count="0" type="stmt"/>
        <line num="619" count="26" type="cond" truecount="4" falsecount="0"/>
        <line num="620" count="8" type="stmt"/>
        <line num="623" count="18" type="stmt"/>
        <line num="628" count="84" type="stmt"/>
        <line num="633" count="84" type="stmt"/>
        <line num="638" count="84" type="stmt"/>
        <line num="640" count="84" type="stmt"/>
        <line num="642" count="84" type="stmt"/>
        <line num="643" count="84" type="stmt"/>
        <line num="645" count="84" type="cond" truecount="1" falsecount="1"/>
        <line num="646" count="0" type="stmt"/>
        <line num="647" count="0" type="stmt"/>
        <line num="650" count="84" type="stmt"/>
        <line num="657" count="24" type="stmt"/>
        <line num="661" count="60" type="stmt"/>
        <line num="662" count="60" type="stmt"/>
        <line num="663" count="60" type="stmt"/>
        <line num="664" count="60" type="stmt"/>
        <line num="666" count="60" type="stmt"/>
        <line num="668" count="60" type="stmt"/>
        <line num="669" count="60" type="stmt"/>
        <line num="670" count="60" type="stmt"/>
        <line num="671" count="60" type="stmt"/>
        <line num="672" count="60" type="stmt"/>
        <line num="673" count="60" type="stmt"/>
        <line num="674" count="60" type="stmt"/>
        <line num="676" count="60" type="stmt"/>
        <line num="678" count="60" type="stmt"/>
        <line num="681" count="60" type="stmt"/>
        <line num="686" count="24" type="stmt"/>
        <line num="687" count="24" type="stmt"/>
        <line num="688" count="24" type="stmt"/>
        <line num="689" count="24" type="stmt"/>
        <line num="690" count="24" type="stmt"/>
        <line num="709" count="3" type="stmt"/>
        <line num="713" count="3" type="stmt"/>
        <line num="714" count="3" type="stmt"/>
        <line num="715" count="3" type="stmt"/>
        <line num="716" count="3" type="stmt"/>
        <line num="717" count="3" type="stmt"/>
        <line num="722" count="2" type="stmt"/>
        <line num="723" count="2" type="stmt"/>
        <line num="724" count="2" type="stmt"/>
        <line num="725" count="2" type="stmt"/>
        <line num="726" count="56" type="stmt"/>
        <line num="727" count="56" type="cond" truecount="4" falsecount="0"/>
        <line num="728" count="1" type="stmt"/>
        <line num="729" count="1" type="stmt"/>
        <line num="732" count="2" type="stmt"/>
        <line num="733" count="8" type="stmt"/>
        <line num="734" count="8" type="cond" truecount="3" falsecount="1"/>
        <line num="735" count="0" type="stmt"/>
        <line num="736" count="0" type="stmt"/>
        <line num="739" count="2" type="stmt"/>
        <line num="740" count="18" type="stmt"/>
        <line num="741" count="18" type="cond" truecount="4" falsecount="0"/>
        <line num="742" count="1" type="stmt"/>
        <line num="743" count="1" type="stmt"/>
        <line num="746" count="2" type="stmt"/>
        <line num="747" count="2" type="stmt"/>
        <line num="751" count="3" type="stmt"/>
        <line num="752" count="3" type="stmt"/>
        <line num="753" count="3" type="stmt"/>
        <line num="754" count="63" type="stmt"/>
        <line num="758" count="3" type="stmt"/>
        <line num="759" count="3" type="stmt"/>
        <line num="760" count="8" type="stmt"/>
        <line num="763" count="3" type="stmt"/>
        <line num="764" count="3" type="stmt"/>
        <line num="765" count="24" type="stmt"/>
        <line num="768" count="3" type="stmt"/>
        <line num="770" count="3" type="stmt"/>
        <line num="771" count="3" type="stmt"/>
        <line num="772" count="84" type="stmt"/>
        <line num="775" count="3" type="stmt"/>
        <line num="783" count="3" type="stmt"/>
        <line num="784" count="3" type="stmt"/>
        <line num="785" count="63" type="stmt"/>
        <line num="787" count="3" type="stmt"/>
        <line num="792" count="7" type="cond" truecount="2" falsecount="0"/>
        <line num="795" count="7" type="stmt"/>
        <line num="796" count="7" type="cond" truecount="1" falsecount="1"/>
        <line num="797" count="0" type="stmt"/>
        <line num="803" count="7" type="stmt"/>
        <line num="804" count="7" type="stmt"/>
        <line num="805" count="7" type="stmt"/>
        <line num="809" count="7" type="stmt"/>
        <line num="810" count="236" type="stmt"/>
        <line num="813" count="7" type="stmt"/>
        <line num="814" count="175" type="stmt"/>
        <line num="817" count="7" type="stmt"/>
        <line num="818" count="24" type="stmt"/>
        <line num="821" count="7" type="stmt"/>
        <line num="822" count="60" type="stmt"/>
      </file>
      <file name="signals.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/signals.ts">
        <metrics statements="93" coveredstatements="89" conditionals="26" coveredconditionals="22" methods="22" coveredmethods="21"/>
        <line num="37" count="11677" type="stmt"/>
        <line num="38" count="11677" type="cond" truecount="1" falsecount="1"/>
        <line num="42" count="29" type="stmt"/>
        <line num="43" count="29" type="cond" truecount="1" falsecount="1"/>
        <line num="44" count="0" type="stmt"/>
        <line num="46" count="29" type="stmt"/>
        <line num="50" count="2387" type="stmt"/>
        <line num="54" count="10" type="stmt"/>
        <line num="58" count="67" type="cond" truecount="2" falsecount="0"/>
        <line num="59" count="22" type="stmt"/>
        <line num="60" count="22" type="stmt"/>
        <line num="61" count="76" type="stmt"/>
        <line num="63" count="22" type="stmt"/>
        <line num="64" count="22" type="stmt"/>
        <line num="65" count="76" type="cond" truecount="2" falsecount="0"/>
        <line num="66" count="54" type="stmt"/>
        <line num="69" count="22" type="stmt"/>
        <line num="71" count="45" type="stmt"/>
        <line num="89" count="122" type="stmt"/>
        <line num="90" count="122" type="stmt"/>
        <line num="91" count="122" type="stmt"/>
        <line num="92" count="122" type="stmt"/>
        <line num="93" count="122" type="stmt"/>
        <line num="94" count="122" type="stmt"/>
        <line num="95" count="122" type="stmt"/>
        <line num="99" count="60" type="stmt"/>
        <line num="100" count="60" type="stmt"/>
        <line num="102" count="60" type="stmt"/>
        <line num="103" count="91" type="stmt"/>
        <line num="104" count="91" type="stmt"/>
        <line num="105" count="91" type="stmt"/>
        <line num="107" count="60" type="stmt"/>
        <line num="120" count="16" type="stmt"/>
        <line num="121" count="16" type="stmt"/>
        <line num="122" count="16" type="stmt"/>
        <line num="126" count="12" type="stmt"/>
        <line num="137" count="106" type="stmt"/>
        <line num="138" count="106" type="stmt"/>
        <line num="139" count="106" type="stmt"/>
        <line num="143" count="48" type="stmt"/>
        <line num="153" count="236" type="stmt"/>
        <line num="154" count="236" type="stmt"/>
        <line num="155" count="236" type="stmt"/>
        <line num="159" count="10" type="stmt"/>
        <line num="160" count="10" type="stmt"/>
        <line num="161" count="18" type="cond" truecount="2" falsecount="0"/>
        <line num="162" count="1" type="stmt"/>
        <line num="165" count="1" type="stmt"/>
        <line num="168" count="17" type="stmt"/>
        <line num="171" count="17" type="stmt"/>
        <line num="174" count="10" type="stmt"/>
        <line num="178" count="161" type="stmt"/>
        <line num="179" count="161" type="stmt"/>
        <line num="180" count="60" type="stmt"/>
        <line num="182" count="161" type="stmt"/>
        <line num="186" count="2" type="stmt"/>
        <line num="187" count="2" type="stmt"/>
        <line num="188" count="4" type="stmt"/>
        <line num="189" count="6" type="stmt"/>
        <line num="190" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="191" count="0" type="stmt"/>
        <line num="194" count="4" type="stmt"/>
        <line num="195" count="4" type="stmt"/>
        <line num="196" count="4" type="stmt"/>
        <line num="197" count="4" type="stmt"/>
        <line num="198" count="4" type="stmt"/>
        <line num="199" count="4" type="stmt"/>
        <line num="200" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="201" count="0" type="stmt"/>
        <line num="202" count="0" type="stmt"/>
        <line num="205" count="4" type="stmt"/>
        <line num="206" count="4" type="stmt"/>
        <line num="208" count="4" type="stmt"/>
        <line num="214" count="45" type="stmt"/>
        <line num="215" count="45" type="stmt"/>
        <line num="216" count="67" type="cond" truecount="2" falsecount="0"/>
        <line num="217" count="67" type="stmt"/>
        <line num="218" count="67" type="stmt"/>
        <line num="219" count="67" type="cond" truecount="2" falsecount="0"/>
        <line num="220" count="44" type="cond" truecount="2" falsecount="0"/>
        <line num="221" count="3" type="stmt"/>
        <line num="230" count="41" type="stmt"/>
        <line num="239" count="23" type="cond" truecount="4" falsecount="0"/>
        <line num="240" count="8" type="stmt"/>
        <line num="241" count="8" type="stmt"/>
        <line num="242" count="8" type="cond" truecount="2" falsecount="0"/>
        <line num="243" count="4" type="stmt"/>
        <line num="244" count="4" type="stmt"/>
        <line num="247" count="4" type="stmt"/>
        <line num="248" count="4" type="stmt"/>
        <line num="252" count="45" type="stmt"/>
        <line num="256" count="60" type="stmt"/>
        <line num="268" count="19" type="stmt"/>
      </file>
      <file name="status.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/models/status.ts">
        <metrics statements="3" coveredstatements="2" conditionals="6" coveredconditionals="0" methods="3" coveredmethods="2"/>
        <line num="14" count="264" type="stmt"/>
        <line num="18" count="0" type="cond" truecount="0" falsecount="6"/>
        <line num="26" count="264" type="stmt"/>
      </file>
    </package>
    <package name="src.app.pipes">
      <metrics statements="69" coveredstatements="47" conditionals="65" coveredconditionals="35" methods="10" coveredmethods="10"/>
      <file name="duration.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/pipes/duration.pipe.ts">
        <metrics statements="41" coveredstatements="28" conditionals="32" coveredconditionals="14" methods="4" coveredmethods="4"/>
        <line num="7" count="131" type="cond" truecount="2" falsecount="0"/>
        <line num="10" count="59" type="stmt"/>
        <line num="12" count="59" type="stmt"/>
        <line num="13" count="59" type="stmt"/>
        <line num="14" count="59" type="stmt"/>
        <line num="15" count="59" type="stmt"/>
        <line num="17" count="59" type="cond" truecount="1" falsecount="1"/>
        <line num="18" count="0" type="stmt"/>
        <line num="19" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="20" count="0" type="stmt"/>
        <line num="24" count="59" type="cond" truecount="1" falsecount="1"/>
        <line num="25" count="0" type="stmt"/>
        <line num="26" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="27" count="0" type="stmt"/>
        <line num="32" count="59" type="cond" truecount="2" falsecount="0"/>
        <line num="33" count="25" type="stmt"/>
        <line num="34" count="25" type="cond" truecount="1" falsecount="1"/>
        <line num="35" count="0" type="stmt"/>
        <line num="39" count="59" type="cond" truecount="1" falsecount="1"/>
        <line num="40" count="0" type="stmt"/>
        <line num="41" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="42" count="0" type="stmt"/>
        <line num="46" count="59" type="stmt"/>
        <line num="55" count="96" type="cond" truecount="0" falsecount="2"/>
        <line num="58" count="1" type="stmt"/>
        <line num="60" count="1" type="stmt"/>
        <line num="61" count="1" type="stmt"/>
        <line num="62" count="1" type="stmt"/>
        <line num="63" count="1" type="stmt"/>
        <line num="64" count="1" type="stmt"/>
        <line num="66" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="67" count="0" type="stmt"/>
        <line num="70" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="71" count="0" type="stmt"/>
        <line num="74" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="75" count="1" type="stmt"/>
        <line num="78" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="1" type="stmt"/>
        <line num="82" count="1" type="cond" truecount="2" falsecount="2"/>
        <line num="83" count="0" type="stmt"/>
        <line num="86" count="1" type="stmt"/>
      </file>
      <file name="number-suffix.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/pipes/number-suffix.pipe.ts">
        <metrics statements="19" coveredstatements="12" conditionals="24" coveredconditionals="14" methods="3" coveredmethods="3"/>
        <line num="7" count="119" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="364" type="stmt"/>
        <line num="12" count="364" type="cond" truecount="7" falsecount="1"/>
        <line num="13" count="285" type="cond" truecount="2" falsecount="4"/>
        <line num="14" count="0" type="stmt"/>
        <line num="16" count="285" type="stmt"/>
        <line num="20" count="79" type="stmt"/>
        <line num="21" count="79" type="cond" truecount="1" falsecount="1"/>
        <line num="22" count="79" type="stmt"/>
        <line num="24" count="79" type="stmt"/>
        <line num="26" count="0" type="stmt"/>
        <line num="28" count="0" type="stmt"/>
        <line num="30" count="0" type="stmt"/>
        <line num="36" count="79" type="cond" truecount="1" falsecount="1"/>
        <line num="37" count="79" type="cond" truecount="1" falsecount="1"/>
        <line num="38" count="79" type="stmt"/>
        <line num="39" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="40" count="0" type="stmt"/>
        <line num="42" count="0" type="stmt"/>
      </file>
      <file name="value.pipe.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/pipes/value.pipe.ts">
        <metrics statements="9" coveredstatements="7" conditionals="9" coveredconditionals="7" methods="3" coveredmethods="3"/>
        <line num="9" count="107" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="11" type="stmt"/>
        <line num="15" count="14" type="cond" truecount="1" falsecount="1"/>
        <line num="16" count="0" type="stmt"/>
        <line num="19" count="14" type="cond" truecount="2" falsecount="0"/>
        <line num="20" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="22" count="1" type="stmt"/>
        <line num="24" count="0" type="stmt"/>
        <line num="27" count="13" type="stmt"/>
      </file>
    </package>
    <package name="src.app.services">
      <metrics statements="365" coveredstatements="315" conditionals="147" coveredconditionals="96" methods="141" coveredmethods="124"/>
      <file name="init.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/init.service.ts">
        <metrics statements="55" coveredstatements="46" conditionals="16" coveredconditionals="11" methods="14" coveredmethods="14"/>
        <line num="9" count="192" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="96" type="stmt"/>
        <line num="12" count="96" type="stmt"/>
        <line num="14" count="96" type="stmt"/>
        <line num="16" count="96" type="stmt"/>
        <line num="17" count="96" type="stmt"/>
        <line num="18" count="96" type="stmt"/>
        <line num="21" count="96" type="stmt"/>
        <line num="22" count="96" type="stmt"/>
        <line num="23" count="96" type="stmt"/>
        <line num="24" count="96" type="stmt"/>
        <line num="25" count="96" type="cond" truecount="3" falsecount="1"/>
        <line num="26" count="0" type="stmt"/>
        <line num="28" count="96" type="cond" truecount="1" falsecount="1"/>
        <line num="29" count="0" type="stmt"/>
        <line num="31" count="96" type="stmt"/>
        <line num="33" count="96" type="stmt"/>
        <line num="34" count="96" type="stmt"/>
        <line num="36" count="96" type="stmt"/>
        <line num="37" count="95" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="95" type="stmt"/>
        <line num="40" count="95" type="stmt"/>
        <line num="41" count="95" type="stmt"/>
        <line num="42" count="95" type="stmt"/>
        <line num="46" count="0" type="stmt"/>
        <line num="47" count="0" type="stmt"/>
        <line num="51" count="96" type="stmt"/>
        <line num="52" count="96" type="stmt"/>
        <line num="53" count="96" type="stmt"/>
        <line num="54" count="95" type="cond" truecount="2" falsecount="0"/>
        <line num="57" count="0" type="stmt"/>
        <line num="58" count="0" type="stmt"/>
        <line num="62" count="96" type="stmt"/>
        <line num="63" count="96" type="stmt"/>
        <line num="64" count="96" type="stmt"/>
        <line num="69" count="96" type="stmt"/>
        <line num="70" count="95" type="cond" truecount="1" falsecount="1"/>
        <line num="71" count="0" type="stmt"/>
        <line num="75" count="95" type="stmt"/>
        <line num="78" count="96" type="stmt"/>
        <line num="79" count="96" type="stmt"/>
        <line num="80" count="96" type="stmt"/>
        <line num="81" count="96" type="stmt"/>
        <line num="86" count="96" type="stmt"/>
        <line num="87" count="96" type="stmt"/>
        <line num="88" count="192" type="stmt"/>
        <line num="89" count="191" type="cond" truecount="1" falsecount="1"/>
        <line num="90" count="0" type="stmt"/>
        <line num="93" count="95" type="stmt"/>
        <line num="96" count="192" type="stmt"/>
        <line num="97" count="192" type="stmt"/>
        <line num="98" count="192" type="stmt"/>
        <line num="99" count="0" type="stmt"/>
        <line num="102" count="191" type="stmt"/>
        <line num="103" count="191" type="stmt"/>
      </file>
      <file name="style.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/style.service.ts">
        <metrics statements="8" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="3" coveredmethods="3"/>
        <line num="6" count="132" type="cond" truecount="2" falsecount="0"/>
        <line num="12" count="36" type="stmt"/>
        <line num="30" count="36" type="stmt"/>
        <line num="35" count="557" type="stmt"/>
        <line num="37" count="557" type="stmt"/>
        <line num="38" count="557" type="cond" truecount="1" falsecount="1"/>
        <line num="39" count="0" type="stmt"/>
        <line num="41" count="557" type="stmt"/>
      </file>
      <file name="twinpad-api.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/twinpad-api.service.ts">
        <metrics statements="302" coveredstatements="262" conditionals="127" coveredconditionals="82" methods="124" coveredmethods="107"/>
        <line num="29" count="192" type="cond" truecount="2" falsecount="0"/>
        <line num="37" count="96" type="stmt"/>
        <line num="38" count="96" type="stmt"/>
        <line num="40" count="96" type="stmt"/>
        <line num="42" count="96" type="stmt"/>
        <line num="43" count="96" type="stmt"/>
        <line num="44" count="96" type="stmt"/>
        <line num="45" count="96" type="stmt"/>
        <line num="47" count="95" type="cond" truecount="1" falsecount="1"/>
        <line num="48" count="95" type="stmt"/>
        <line num="49" count="95" type="stmt"/>
        <line num="52" count="0" type="stmt"/>
        <line num="53" count="0" type="stmt"/>
        <line num="54" count="0" type="stmt"/>
        <line num="71" count="1454" type="cond" truecount="2" falsecount="0"/>
        <line num="72" count="332" type="stmt"/>
        <line num="75" count="1454" type="stmt"/>
        <line num="77" count="1454" type="cond" truecount="4" falsecount="2"/>
        <line num="79" count="27" type="stmt"/>
        <line num="81" count="0" type="stmt"/>
        <line num="83" count="23" type="stmt"/>
        <line num="85" count="6" type="stmt"/>
        <line num="87" count="1398" type="stmt"/>
        <line num="89" count="0" type="stmt"/>
        <line num="90" count="0" type="stmt"/>
        <line num="102" count="80" type="stmt"/>
        <line num="103" count="80" type="stmt"/>
        <line num="104" count="80" type="stmt"/>
        <line num="106" count="125" type="stmt"/>
        <line num="108" count="0" type="stmt"/>
        <line num="109" count="0" type="stmt"/>
        <line num="110" count="0" type="stmt"/>
        <line num="116" count="122" type="stmt"/>
        <line num="117" count="0" type="stmt"/>
        <line num="118" count="0" type="stmt"/>
        <line num="121" count="80" type="stmt"/>
        <line num="122" count="34" type="stmt"/>
        <line num="135" count="147" type="stmt"/>
        <line num="136" count="146" type="stmt"/>
        <line num="138" count="180" type="stmt"/>
        <line num="140" count="0" type="stmt"/>
        <line num="141" count="0" type="stmt"/>
        <line num="142" count="0" type="stmt"/>
        <line num="148" count="177" type="stmt"/>
        <line num="149" count="0" type="stmt"/>
        <line num="150" count="0" type="stmt"/>
        <line num="154" count="147" type="stmt"/>
        <line num="159" count="73" type="stmt"/>
        <line num="164" count="76" type="stmt"/>
        <line num="167" count="73" type="stmt"/>
        <line num="168" count="73" type="stmt"/>
        <line num="169" count="73" type="stmt"/>
        <line num="170" count="73" type="cond" truecount="5" falsecount="0"/>
        <line num="171" count="72" type="stmt"/>
        <line num="173" count="73" type="stmt"/>
        <line num="176" count="0" type="stmt"/>
        <line num="178" count="0" type="stmt"/>
        <line num="179" count="0" type="stmt"/>
        <line num="180" count="0" type="stmt"/>
        <line num="186" count="9" type="stmt"/>
        <line num="191" count="104" type="stmt"/>
        <line num="195" count="8" type="stmt"/>
        <line num="199" count="4" type="stmt"/>
        <line num="203" count="1" type="stmt"/>
        <line num="207" count="1" type="stmt"/>
        <line num="211" count="3" type="stmt"/>
        <line num="213" count="3" type="stmt"/>
        <line num="217" count="51" type="stmt"/>
        <line num="218" count="51" type="stmt"/>
        <line num="222" count="103" type="stmt"/>
        <line num="224" count="103" type="stmt"/>
        <line num="226" count="103" type="cond" truecount="2" falsecount="0"/>
        <line num="227" count="9" type="stmt"/>
        <line num="229" count="103" type="cond" truecount="2" falsecount="0"/>
        <line num="230" count="36" type="stmt"/>
        <line num="232" count="103" type="cond" truecount="2" falsecount="0"/>
        <line num="233" count="32" type="stmt"/>
        <line num="235" count="103" type="cond" truecount="2" falsecount="0"/>
        <line num="236" count="8" type="stmt"/>
        <line num="239" count="103" type="cond" truecount="2" falsecount="0"/>
        <line num="240" count="77" type="stmt"/>
        <line num="242" count="103" type="stmt"/>
        <line num="244" count="101" type="stmt"/>
        <line num="245" count="101" type="stmt"/>
        <line num="246" count="711" type="stmt"/>
        <line num="247" count="711" type="stmt"/>
        <line num="248" count="711" type="stmt"/>
        <line num="249" count="711" type="stmt"/>
        <line num="251" count="101" type="stmt"/>
        <line num="252" count="101" type="stmt"/>
        <line num="253" count="101" type="stmt"/>
        <line num="259" count="91" type="stmt"/>
        <line num="263" count="29" type="stmt"/>
        <line num="265" count="29" type="stmt"/>
        <line num="266" count="29" type="stmt"/>
        <line num="267" count="48" type="stmt"/>
        <line num="269" count="29" type="stmt"/>
        <line num="275" count="45" type="stmt"/>
        <line num="278" count="43" type="stmt"/>
        <line num="283" count="0" type="stmt"/>
        <line num="287" count="14" type="stmt"/>
        <line num="289" count="13" type="stmt"/>
        <line num="295" count="4" type="stmt"/>
        <line num="296" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="297" count="4" type="stmt"/>
        <line num="299" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="300" count="4" type="stmt"/>
        <line num="303" count="4" type="stmt"/>
        <line num="304" count="4" type="stmt"/>
        <line num="311" count="6" type="stmt"/>
        <line num="312" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="313" count="6" type="stmt"/>
        <line num="315" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="316" count="6" type="stmt"/>
        <line num="318" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="319" count="6" type="stmt"/>
        <line num="321" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="322" count="6" type="stmt"/>
        <line num="325" count="6" type="stmt"/>
        <line num="326" count="6" type="stmt"/>
        <line num="331" count="26" type="stmt"/>
        <line num="334" count="25" type="stmt"/>
        <line num="340" count="0" type="stmt"/>
        <line num="343" count="0" type="stmt"/>
        <line num="348" count="14" type="stmt"/>
        <line num="349" count="14" type="stmt"/>
        <line num="352" count="13" type="stmt"/>
        <line num="353" count="13" type="stmt"/>
        <line num="354" count="67" type="stmt"/>
        <line num="356" count="13" type="stmt"/>
        <line num="361" count="45" type="stmt"/>
        <line num="362" count="45" type="stmt"/>
        <line num="365" count="45" type="stmt"/>
        <line num="366" count="45" type="stmt"/>
        <line num="367" count="67" type="stmt"/>
        <line num="369" count="45" type="stmt"/>
        <line num="374" count="34" type="stmt"/>
        <line num="375" count="34" type="stmt"/>
        <line num="378" count="34" type="stmt"/>
        <line num="379" count="34" type="stmt"/>
        <line num="380" count="55" type="stmt"/>
        <line num="382" count="34" type="stmt"/>
        <line num="387" count="1" type="stmt"/>
        <line num="391" count="3" type="stmt"/>
        <line num="395" count="5" type="stmt"/>
        <line num="399" count="1" type="stmt"/>
        <line num="403" count="6" type="stmt"/>
        <line num="404" count="6" type="stmt"/>
        <line num="405" count="6" type="stmt"/>
        <line num="406" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="407" count="0" type="stmt"/>
        <line num="409" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="410" count="1" type="stmt"/>
        <line num="412" count="6" type="cond" truecount="2" falsecount="0"/>
        <line num="413" count="1" type="stmt"/>
        <line num="415" count="6" type="cond" truecount="1" falsecount="1"/>
        <line num="416" count="0" type="stmt"/>
        <line num="419" count="6" type="stmt"/>
        <line num="423" count="1" type="stmt"/>
        <line num="426" count="1" type="stmt"/>
        <line num="427" count="1" type="stmt"/>
        <line num="428" count="1" type="stmt"/>
        <line num="429" count="1" type="stmt"/>
        <line num="434" count="51" type="stmt"/>
        <line num="435" count="51" type="stmt"/>
        <line num="439" count="51" type="stmt"/>
        <line num="440" count="51" type="stmt"/>
        <line num="444" count="6" type="stmt"/>
        <line num="445" count="6" type="stmt"/>
        <line num="447" count="6" type="stmt"/>
        <line num="451" count="1" type="stmt"/>
        <line num="454" count="1" type="stmt"/>
        <line num="455" count="1" type="stmt"/>
        <line num="460" count="2" type="stmt"/>
        <line num="461" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="462" count="0" type="stmt"/>
        <line num="464" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="465" count="0" type="stmt"/>
        <line num="468" count="2" type="stmt"/>
        <line num="472" count="1" type="stmt"/>
        <line num="473" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="474" count="0" type="stmt"/>
        <line num="476" count="1" type="cond" truecount="1" falsecount="1"/>
        <line num="477" count="0" type="stmt"/>
        <line num="480" count="1" type="stmt"/>
        <line num="484" count="9" type="stmt"/>
        <line num="488" count="9" type="stmt"/>
        <line num="492" count="2" type="stmt"/>
        <line num="496" count="2" type="stmt"/>
        <line num="500" count="1" type="stmt"/>
        <line num="501" count="1" type="stmt"/>
        <line num="505" count="1" type="stmt"/>
        <line num="509" count="9" type="stmt"/>
        <line num="513" count="3" type="stmt"/>
        <line num="517" count="2" type="stmt"/>
        <line num="521" count="2" type="stmt"/>
        <line num="525" count="1" type="stmt"/>
        <line num="529" count="1" type="stmt"/>
        <line num="533" count="1" type="stmt"/>
        <line num="537" count="13" type="stmt"/>
        <line num="539" count="13" type="cond" truecount="2" falsecount="0"/>
        <line num="540" count="6" type="stmt"/>
        <line num="543" count="13" type="stmt"/>
        <line num="547" count="146" type="stmt"/>
        <line num="551" count="1" type="stmt"/>
        <line num="555" count="4" type="stmt"/>
        <line num="559" count="1" type="stmt"/>
        <line num="563" count="4" type="stmt"/>
        <line num="565" count="4" type="stmt"/>
        <line num="566" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="567" count="0" type="stmt"/>
        <line num="569" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="570" count="0" type="stmt"/>
        <line num="573" count="4" type="stmt"/>
        <line num="575" count="4" type="stmt"/>
        <line num="576" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="577" count="0" type="stmt"/>
        <line num="579" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="580" count="0" type="stmt"/>
        <line num="582" count="4" type="cond" truecount="1" falsecount="1"/>
        <line num="583" count="0" type="stmt"/>
        <line num="586" count="4" type="stmt"/>
        <line num="590" count="0" type="stmt"/>
        <line num="594" count="3" type="stmt"/>
        <line num="598" count="2" type="stmt"/>
        <line num="602" count="1" type="stmt"/>
        <line num="607" count="1" type="stmt"/>
        <line num="611" count="1" type="stmt"/>
        <line num="615" count="1" type="stmt"/>
        <line num="619" count="1" type="stmt"/>
        <line num="623" count="35" type="stmt"/>
        <line num="627" count="0" type="stmt"/>
        <line num="631" count="1" type="stmt"/>
        <line num="635" count="1" type="stmt"/>
        <line num="639" count="1" type="stmt"/>
        <line num="643" count="1" type="stmt"/>
        <line num="647" count="1" type="stmt"/>
        <line num="651" count="2" type="stmt"/>
        <line num="655" count="2" type="stmt"/>
        <line num="659" count="46" type="stmt"/>
        <line num="660" count="46" type="stmt"/>
        <line num="664" count="46" type="stmt"/>
        <line num="668" count="8" type="stmt"/>
        <line num="669" count="8" type="stmt"/>
        <line num="670" count="23" type="cond" truecount="1" falsecount="1"/>
        <line num="671" count="23" type="stmt"/>
        <line num="674" count="8" type="stmt"/>
        <line num="678" count="8" type="stmt"/>
        <line num="682" count="40" type="stmt"/>
        <line num="683" count="40" type="stmt"/>
        <line num="687" count="1" type="stmt"/>
        <line num="691" count="1751" type="stmt"/>
        <line num="695" count="9" type="stmt"/>
        <line num="696" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="697" count="1" type="stmt"/>
        <line num="699" count="8" type="stmt"/>
        <line num="703" count="9" type="stmt"/>
        <line num="704" count="9" type="cond" truecount="2" falsecount="0"/>
        <line num="705" count="1" type="stmt"/>
        <line num="707" count="8" type="stmt"/>
        <line num="711" count="0" type="stmt"/>
        <line num="712" count="0" type="stmt"/>
        <line num="716" count="33" type="stmt"/>
        <line num="717" count="33" type="cond" truecount="2" falsecount="0"/>
        <line num="718" count="14" type="stmt"/>
        <line num="720" count="33" type="stmt"/>
        <line num="724" count="18" type="stmt"/>
        <line num="725" count="18" type="stmt"/>
        <line num="726" count="18" type="stmt"/>
        <line num="727" count="18" type="stmt"/>
        <line num="731" count="18" type="stmt"/>
        <line num="736" count="1" type="stmt"/>
        <line num="737" count="1" type="stmt"/>
        <line num="741" count="161" type="cond" truecount="2" falsecount="0"/>
        <line num="742" count="1" type="stmt"/>
        <line num="744" count="160" type="stmt"/>
        <line num="748" count="1" type="stmt"/>
        <line num="757" count="1" type="stmt"/>
        <line num="761" count="1" type="stmt"/>
        <line num="765" count="7" type="stmt"/>
        <line num="770" count="339" type="stmt"/>
        <line num="771" count="339" type="cond" truecount="2" falsecount="0"/>
        <line num="772" count="235" type="stmt"/>
        <line num="773" count="235" type="cond" truecount="3" falsecount="1"/>
        <line num="774" count="235" type="stmt"/>
        <line num="777" count="104" type="stmt"/>
        <line num="778" count="104" type="stmt"/>
        <line num="782" count="95" type="stmt"/>
        <line num="784" count="111" type="cond" truecount="2" falsecount="0"/>
        <line num="785" count="75" type="cond" truecount="2" falsecount="2"/>
        <line num="787" count="75" type="stmt"/>
        <line num="791" count="36" type="stmt"/>
        <line num="792" count="36" type="stmt"/>
        <line num="796" count="0" type="stmt"/>
        <line num="802" count="72" type="stmt"/>
        <line num="803" count="72" type="cond" truecount="3" falsecount="1"/>
        <line num="804" count="0" type="stmt"/>
        <line num="806" count="72" type="stmt"/>
        <line num="807" count="104" type="stmt"/>
        <line num="815" count="75" type="stmt"/>
        <line num="816" count="75" type="stmt"/>
        <line num="817" count="76" type="stmt"/>
      </file>
    </package>
    <package name="src.app.services.resolvers">
      <metrics statements="7" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="3" coveredmethods="3"/>
      <file name="images.service.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/services/resolvers/images.service.ts">
        <metrics statements="7" coveredstatements="7" conditionals="4" coveredconditionals="3" methods="3" coveredmethods="3"/>
        <line num="6" count="191" type="cond" truecount="2" falsecount="0"/>
        <line num="7" count="95" type="stmt"/>
        <line num="10" count="95" type="stmt"/>
        <line num="11" count="570" type="cond" truecount="1" falsecount="1"/>
        <line num="12" count="570" type="stmt"/>
        <line num="13" count="570" type="stmt"/>
        <line num="14" count="570" type="stmt"/>
      </file>
    </package>
    <package name="src.app.utils">
      <metrics statements="77" coveredstatements="68" conditionals="49" coveredconditionals="36" methods="16" coveredmethods="14"/>
      <file name="utils.ts" path="/woodpecker/src/gitea.spacedreams.com/SpaceDreams/TwinPad/frontend/src/app/utils/utils.ts">
        <metrics statements="77" coveredstatements="68" conditionals="49" coveredconditionals="36" methods="16" coveredmethods="14"/>
        <line num="6" count="9299" type="cond" truecount="4" falsecount="0"/>
        <line num="7" count="6206" type="stmt"/>
        <line num="10" count="3093" type="cond" truecount="2" falsecount="0"/>
        <line num="11" count="437" type="stmt"/>
        <line num="12" count="437" type="stmt"/>
        <line num="13" count="2737" type="stmt"/>
        <line num="15" count="437" type="stmt"/>
        <line num="18" count="2656" type="stmt"/>
        <line num="19" count="2656" type="stmt"/>
        <line num="20" count="6524" type="cond" truecount="1" falsecount="1"/>
        <line num="21" count="6524" type="stmt"/>
        <line num="24" count="2656" type="stmt"/>
        <line num="30" count="3213" type="stmt"/>
        <line num="33" count="3213" type="cond" truecount="1" falsecount="1"/>
        <line num="36" count="3213" type="stmt"/>
        <line num="39" count="3213" type="stmt"/>
        <line num="42" count="3213" type="stmt"/>
        <line num="44" count="3213" type="stmt"/>
        <line num="50" count="6828" type="cond" truecount="2" falsecount="0"/>
        <line num="51" count="4778" type="stmt"/>
        <line num="53" count="2050" type="cond" truecount="1" falsecount="1"/>
        <line num="54" count="2050" type="stmt"/>
        <line num="56" count="0" type="stmt"/>
        <line num="60" count="0" type="stmt"/>
        <line num="61" count="0" type="cond" truecount="0" falsecount="2"/>
        <line num="65" count="0" type="stmt"/>
        <line num="69" count="189" type="cond" truecount="4" falsecount="0"/>
        <line num="70" count="66" type="stmt"/>
        <line num="73" count="123" type="cond" truecount="4" falsecount="0"/>
        <line num="74" count="87" type="cond" truecount="1" falsecount="1"/>
        <line num="75" count="0" type="stmt"/>
        <line num="78" count="87" type="cond" truecount="1" falsecount="1"/>
        <line num="79" count="0" type="stmt"/>
        <line num="82" count="87" type="stmt"/>
        <line num="83" count="2" type="cond" truecount="1" falsecount="1"/>
        <line num="84" count="0" type="stmt"/>
        <line num="87" count="87" type="stmt"/>
        <line num="90" count="36" type="stmt"/>
        <line num="91" count="44" type="cond" truecount="3" falsecount="1"/>
        <line num="92" count="0" type="stmt"/>
        <line num="94" count="44" type="cond" truecount="2" falsecount="0"/>
        <line num="97" count="28" type="stmt"/>
        <line num="100" count="8" type="stmt"/>
        <line num="104" count="36" type="stmt"/>
        <line num="108" count="35" type="stmt"/>
        <line num="109" count="35" type="stmt"/>
        <line num="110" count="55" type="cond" truecount="2" falsecount="0"/>
        <line num="111" count="41" type="stmt"/>
        <line num="114" count="35" type="stmt"/>
        <line num="118" count="145" type="stmt"/>
        <line num="119" count="435" type="stmt"/>
        <line num="120" count="435" type="stmt"/>
        <line num="121" count="145" type="stmt"/>
        <line num="122" count="15255" type="stmt"/>
        <line num="123" count="15255" type="cond" truecount="2" falsecount="0"/>
        <line num="124" count="2025" type="stmt"/>
        <line num="126" count="13230" type="stmt"/>
        <line num="127" count="13230" type="cond" truecount="2" falsecount="0"/>
        <line num="128" count="13230" type="stmt"/>
        <line num="129" count="13230" type="stmt"/>
        <line num="132" count="145" type="stmt"/>
        <line num="133" count="145" type="stmt"/>
        <line num="134" count="405" type="stmt"/>
        <line num="135" count="405" type="cond" truecount="1" falsecount="1"/>
        <line num="136" count="405" type="cond" truecount="1" falsecount="1"/>
        <line num="137" count="0" type="stmt"/>
        <line num="139" count="405" type="stmt"/>
        <line num="141" count="145" type="stmt"/>
        <line num="144" count="15255" type="stmt"/>
        <line num="146" count="15255" type="stmt"/>
        <line num="147" count="810" type="stmt"/>
        <line num="148" count="145" type="stmt"/>
        <line num="152" count="810" type="stmt"/>
        <line num="153" count="810" type="stmt"/>
        <line num="154" count="810" type="stmt"/>
        <line num="155" count="810" type="cond" truecount="1" falsecount="1"/>
        <line num="156" count="810" type="stmt"/>
      </file>
    </package>
  </project>
</coverage>
