<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1786152488">
  <project timestamp="1786152488">
    <file name="/workspace/src/extensions/ChessBrowser/includes/CastlingTracker.php">
      <class name="MediaWiki\Extension\ChessBrowser\CastlingTracker" namespace="global">
        <metrics complexity="16" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="2" elements="33" coveredelements="3"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="54" type="method" name="checkCastle" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="55" type="stmt" count="4"/>
      <line num="56" type="stmt" count="4"/>
      <line num="62" type="method" name="updateCode" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="77" type="method" name="updateForMove" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <metrics loc="111" ncloc="70" classes="1" methods="4" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="29" coveredstatements="2" elements="33" coveredelements="3"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/ChessBrowser.php">
      <class name="MediaWiki\Extension\ChessBrowser\ChessBrowser" namespace="global">
        <metrics complexity="53" methods="14" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="285" coveredstatements="119" elements="299" coveredelements="124"/>
      </class>
      <line num="40" type="method" name="newGame" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="83" type="method" name="assertValidPGN" visibility="private" complexity="3" crap="3" count="10"/>
      <line num="87" type="stmt" count="10"/>
      <line num="88" type="stmt" count="10"/>
      <line num="96" type="stmt" count="10"/>
      <line num="97" type="stmt" count="10"/>
      <line num="105" type="stmt" count="10"/>
      <line num="106" type="stmt" count="10"/>
      <line num="113" type="stmt" count="10"/>
      <line num="114" type="stmt" count="10"/>
      <line num="125" type="stmt" count="10"/>
      <line num="126" type="stmt" count="10"/>
      <line num="127" type="stmt" count="10"/>
      <line num="128" type="stmt" count="10"/>
      <line num="129" type="stmt" count="10"/>
      <line num="130" type="stmt" count="1"/>
      <line num="140" type="stmt" count="9"/>
      <line num="142" type="stmt" count="9"/>
      <line num="143" type="stmt" count="9"/>
      <line num="156" type="stmt" count="9"/>
      <line num="157" type="stmt" count="9"/>
      <line num="160" type="stmt" count="9"/>
      <line num="161" type="stmt" count="9"/>
      <line num="166" type="stmt" count="9"/>
      <line num="167" type="stmt" count="9"/>
      <line num="169" type="stmt" count="9"/>
      <line num="170" type="stmt" count="1"/>
      <line num="182" type="method" name="decideResultString" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="220" type="method" name="createBoard" visibility="private" complexity="4" crap="4" count="2"/>
      <line num="221" type="stmt" count="2"/>
      <line num="222" type="stmt" count="2"/>
      <line num="223" type="stmt" count="2"/>
      <line num="226" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="0"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="239" type="stmt" count="2"/>
      <line num="240" type="stmt" count="2"/>
      <line num="241" type="stmt" count="2"/>
      <line num="242" type="stmt" count="2"/>
      <line num="247" type="stmt" count="2"/>
      <line num="248" type="stmt" count="2"/>
      <line num="249" type="stmt" count="2"/>
      <line num="250" type="stmt" count="2"/>
      <line num="251" type="stmt" count="2"/>
      <line num="252" type="stmt" count="2"/>
      <line num="253" type="stmt" count="2"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="258" type="stmt" count="2"/>
      <line num="259" type="stmt" count="2"/>
      <line num="260" type="stmt" count="2"/>
      <line num="261" type="stmt" count="2"/>
      <line num="262" type="stmt" count="2"/>
      <line num="273" type="method" name="newPosition" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="296" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="317" type="method" name="assertValidFEN" visibility="private" complexity="2" crap="2" count="16"/>
      <line num="318" type="stmt" count="16"/>
      <line num="319" type="stmt" count="16"/>
      <line num="320" type="stmt" count="16"/>
      <line num="321" type="stmt" count="13"/>
      <line num="331" type="method" name="parseArguments" visibility="public" complexity="5" crap="5.01" count="6"/>
      <line num="332" type="stmt" count="6"/>
      <line num="333" type="stmt" count="6"/>
      <line num="334" type="stmt" count="6"/>
      <line num="335" type="stmt" count="6"/>
      <line num="336" type="stmt" count="6"/>
      <line num="337" type="stmt" count="5"/>
      <line num="338" type="stmt" count="4"/>
      <line num="341" type="stmt" count="6"/>
      <line num="342" type="stmt" count="0"/>
      <line num="345" type="stmt" count="6"/>
      <line num="350" type="stmt" count="6"/>
      <line num="351" type="stmt" count="1"/>
      <line num="353" type="stmt" count="6"/>
      <line num="363" type="method" name="generatePieces" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="372" type="stmt" count="0"/>
      <line num="373" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="381" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="385" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="397" type="method" name="getLocalizedLabels" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="1"/>
      <line num="400" type="stmt" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="402" type="stmt" count="1"/>
      <line num="403" type="stmt" count="1"/>
      <line num="404" type="stmt" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="406" type="stmt" count="1"/>
      <line num="407" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="409" type="stmt" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="411" type="stmt" count="1"/>
      <line num="412" type="stmt" count="1"/>
      <line num="413" type="stmt" count="1"/>
      <line num="422" type="method" name="getLocalizedLegendLabels" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="423" type="stmt" count="0"/>
      <line num="424" type="stmt" count="0"/>
      <line num="425" type="stmt" count="0"/>
      <line num="426" type="stmt" count="0"/>
      <line num="427" type="stmt" count="0"/>
      <line num="428" type="stmt" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <line num="430" type="stmt" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="441" type="stmt" count="0"/>
      <line num="442" type="stmt" count="0"/>
      <line num="443" type="stmt" count="0"/>
      <line num="444" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="448" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="451" type="stmt" count="0"/>
      <line num="452" type="stmt" count="0"/>
      <line num="453" type="stmt" count="0"/>
      <line num="454" type="stmt" count="0"/>
      <line num="455" type="stmt" count="0"/>
      <line num="457" type="stmt" count="0"/>
      <line num="469" type="method" name="getMoveSet" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="470" type="stmt" count="0"/>
      <line num="471" type="stmt" count="0"/>
      <line num="472" type="stmt" count="0"/>
      <line num="473" type="stmt" count="0"/>
      <line num="474" type="stmt" count="0"/>
      <line num="475" type="stmt" count="0"/>
      <line num="476" type="stmt" count="0"/>
      <line num="477" type="stmt" count="0"/>
      <line num="478" type="stmt" count="0"/>
      <line num="479" type="stmt" count="0"/>
      <line num="480" type="stmt" count="0"/>
      <line num="481" type="stmt" count="0"/>
      <line num="482" type="stmt" count="0"/>
      <line num="483" type="stmt" count="0"/>
      <line num="484" type="stmt" count="0"/>
      <line num="485" type="stmt" count="0"/>
      <line num="486" type="stmt" count="0"/>
      <line num="487" type="stmt" count="0"/>
      <line num="488" type="stmt" count="0"/>
      <line num="489" type="stmt" count="0"/>
      <line num="490" type="stmt" count="0"/>
      <line num="491" type="stmt" count="0"/>
      <line num="492" type="stmt" count="0"/>
      <line num="496" type="stmt" count="0"/>
      <line num="497" type="stmt" count="0"/>
      <line num="498" type="stmt" count="0"/>
      <line num="499" type="stmt" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="502" type="stmt" count="0"/>
      <line num="503" type="stmt" count="0"/>
      <line num="504" type="stmt" count="0"/>
      <line num="506" type="stmt" count="0"/>
      <line num="507" type="stmt" count="0"/>
      <line num="508" type="stmt" count="0"/>
      <line num="509" type="stmt" count="0"/>
      <line num="512" type="stmt" count="0"/>
      <line num="522" type="method" name="getVariationSet" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="523" type="stmt" count="0"/>
      <line num="524" type="stmt" count="0"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="528" type="stmt" count="0"/>
      <line num="529" type="stmt" count="0"/>
      <line num="530" type="stmt" count="0"/>
      <line num="531" type="stmt" count="0"/>
      <line num="532" type="stmt" count="0"/>
      <line num="533" type="stmt" count="0"/>
      <line num="534" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="539" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="542" type="stmt" count="0"/>
      <line num="543" type="stmt" count="0"/>
      <line num="544" type="stmt" count="0"/>
      <line num="546" type="stmt" count="0"/>
      <line num="556" type="method" name="getMetadata" visibility="public" complexity="3" crap="3" count="2"/>
      <line num="558" type="stmt" count="2"/>
      <line num="559" type="stmt" count="2"/>
      <line num="560" type="stmt" count="2"/>
      <line num="561" type="stmt" count="2"/>
      <line num="562" type="stmt" count="2"/>
      <line num="563" type="stmt" count="2"/>
      <line num="564" type="stmt" count="2"/>
      <line num="565" type="stmt" count="2"/>
      <line num="566" type="stmt" count="2"/>
      <line num="567" type="stmt" count="2"/>
      <line num="569" type="stmt" count="2"/>
      <line num="570" type="stmt" count="2"/>
      <line num="571" type="stmt" count="2"/>
      <line num="572" type="stmt" count="2"/>
      <line num="574" type="stmt" count="1"/>
      <line num="575" type="stmt" count="1"/>
      <line num="576" type="stmt" count="1"/>
      <line num="577" type="stmt" count="1"/>
      <line num="579" type="stmt" count="2"/>
      <line num="592" type="method" name="createPiece" visibility="public" complexity="7" crap="7" count="11"/>
      <line num="593" type="stmt" count="11"/>
      <line num="594" type="stmt" count="4"/>
      <line num="597" type="stmt" count="7"/>
      <line num="598" type="stmt" count="7"/>
      <line num="600" type="stmt" count="7"/>
      <line num="601" type="stmt" count="1"/>
      <line num="604" type="stmt" count="6"/>
      <line num="606" type="stmt" count="6"/>
      <line num="607" type="stmt" count="6"/>
      <line num="608" type="stmt" count="6"/>
      <line num="609" type="stmt" count="6"/>
      <line num="610" type="stmt" count="6"/>
      <line num="611" type="stmt" count="6"/>
      <metrics loc="614" ncloc="402" classes="1" methods="14" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="285" coveredstatements="119" elements="299" coveredelements="124"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/ChessBrowserException.php">
      <class name="MediaWiki\Extension\ChessBrowser\ChessBrowserException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="9" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/ChessBrowserHooks.php">
      <class name="MediaWiki\Extension\ChessBrowser\ChessBrowserHooks" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
      </class>
      <line num="41" type="method" name="onParserFirstCallInit" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="52" type="method" name="onOutputPageParserOutput" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="53" type="stmt" count="3"/>
      <line num="54" type="stmt" count="1"/>
      <line num="56" type="stmt" count="3"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <metrics loc="62" ncloc="31" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/ChessParser.php">
      <class name="MediaWiki\Extension\ChessBrowser\ChessParser" namespace="global">
        <metrics complexity="37" methods="9" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="129" coveredstatements="87" elements="138" coveredelements="91"/>
      </class>
      <line num="55" type="method" name="__construct" visibility="public" complexity="3" crap="3.01" count="10"/>
      <line num="56" type="stmt" count="10"/>
      <line num="58" type="stmt" count="10"/>
      <line num="59" type="stmt" count="10"/>
      <line num="61" type="stmt" count="10"/>
      <line num="63" type="stmt" count="10"/>
      <line num="64" type="stmt" count="10"/>
      <line num="65" type="stmt" count="10"/>
      <line num="66" type="stmt" count="10"/>
      <line num="67" type="stmt" count="10"/>
      <line num="68" type="stmt" count="10"/>
      <line num="69" type="stmt" count="10"/>
      <line num="70" type="stmt" count="10"/>
      <line num="71" type="stmt" count="10"/>
      <line num="72" type="stmt" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="74" type="stmt" count="10"/>
      <line num="76" type="stmt" count="10"/>
      <line num="78" type="stmt" count="10"/>
      <line num="80" type="stmt" count="10"/>
      <line num="81" type="stmt" count="10"/>
      <line num="82" type="stmt" count="10"/>
      <line num="84" type="stmt" count="10"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="91" type="stmt" count="10"/>
      <line num="100" type="method" name="getGameByIndex" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="120" type="method" name="squareToInt" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="121" type="stmt" count="5"/>
      <line num="123" type="stmt" count="3"/>
      <line num="126" type="stmt" count="3"/>
      <line num="127" type="stmt" count="3"/>
      <line num="136" type="method" name="createOutputJson" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="155" type="method" name="convertParserOutput" visibility="public" complexity="5" crap="5" count="3"/>
      <line num="156" type="stmt" count="3"/>
      <line num="157" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="160" type="stmt" count="3"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="165" type="stmt" count="3"/>
      <line num="166" type="stmt" count="1"/>
      <line num="168" type="stmt" count="2"/>
      <line num="170" type="stmt" count="3"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="177" type="stmt" count="3"/>
      <line num="178" type="stmt" count="3"/>
      <line num="179" type="stmt" count="3"/>
      <line num="181" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="184" type="stmt" count="3"/>
      <line num="220" type="method" name="createAnnotationJson" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="221" type="stmt" count="1"/>
      <line num="222" type="stmt" count="1"/>
      <line num="223" type="stmt" count="1"/>
      <line num="224" type="stmt" count="1"/>
      <line num="225" type="stmt" count="1"/>
      <line num="226" type="stmt" count="1"/>
      <line num="227" type="stmt" count="1"/>
      <line num="228" type="stmt" count="1"/>
      <line num="229" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="245" type="method" name="checkSpecialMove" visibility="public" complexity="15" crap="18.87" count="8"/>
      <line num="246" type="stmt" count="8"/>
      <line num="247" type="stmt" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="251" type="stmt" count="0"/>
      <line num="253" type="stmt" count="7"/>
      <line num="254" type="stmt" count="2"/>
      <line num="255" type="stmt" count="2"/>
      <line num="256" type="stmt" count="2"/>
      <line num="257" type="stmt" count="2"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="260" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="1"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="270" type="stmt" count="2"/>
      <line num="271" type="stmt" count="5"/>
      <line num="272" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="276" type="stmt" count="0"/>
      <line num="278" type="stmt" count="1"/>
      <line num="281" type="stmt" count="4"/>
      <line num="282" type="stmt" count="4"/>
      <line num="284" type="stmt" count="8"/>
      <line num="293" type="method" name="getFenParts" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="294" type="stmt" count="5"/>
      <line num="295" type="stmt" count="5"/>
      <line num="296" type="stmt" count="5"/>
      <line num="297" type="stmt" count="5"/>
      <line num="298" type="stmt" count="5"/>
      <line num="299" type="stmt" count="5"/>
      <line num="300" type="stmt" count="5"/>
      <line num="309" type="method" name="getPgnParserOutput" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="314" type="stmt" count="0"/>
      <line num="315" type="stmt" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="331" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <metrics loc="337" ncloc="205" classes="1" methods="9" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="129" coveredstatements="87" elements="138" coveredelements="91"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/ChessPiece.php">
      <class name="MediaWiki\Extension\ChessBrowser\ChessPiece" namespace="global">
        <metrics complexity="25" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="69" coveredstatements="68" elements="77" coveredelements="75"/>
      </class>
      <line num="59" type="method" name="__construct" visibility="public" complexity="3" crap="3" count="37"/>
      <line num="60" type="stmt" count="37"/>
      <line num="62" type="stmt" count="37"/>
      <line num="64" type="stmt" count="37"/>
      <line num="65" type="stmt" count="1"/>
      <line num="68" type="stmt" count="36"/>
      <line num="70" type="stmt" count="18"/>
      <line num="73" type="stmt" count="18"/>
      <line num="76" type="stmt" count="36"/>
      <line num="77" type="stmt" count="36"/>
      <line num="78" type="stmt" count="36"/>
      <line num="88" type="method" name="newFromHex" visibility="public" complexity="2" crap="2" count="13"/>
      <line num="89" type="stmt" count="13"/>
      <line num="90" type="stmt" count="13"/>
      <line num="91" type="stmt" count="13"/>
      <line num="92" type="stmt" count="13"/>
      <line num="93" type="stmt" count="13"/>
      <line num="94" type="stmt" count="13"/>
      <line num="95" type="stmt" count="13"/>
      <line num="96" type="stmt" count="13"/>
      <line num="97" type="stmt" count="13"/>
      <line num="98" type="stmt" count="13"/>
      <line num="99" type="stmt" count="13"/>
      <line num="100" type="stmt" count="13"/>
      <line num="101" type="stmt" count="13"/>
      <line num="102" type="stmt" count="13"/>
      <line num="104" type="stmt" count="13"/>
      <line num="105" type="stmt" count="1"/>
      <line num="108" type="stmt" count="12"/>
      <line num="116" type="method" name="getSymbol" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="117" type="stmt" count="12"/>
      <line num="125" type="method" name="getType" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="126" type="stmt" count="12"/>
      <line num="134" type="method" name="getColor" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="135" type="stmt" count="12"/>
      <line num="143" type="method" name="getAsHex" visibility="public" complexity="1" crap="1" count="36"/>
      <line num="144" type="stmt" count="36"/>
      <line num="145" type="stmt" count="36"/>
      <line num="146" type="stmt" count="36"/>
      <line num="147" type="stmt" count="36"/>
      <line num="148" type="stmt" count="36"/>
      <line num="149" type="stmt" count="36"/>
      <line num="150" type="stmt" count="36"/>
      <line num="151" type="stmt" count="36"/>
      <line num="152" type="stmt" count="36"/>
      <line num="153" type="stmt" count="36"/>
      <line num="154" type="stmt" count="36"/>
      <line num="155" type="stmt" count="36"/>
      <line num="156" type="stmt" count="36"/>
      <line num="157" type="stmt" count="36"/>
      <line num="159" type="stmt" count="36"/>
      <line num="167" type="method" name="getMovePatterns" visibility="public" complexity="14" crap="14" count="12"/>
      <line num="168" type="stmt" count="12"/>
      <line num="169" type="stmt" count="12"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="11"/>
      <line num="172" type="stmt" count="1"/>
      <line num="173" type="stmt" count="10"/>
      <line num="174" type="stmt" count="9"/>
      <line num="175" type="stmt" count="2"/>
      <line num="176" type="stmt" count="8"/>
      <line num="177" type="stmt" count="7"/>
      <line num="178" type="stmt" count="2"/>
      <line num="179" type="stmt" count="6"/>
      <line num="180" type="stmt" count="5"/>
      <line num="181" type="stmt" count="2"/>
      <line num="182" type="stmt" count="4"/>
      <line num="183" type="stmt" count="3"/>
      <line num="184" type="stmt" count="2"/>
      <line num="185" type="stmt" count="2"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="2"/>
      <line num="189" type="stmt" count="0"/>
      <line num="198" type="method" name="getNotation" visibility="public" complexity="2" crap="2" count="12"/>
      <line num="199" type="stmt" count="12"/>
      <line num="200" type="stmt" count="2"/>
      <line num="202" type="stmt" count="10"/>
      <metrics loc="206" ncloc="140" classes="1" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="69" coveredstatements="68" elements="77" coveredelements="75"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/ChessSquare.php">
      <class name="MediaWiki\Extension\ChessBrowser\ChessSquare" namespace="global">
        <metrics complexity="11" methods="9" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="21" elements="36" coveredelements="26"/>
      </class>
      <line num="65" type="method" name="__construct" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="75" type="method" name="newFromNumber" visibility="public" complexity="1" crap="1" count="64"/>
      <line num="76" type="stmt" count="64"/>
      <line num="77" type="stmt" count="64"/>
      <line num="78" type="stmt" count="64"/>
      <line num="79" type="stmt" count="64"/>
      <line num="80" type="stmt" count="64"/>
      <line num="89" type="method" name="newFromLateral64" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="99" type="method" name="newFromCoords" visibility="public" complexity="3" crap="3" count="67"/>
      <line num="100" type="stmt" count="67"/>
      <line num="101" type="stmt" count="1"/>
      <line num="104" type="stmt" count="66"/>
      <line num="105" type="stmt" count="66"/>
      <line num="107" type="stmt" count="66"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="stmt" count="65"/>
      <line num="113" type="stmt" count="65"/>
      <line num="114" type="stmt" count="65"/>
      <line num="115" type="stmt" count="65"/>
      <line num="116" type="stmt" count="65"/>
      <line num="117" type="stmt" count="65"/>
      <line num="126" type="method" name="getAsVertical64" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="135" type="method" name="getCoords" visibility="public" complexity="1" crap="1" count="64"/>
      <line num="136" type="stmt" count="64"/>
      <line num="144" type="method" name="getNumber" visibility="public" complexity="1" crap="1" count="64"/>
      <line num="145" type="stmt" count="64"/>
      <line num="153" type="method" name="getRank" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="162" type="method" name="getFile" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <metrics loc="167" ncloc="96" classes="1" methods="9" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="21" elements="36" coveredelements="26"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/NagTable.php">
      <class name="MediaWiki\Extension\ChessBrowser\NagTable" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="83" type="method" name="replaceNag" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <metrics loc="92" ncloc="16" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="4" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/NotationAnalyzer.php">
      <class name="MediaWiki\Extension\ChessBrowser\NotationAnalyzer" namespace="global">
        <metrics complexity="15" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="26" elements="37" coveredelements="30"/>
      </class>
      <line num="33" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="42" type="method" name="getFromRank" visibility="public" complexity="2" crap="2" count="7"/>
      <line num="43" type="stmt" count="7"/>
      <line num="44" type="stmt" count="7"/>
      <line num="45" type="stmt" count="4"/>
      <line num="47" type="stmt" count="3"/>
      <line num="55" type="method" name="getFromFile" visibility="public" complexity="2" crap="2" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="3"/>
      <line num="60" type="stmt" count="3"/>
      <line num="68" type="method" name="getTargetSquare" visibility="public" complexity="2" crap="2" count="5"/>
      <line num="69" type="stmt" count="5"/>
      <line num="71" type="stmt" count="5"/>
      <line num="72" type="stmt" count="3"/>
      <line num="73" type="stmt" count="2"/>
      <line num="74" type="stmt" count="2"/>
      <line num="84" type="method" name="getPieceType" visibility="public" complexity="5" crap="5" count="16"/>
      <line num="85" type="stmt" count="16"/>
      <line num="86" type="stmt" count="16"/>
      <line num="87" type="stmt" count="4"/>
      <line num="89" type="stmt" count="12"/>
      <line num="90" type="stmt" count="12"/>
      <line num="92" type="stmt" count="16"/>
      <line num="93" type="stmt" count="16"/>
      <line num="94" type="stmt" count="8"/>
      <line num="96" type="stmt" count="16"/>
      <line num="106" type="method" name="getPromotion" visibility="public" complexity="3" crap="4.12" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="109" type="stmt" count="4"/>
      <line num="110" type="stmt" count="4"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <metrics loc="121" ncloc="69" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="31" coveredstatements="26" elements="37" coveredelements="30"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/PgnParser/ChessJson.php">
      <class name="MediaWiki\Extension\ChessBrowser\PgnParser\ChessJson" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="56" ncloc="21" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/PgnParser/FenParser0x88.php">
      <class name="MediaWiki\Extension\ChessBrowser\PgnParser\FenParser0x88" namespace="global">
        <metrics complexity="338" methods="27" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="669" coveredstatements="205" elements="696" coveredelements="205"/>
      </class>
      <line num="93" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="112" type="method" name="setFen" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="123" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="146" type="method" name="parseFen" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="163" type="stmt" count="0"/>
      <line num="164" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="193" type="method" name="isValid" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="214" type="method" name="getEnPassantSquare" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="215" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="228" type="method" name="getColor" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="245" type="method" name="getValidMovesAndResult" visibility="public" complexity="15" crap="15" count="13"/>
      <line num="246" type="stmt" count="13"/>
      <line num="247" type="stmt" count="13"/>
      <line num="248" type="stmt" count="13"/>
      <line num="250" type="stmt" count="13"/>
      <line num="252" type="stmt" count="13"/>
      <line num="253" type="stmt" count="13"/>
      <line num="255" type="stmt" count="13"/>
      <line num="257" type="stmt" count="13"/>
      <line num="259" type="stmt" count="13"/>
      <line num="260" type="stmt" count="13"/>
      <line num="261" type="stmt" count="13"/>
      <line num="262" type="stmt" count="13"/>
      <line num="263" type="stmt" count="1"/>
      <line num="265" type="stmt" count="12"/>
      <line num="266" type="stmt" count="12"/>
      <line num="267" type="stmt" count="12"/>
      <line num="268" type="stmt" count="5"/>
      <line num="274" type="stmt" count="13"/>
      <line num="275" type="stmt" count="13"/>
      <line num="277" type="stmt" count="13"/>
      <line num="278" type="stmt" count="13"/>
      <line num="279" type="stmt" count="13"/>
      <line num="280" type="stmt" count="13"/>
      <line num="281" type="stmt" count="13"/>
      <line num="282" type="stmt" count="13"/>
      <line num="283" type="stmt" count="13"/>
      <line num="284" type="stmt" count="13"/>
      <line num="285" type="stmt" count="13"/>
      <line num="286" type="stmt" count="13"/>
      <line num="287" type="stmt" count="13"/>
      <line num="288" type="stmt" count="13"/>
      <line num="290" type="stmt" count="3"/>
      <line num="292" type="stmt" count="13"/>
      <line num="293" type="stmt" count="13"/>
      <line num="295" type="stmt" count="13"/>
      <line num="296" type="stmt" count="13"/>
      <line num="297" type="stmt" count="1"/>
      <line num="298" type="stmt" count="12"/>
      <line num="299" type="stmt" count="0"/>
      <line num="301" type="stmt" count="13"/>
      <line num="302" type="stmt" count="13"/>
      <line num="317" type="method" name="getValidMovePathsForPiece" visibility="private" complexity="77" crap="185.05" count="16"/>
      <line num="326" type="stmt" count="16"/>
      <line num="327" type="stmt" count="16"/>
      <line num="328" type="stmt" count="16"/>
      <line num="329" type="stmt" count="16"/>
      <line num="330" type="stmt" count="16"/>
      <line num="331" type="stmt" count="16"/>
      <line num="333" type="stmt" count="16"/>
      <line num="338" type="stmt" count="1"/>
      <line num="339" type="stmt" count="1"/>
      <line num="341" type="stmt" count="1"/>
      <line num="342" type="stmt" count="1"/>
      <line num="343" type="stmt" count="1"/>
      <line num="344" type="stmt" count="0"/>
      <line num="348" type="stmt" count="1"/>
      <line num="349" type="stmt" count="1"/>
      <line num="350" type="stmt" count="0"/>
      <line num="353" type="stmt" count="1"/>
      <line num="354" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="360" type="stmt" count="0"/>
      <line num="363" type="stmt" count="1"/>
      <line num="365" type="stmt" count="0"/>
      <line num="366" type="stmt" count="0"/>
      <line num="368" type="stmt" count="0"/>
      <line num="369" type="stmt" count="0"/>
      <line num="370" type="stmt" count="0"/>
      <line num="371" type="stmt" count="0"/>
      <line num="375" type="stmt" count="0"/>
      <line num="377" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="386" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="389" type="stmt" count="0"/>
      <line num="394" type="stmt" count="0"/>
      <line num="402" type="stmt" count="7"/>
      <line num="403" type="stmt" count="0"/>
      <line num="404" type="stmt" count="0"/>
      <line num="406" type="stmt" count="0"/>
      <line num="409" type="stmt" count="7"/>
      <line num="410" type="stmt" count="7"/>
      <line num="411" type="stmt" count="7"/>
      <line num="412" type="stmt" count="7"/>
      <line num="413" type="stmt" count="7"/>
      <line num="414" type="stmt" count="7"/>
      <line num="415" type="stmt" count="3"/>
      <line num="417" type="stmt" count="7"/>
      <line num="419" type="stmt" count="7"/>
      <line num="420" type="stmt" count="7"/>
      <line num="423" type="stmt" count="7"/>
      <line num="426" type="stmt" count="4"/>
      <line num="427" type="stmt" count="0"/>
      <line num="429" type="stmt" count="4"/>
      <line num="430" type="stmt" count="4"/>
      <line num="431" type="stmt" count="4"/>
      <line num="432" type="stmt" count="4"/>
      <line num="433" type="stmt" count="4"/>
      <line num="434" type="stmt" count="4"/>
      <line num="435" type="stmt" count="0"/>
      <line num="438" type="stmt" count="2"/>
      <line num="442" type="stmt" count="4"/>
      <line num="445" type="stmt" count="4"/>
      <line num="446" type="stmt" count="4"/>
      <line num="447" type="stmt" count="4"/>
      <line num="448" type="stmt" count="4"/>
      <line num="449" type="stmt" count="4"/>
      <line num="451" type="stmt" count="4"/>
      <line num="452" type="stmt" count="2"/>
      <line num="453" type="stmt" count="0"/>
      <line num="456" type="stmt" count="4"/>
      <line num="460" type="stmt" count="4"/>
      <line num="462" type="stmt" count="4"/>
      <line num="463" type="stmt" count="4"/>
      <line num="464" type="stmt" count="4"/>
      <line num="465" type="stmt" count="4"/>
      <line num="466" type="stmt" count="4"/>
      <line num="467" type="stmt" count="4"/>
      <line num="468" type="stmt" count="4"/>
      <line num="469" type="stmt" count="4"/>
      <line num="471" type="stmt" count="2"/>
      <line num="474" type="stmt" count="4"/>
      <line num="475" type="stmt" count="4"/>
      <line num="476" type="stmt" count="4"/>
      <line num="477" type="stmt" count="4"/>
      <line num="478" type="stmt" count="4"/>
      <line num="479" type="stmt" count="4"/>
      <line num="480" type="stmt" count="4"/>
      <line num="481" type="stmt" count="4"/>
      <line num="482" type="stmt" count="4"/>
      <line num="484" type="stmt" count="2"/>
      <line num="486" type="stmt" count="4"/>
      <line num="488" type="stmt" count="16"/>
      <line num="500" type="method" name="excludeInvalidSquares" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="501" type="stmt" count="0"/>
      <line num="510" type="method" name="getCaptureAndProtectiveMoves" visibility="public" complexity="23" crap="23.31" count="1"/>
      <line num="511" type="stmt" count="1"/>
      <line num="512" type="stmt" count="1"/>
      <line num="514" type="stmt" count="1"/>
      <line num="516" type="stmt" count="1"/>
      <line num="517" type="stmt" count="1"/>
      <line num="518" type="stmt" count="1"/>
      <line num="520" type="stmt" count="1"/>
      <line num="522" type="stmt" count="1"/>
      <line num="525" type="stmt" count="0"/>
      <line num="526" type="stmt" count="0"/>
      <line num="527" type="stmt" count="0"/>
      <line num="529" type="stmt" count="1"/>
      <line num="530" type="stmt" count="1"/>
      <line num="531" type="stmt" count="1"/>
      <line num="539" type="stmt" count="1"/>
      <line num="540" type="stmt" count="1"/>
      <line num="541" type="stmt" count="1"/>
      <line num="542" type="stmt" count="1"/>
      <line num="543" type="stmt" count="1"/>
      <line num="544" type="stmt" count="1"/>
      <line num="545" type="stmt" count="1"/>
      <line num="547" type="stmt" count="1"/>
      <line num="548" type="stmt" count="1"/>
      <line num="551" type="stmt" count="1"/>
      <line num="555" type="stmt" count="1"/>
      <line num="556" type="stmt" count="1"/>
      <line num="557" type="stmt" count="1"/>
      <line num="559" type="stmt" count="1"/>
      <line num="562" type="stmt" count="1"/>
      <line num="563" type="stmt" count="1"/>
      <line num="564" type="stmt" count="1"/>
      <line num="566" type="stmt" count="1"/>
      <line num="570" type="stmt" count="1"/>
      <line num="571" type="stmt" count="1"/>
      <line num="572" type="stmt" count="1"/>
      <line num="576" type="stmt" count="1"/>
      <line num="585" type="method" name="getSlidingPiecesAttackingKing" visibility="public" complexity="20" crap="420" count="0"/>
      <line num="586" type="stmt" count="0"/>
      <line num="587" type="stmt" count="0"/>
      <line num="589" type="stmt" count="0"/>
      <line num="591" type="stmt" count="0"/>
      <line num="593" type="stmt" count="0"/>
      <line num="594" type="stmt" count="0"/>
      <line num="595" type="stmt" count="0"/>
      <line num="596" type="stmt" count="0"/>
      <line num="598" type="stmt" count="0"/>
      <line num="601" type="stmt" count="0"/>
      <line num="602" type="stmt" count="0"/>
      <line num="604" type="stmt" count="0"/>
      <line num="607" type="stmt" count="0"/>
      <line num="608" type="stmt" count="0"/>
      <line num="609" type="stmt" count="0"/>
      <line num="610" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="616" type="stmt" count="0"/>
      <line num="617" type="stmt" count="0"/>
      <line num="618" type="stmt" count="0"/>
      <line num="620" type="stmt" count="0"/>
      <line num="621" type="stmt" count="0"/>
      <line num="622" type="stmt" count="0"/>
      <line num="624" type="stmt" count="0"/>
      <line num="628" type="stmt" count="0"/>
      <line num="637" type="method" name="getPinned" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="638" type="stmt" count="0"/>
      <line num="639" type="stmt" count="0"/>
      <line num="640" type="stmt" count="0"/>
      <line num="641" type="stmt" count="0"/>
      <line num="642" type="stmt" count="0"/>
      <line num="643" type="stmt" count="0"/>
      <line num="644" type="stmt" count="0"/>
      <line num="646" type="stmt" count="0"/>
      <line num="647" type="stmt" count="0"/>
      <line num="648" type="stmt" count="0"/>
      <line num="649" type="stmt" count="0"/>
      <line num="651" type="stmt" count="0"/>
      <line num="652" type="stmt" count="0"/>
      <line num="653" type="stmt" count="0"/>
      <line num="654" type="stmt" count="0"/>
      <line num="655" type="stmt" count="0"/>
      <line num="656" type="stmt" count="0"/>
      <line num="658" type="stmt" count="0"/>
      <line num="659" type="stmt" count="0"/>
      <line num="661" type="stmt" count="0"/>
      <line num="664" type="stmt" count="0"/>
      <line num="666" type="stmt" count="0"/>
      <line num="667" type="stmt" count="0"/>
      <line num="669" type="stmt" count="0"/>
      <line num="671" type="stmt" count="0"/>
      <line num="686" type="method" name="getValidSquaresOnCheck" visibility="public" complexity="26" crap="702" count="0"/>
      <line num="687" type="stmt" count="0"/>
      <line num="688" type="stmt" count="0"/>
      <line num="690" type="stmt" count="0"/>
      <line num="692" type="stmt" count="0"/>
      <line num="694" type="stmt" count="0"/>
      <line num="696" type="stmt" count="0"/>
      <line num="697" type="stmt" count="0"/>
      <line num="698" type="stmt" count="0"/>
      <line num="700" type="stmt" count="0"/>
      <line num="702" type="stmt" count="0"/>
      <line num="704" type="stmt" count="0"/>
      <line num="705" type="stmt" count="0"/>
      <line num="706" type="stmt" count="0"/>
      <line num="708" type="stmt" count="0"/>
      <line num="710" type="stmt" count="0"/>
      <line num="713" type="stmt" count="0"/>
      <line num="714" type="stmt" count="0"/>
      <line num="715" type="stmt" count="0"/>
      <line num="716" type="stmt" count="0"/>
      <line num="717" type="stmt" count="0"/>
      <line num="718" type="stmt" count="0"/>
      <line num="722" type="stmt" count="0"/>
      <line num="725" type="stmt" count="0"/>
      <line num="726" type="stmt" count="0"/>
      <line num="727" type="stmt" count="0"/>
      <line num="729" type="stmt" count="0"/>
      <line num="732" type="stmt" count="0"/>
      <line num="733" type="stmt" count="0"/>
      <line num="734" type="stmt" count="0"/>
      <line num="736" type="stmt" count="0"/>
      <line num="739" type="stmt" count="0"/>
      <line num="740" type="stmt" count="0"/>
      <line num="741" type="stmt" count="0"/>
      <line num="743" type="stmt" count="0"/>
      <line num="744" type="stmt" count="0"/>
      <line num="745" type="stmt" count="0"/>
      <line num="747" type="stmt" count="0"/>
      <line num="751" type="stmt" count="0"/>
      <line num="761" type="method" name="getBishopCheckPath" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="763" type="stmt" count="0"/>
      <line num="764" type="stmt" count="0"/>
      <line num="765" type="stmt" count="0"/>
      <line num="766" type="stmt" count="0"/>
      <line num="767" type="stmt" count="0"/>
      <line num="768" type="stmt" count="0"/>
      <line num="769" type="stmt" count="0"/>
      <line num="770" type="stmt" count="0"/>
      <line num="771" type="stmt" count="0"/>
      <line num="772" type="stmt" count="0"/>
      <line num="774" type="stmt" count="0"/>
      <line num="776" type="stmt" count="0"/>
      <line num="777" type="stmt" count="0"/>
      <line num="780" type="stmt" count="0"/>
      <line num="790" type="method" name="getRookCheckPath" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="791" type="stmt" count="0"/>
      <line num="792" type="stmt" count="0"/>
      <line num="793" type="stmt" count="0"/>
      <line num="794" type="stmt" count="0"/>
      <line num="795" type="stmt" count="0"/>
      <line num="796" type="stmt" count="0"/>
      <line num="799" type="stmt" count="0"/>
      <line num="800" type="stmt" count="0"/>
      <line num="801" type="stmt" count="0"/>
      <line num="802" type="stmt" count="0"/>
      <line num="803" type="stmt" count="0"/>
      <line num="804" type="stmt" count="0"/>
      <line num="805" type="stmt" count="0"/>
      <line num="806" type="stmt" count="0"/>
      <line num="808" type="stmt" count="0"/>
      <line num="810" type="stmt" count="0"/>
      <line num="811" type="stmt" count="0"/>
      <line num="814" type="stmt" count="0"/>
      <line num="843" type="method" name="getCountChecks" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="844" type="stmt" count="0"/>
      <line num="845" type="stmt" count="0"/>
      <line num="856" type="method" name="isEnPassantMove" visibility="public" complexity="6" crap="42" count="0"/>
      <line num="858" type="stmt" count="0"/>
      <line num="859" type="stmt" count="0"/>
      <line num="862" type="stmt" count="0"/>
      <line num="865" type="stmt" count="0"/>
      <line num="866" type="stmt" count="0"/>
      <line num="867" type="stmt" count="0"/>
      <line num="870" type="stmt" count="0"/>
      <line num="873" type="stmt" count="0"/>
      <line num="884" type="method" name="isCastleMove" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="886" type="stmt" count="0"/>
      <line num="887" type="stmt" count="0"/>
      <line num="889" type="stmt" count="0"/>
      <line num="890" type="stmt" count="0"/>
      <line num="893" type="stmt" count="0"/>
      <line num="904" type="method" name="getFromAndToByLongNotation" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="905" type="stmt" count="0"/>
      <line num="906" type="stmt" count="0"/>
      <line num="907" type="stmt" count="0"/>
      <line num="908" type="stmt" count="0"/>
      <line num="909" type="stmt" count="0"/>
      <line num="918" type="method" name="getParsed" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="919" type="stmt" count="0"/>
      <line num="920" type="stmt" count="0"/>
      <line num="923" type="stmt" count="0"/>
      <line num="925" type="stmt" count="0"/>
      <line num="926" type="stmt" count="0"/>
      <line num="927" type="stmt" count="0"/>
      <line num="930" type="stmt" count="0"/>
      <line num="932" type="stmt" count="0"/>
      <line num="933" type="stmt" count="0"/>
      <line num="934" type="stmt" count="0"/>
      <line num="935" type="stmt" count="0"/>
      <line num="937" type="stmt" count="0"/>
      <line num="938" type="stmt" count="0"/>
      <line num="940" type="stmt" count="0"/>
      <line num="944" type="stmt" count="0"/>
      <line num="948" type="stmt" count="0"/>
      <line num="949" type="stmt" count="0"/>
      <line num="951" type="stmt" count="0"/>
      <line num="952" type="stmt" count="0"/>
      <line num="953" type="stmt" count="0"/>
      <line num="954" type="stmt" count="0"/>
      <line num="955" type="stmt" count="0"/>
      <line num="956" type="stmt" count="0"/>
      <line num="968" type="method" name="getFromAndToByNotation" visibility="public" complexity="44" crap="740.85" count="1"/>
      <line num="969" type="stmt" count="1"/>
      <line num="970" type="stmt" count="1"/>
      <line num="972" type="stmt" count="1"/>
      <line num="973" type="stmt" count="1"/>
      <line num="975" type="stmt" count="1"/>
      <line num="977" type="stmt" count="1"/>
      <line num="978" type="stmt" count="1"/>
      <line num="979" type="stmt" count="1"/>
      <line num="981" type="stmt" count="1"/>
      <line num="982" type="stmt" count="0"/>
      <line num="983" type="stmt" count="0"/>
      <line num="984" type="stmt" count="0"/>
      <line num="985" type="stmt" count="0"/>
      <line num="986" type="stmt" count="0"/>
      <line num="988" type="stmt" count="0"/>
      <line num="992" type="stmt" count="1"/>
      <line num="993" type="stmt" count="1"/>
      <line num="994" type="stmt" count="1"/>
      <line num="995" type="stmt" count="1"/>
      <line num="997" type="stmt" count="1"/>
      <line num="999" type="stmt" count="1"/>
      <line num="1003" type="stmt" count="0"/>
      <line num="1004" type="stmt" count="0"/>
      <line num="1005" type="stmt" count="0"/>
      <line num="1006" type="stmt" count="0"/>
      <line num="1009" type="stmt" count="0"/>
      <line num="1010" type="stmt" count="0"/>
      <line num="1011" type="stmt" count="0"/>
      <line num="1015" type="stmt" count="0"/>
      <line num="1016" type="stmt" count="0"/>
      <line num="1017" type="stmt" count="0"/>
      <line num="1018" type="stmt" count="0"/>
      <line num="1021" type="stmt" count="0"/>
      <line num="1024" type="stmt" count="0"/>
      <line num="1025" type="stmt" count="0"/>
      <line num="1026" type="stmt" count="0"/>
      <line num="1027" type="stmt" count="0"/>
      <line num="1028" type="stmt" count="0"/>
      <line num="1029" type="stmt" count="0"/>
      <line num="1031" type="stmt" count="0"/>
      <line num="1032" type="stmt" count="0"/>
      <line num="1034" type="stmt" count="0"/>
      <line num="1037" type="stmt" count="1"/>
      <line num="1038" type="stmt" count="1"/>
      <line num="1039" type="stmt" count="1"/>
      <line num="1040" type="stmt" count="1"/>
      <line num="1041" type="stmt" count="1"/>
      <line num="1042" type="stmt" count="1"/>
      <line num="1046" type="stmt" count="1"/>
      <line num="1049" type="stmt" count="0"/>
      <line num="1050" type="stmt" count="0"/>
      <line num="1051" type="stmt" count="0"/>
      <line num="1052" type="stmt" count="0"/>
      <line num="1053" type="stmt" count="0"/>
      <line num="1054" type="stmt" count="0"/>
      <line num="1056" type="stmt" count="0"/>
      <line num="1057" type="stmt" count="0"/>
      <line num="1059" type="stmt" count="0"/>
      <line num="1062" type="stmt" count="0"/>
      <line num="1066" type="stmt" count="1"/>
      <line num="1067" type="stmt" count="1"/>
      <line num="1069" type="stmt" count="0"/>
      <line num="1070" type="stmt" count="0"/>
      <line num="1071" type="stmt" count="0"/>
      <line num="1072" type="stmt" count="0"/>
      <line num="1073" type="stmt" count="0"/>
      <line num="1076" type="stmt" count="0"/>
      <line num="1077" type="stmt" count="0"/>
      <line num="1078" type="stmt" count="0"/>
      <line num="1079" type="stmt" count="0"/>
      <line num="1080" type="stmt" count="0"/>
      <line num="1085" type="stmt" count="0"/>
      <line num="1086" type="stmt" count="0"/>
      <line num="1087" type="stmt" count="0"/>
      <line num="1088" type="stmt" count="0"/>
      <line num="1089" type="stmt" count="0"/>
      <line num="1090" type="stmt" count="0"/>
      <line num="1091" type="stmt" count="0"/>
      <line num="1104" type="stmt" count="1"/>
      <line num="1105" type="stmt" count="0"/>
      <line num="1106" type="stmt" count="0"/>
      <line num="1107" type="stmt" count="0"/>
      <line num="1108" type="stmt" count="0"/>
      <line num="1109" type="stmt" count="0"/>
      <line num="1110" type="stmt" count="0"/>
      <line num="1111" type="stmt" count="0"/>
      <line num="1112" type="stmt" count="0"/>
      <line num="1113" type="stmt" count="0"/>
      <line num="1114" type="stmt" count="0"/>
      <line num="1115" type="stmt" count="0"/>
      <line num="1116" type="stmt" count="0"/>
      <line num="1117" type="stmt" count="0"/>
      <line num="1118" type="stmt" count="0"/>
      <line num="1119" type="stmt" count="0"/>
      <line num="1121" type="stmt" count="1"/>
      <line num="1122" type="stmt" count="1"/>
      <line num="1124" type="stmt" count="1"/>
      <line num="1142" type="method" name="move" visibility="public" complexity="8" crap="8.44" count="7"/>
      <line num="1143" type="stmt" count="7"/>
      <line num="1144" type="stmt" count="3"/>
      <line num="1145" type="stmt" count="0"/>
      <line num="1147" type="stmt" count="3"/>
      <line num="1151" type="stmt" count="7"/>
      <line num="1152" type="stmt" count="7"/>
      <line num="1154" type="stmt" count="7"/>
      <line num="1155" type="stmt" count="7"/>
      <line num="1157" type="stmt" count="7"/>
      <line num="1158" type="stmt" count="0"/>
      <line num="1159" type="stmt" count="0"/>
      <line num="1160" type="stmt" count="0"/>
      <line num="1163" type="stmt" count="7"/>
      <line num="1164" type="stmt" count="7"/>
      <line num="1165" type="stmt" count="7"/>
      <line num="1166" type="stmt" count="7"/>
      <line num="1168" type="stmt" count="7"/>
      <line num="1170" type="stmt" count="7"/>
      <line num="1171" type="stmt" count="1"/>
      <line num="1172" type="stmt" count="6"/>
      <line num="1173" type="stmt" count="3"/>
      <line num="1182" type="method" name="updateBoardData" visibility="private" complexity="17" crap="306" count="0"/>
      <line num="1183" type="stmt" count="0"/>
      <line num="1184" type="stmt" count="0"/>
      <line num="1185" type="stmt" count="0"/>
      <line num="1186" type="stmt" count="0"/>
      <line num="1187" type="stmt" count="0"/>
      <line num="1188" type="stmt" count="0"/>
      <line num="1190" type="stmt" count="0"/>
      <line num="1191" type="stmt" count="0"/>
      <line num="1192" type="stmt" count="0"/>
      <line num="1194" type="stmt" count="0"/>
      <line num="1196" type="stmt" count="0"/>
      <line num="1197" type="stmt" count="0"/>
      <line num="1199" type="stmt" count="0"/>
      <line num="1200" type="stmt" count="0"/>
      <line num="1201" type="stmt" count="0"/>
      <line num="1202" type="stmt" count="0"/>
      <line num="1204" type="stmt" count="0"/>
      <line num="1209" type="stmt" count="0"/>
      <line num="1210" type="stmt" count="0"/>
      <line num="1212" type="stmt" count="0"/>
      <line num="1213" type="stmt" count="0"/>
      <line num="1215" type="stmt" count="0"/>
      <line num="1217" type="stmt" count="0"/>
      <line num="1221" type="stmt" count="0"/>
      <line num="1223" type="stmt" count="0"/>
      <line num="1224" type="stmt" count="0"/>
      <line num="1225" type="stmt" count="0"/>
      <line num="1226" type="stmt" count="0"/>
      <line num="1227" type="stmt" count="0"/>
      <line num="1229" type="stmt" count="0"/>
      <line num="1230" type="stmt" count="0"/>
      <line num="1231" type="stmt" count="0"/>
      <line num="1234" type="stmt" count="0"/>
      <line num="1235" type="stmt" count="0"/>
      <line num="1236" type="stmt" count="0"/>
      <line num="1239" type="stmt" count="0"/>
      <line num="1240" type="stmt" count="0"/>
      <line num="1242" type="stmt" count="0"/>
      <line num="1243" type="stmt" count="0"/>
      <line num="1244" type="stmt" count="0"/>
      <line num="1246" type="stmt" count="0"/>
      <line num="1247" type="stmt" count="0"/>
      <line num="1248" type="stmt" count="0"/>
      <line num="1249" type="stmt" count="0"/>
      <line num="1250" type="stmt" count="0"/>
      <line num="1253" type="stmt" count="0"/>
      <line num="1254" type="stmt" count="0"/>
      <line num="1256" type="stmt" count="0"/>
      <line num="1257" type="stmt" count="0"/>
      <line num="1259" type="stmt" count="0"/>
      <line num="1262" type="stmt" count="0"/>
      <line num="1263" type="stmt" count="0"/>
      <line num="1264" type="stmt" count="0"/>
      <line num="1265" type="stmt" count="0"/>
      <line num="1266" type="stmt" count="0"/>
      <line num="1268" type="stmt" count="0"/>
      <line num="1270" type="stmt" count="0"/>
      <line num="1271" type="stmt" count="0"/>
      <line num="1274" type="stmt" count="0"/>
      <line num="1276" type="stmt" count="0"/>
      <line num="1284" type="method" name="updatePieces" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="1285" type="stmt" count="0"/>
      <line num="1286" type="stmt" count="0"/>
      <line num="1288" type="stmt" count="0"/>
      <line num="1289" type="stmt" count="0"/>
      <line num="1290" type="stmt" count="0"/>
      <line num="1292" type="stmt" count="0"/>
      <line num="1293" type="stmt" count="0"/>
      <line num="1294" type="stmt" count="0"/>
      <line num="1295" type="stmt" count="0"/>
      <line num="1296" type="stmt" count="0"/>
      <line num="1297" type="stmt" count="0"/>
      <line num="1298" type="stmt" count="0"/>
      <line num="1299" type="stmt" count="0"/>
      <line num="1301" type="stmt" count="0"/>
      <line num="1302" type="stmt" count="0"/>
      <line num="1304" type="stmt" count="0"/>
      <line num="1315" type="method" name="getFen" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="1316" type="stmt" count="0"/>
      <line num="1317" type="stmt" count="0"/>
      <line num="1319" type="stmt" count="0"/>
      <line num="1330" type="method" name="getNotationForAMove" visibility="private" complexity="27" crap="134.17" count="1"/>
      <line num="1331" type="stmt" count="1"/>
      <line num="1332" type="stmt" count="1"/>
      <line num="1333" type="stmt" count="1"/>
      <line num="1334" type="stmt" count="1"/>
      <line num="1335" type="stmt" count="1"/>
      <line num="1337" type="stmt" count="1"/>
      <line num="1342" type="stmt" count="0"/>
      <line num="1343" type="stmt" count="0"/>
      <line num="1346" type="stmt" count="0"/>
      <line num="1348" type="stmt" count="0"/>
      <line num="1349" type="stmt" count="0"/>
      <line num="1350" type="stmt" count="0"/>
      <line num="1352" type="stmt" count="0"/>
      <line num="1361" type="stmt" count="1"/>
      <line num="1363" type="stmt" count="1"/>
      <line num="1364" type="stmt" count="1"/>
      <line num="1366" type="stmt" count="1"/>
      <line num="1367" type="stmt" count="1"/>
      <line num="1368" type="stmt" count="1"/>
      <line num="1370" type="stmt" count="0"/>
      <line num="1371" type="stmt" count="0"/>
      <line num="1372" type="stmt" count="0"/>
      <line num="1373" type="stmt" count="0"/>
      <line num="1378" type="stmt" count="1"/>
      <line num="1379" type="stmt" count="1"/>
      <line num="1382" type="stmt" count="1"/>
      <line num="1383" type="stmt" count="1"/>
      <line num="1386" type="stmt" count="0"/>
      <line num="1387" type="stmt" count="0"/>
      <line num="1388" type="stmt" count="0"/>
      <line num="1390" type="stmt" count="0"/>
      <line num="1393" type="stmt" count="0"/>
      <line num="1394" type="stmt" count="0"/>
      <line num="1397" type="stmt" count="0"/>
      <line num="1399" type="stmt" count="0"/>
      <line num="1403" type="stmt" count="1"/>
      <line num="1411" type="method" name="getNewFen" visibility="private" complexity="8" crap="72" count="0"/>
      <line num="1412" type="stmt" count="0"/>
      <line num="1413" type="stmt" count="0"/>
      <line num="1414" type="stmt" count="0"/>
      <line num="1416" type="stmt" count="0"/>
      <line num="1417" type="stmt" count="0"/>
      <line num="1418" type="stmt" count="0"/>
      <line num="1419" type="stmt" count="0"/>
      <line num="1420" type="stmt" count="0"/>
      <line num="1421" type="stmt" count="0"/>
      <line num="1422" type="stmt" count="0"/>
      <line num="1424" type="stmt" count="0"/>
      <line num="1425" type="stmt" count="0"/>
      <line num="1426" type="stmt" count="0"/>
      <line num="1428" type="stmt" count="0"/>
      <line num="1431" type="stmt" count="0"/>
      <line num="1432" type="stmt" count="0"/>
      <line num="1433" type="stmt" count="0"/>
      <line num="1435" type="stmt" count="0"/>
      <line num="1436" type="stmt" count="0"/>
      <line num="1440" type="stmt" count="0"/>
      <line num="1441" type="stmt" count="0"/>
      <line num="1443" type="stmt" count="0"/>
      <line num="1444" type="stmt" count="0"/>
      <line num="1445" type="stmt" count="0"/>
      <line num="1446" type="stmt" count="0"/>
      <line num="1447" type="stmt" count="0"/>
      <line num="1448" type="stmt" count="0"/>
      <line num="1449" type="stmt" count="0"/>
      <line num="1450" type="stmt" count="0"/>
      <line num="1451" type="stmt" count="0"/>
      <line num="1452" type="stmt" count="0"/>
      <line num="1453" type="stmt" count="0"/>
      <metrics loc="1456" ncloc="1173" classes="1" methods="27" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="669" coveredstatements="205" elements="696" coveredelements="205"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/PgnParser/GameParser.php">
      <class name="MediaWiki\Extension\ChessBrowser\PgnParser\GameParser" namespace="global">
        <metrics complexity="13" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="28" coveredelements="0"/>
      </class>
      <line num="49" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="56" type="method" name="getParsedGame" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="57" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="72" type="method" name="parseMoves" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="83" type="method" name="parseAMove" visibility="private" complexity="7" crap="56" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="109" type="method" name="parseVariations" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <metrics loc="118" ncloc="60" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="23" coveredstatements="0" elements="28" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/PgnParser/MoveBuilder.php">
      <class name="MediaWiki\Extension\ChessBrowser\PgnParser\MoveBuilder" namespace="global">
        <metrics complexity="37" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="0" elements="156" coveredelements="0"/>
      </class>
      <line num="55" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="64" type="method" name="addMoves" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="76" type="method" name="addMove" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="82" type="stmt" count="0"/>
      <line num="91" type="method" name="isChessMove" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="104" type="method" name="addCommentBeforeFirstMove" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="118" type="method" name="addComment" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="141" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="146" type="stmt" count="0"/>
      <line num="147" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="149" type="stmt" count="0"/>
      <line num="150" type="stmt" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="153" type="stmt" count="0"/>
      <line num="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="156" type="stmt" count="0"/>
      <line num="157" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="168" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="182" type="method" name="getActions" visibility="private" complexity="17" crap="306" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="196" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="217" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="219" type="stmt" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="221" type="stmt" count="0"/>
      <line num="225" type="stmt" count="0"/>
      <line num="226" type="stmt" count="0"/>
      <line num="227" type="stmt" count="0"/>
      <line num="228" type="stmt" count="0"/>
      <line num="229" type="stmt" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="237" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="253" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="268" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="278" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="292" type="method" name="startVariation" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="293" type="stmt" count="0"/>
      <line num="294" type="stmt" count="0"/>
      <line num="295" type="stmt" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="298" type="stmt" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="308" type="method" name="endVariation" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="318" type="method" name="getMoves" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="319" type="stmt" count="0"/>
      <metrics loc="322" ncloc="236" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="146" coveredstatements="0" elements="156" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/PgnParser/PgnGameParser.php">
      <class name="MediaWiki\Extension\ChessBrowser\PgnParser\PgnGameParser" namespace="global">
        <metrics complexity="34" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="102" coveredstatements="0" elements="111" coveredelements="0"/>
      </class>
      <line num="67" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="76" type="method" name="getParsedData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="89" type="method" name="getMetadata" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="96" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="119" type="method" name="getMetadataKeyAndValue" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="120" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="128" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <line num="164" type="method" name="mergeAdjacentComments" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="0"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="185" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="190" type="stmt" count="0"/>
      <line num="191" type="stmt" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="210" type="stmt" count="0"/>
      <line num="211" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="0"/>
      <line num="218" type="stmt" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <line num="230" type="method" name="getMoves" visibility="private" complexity="10" crap="110" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="236" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="241" type="stmt" count="0"/>
      <line num="242" type="stmt" count="0"/>
      <line num="243" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="245" type="stmt" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="249" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="254" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="266" type="stmt" count="0"/>
      <line num="267" type="stmt" count="0"/>
      <line num="269" type="stmt" count="0"/>
      <line num="272" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="315" type="method" name="getMovesAndComments" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="317" type="stmt" count="0"/>
      <line num="318" type="stmt" count="0"/>
      <line num="320" type="stmt" count="0"/>
      <line num="331" type="method" name="getMovesAndVariationFromString" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="339" type="stmt" count="0"/>
      <line num="347" type="method" name="getMoveString" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="350" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <metrics loc="357" ncloc="186" classes="1" methods="9" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="102" coveredstatements="0" elements="111" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/ChessBrowser/includes/SquareRelations.php">
      <class name="MediaWiki\Extension\ChessBrowser\SquareRelations" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="7" elements="15" coveredelements="10"/>
      </class>
      <line num="43" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="55" type="method" name="new" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="63" type="method" name="getDistance" visibility="public" complexity="1" crap="1" count="12"/>
      <line num="64" type="stmt" count="12"/>
      <line num="65" type="stmt" count="12"/>
      <line num="67" type="stmt" count="12"/>
      <line num="68" type="stmt" count="12"/>
      <line num="70" type="stmt" count="12"/>
      <line num="77" type="method" name="haveSameRank" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="78" type="stmt" count="4"/>
      <line num="85" type="method" name="haveSameFile" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <metrics loc="90" ncloc="39" classes="1" methods="5" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="7" elements="15" coveredelements="10"/>
    </file>
    <metrics files="15" loc="4118" ncloc="2753" classes="13" methods="109" coveredmethods="31" conditionals="0" coveredconditionals="0" statements="1530" coveredstatements="542" elements="1639" coveredelements="573"/>
  </project>
</coverage>
