<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1788550000">
  <project timestamp="1788550000">
    <file name="/workspace/src/extensions/PersonalDashboard/src/Config/ModuleStateEnum.php">
      <metrics loc="23" ncloc="18" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Config/PersonalDashboardConfigLoaderStaticTrait.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Config\PersonalDashboardConfigLoaderStaticTrait" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="0" elements="4" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="getPersonalDashboardConfig" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <line num="12" type="stmt" count="0"/>
      <line num="13" type="stmt" count="0"/>
      <metrics loc="16" 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/PersonalDashboard/src/Config/Validation/DatatypeValidationTrait.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Config\Validation\DatatypeValidationTrait" namespace="global">
        <metrics complexity="34" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="0" elements="49" coveredelements="0"/>
      </class>
      <line num="16" type="method" name="validateFieldDatatype" visibility="private" complexity="34" crap="1190" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" 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="61" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <metrics loc="89" ncloc="76" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="0" elements="49" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/ExperimentResolution.php">
      <class name="MediaWiki\Extension\PersonalDashboard\ExperimentResolution" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="14" coveredelements="14"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="34" type="stmt" count="10"/>
      <line num="36" type="method" name="none" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="37" type="stmt" count="1"/>
      <line num="40" type="method" name="getModuleGroup" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="41" type="stmt" count="8"/>
      <line num="47" type="method" name="getVariants" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="48" type="stmt" count="8"/>
      <line num="56" type="method" name="sendExposures" visibility="public" complexity="3" crap="3" count="7"/>
      <line num="57" type="stmt" count="7"/>
      <line num="58" type="stmt" count="1"/>
      <line num="60" type="stmt" count="7"/>
      <line num="62" type="stmt" count="7"/>
      <line num="63" type="stmt" count="6"/>
      <metrics loc="67" ncloc="42" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="14" coveredelements="14"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/ExperimentResolver.php">
      <class name="MediaWiki\Extension\PersonalDashboard\ExperimentResolver" namespace="global">
        <metrics complexity="14" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="60" elements="64" coveredelements="64"/>
      </class>
      <line num="28" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="34" type="stmt" count="10"/>
      <line num="36" type="method" name="resolve" visibility="public" complexity="10" crap="10" count="10"/>
      <line num="37" type="stmt" count="10"/>
      <line num="38" type="stmt" count="1"/>
      <line num="41" type="stmt" count="9"/>
      <line num="42" type="stmt" count="9"/>
      <line num="43" type="stmt" count="9"/>
      <line num="44" type="stmt" count="9"/>
      <line num="45" type="stmt" count="9"/>
      <line num="47" type="stmt" count="9"/>
      <line num="48" type="stmt" count="9"/>
      <line num="49" type="stmt" count="9"/>
      <line num="51" type="stmt" count="9"/>
      <line num="53" type="stmt" count="1"/>
      <line num="56" type="stmt" count="8"/>
      <line num="58" type="stmt" count="8"/>
      <line num="65" type="stmt" count="3"/>
      <line num="66" type="stmt" count="3"/>
      <line num="67" type="stmt" count="3"/>
      <line num="70" type="stmt" count="6"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="81" type="stmt" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="94" type="stmt" count="1"/>
      <line num="98" type="stmt" count="9"/>
      <line num="99" type="stmt" count="1"/>
      <line num="102" type="stmt" count="9"/>
      <line num="105" type="method" name="recordUnroutable" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="108" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="119" type="stmt" count="1"/>
      <line num="120" type="stmt" count="1"/>
      <line num="129" type="method" name="recordConflicts" visibility="private" complexity="2" crap="2" count="1"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="134" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="139" type="stmt" count="1"/>
      <line num="140" type="stmt" count="1"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="144" type="stmt" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <metrics loc="150" ncloc="109" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="60" coveredstatements="60" elements="64" coveredelements="64"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Experiments.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Experiments" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="34" type="method" name="all" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="35" type="stmt" count="5"/>
      <metrics loc="38" ncloc="18" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/HookHandler/GetPreferencesHandler.php">
      <class name="MediaWiki\Extension\PersonalDashboard\HookHandler\GetPreferencesHandler" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="3" coveredelements="0"/>
      </class>
      <line num="9" type="method" name="onGetPreferences" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="10" type="stmt" count="0"/>
      <line num="11" type="stmt" count="0"/>
      <metrics loc="14" ncloc="13" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="2" coveredstatements="0" elements="3" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/HookHandler/ResourceLoaderRegisterModulesHandler.php">
      <class name="MediaWiki\Extension\PersonalDashboard\HookHandler\ResourceLoaderRegisterModulesHandler" namespace="global">
        <metrics complexity="5" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="0" elements="29" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="onResourceLoaderRegisterModules" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="20" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <metrics loc="48" ncloc="44" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="0" elements="29" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/HookHandler/SkinTemplateNavigationUniversalHandler.php">
      <class name="MediaWiki\Extension\PersonalDashboard\HookHandler\SkinTemplateNavigationUniversalHandler" namespace="global">
        <metrics complexity="19" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="26" elements="47" coveredelements="27"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="22" type="method" name="onSkinTemplateNavigation__Universal" visibility="public" complexity="3" crap="3.01" count="1"/>
      <line num="23" type="stmt" count="1"/>
      <line num="24" type="stmt" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="29" type="stmt" count="1"/>
      <line num="30" type="stmt" count="0"/>
      <line num="33" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="36" type="stmt" count="1"/>
      <line num="43" type="method" name="isMenuLinkVisible" visibility="public" complexity="10" crap="10.02" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="79" type="method" name="addToUserMenu" visibility="public" complexity="2" crap="6" 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="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="88" 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="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="104" type="method" name="isBlueDotVisible" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <metrics loc="110" ncloc="95" classes="1" methods="5" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="42" coveredstatements="26" elements="47" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/IModule.php">
      <metrics loc="67" ncloc="20" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/ActiveDiscussions.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\ActiveDiscussions" namespace="global">
        <metrics complexity="4" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="13" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="14" type="stmt" count="0"/>
      <line num="18" type="method" name="getHeaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="23" type="method" name="getModules" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="28" type="method" name="getJsConfigVars" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <metrics loc="35" ncloc="29" classes="1" methods="4" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/Banner.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\Banner" namespace="global">
        <metrics complexity="9" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="23" coveredelements="0"/>
      </class>
      <line num="26" type="method" name="isEnabled" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="36" type="method" name="canRender" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="44" type="method" name="serverRendered" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="method" name="getHeaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="54" type="method" name="getHeader" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="getBody" visibility="protected" complexity="1" crap="2" 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="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="71" type="method" name="getState" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <metrics loc="76" ncloc="53" classes="1" methods="8" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="23" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/BaseModule.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\BaseModule" namespace="global">
        <metrics complexity="61" methods="49" coveredmethods="28" conditionals="0" coveredconditionals="0" statements="143" coveredstatements="98" elements="192" coveredelements="126"/>
      </class>
      <line num="55" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="59" type="stmt" count="10"/>
      <line num="60" type="stmt" count="10"/>
      <line num="67" type="method" name="setPageURL" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="68" type="stmt" count="3"/>
      <line num="72" type="method" name="setName" visibility="public" complexity="1" crap="1" count="10"/>
      <line num="73" type="stmt" count="10"/>
      <line num="80" type="method" name="setStyles" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="91" type="method" name="setFocused" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="98" type="method" name="isFocused" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="99" type="stmt" count="7"/>
      <line num="107" type="method" name="setFocusedSubPath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="116" type="method" name="getFocusedSubPath" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="126" type="method" name="acceptsFocusedSubPath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="136" type="method" name="setBackLink" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="147" type="method" name="getCardHeader" visibility="protected" complexity="3" crap="3" count="4"/>
      <line num="148" type="stmt" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="3"/>
      <line num="154" type="stmt" count="3"/>
      <line num="158" type="stmt" count="3"/>
      <line num="159" type="stmt" count="1"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="3"/>
      <line num="164" type="stmt" count="3"/>
      <line num="167" type="stmt" count="4"/>
      <line num="176" type="method" name="getFocusedHeader" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="179" type="stmt" count="1"/>
      <line num="180" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="188" type="method" name="getPageURL" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="189" type="stmt" count="3"/>
      <line num="196" type="method" name="shouldWrapModuleWithLink" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="197" type="stmt" count="4"/>
      <line num="205" type="method" name="getContext" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="206" type="stmt" count="1"/>
      <line num="207" type="stmt" count="1"/>
      <line num="213" type="method" name="setContext" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="222" type="method" name="getUser" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="231" type="method" name="getConfig" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="236" type="method" name="getName" visibility="protected" complexity="1" crap="1" count="9"/>
      <line num="237" type="stmt" count="9"/>
      <line num="245" type="method" name="canRender" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="246" type="stmt" count="0"/>
      <line num="256" type="method" name="shouldRender" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="266" type="method" name="getCssClasses" visibility="protected" complexity="2" crap="2" count="7"/>
      <line num="267" type="stmt" count="7"/>
      <line num="268" type="stmt" count="7"/>
      <line num="269" type="stmt" count="7"/>
      <line num="275" type="method" name="supports" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="290" type="method" name="getJsData" visibility="public" complexity="1" crap="2" 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="305" type="method" name="getModules" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="315" type="method" name="getModuleStyles" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="316" type="stmt" count="0"/>
      <line num="324" type="method" name="getJsConfigVars" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="332" type="method" name="getState" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="342" type="method" name="getActionData" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="346" type="method" name="outputDependencies" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="347" type="stmt" 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="351" type="stmt" count="0"/>
      <line num="352" type="stmt" count="0"/>
      <line num="353" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="355" type="stmt" count="0"/>
      <line num="356" type="stmt" count="0"/>
      <line num="357" type="stmt" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="375" type="method" name="serverRendered" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="382" type="method" name="render" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="383" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="388" type="stmt" count="0"/>
      <line num="396" type="method" name="getHtml" visibility="protected" complexity="3" crap="3" count="5"/>
      <line num="397" type="stmt" count="5"/>
      <line num="398" type="stmt" count="1"/>
      <line num="399" type="stmt" count="4"/>
      <line num="400" type="stmt" count="5"/>
      <line num="402" type="stmt" count="5"/>
      <line num="403" type="stmt" count="5"/>
      <line num="404" type="stmt" count="5"/>
      <line num="405" type="stmt" count="5"/>
      <line num="406" type="stmt" count="5"/>
      <line num="407" type="stmt" count="5"/>
      <line num="416" type="method" name="getBodyContent" visibility="protected" complexity="2" crap="2" count="7"/>
      <line num="417" type="stmt" count="7"/>
      <line num="425" type="method" name="getSlot" visibility="protected" complexity="1" crap="1" count="7"/>
      <line num="426" type="stmt" count="7"/>
      <line num="427" type="stmt" count="7"/>
      <line num="428" type="stmt" count="7"/>
      <line num="429" type="stmt" count="7"/>
      <line num="436" type="method" name="buildModuleWrapper" visibility="protected" complexity="2" crap="2.00" count="7"/>
      <line num="437" type="stmt" count="7"/>
      <line num="438" type="stmt" count="7"/>
      <line num="440" type="stmt" count="7"/>
      <line num="441" type="stmt" count="0"/>
      <line num="444" type="stmt" count="7"/>
      <line num="445" type="stmt" count="7"/>
      <line num="446" type="stmt" count="7"/>
      <line num="447" type="stmt" count="7"/>
      <line num="448" type="stmt" count="7"/>
      <line num="449" type="stmt" count="7"/>
      <line num="456" type="stmt" count="7"/>
      <line num="461" type="stmt" count="7"/>
      <line num="466" type="stmt" count="7"/>
      <line num="467" type="stmt" count="7"/>
      <line num="468" type="stmt" count="7"/>
      <line num="469" type="stmt" count="7"/>
      <line num="470" type="stmt" count="7"/>
      <line num="471" type="stmt" count="7"/>
      <line num="484" type="method" name="buildSection" visibility="protected" complexity="2" crap="2" count="5"/>
      <line num="485" type="stmt" count="5"/>
      <line num="486" type="stmt" count="5"/>
      <line num="487" type="stmt" count="5"/>
      <line num="488" type="stmt" count="5"/>
      <line num="489" type="stmt" count="5"/>
      <line num="495" type="stmt" count="5"/>
      <line num="496" type="stmt" count="5"/>
      <line num="497" type="stmt" count="5"/>
      <line num="498" type="stmt" count="5"/>
      <line num="499" type="stmt" count="5"/>
      <line num="505" type="method" name="getHeaderTextElement" visibility="protected" complexity="2" crap="2" count="5"/>
      <line num="506" type="stmt" count="5"/>
      <line num="508" type="stmt" count="5"/>
      <line num="509" type="stmt" count="5"/>
      <line num="510" type="stmt" count="5"/>
      <line num="525" type="method" name="getHeaderTag" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="526" type="stmt" count="5"/>
      <line num="534" type="method" name="getHeader" visibility="protected" complexity="2" crap="2.03" count="5"/>
      <line num="535" type="stmt" count="5"/>
      <line num="536" type="stmt" count="5"/>
      <line num="537" type="stmt" count="0"/>
      <line num="539" type="stmt" count="5"/>
      <line num="540" type="stmt" count="5"/>
      <line num="552" type="method" name="getBody" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="553" type="stmt" count="0"/>
      <line num="561" type="method" name="getSubheader" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="562" type="stmt" count="4"/>
      <line num="570" type="method" name="getSubheaderText" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="571" type="stmt" count="1"/>
      <line num="577" type="method" name="getSubheaderTextElement" visibility="protected" complexity="2" crap="2" count="4"/>
      <line num="578" type="stmt" count="4"/>
      <line num="579" type="stmt" count="4"/>
      <line num="580" type="stmt" count="4"/>
      <line num="581" type="stmt" count="4"/>
      <line num="582" type="stmt" count="4"/>
      <line num="583" type="stmt" count="4"/>
      <line num="591" type="method" name="getSubheaderTag" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="592" type="stmt" count="5"/>
      <line num="600" type="method" name="getFooter" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="601" type="stmt" count="5"/>
      <line num="607" type="method" name="getHeaderIcon" visibility="protected" complexity="1" crap="2" 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="611" type="stmt" count="0"/>
      <line num="612" type="stmt" count="0"/>
      <line num="613" type="stmt" count="0"/>
      <line num="621" type="method" name="shouldHeaderIncludeIcon" visibility="protected" complexity="1" crap="1" count="5"/>
      <line num="622" type="stmt" count="5"/>
      <line num="633" type="method" name="msg" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="634" type="stmt" count="1"/>
      <metrics loc="637" ncloc="346" classes="1" methods="49" coveredmethods="28" conditionals="0" coveredconditionals="0" statements="143" coveredstatements="98" elements="192" coveredelements="126"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/Impact.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\Impact" namespace="global">
        <metrics complexity="9" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="0" elements="71" coveredelements="0"/>
      </class>
      <line num="18" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="29" type="method" name="getThanksCount" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="52" type="method" name="getReviewCount" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" 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="66" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" 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="82" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" 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="90" type="stmt" count="0"/>
      <line num="91" type="stmt" 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="99" type="method" name="getHeaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="104" type="method" name="getJsConfigVars" visibility="public" complexity="1" crap="2" 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="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="116" type="method" name="getModules" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <metrics loc="120" ncloc="107" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="0" elements="71" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/Onboarding.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\Onboarding" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="17" coveredelements="0"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="31" type="method" name="setName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="35" type="method" name="render" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="40" type="method" name="getJsData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="47" type="method" name="getJsConfigVars" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="52" type="method" name="supports" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="59" type="method" name="setPageURL" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <metrics loc="62" ncloc="47" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="17" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/Placeholder.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\Placeholder" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="25" elements="34" coveredelements="30"/>
      </class>
      <line num="21" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="22" type="stmt" count="3"/>
      <line num="25" type="method" name="setName" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="26" type="stmt" count="1"/>
      <line num="30" type="method" name="render" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="31" type="stmt" count="1"/>
      <line num="32" type="stmt" count="1"/>
      <line num="33" type="stmt" count="1"/>
      <line num="34" type="stmt" count="1"/>
      <line num="35" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="40" type="stmt" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="43" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="46" type="stmt" count="1"/>
      <line num="47" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="54" type="method" name="getJsData" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="55" type="stmt" count="1"/>
      <line num="56" type="stmt" count="1"/>
      <line num="57" type="stmt" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="63" type="method" name="getJsConfigVars" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="68" type="method" name="supports" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="73" type="method" name="setPageURL" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <metrics loc="76" ncloc="60" classes="1" methods="7" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="25" elements="34" coveredelements="30"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/PoliciesGuidelines.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\PoliciesGuidelines" namespace="global">
        <metrics complexity="12" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="67" coveredelements="0"/>
      </class>
      <line num="40" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="49" type="method" name="serverRendered" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="58" type="method" name="acceptsFocusedSubPath" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="63" type="method" name="getHeaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="68" type="method" name="getSubheaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="73" type="method" name="getModules" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="80" type="method" name="getModuleStyles" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="85" type="method" name="getBody" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="86" type="stmt" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" 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="93" type="stmt" count="0"/>
      <line num="94" type="stmt" count="0"/>
      <line num="107" type="method" name="getAccordion" visibility="private" 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="122" type="stmt" count="0"/>
      <line num="123" 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="130" type="stmt" count="0"/>
      <line num="141" type="method" name="getStepsHtml" visibility="private" complexity="2" crap="6" 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="160" 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="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" 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="200" type="stmt" count="0"/>
      <metrics loc="203" ncloc="115" classes="1" methods="10" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="57" coveredstatements="0" elements="67" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/ReturnToHomepage.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\ReturnToHomepage" namespace="global">
        <metrics complexity="7" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="21" type="method" name="render" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="25" type="stmt" count="0"/>
      <line num="26" type="stmt" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="31" type="stmt" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="41" type="method" name="setName" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <line num="45" type="method" name="getJsData" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="55" type="method" name="getJsConfigVars" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="56" type="stmt" count="0"/>
      <line num="60" type="method" name="supports" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="65" type="method" name="setPageURL" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <metrics loc="68" ncloc="57" classes="1" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Modules/ReviewChanges.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Modules\ReviewChanges" namespace="global">
        <metrics complexity="25" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="73" elements="114" coveredelements="75"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="24"/>
      <line num="42" type="stmt" count="24"/>
      <line num="43" type="stmt" count="24"/>
      <line num="52" type="method" name="getRecentlyEditedItems" visibility="private" complexity="6" crap="6" count="24"/>
      <line num="53" type="stmt" count="24"/>
      <line num="54" type="stmt" count="24"/>
      <line num="55" type="stmt" count="2"/>
      <line num="58" type="stmt" count="22"/>
      <line num="59" type="stmt" count="22"/>
      <line num="60" type="stmt" count="22"/>
      <line num="61" type="stmt" count="22"/>
      <line num="62" type="stmt" count="22"/>
      <line num="63" type="stmt" count="22"/>
      <line num="64" type="stmt" count="22"/>
      <line num="65" type="stmt" count="22"/>
      <line num="66" type="stmt" count="22"/>
      <line num="67" type="stmt" count="22"/>
      <line num="68" type="stmt" count="22"/>
      <line num="69" type="stmt" count="22"/>
      <line num="70" type="stmt" count="22"/>
      <line num="72" type="stmt" count="22"/>
      <line num="73" type="stmt" count="1"/>
      <line num="76" type="stmt" count="21"/>
      <line num="77" type="stmt" count="21"/>
      <line num="78" type="stmt" count="21"/>
      <line num="79" type="stmt" count="21"/>
      <line num="80" type="stmt" count="21"/>
      <line num="81" type="stmt" count="21"/>
      <line num="82" type="stmt" count="21"/>
      <line num="83" type="stmt" count="21"/>
      <line num="84" type="stmt" count="21"/>
      <line num="85" type="stmt" count="21"/>
      <line num="86" type="stmt" count="21"/>
      <line num="87" type="stmt" count="21"/>
      <line num="88" type="stmt" count="21"/>
      <line num="89" type="stmt" count="21"/>
      <line num="90" type="stmt" count="21"/>
      <line num="91" type="stmt" count="21"/>
      <line num="92" type="stmt" count="21"/>
      <line num="93" type="stmt" count="21"/>
      <line num="94" type="stmt" count="21"/>
      <line num="97" type="stmt" count="21"/>
      <line num="98" type="stmt" count="21"/>
      <line num="101" type="stmt" count="15"/>
      <line num="102" type="stmt" count="15"/>
      <line num="103" type="stmt" count="15"/>
      <line num="105" type="stmt" count="12"/>
      <line num="108" type="stmt" count="15"/>
      <line num="109" type="stmt" count="15"/>
      <line num="110" type="stmt" count="15"/>
      <line num="111" type="stmt" count="15"/>
      <line num="112" type="stmt" count="15"/>
      <line num="113" type="stmt" count="15"/>
      <line num="114" type="stmt" count="15"/>
      <line num="115" type="stmt" count="15"/>
      <line num="116" type="stmt" count="15"/>
      <line num="117" type="stmt" count="15"/>
      <line num="118" type="stmt" count="15"/>
      <line num="119" type="stmt" count="15"/>
      <line num="120" type="stmt" count="15"/>
      <line num="121" type="stmt" count="15"/>
      <line num="122" type="stmt" count="15"/>
      <line num="125" type="stmt" count="21"/>
      <line num="129" type="method" name="getHeaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="134" type="method" name="getSubheaderText" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="145" type="method" name="getFooter" visibility="protected" complexity="1" crap="2" 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="154" type="method" name="getJsConfigVars" visibility="public" complexity="14" crap="76.78" count="8"/>
      <line num="155" type="stmt" count="8"/>
      <line num="158" type="stmt" count="8"/>
      <line num="159" type="stmt" count="8"/>
      <line num="160" type="stmt" count="8"/>
      <line num="161" type="stmt" count="8"/>
      <line num="162" type="stmt" count="8"/>
      <line num="163" type="stmt" count="8"/>
      <line num="165" type="stmt" count="8"/>
      <line num="166" type="stmt" count="8"/>
      <line num="167" type="stmt" count="8"/>
      <line num="168" type="stmt" count="8"/>
      <line num="170" type="stmt" count="8"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" 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="188" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="203" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="207" 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="217" type="stmt" count="0"/>
      <line num="221" type="method" name="getModules" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="222" type="stmt" count="0"/>
      <metrics loc="225" ncloc="189" classes="1" methods="7" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="107" coveredstatements="73" elements="114" coveredelements="75"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/PersonalDashboardModuleFactory.php">
      <class name="MediaWiki\Extension\PersonalDashboard\PersonalDashboardModuleFactory" namespace="global">
        <metrics complexity="5" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="20" coveredelements="0"/>
      </class>
      <line num="20" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="21" type="stmt" count="0"/>
      <line num="22" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <line num="33" type="method" name="getModule" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="35" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="39" type="stmt" count="0"/>
      <line num="41" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="50" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <metrics loc="55" ncloc="45" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="0" elements="20" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/PersonalDashboardServices.php">
      <class name="MediaWiki\Extension\PersonalDashboard\PersonalDashboardServices" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
      </class>
      <line num="17" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="18" type="stmt" count="0"/>
      <line num="26" type="method" name="wrap" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="33" type="method" name="getPersonalDashboardConfig" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="getLogger" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="getPersonalDashboardModuleFactory" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="42" type="stmt" count="0"/>
      <metrics loc="45" ncloc="34" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="5" coveredstatements="0" elements="10" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Specials/SpecialPersonalDashboard.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Specials\SpecialPersonalDashboard" namespace="global">
        <metrics complexity="66" methods="19" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="201" coveredstatements="163" elements="220" coveredelements="173"/>
      </class>
      <line num="53" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="58" type="stmt" count="13"/>
      <line num="59" type="stmt" count="13"/>
      <line num="60" type="stmt" count="13"/>
      <line num="64" type="method" name="isListed" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="69" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="80" type="method" name="execute" visibility="public" complexity="20" crap="20.49" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="95" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="0"/>
      <line num="99" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="115" type="stmt" count="1"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="120" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="0"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="135" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="150" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="0"/>
      <line num="157" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="162" type="stmt" count="0"/>
      <line num="165" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <line num="172" type="stmt" count="1"/>
      <line num="177" type="stmt" count="1"/>
      <line num="178" type="stmt" count="1"/>
      <line num="181" type="stmt" count="1"/>
      <line num="182" type="stmt" count="1"/>
      <line num="183" type="stmt" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="186" type="stmt" count="1"/>
      <line num="187" type="stmt" count="1"/>
      <line num="188" type="stmt" count="1"/>
      <line num="189" type="stmt" count="1"/>
      <line num="197" type="method" name="getDescription" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="198" type="stmt" count="1"/>
      <line num="199" type="stmt" count="1"/>
      <line num="207" type="method" name="getRequestedModule" visibility="private" complexity="6" crap="10.50" count="1"/>
      <line num="209" type="stmt" count="1"/>
      <line num="210" type="stmt" count="1"/>
      <line num="211" type="stmt" count="0"/>
      <line num="212" type="stmt" count="0"/>
      <line num="213" type="stmt" count="0"/>
      <line num="216" type="stmt" count="1"/>
      <line num="217" type="stmt" count="0"/>
      <line num="219" type="stmt" count="1"/>
      <line num="225" type="method" name="getModules" visibility="private" complexity="5" crap="5.03" 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="230" type="stmt" count="1"/>
      <line num="231" type="stmt" count="1"/>
      <line num="232" type="stmt" count="1"/>
      <line num="233" type="stmt" count="0"/>
      <line num="235" type="stmt" count="1"/>
      <line num="239" type="stmt" count="1"/>
      <line num="246" type="method" name="getModuleGroups" visibility="private" complexity="5" crap="5" count="8"/>
      <line num="249" type="stmt" count="8"/>
      <line num="250" type="stmt" count="1"/>
      <line num="253" type="stmt" count="8"/>
      <line num="255" type="stmt" count="8"/>
      <line num="256" type="stmt" count="8"/>
      <line num="257" type="stmt" count="8"/>
      <line num="258" type="stmt" count="8"/>
      <line num="259" type="stmt" count="8"/>
      <line num="260" type="stmt" count="8"/>
      <line num="261" type="stmt" count="8"/>
      <line num="263" type="stmt" count="8"/>
      <line num="264" type="stmt" count="8"/>
      <line num="265" type="stmt" count="2"/>
      <line num="266" type="stmt" count="2"/>
      <line num="267" type="stmt" count="2"/>
      <line num="268" type="stmt" count="2"/>
      <line num="269" type="stmt" count="2"/>
      <line num="272" type="stmt" count="6"/>
      <line num="273" type="stmt" count="2"/>
      <line num="274" type="stmt" count="2"/>
      <line num="281" type="stmt" count="2"/>
      <line num="282" type="stmt" count="2"/>
      <line num="283" type="stmt" count="2"/>
      <line num="284" type="stmt" count="2"/>
      <line num="288" type="stmt" count="4"/>
      <line num="289" type="stmt" count="4"/>
      <line num="290" type="stmt" count="4"/>
      <line num="291" type="stmt" count="4"/>
      <line num="292" type="stmt" count="4"/>
      <line num="305" type="method" name="resolvePdoOverride" visibility="private" complexity="5" crap="5" count="6"/>
      <line num="306" type="stmt" count="6"/>
      <line num="308" type="stmt" count="6"/>
      <line num="309" type="stmt" count="6"/>
      <line num="311" type="stmt" count="6"/>
      <line num="312" type="stmt" count="1"/>
      <line num="315" type="stmt" count="6"/>
      <line num="316" type="stmt" count="1"/>
      <line num="319" type="stmt" count="5"/>
      <line num="328" type="stmt" count="4"/>
      <line num="331" type="stmt" count="5"/>
      <line num="340" type="method" name="generatePageviewToken" visibility="private" complexity="1" crap="1" count="13"/>
      <line num="341" type="stmt" count="13"/>
      <line num="348" type="method" name="createSurveyLinkBetaChip" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="349" type="stmt" count="2"/>
      <line num="350" type="stmt" count="2"/>
      <line num="351" type="stmt" count="2"/>
      <line num="353" type="stmt" count="2"/>
      <line num="354" type="stmt" count="2"/>
      <line num="355" type="stmt" count="2"/>
      <line num="356" type="stmt" count="2"/>
      <line num="357" type="stmt" count="2"/>
      <line num="358" type="stmt" count="2"/>
      <line num="360" type="stmt" count="2"/>
      <line num="361" type="stmt" count="2"/>
      <line num="362" type="stmt" count="2"/>
      <line num="363" type="stmt" count="2"/>
      <line num="364" type="stmt" count="2"/>
      <line num="365" type="stmt" count="2"/>
      <line num="375" type="method" name="renderGroupedFrames" visibility="private" complexity="6" crap="6" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="377" type="stmt" count="1"/>
      <line num="382" type="stmt" count="1"/>
      <line num="383" type="stmt" count="1"/>
      <line num="385" type="stmt" count="1"/>
      <line num="386" type="stmt" count="1"/>
      <line num="391" type="stmt" count="1"/>
      <line num="392" type="stmt" count="1"/>
      <line num="394" type="stmt" count="1"/>
      <line num="395" type="stmt" count="1"/>
      <line num="397" 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="407" type="stmt" count="1"/>
      <line num="408" type="stmt" count="1"/>
      <line num="410" type="stmt" count="1"/>
      <line num="411" type="stmt" count="1"/>
      <line num="415" type="stmt" count="1"/>
      <line num="418" type="stmt" count="1"/>
      <line num="421" type="stmt" count="1"/>
      <line num="431" type="method" name="renderFocusedFrame" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="436" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <line num="445" type="stmt" count="0"/>
      <line num="446" type="stmt" count="0"/>
      <line num="447" type="stmt" count="0"/>
      <line num="449" type="stmt" count="0"/>
      <line num="450" type="stmt" count="0"/>
      <line num="458" type="method" name="buildBackLink" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="459" type="stmt" count="0"/>
      <line num="460" type="stmt" count="0"/>
      <line num="461" type="stmt" count="0"/>
      <line num="462" type="stmt" count="0"/>
      <line num="463" type="stmt" count="0"/>
      <line num="471" type="method" name="emitNoJsNotice" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="472" type="stmt" count="1"/>
      <line num="473" type="stmt" count="1"/>
      <line num="474" type="stmt" count="1"/>
      <line num="475" type="stmt" count="1"/>
      <line num="476" type="stmt" count="1"/>
      <line num="477" type="stmt" count="1"/>
      <line num="486" type="method" name="emitModuleFrame" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="487" type="stmt" count="1"/>
      <line num="488" type="stmt" count="1"/>
      <line num="489" type="stmt" count="1"/>
      <line num="490" type="stmt" count="1"/>
      <line num="493" type="method" name="recordModuleRenderingTime" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="494" type="stmt" count="1"/>
      <line num="495" type="stmt" count="1"/>
      <line num="496" type="stmt" count="1"/>
      <line num="497" type="stmt" count="1"/>
      <line num="498" type="stmt" count="1"/>
      <line num="499" type="stmt" count="1"/>
      <line num="500" type="stmt" count="1"/>
      <line num="511" type="method" name="getModuleRenderHtmlSafe" visibility="private" complexity="3" crap="8.21" count="1"/>
      <line num="513" type="stmt" count="1"/>
      <line num="514" type="stmt" count="0"/>
      <line num="515" type="stmt" count="0"/>
      <line num="516" type="stmt" count="0"/>
      <line num="519" type="stmt" count="0"/>
      <line num="522" type="stmt" count="0"/>
      <line num="533" type="method" name="getModuleJsDataSafe" visibility="private" complexity="3" crap="8.21" count="1"/>
      <line num="535" type="stmt" count="1"/>
      <line num="536" type="stmt" count="0"/>
      <line num="537" type="stmt" count="0"/>
      <line num="538" type="stmt" count="0"/>
      <line num="540" type="stmt" count="0"/>
      <line num="541" type="stmt" count="0"/>
      <metrics loc="545" ncloc="387" classes="1" methods="19" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="201" coveredstatements="163" elements="220" coveredelements="173"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/Util.php">
      <class name="MediaWiki\Extension\PersonalDashboard\Util" namespace="global">
        <metrics complexity="40" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="98" coveredstatements="0" elements="110" coveredelements="0"/>
      </class>
      <line num="54" type="method" name="canSetEmail" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="56" 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="70" type="method" name="getRelativeTime" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="83" type="method" name="getIntervals" visibility="private" complexity="6" crap="42" count="0"/>
      <line num="84" type="stmt" count="0"/>
      <line num="85" type="stmt" count="0"/>
      <line num="86" 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="90" type="stmt" count="0"/>
      <line num="91" type="stmt" 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="106" type="method" name="isMobile" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" 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="122" type="method" name="logException" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="128" 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="137" type="stmt" count="0"/>
      <line num="146" type="method" name="logStatus" visibility="public" complexity="2" crap="6" 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="151" type="stmt" count="0"/>
      <line num="152" type="stmt" count="0"/>
      <line num="161" type="method" name="logText" visibility="public" complexity="1" crap="2" 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="175" type="method" name="getJsonUrl" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="179" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="181" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" 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="191" 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="198" type="stmt" count="0"/>
      <line num="211" type="method" name="getApiUrl" visibility="public" complexity="7" crap="56" 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="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" 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="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="235" type="stmt" count="0"/>
      <line num="238" 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="247" type="stmt" count="0"/>
      <line num="258" type="method" name="getRawUrl" visibility="public" complexity="4" crap="20" 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="270" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="284" type="method" name="getIteratorFromTraversable" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="298" type="method" name="generateRandomToken" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="299" type="stmt" count="0"/>
      <metrics loc="303" ncloc="210" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="98" coveredstatements="0" elements="110" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/PersonalDashboard/src/WikiConfigException.php">
      <class name="MediaWiki\Extension\PersonalDashboard\WikiConfigException" namespace="global">
        <metrics complexity="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="16" ncloc="9" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <metrics files="24" loc="3088" ncloc="2139" classes="21" methods="162" coveredmethods="56" conditionals="0" coveredconditionals="0" statements="971" coveredstatements="455" elements="1133" coveredelements="511"/>
  </project>
</coverage>
