<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1791792218">
  <project timestamp="1791792218">
    <file name="/workspace/src/extensions/MediaUploader/includes/Api/QueryAllCampaigns.php">
      <class name="MediaWiki\Extension\MediaUploader\Api\QueryAllCampaigns" namespace="global">
        <metrics complexity="17" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="0" elements="102" coveredelements="0"/>
      </class>
      <line num="36" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <line num="53" type="method" name="execute" visibility="public" complexity="12" crap="156" count="0"/>
      <line num="54" type="stmt" 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="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="67" 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="77" type="stmt" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="0"/>
      <line num="82" 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="92" 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="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="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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="116" 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="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="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="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="156" type="stmt" count="0"/>
      <line num="160" type="method" name="getCacheMode" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="165" type="method" name="getAllowedParams" visibility="public" complexity="1" crap="2" 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="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="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="178" type="stmt" count="0"/>
      <line num="184" type="method" name="getExamplesMessages" visibility="protected" complexity="1" crap="2" 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="192" type="method" name="getHelpUrls" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="194" type="stmt" count="0"/>
      <metrics loc="197" ncloc="165" classes="1" methods="6" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="0" elements="102" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignContent.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignContent" namespace="global">
        <metrics complexity="23" methods="10" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="62" elements="77" coveredelements="70"/>
      </class>
      <line num="31" type="method" name="getGlobalConfigAnchorLinkTarget" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="61" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="17"/>
      <line num="62" type="stmt" count="17"/>
      <line num="75" type="method" name="copyWithNewText" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="76" type="stmt" count="4"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="86" type="stmt" count="4"/>
      <line num="92" type="method" name="overrideValidationStatus" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="95" type="stmt" count="6"/>
      <line num="96" type="stmt" count="6"/>
      <line num="104" type="method" name="setServices" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="105" type="stmt" count="15"/>
      <line num="106" type="stmt" count="15"/>
      <line num="112" type="method" name="initServices" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="113" type="stmt" count="14"/>
      <line num="114" type="stmt" count="14"/>
      <line num="117" type="stmt" count="4"/>
      <line num="118" type="stmt" count="4"/>
      <line num="119" type="stmt" count="4"/>
      <line num="125" type="method" name="getValidationStatus" visibility="public" complexity="3" crap="3" count="14"/>
      <line num="126" type="stmt" count="14"/>
      <line num="128" type="stmt" count="14"/>
      <line num="129" type="stmt" count="9"/>
      <line num="133" type="stmt" count="14"/>
      <line num="134" type="stmt" count="14"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="139" type="stmt" count="11"/>
      <line num="140" type="stmt" count="11"/>
      <line num="141" type="stmt" count="11"/>
      <line num="143" type="stmt" count="11"/>
      <line num="149" type="method" name="isValid" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="150" type="stmt" count="8"/>
      <line num="160" type="method" name="getData" visibility="public" complexity="4" crap="4.18" count="17"/>
      <line num="161" type="stmt" count="17"/>
      <line num="162" type="stmt" count="9"/>
      <line num="166" type="stmt" count="17"/>
      <line num="167" type="stmt" count="17"/>
      <line num="168" type="stmt" count="17"/>
      <line num="169" type="stmt" count="17"/>
      <line num="170" type="stmt" count="12"/>
      <line num="171" type="stmt" count="12"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="176" type="stmt" count="0"/>
      <line num="178" type="stmt" count="12"/>
      <line num="179" type="stmt" count="5"/>
      <line num="180" type="stmt" count="5"/>
      <line num="181" type="stmt" count="5"/>
      <line num="182" type="stmt" count="5"/>
      <line num="183" type="stmt" count="5"/>
      <line num="193" type="method" name="newCampaignRecord" visibility="public" complexity="8" crap="8.01" count="10"/>
      <line num="194" type="stmt" count="10"/>
      <line num="195" type="stmt" count="10"/>
      <line num="196" type="stmt" count="2"/>
      <line num="198" type="stmt" count="8"/>
      <line num="199" type="stmt" count="8"/>
      <line num="200" type="stmt" count="5"/>
      <line num="202" type="stmt" count="3"/>
      <line num="206" type="stmt" count="10"/>
      <line num="210" type="stmt" count="10"/>
      <line num="211" type="stmt" count="0"/>
      <line num="214" type="stmt" count="10"/>
      <line num="215" type="stmt" count="10"/>
      <line num="216" type="stmt" count="10"/>
      <line num="217" type="stmt" count="10"/>
      <line num="218" type="stmt" count="10"/>
      <line num="219" type="stmt" count="10"/>
      <line num="220" type="stmt" count="10"/>
      <metrics loc="223" ncloc="153" classes="1" methods="10" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="67" coveredstatements="62" elements="77" coveredelements="70"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignContentHandler.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignContentHandler" namespace="global">
        <metrics complexity="14" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="31" elements="51" coveredelements="34"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="37" type="method" name="getContentClass" visibility="protected" complexity="1" crap="1" count="3"/>
      <line num="38" type="stmt" count="3"/>
      <line num="44" type="method" name="makeEmptyContent" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="56" type="method" name="preSaveTransform" visibility="public" complexity="3" crap="3.03" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="0"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="76" type="method" name="fillParserOutput" visibility="public" complexity="5" crap="6.60" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="93" type="stmt" count="1"/>
      <line num="94" type="stmt" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="107" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <line num="113" type="stmt" count="3"/>
      <line num="114" type="stmt" count="3"/>
      <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="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="148" type="method" name="registerTemplates" visibility="private" complexity="3" crap="3" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <metrics loc="161" ncloc="110" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="31" elements="51" coveredelements="34"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignPageFormatter.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignPageFormatter" namespace="global">
        <metrics complexity="6" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="0" elements="106" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="36" type="stmt" count="0"/>
      <line num="37" type="stmt" count="0"/>
      <line num="40" type="stmt" count="0"/>
      <line num="43" type="stmt" count="0"/>
      <line num="52" type="method" name="fillParserOutput" visibility="public" complexity="5" crap="30" 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="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="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="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="75" type="stmt" count="0"/>
      <line num="76" 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="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="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="94" 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="101" type="stmt" count="0"/>
      <line num="102" 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"/>
      <line num="108" 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"/>
      <line num="114" 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="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="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="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" 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="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="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="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"/>
      <metrics loc="171" ncloc="153" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="104" coveredstatements="0" elements="106" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignRecord.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignRecord" namespace="global">
        <metrics complexity="17" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="36" coveredelements="36"/>
      </class>
      <line num="50" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="16"/>
      <line num="57" type="stmt" count="16"/>
      <line num="58" type="stmt" count="16"/>
      <line num="59" type="stmt" count="16"/>
      <line num="60" type="stmt" count="16"/>
      <line num="61" type="stmt" count="16"/>
      <line num="70" type="method" name="getPageId" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="77" type="method" name="isEnabled" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="78" type="stmt" count="6"/>
      <line num="85" type="method" name="getValidity" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="86" type="stmt" count="6"/>
      <line num="93" type="method" name="getContent" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="94" type="stmt" count="6"/>
      <line num="101" type="method" name="getPage" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="102" type="stmt" count="6"/>
      <line num="113" type="method" name="assertValid" visibility="public" complexity="7" crap="7" count="5"/>
      <line num="114" type="stmt" count="5"/>
      <line num="116" type="stmt" count="1"/>
      <line num="118" type="stmt" count="1"/>
      <line num="121" type="stmt" count="3"/>
      <line num="122" type="stmt" count="1"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="1"/>
      <line num="137" type="method" name="getTrackingCategoryName" visibility="public" complexity="4" crap="4" count="5"/>
      <line num="138" type="stmt" count="5"/>
      <line num="139" type="stmt" count="1"/>
      <line num="142" type="stmt" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="144" type="stmt" count="4"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="152" type="stmt" count="3"/>
      <metrics loc="155" ncloc="98" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="36" coveredelements="36"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignSelectQueryBuilder.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignSelectQueryBuilder" namespace="global">
        <metrics complexity="9" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="22" coveredelements="22"/>
      </class>
      <line num="24" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="25" type="stmt" count="1"/>
      <line num="27" type="stmt" count="1"/>
      <line num="37" type="method" name="whereEnabled" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="38" type="stmt" count="1"/>
      <line num="39" type="stmt" count="1"/>
      <line num="47" type="method" name="orderByIdAsc" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="59" type="method" name="fetchCampaignRecord" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="75" type="method" name="fetchCampaignRecords" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="86" type="method" name="prepareForSelect" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <metrics loc="92" ncloc="55" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="22" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignStats.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignStats" namespace="global">
        <metrics complexity="16" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="0" elements="101" coveredelements="0"/>
      </class>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="50" type="method" name="getStatsForRecord" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="67" type="method" name="getStatsForRecords" visibility="public" complexity="9" crap="90" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="72" 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="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="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="95" 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="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" 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"/>
      <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="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="131" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="148" type="method" name="getUploadedMedia" visibility="private" complexity="2" crap="6" 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="160" type="stmt" count="0"/>
      <line num="161" type="stmt" count="0"/>
      <line num="162" 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="168" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="180" type="method" name="getSummaryCounts" visibility="private" complexity="2" crap="6" 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="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="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="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="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <metrics loc="207" ncloc="157" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="96" coveredstatements="0" elements="101" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/CampaignStore.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\CampaignStore" namespace="global">
        <metrics complexity="18" methods="9" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="57" elements="74" coveredelements="62"/>
      </class>
      <line num="29" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="9"/>
      <line num="30" type="stmt" count="9"/>
      <line num="40" type="method" name="getSelectFields" visibility="public" complexity="3" crap="3.05" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="45" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="1"/>
      <line num="51" type="stmt" count="2"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="56" type="stmt" count="2"/>
      <line num="66" type="method" name="getSelectTables" visibility="public" complexity="2" crap="2.06" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="0"/>
      <line num="74" type="stmt" count="1"/>
      <line num="84" type="method" name="getJoinConds" visibility="public" complexity="2" crap="2.15" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="0"/>
      <line num="90" type="stmt" count="1"/>
      <line num="102" type="method" name="newRecordFromRow" visibility="public" complexity="4" crap="4" count="7"/>
      <line num="106" type="stmt" count="7"/>
      <line num="107" type="stmt" count="7"/>
      <line num="108" type="stmt" count="3"/>
      <line num="109" type="stmt" count="3"/>
      <line num="110" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="114" type="stmt" count="7"/>
      <line num="115" type="stmt" count="7"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="123" type="stmt" count="7"/>
      <line num="124" type="stmt" count="7"/>
      <line num="125" type="stmt" count="7"/>
      <line num="126" type="stmt" count="7"/>
      <line num="127" type="stmt" count="7"/>
      <line num="128" type="stmt" count="7"/>
      <line num="129" type="stmt" count="7"/>
      <line num="135" type="method" name="newSelectQueryBuilder" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="136" type="stmt" count="1"/>
      <line num="137" type="stmt" count="1"/>
      <line num="138" type="stmt" count="1"/>
      <line num="144" type="method" name="upsertCampaign" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="145" type="stmt" count="1"/>
      <line num="146" type="stmt" count="1"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="151" type="stmt" count="1"/>
      <line num="152" type="stmt" count="1"/>
      <line num="153" type="stmt" count="1"/>
      <line num="154" type="stmt" count="1"/>
      <line num="155" type="stmt" count="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="168" type="method" name="deleteCampaignByPageId" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="169" 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="173" type="stmt" count="1"/>
      <line num="174" type="stmt" count="1"/>
      <line num="187" type="method" name="getCampaignByDBKey" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="197" ncloc="135" classes="1" methods="9" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="65" coveredstatements="57" elements="74" coveredelements="62"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/Exception/BaseCampaignException.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\Exception\BaseCampaignException" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="5" coveredelements="5"/>
      </class>
      <line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="16" type="stmt" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="23" type="method" name="getCampaignName" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="24" type="stmt" count="2"/>
      <metrics loc="27" ncloc="20" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="3" coveredstatements="3" elements="5" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/Exception/IncompleteRecordException.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\Exception\IncompleteRecordException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
      </class>
      <line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="2" 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="21" type="stmt" count="0"/>
      <line num="23" type="stmt" count="0"/>
      <metrics loc="26" ncloc="19" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="0" elements="9" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/Exception/InvalidCampaignException.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\Exception\InvalidCampaignException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="9" coveredelements="9"/>
      </class>
      <line num="10" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="11" type="stmt" count="2"/>
      <line num="12" type="stmt" count="2"/>
      <line num="13" type="stmt" count="2"/>
      <line num="14" type="stmt" count="2"/>
      <line num="15" type="stmt" count="2"/>
      <line num="16" type="stmt" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="19" type="stmt" count="2"/>
      <metrics loc="29" ncloc="21" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="8" coveredstatements="8" elements="9" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/Exception/InvalidFormatException.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\Exception\InvalidFormatException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="10" type="method" name="getErrorMessageKey" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="11" type="stmt" count="1"/>
      <metrics loc="14" ncloc="10" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/Exception/InvalidSchemaException.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\Exception\InvalidSchemaException" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
      </class>
      <line num="10" type="method" name="getErrorMessageKey" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="11" type="stmt" count="1"/>
      <metrics loc="14" ncloc="10" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="1" coveredstatements="1" elements="2" coveredelements="2"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Campaign/Validator.php">
      <class name="MediaWiki\Extension\MediaUploader\Campaign\Validator" namespace="global">
        <metrics complexity="10" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="45" elements="51" coveredelements="49"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="27"/>
      <line num="26" type="stmt" count="27"/>
      <line num="27" type="stmt" count="27"/>
      <line num="37" type="method" name="validate" visibility="public" complexity="1" crap="1" count="27"/>
      <line num="38" type="stmt" count="27"/>
      <line num="39" type="stmt" count="27"/>
      <line num="40" type="stmt" count="27"/>
      <line num="41" type="stmt" count="27"/>
      <line num="42" type="stmt" count="27"/>
      <line num="43" type="stmt" count="27"/>
      <line num="44" type="stmt" count="27"/>
      <line num="45" type="stmt" count="27"/>
      <line num="46" type="stmt" count="27"/>
      <line num="47" type="stmt" count="27"/>
      <line num="48" type="stmt" count="27"/>
      <line num="50" type="stmt" count="27"/>
      <line num="56" type="method" name="makeSchema" visibility="private" complexity="1" crap="1" count="27"/>
      <line num="57" type="stmt" count="27"/>
      <line num="58" type="stmt" count="27"/>
      <line num="59" type="stmt" count="27"/>
      <line num="60" type="stmt" count="27"/>
      <line num="61" type="stmt" count="27"/>
      <line num="62" type="stmt" count="27"/>
      <line num="63" type="stmt" count="27"/>
      <line num="65" type="stmt" count="27"/>
      <line num="71" type="method" name="doValidate" visibility="private" complexity="4" crap="4" count="27"/>
      <line num="72" type="stmt" count="27"/>
      <line num="73" type="stmt" count="27"/>
      <line num="75" type="stmt" count="27"/>
      <line num="76" type="stmt" count="1"/>
      <line num="79" type="stmt" count="26"/>
      <line num="80" type="stmt" count="26"/>
      <line num="82" type="stmt" count="26"/>
      <line num="83" type="stmt" count="21"/>
      <line num="86" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="88" type="stmt" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="90" type="stmt" count="5"/>
      <line num="91" type="stmt" count="5"/>
      <line num="93" type="stmt" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <line num="97" type="stmt" count="5"/>
      <line num="104" type="method" name="arrayToObject" visibility="private" complexity="3" crap="3.03" count="27"/>
      <line num="107" type="stmt" count="27"/>
      <line num="109" type="stmt" count="27"/>
      <line num="110" type="stmt" count="27"/>
      <line num="111" type="stmt" count="26"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="115" type="stmt" count="0"/>
      <metrics loc="119" ncloc="94" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="46" coveredstatements="45" elements="51" coveredelements="49"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/CampaignParsedConfig.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\CampaignParsedConfig" namespace="global">
        <metrics complexity="22" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="70" elements="77" coveredelements="77"/>
      </class>
      <line num="48" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="15"/>
      <line num="60" type="stmt" count="15"/>
      <line num="61" type="stmt" count="15"/>
      <line num="62" type="stmt" count="15"/>
      <line num="63" type="stmt" count="15"/>
      <line num="64" type="stmt" count="15"/>
      <line num="65" type="stmt" count="15"/>
      <line num="66" type="stmt" count="15"/>
      <line num="68" type="stmt" count="15"/>
      <line num="69" type="stmt" count="15"/>
      <line num="70" type="stmt" count="15"/>
      <line num="71" type="stmt" count="15"/>
      <line num="72" type="stmt" count="15"/>
      <line num="78" type="method" name="getName" visibility="public" complexity="1" crap="1" count="8"/>
      <line num="79" type="stmt" count="8"/>
      <line num="85" type="method" name="initialize" visibility="protected" complexity="2" crap="2" count="14"/>
      <line num="86" type="stmt" count="14"/>
      <line num="88" type="stmt" count="7"/>
      <line num="90" type="stmt" count="7"/>
      <line num="91" type="stmt" count="7"/>
      <line num="92" type="stmt" count="7"/>
      <line num="94" type="stmt" count="7"/>
      <line num="95" type="stmt" count="7"/>
      <line num="98" type="stmt" count="7"/>
      <line num="99" type="stmt" count="7"/>
      <line num="100" type="stmt" count="7"/>
      <line num="101" type="stmt" count="7"/>
      <line num="102" type="stmt" count="7"/>
      <line num="103" type="stmt" count="7"/>
      <line num="107" type="stmt" count="14"/>
      <line num="108" type="stmt" count="14"/>
      <line num="109" type="stmt" count="14"/>
      <line num="110" type="stmt" count="14"/>
      <line num="111" type="stmt" count="14"/>
      <line num="113" type="stmt" count="14"/>
      <line num="119" type="method" name="parseConfigForCache" visibility="private" complexity="2" crap="2" count="14"/>
      <line num="120" type="stmt" count="14"/>
      <line num="121" type="stmt" count="14"/>
      <line num="122" type="stmt" count="14"/>
      <line num="123" type="stmt" count="14"/>
      <line num="124" type="stmt" count="14"/>
      <line num="125" type="stmt" count="14"/>
      <line num="126" type="stmt" count="14"/>
      <line num="127" type="stmt" count="14"/>
      <line num="129" type="stmt" count="14"/>
      <line num="130" type="stmt" count="14"/>
      <line num="131" type="stmt" count="14"/>
      <line num="132" type="stmt" count="14"/>
      <line num="133" type="stmt" count="14"/>
      <line num="143" type="method" name="applyTimeBasedModifiers" visibility="protected" complexity="6" crap="6" count="14"/>
      <line num="144" type="stmt" count="14"/>
      <line num="145" type="stmt" count="10"/>
      <line num="146" type="stmt" count="4"/>
      <line num="147" type="stmt" count="2"/>
      <line num="149" type="stmt" count="2"/>
      <line num="152" type="stmt" count="14"/>
      <line num="154" type="stmt" count="8"/>
      <line num="155" type="stmt" count="8"/>
      <line num="156" type="stmt" count="2"/>
      <line num="159" type="stmt" count="8"/>
      <line num="160" type="stmt" count="8"/>
      <line num="164" type="stmt" count="14"/>
      <line num="175" type="method" name="isActive" visibility="private" complexity="6" crap="6" count="14"/>
      <line num="176" type="stmt" count="14"/>
      <line num="177" type="stmt" count="14"/>
      <line num="178" type="stmt" count="14"/>
      <line num="179" type="stmt" count="14"/>
      <line num="180" type="stmt" count="14"/>
      <line num="181" type="stmt" count="14"/>
      <line num="182" type="stmt" count="14"/>
      <line num="184" type="stmt" count="14"/>
      <line num="195" type="method" name="wasActive" visibility="private" complexity="4" crap="4" count="4"/>
      <line num="196" type="stmt" count="4"/>
      <line num="197" type="stmt" count="4"/>
      <line num="198" type="stmt" count="4"/>
      <line num="199" type="stmt" count="4"/>
      <line num="201" type="stmt" count="4"/>
      <metrics loc="204" ncloc="144" classes="1" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="70" coveredstatements="70" elements="77" coveredelements="77"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/ConfigBase.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\ConfigBase" namespace="global">
        <metrics complexity="11" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="22" coveredelements="22"/>
      </class>
      <line num="28" type="method" name="getSetting" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="40" type="method" name="getAvailableLicenses" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="41" type="stmt" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="45" type="stmt" count="1"/>
      <line num="48" type="stmt" count="1"/>
      <line num="58" type="method" name="isAssoc" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="74" type="method" name="arrayReplaceSanely" visibility="protected" complexity="7" crap="7" count="5"/>
      <line num="75" type="stmt" count="5"/>
      <line num="77" type="stmt" count="5"/>
      <line num="78" type="stmt" count="5"/>
      <line num="79" type="stmt" count="4"/>
      <line num="80" type="stmt" count="4"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="1"/>
      <line num="87" type="stmt" count="3"/>
      <line num="90" type="stmt" count="5"/>
      <line num="94" type="stmt" count="5"/>
      <metrics loc="97" ncloc="51" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="22" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/ConfigCacheInvalidator.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\ConfigCacheInvalidator" namespace="global">
        <metrics complexity="3" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="7" elements="13" coveredelements="9"/>
      </class>
      <line num="16" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="17" type="stmt" count="2"/>
      <line num="27" type="method" name="makeInvalidateTimestampKey" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="28" type="stmt" count="2"/>
      <line num="29" type="stmt" count="2"/>
      <line num="30" type="stmt" count="2"/>
      <line num="31" type="stmt" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="33" type="stmt" count="2"/>
      <line num="43" type="method" name="invalidate" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="44" type="stmt" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="46" type="stmt" count="0"/>
      <metrics loc="49" ncloc="30" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="7" elements="13" coveredelements="9"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/ConfigFactory.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\ConfigFactory" namespace="global">
        <metrics complexity="6" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="36" elements="55" coveredelements="39"/>
      </class>
      <line num="63" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="85" type="method" name="newRequestConfig" visibility="private" complexity="1" crap="1" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="92" type="stmt" count="1"/>
      <line num="106" type="method" name="newGlobalConfig" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" 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="142" type="method" name="newCampaignConfig" visibility="public" complexity="2" crap="2" 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="1"/>
      <line num="156" type="stmt" count="1"/>
      <line num="157" type="stmt" count="1"/>
      <line num="158" type="stmt" count="1"/>
      <line num="159" type="stmt" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="163" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="165" type="stmt" count="1"/>
      <line num="166" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <metrics loc="172" ncloc="122" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="36" elements="55" coveredelements="39"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/ConfigParser.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\ConfigParser" namespace="global">
        <metrics complexity="30" methods="7" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="82" elements="90" coveredelements="88"/>
      </class>
      <line num="45" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="51" type="stmt" count="13"/>
      <line num="53" type="stmt" count="13"/>
      <line num="55" type="stmt" count="13"/>
      <line num="56" type="stmt" count="13"/>
      <line num="57" type="stmt" count="13"/>
      <line num="58" type="stmt" count="13"/>
      <line num="64" type="method" name="getParsedConfig" visibility="public" complexity="2" crap="2" count="13"/>
      <line num="65" type="stmt" count="13"/>
      <line num="66" type="stmt" count="13"/>
      <line num="68" type="stmt" count="13"/>
      <line num="76" type="method" name="getTemplates" visibility="public" complexity="2" crap="2.15" count="12"/>
      <line num="77" type="stmt" count="12"/>
      <line num="78" type="stmt" count="0"/>
      <line num="80" type="stmt" count="12"/>
      <line num="86" type="method" name="parseConfig" visibility="private" complexity="17" crap="17" count="13"/>
      <line num="87" type="stmt" count="13"/>
      <line num="88" type="stmt" count="13"/>
      <line num="90" type="stmt" count="13"/>
      <line num="91" type="stmt" count="13"/>
      <line num="92" type="stmt" count="6"/>
      <line num="93" type="stmt" count="6"/>
      <line num="94" type="stmt" count="9"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="102" type="stmt" count="2"/>
      <line num="105" type="stmt" count="2"/>
      <line num="106" type="stmt" count="7"/>
      <line num="107" type="stmt" count="3"/>
      <line num="109" 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="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="122" type="stmt" count="3"/>
      <line num="123" type="stmt" count="4"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="126" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="128" type="stmt" count="2"/>
      <line num="129" type="stmt" count="2"/>
      <line num="131" type="stmt" count="2"/>
      <line num="132" type="stmt" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <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="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="146" type="stmt" count="13"/>
      <line num="157" type="method" name="parseArrayValues" visibility="private" complexity="5" crap="5" count="4"/>
      <line num="158" type="stmt" count="4"/>
      <line num="159" type="stmt" count="4"/>
      <line num="160" type="stmt" count="4"/>
      <line num="161" type="stmt" count="3"/>
      <line num="162" type="stmt" count="3"/>
      <line num="163" type="stmt" count="2"/>
      <line num="165" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="171" type="stmt" count="3"/>
      <line num="174" type="stmt" count="4"/>
      <line num="184" type="method" name="parseValue" visibility="private" complexity="1" crap="1" count="10"/>
      <line num="185" type="stmt" count="10"/>
      <line num="186" type="stmt" count="10"/>
      <line num="187" type="stmt" count="10"/>
      <line num="188" type="stmt" count="10"/>
      <line num="189" type="stmt" count="10"/>
      <line num="190" type="stmt" count="10"/>
      <line num="191" type="stmt" count="10"/>
      <line num="193" type="stmt" count="10"/>
      <line num="195" type="stmt" count="10"/>
      <line num="205" type="method" name="updateTemplates" visibility="private" complexity="2" crap="2" count="10"/>
      <line num="206" type="stmt" count="10"/>
      <line num="207" type="stmt" count="10"/>
      <line num="208" type="stmt" count="2"/>
      <line num="209" type="stmt" count="2"/>
      <line num="210" type="stmt" count="2"/>
      <line num="211" type="stmt" count="2"/>
      <metrics loc="215" ncloc="160" classes="1" methods="7" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="83" coveredstatements="82" elements="90" coveredelements="88"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/ConfigParserFactory.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\ConfigParserFactory" namespace="global">
        <metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="24" type="stmt" count="0"/>
      <line num="36" type="method" name="newConfigParser" visibility="public" complexity="1" crap="2" 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"/>
      <metrics loc="52" ncloc="34" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="0" elements="11" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/GlobalConfigAnchorUpdateJob.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\GlobalConfigAnchorUpdateJob" namespace="global">
        <metrics complexity="6" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="23" elements="27" coveredelements="25"/>
      </class>
      <line num="27" type="method" name="newSpec" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="28" type="stmt" count="0"/>
      <line num="31" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="32" type="stmt" count="2"/>
      <line num="39" type="method" name="run" visibility="public" complexity="4" crap="4" count="2"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="43" type="stmt" count="2"/>
      <line num="44" type="stmt" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="47" type="stmt" count="2"/>
      <line num="48" type="stmt" count="1"/>
      <line num="49" type="stmt" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="54" type="stmt" count="2"/>
      <line num="55" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="57" type="stmt" count="2"/>
      <line num="59" type="stmt" count="2"/>
      <line num="60" type="stmt" count="2"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="68" type="stmt" count="2"/>
      <line num="70" type="stmt" count="2"/>
      <metrics loc="73" ncloc="59" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="23" elements="27" coveredelements="25"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/GlobalParsedConfig.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\GlobalParsedConfig" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="49" elements="58" coveredelements="53"/>
      </class>
      <line num="44" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="56" type="stmt" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="6"/>
      <line num="59" type="stmt" count="6"/>
      <line num="60" type="stmt" count="6"/>
      <line num="61" type="stmt" count="6"/>
      <line num="63" type="stmt" count="6"/>
      <line num="64" type="stmt" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="72" type="method" name="initialize" visibility="protected" complexity="5" crap="5.13" count="6"/>
      <line num="73" type="stmt" count="6"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="86" type="stmt" count="3"/>
      <line num="88" type="stmt" count="3"/>
      <line num="90" type="stmt" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="99" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="3"/>
      <line num="103" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="108" type="stmt" count="3"/>
      <line num="114" type="method" name="parseConfig" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="115" type="stmt" count="6"/>
      <line num="116" type="stmt" count="6"/>
      <line num="117" type="stmt" count="6"/>
      <line num="118" type="stmt" count="6"/>
      <line num="120" type="stmt" count="6"/>
      <line num="121" type="stmt" count="6"/>
      <line num="130" type="method" name="saveConfigToCache" visibility="private" complexity="1" crap="1" count="3"/>
      <line num="133" type="stmt" count="3"/>
      <line num="134" type="stmt" count="3"/>
      <line num="135" type="stmt" count="3"/>
      <line num="136" type="stmt" count="3"/>
      <line num="137" type="stmt" count="3"/>
      <line num="138" type="stmt" count="3"/>
      <line num="139" type="stmt" count="3"/>
      <line num="142" type="stmt" count="3"/>
      <line num="143" type="stmt" count="3"/>
      <line num="149" type="method" name="applyUrlOverrides" visibility="private" complexity="1" crap="1" count="6"/>
      <line num="150" type="stmt" count="6"/>
      <line num="151" type="stmt" count="6"/>
      <line num="152" type="stmt" count="6"/>
      <line num="153" type="stmt" count="6"/>
      <metrics loc="156" ncloc="110" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="49" elements="58" coveredelements="53"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/ParsedConfig.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\ParsedConfig" namespace="global">
        <metrics complexity="7" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="32" coveredelements="32"/>
      </class>
      <line num="53" type="method" name="__construct" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="60" type="stmt" count="4"/>
      <line num="62" type="stmt" count="4"/>
      <line num="63" type="stmt" count="4"/>
      <line num="64" type="stmt" count="4"/>
      <line num="65" type="stmt" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="76" type="method" name="makeCacheKey" visibility="protected" complexity="2" crap="2" count="2"/>
      <line num="82" type="stmt" count="2"/>
      <line num="83" type="stmt" count="2"/>
      <line num="84" type="stmt" count="2"/>
      <line num="85" type="stmt" count="2"/>
      <line num="86" type="stmt" count="2"/>
      <line num="88" type="stmt" count="2"/>
      <line num="89" type="stmt" count="2"/>
      <line num="90" type="stmt" count="2"/>
      <line num="91" type="stmt" count="2"/>
      <line num="92" type="stmt" count="2"/>
      <line num="93" type="stmt" count="2"/>
      <line num="94" type="stmt" count="2"/>
      <line num="110" type="method" name="getConfigArray" visibility="public" complexity="2" crap="2" 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="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="1"/>
      <line num="125" type="method" name="getTemplates" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <line num="127" type="stmt" count="1"/>
      <line num="128" type="stmt" count="1"/>
      <line num="129" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <metrics loc="135" ncloc="84" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="28" coveredstatements="28" elements="32" coveredelements="32"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/RawConfig.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\RawConfig" namespace="global">
        <metrics complexity="10" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="30" coveredelements="30"/>
      </class>
      <line num="56" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="57" type="stmt" count="6"/>
      <line num="58" type="stmt" count="6"/>
      <line num="64" type="method" name="getDefaultConfig" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="65" type="stmt" count="6"/>
      <line num="66" type="stmt" count="6"/>
      <line num="69" type="stmt" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="72" type="stmt" count="5"/>
      <line num="74" type="stmt" count="6"/>
      <line num="75" type="stmt" count="6"/>
      <line num="76" type="stmt" count="6"/>
      <line num="82" type="method" name="getConfigArray" visibility="public" complexity="3" crap="3" count="5"/>
      <line num="84" type="stmt" count="5"/>
      <line num="85" type="stmt" count="5"/>
      <line num="87" type="stmt" count="5"/>
      <line num="88" type="stmt" count="5"/>
      <line num="89" type="stmt" count="5"/>
      <line num="92" type="stmt" count="5"/>
      <line num="103" type="method" name="mergeConfigs" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="104" type="stmt" count="6"/>
      <line num="105" type="stmt" count="6"/>
      <line num="106" type="stmt" count="4"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="2"/>
      <line num="110" type="stmt" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="125" type="method" name="getConfigWithAdditionalDefaults" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="126" type="stmt" count="1"/>
      <metrics loc="129" ncloc="72" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="30" coveredelements="30"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Config/RequestConfig.php">
      <class name="MediaWiki\Extension\MediaUploader\Config\RequestConfig" namespace="global">
        <metrics complexity="17" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="25" elements="65" coveredelements="28"/>
      </class>
      <line num="54" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="72" type="method" name="getConfigArray" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="85" type="method" name="getConfigHash" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="93" type="method" name="getTemplateLanguages" visibility="private" complexity="13" crap="80.02" count="1"/>
      <line num="96" type="stmt" count="1"/>
      <line num="97" type="stmt" count="1"/>
      <line num="98" type="stmt" count="1"/>
      <line num="99" type="stmt" count="1"/>
      <line num="100" type="stmt" count="1"/>
      <line num="101" type="stmt" count="1"/>
      <line num="102" type="stmt" count="1"/>
      <line num="103" type="stmt" count="1"/>
      <line num="104" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="113" type="stmt" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" 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="131" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" 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="143" 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="156" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="160" type="stmt" count="0"/>
      <line num="162" type="stmt" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="167" type="stmt" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="170" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <metrics loc="174" ncloc="126" classes="1" methods="4" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="25" elements="65" coveredelements="28"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Hooks/CampaignContentHooks.php">
      <class name="MediaWiki\Extension\MediaUploader\Hooks\CampaignContentHooks" namespace="global">
        <metrics complexity="9" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="12" elements="18" coveredelements="16"/>
      </class>
      <line num="28" type="method" name="newFromGlobalState" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="32" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="33" type="stmt" count="7"/>
      <line num="44" type="method" name="onContentModelCanBeUsedOn" visibility="public" complexity="2" crap="2" count="4"/>
      <line num="45" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="2"/>
      <line num="49" type="stmt" count="2"/>
      <line num="52" type="stmt" count="2"/>
      <line num="63" type="method" name="onEditPage__showEditForm_initial" visibility="public" complexity="3" crap="3" count="3"/>
      <line num="64" type="stmt" count="3"/>
      <line num="65" type="stmt" count="3"/>
      <line num="67" type="stmt" count="1"/>
      <line num="80" type="method" name="onCodeEditorGetPageLanguage" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="82" type="stmt" count="1"/>
      <metrics loc="86" ncloc="51" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="13" coveredstatements="12" elements="18" coveredelements="16"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Hooks/CampaignHooks.php">
      <class name="MediaWiki\Extension\MediaUploader\Hooks\CampaignHooks" namespace="global">
        <metrics complexity="26" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="32" elements="58" coveredelements="38"/>
      </class>
      <line num="52" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="13"/>
      <line num="56" type="stmt" count="13"/>
      <line num="57" type="stmt" count="13"/>
      <line num="73" type="method" name="onPageDeleteComplete" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="77" type="stmt" count="2"/>
      <line num="78" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="97" type="method" name="onEditFilterMergedContent" visibility="public" complexity="5" crap="5.03" count="4"/>
      <line num="105" type="stmt" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="108" type="stmt" count="1"/>
      <line num="111" type="stmt" count="3"/>
      <line num="114" type="stmt" count="1"/>
      <line num="117" type="stmt" count="2"/>
      <line num="118" type="stmt" count="0"/>
      <line num="121" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="138" type="method" name="onLinksUpdateComplete" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="1"/>
      <line num="144" type="stmt" count="3"/>
      <line num="147" type="stmt" count="2"/>
      <line num="148" type="stmt" count="1"/>
      <line num="150" type="stmt" count="2"/>
      <line num="153" type="stmt" count="1"/>
      <line num="171" type="method" name="onPageSaveComplete" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="174" 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="181" type="stmt" count="0"/>
      <line num="182" 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="194" type="method" name="doCampaignUpdate" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="195" type="stmt" count="1"/>
      <line num="196" type="stmt" count="1"/>
      <line num="210" type="method" name="onPageDelete" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="213" type="stmt" count="2"/>
      <line num="214" type="stmt" count="1"/>
      <line num="215" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="229" type="method" name="onMovePageIsValidMove" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="230" type="stmt" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="244" type="method" name="isGlobalConfigAnchor" visibility="private" complexity="1" crap="1" count="8"/>
      <line num="245" type="stmt" count="8"/>
      <line num="246" type="stmt" count="8"/>
      <line num="247" type="stmt" count="8"/>
      <line num="257" type="method" name="isMagicUser" visibility="private" complexity="4" crap="6.00" count="2"/>
      <line num="258" type="stmt" count="2"/>
      <line num="259" type="stmt" count="0"/>
      <line num="262" type="stmt" count="2"/>
      <line num="263" type="stmt" count="0"/>
      <line num="264" type="stmt" count="0"/>
      <line num="266" type="stmt" count="2"/>
      <metrics loc="269" ncloc="166" classes="1" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="48" coveredstatements="32" elements="58" coveredelements="38"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Hooks/Hooks.php">
      <class name="MediaWiki\Extension\MediaUploader\Hooks\Hooks" namespace="global">
        <metrics complexity="14" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="0" elements="71" 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="27" type="method" name="onGetPreferences" visibility="public" complexity="10" crap="110" 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="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="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="51" type="stmt" count="0"/>
      <line num="52" 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="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="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="73" 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="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="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="94" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="102" type="stmt" count="0"/>
      <line num="104" type="stmt" 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="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="120" type="method" name="getLicenseMessage" visibility="private" complexity="3" crap="12" 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="126" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="129" type="stmt" count="0"/>
      <metrics loc="133" ncloc="111" classes="1" methods="3" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="68" coveredstatements="0" elements="71" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Hooks/RegistrationHooks.php">
      <class name="MediaWiki\Extension\MediaUploader\Hooks\RegistrationHooks" namespace="global">
        <metrics complexity="6" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="4" elements="15" coveredelements="8"/>
      </class>
      <line num="31" type="method" name="registerExtension" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="32" type="stmt" count="0"/>
      <line num="43" type="method" name="onListDefinedTags" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="44" type="stmt" count="1"/>
      <line num="50" type="method" name="onChangeTagsAllowedAdd" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="51" type="stmt" count="1"/>
      <line num="57" type="method" name="onChangeTagsListActive" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="68" type="method" name="onUserGetReservedNames" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="77" type="method" name="onLoadExtensionSchemaUpdates" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="78" type="stmt" count="0"/>
      <line num="79" type="stmt" count="0"/>
      <line num="81" type="stmt" count="0"/>
      <line num="83" type="stmt" count="0"/>
      <metrics loc="86" ncloc="51" classes="1" methods="6" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="4" elements="15" coveredelements="8"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/MediaUploaderResourceModule.php">
      <class name="MediaWiki\Extension\MediaUploader\MediaUploaderResourceModule" namespace="global">
        <metrics complexity="10" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="27" coveredelements="27"/>
      </class>
      <line num="22" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="6"/>
      <line num="23" type="stmt" count="6"/>
      <line num="24" type="stmt" count="6"/>
      <line num="35" type="method" name="getMessages" visibility="public" complexity="4" crap="4" count="6"/>
      <line num="36" type="stmt" count="6"/>
      <line num="39" type="stmt" count="6"/>
      <line num="40" type="stmt" count="2"/>
      <line num="41" type="stmt" count="2"/>
      <line num="42" type="stmt" count="2"/>
      <line num="47" type="stmt" count="6"/>
      <line num="49" type="stmt" count="6"/>
      <line num="50" type="stmt" count="6"/>
      <line num="51" type="stmt" count="6"/>
      <line num="52" type="stmt" count="6"/>
      <line num="53" type="stmt" count="6"/>
      <line num="54" type="stmt" count="6"/>
      <line num="55" type="stmt" count="6"/>
      <line num="66" type="method" name="getMessagesForLicenseGroups" visibility="private" complexity="5" crap="5" count="6"/>
      <line num="70" type="stmt" count="6"/>
      <line num="71" type="stmt" count="6"/>
      <line num="74" type="stmt" count="3"/>
      <line num="75" type="stmt" count="3"/>
      <line num="76" type="stmt" count="3"/>
      <line num="77" type="stmt" count="3"/>
      <line num="79" type="stmt" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="84" type="stmt" count="3"/>
      <metrics loc="87" ncloc="60" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="27" coveredelements="27"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/MediaUploaderResourceModuleFactory.php">
      <class name="MediaWiki\Extension\MediaUploader\MediaUploaderResourceModuleFactory" namespace="global">
        <metrics complexity="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
      </class>
      <line num="10" type="method" name="factory" visibility="public" 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"/>
      <line num="14" type="stmt" count="0"/>
      <metrics loc="17" ncloc="14" classes="1" methods="1" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="0" elements="5" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/MediaUploaderServices.php">
      <class name="MediaWiki\Extension\MediaUploader\MediaUploaderServices" namespace="global">
        <metrics complexity="10" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="7" elements="21" coveredelements="13"/>
      </class>
      <line num="24" type="method" name="getService" visibility="private" complexity="1" crap="1" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="29" type="method" name="getCampaignStore" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="30" type="stmt" count="1"/>
      <line num="33" type="method" name="getCampaignStats" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="37" type="method" name="getCampaignValidator" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="38" type="stmt" count="0"/>
      <line num="41" type="method" name="getConfigFactory" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="42" type="stmt" count="1"/>
      <line num="45" type="method" name="getConfigParserFactory" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="46" type="stmt" count="2"/>
      <line num="49" type="method" name="getConfigCacheInvalidator" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="50" type="stmt" count="1"/>
      <line num="53" type="method" name="getRawConfig" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="60" type="method" name="getSystemUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="71" type="method" name="isSystemUser" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <metrics loc="75" ncloc="59" classes="1" methods="10" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="11" coveredstatements="7" elements="21" coveredelements="13"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/ServiceWiring.php">
      <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="21" type="stmt" count="0"/>
      <line num="22" 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="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="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="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="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="51" type="stmt" count="0"/>
      <line num="52" type="stmt" count="0"/>
      <line num="53" type="stmt" 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="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"/>
      <metrics loc="72" ncloc="71" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="0" elements="51" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Special/Campaigns.php">
      <class name="MediaWiki\Extension\MediaUploader\Special\Campaigns" namespace="global">
        <metrics complexity="11" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="0" elements="84" coveredelements="0"/>
      </class>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="27" type="stmt" count="0"/>
      <line num="29" type="stmt" count="0"/>
      <line num="30" type="stmt" count="0"/>
      <line num="36" type="method" name="execute" visibility="public" complexity="5" crap="30" 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="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="46" type="stmt" count="0"/>
      <line num="48" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="52" type="stmt" 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="62" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="65" type="stmt" count="0"/>
      <line num="67" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="81" type="method" name="getHtmlForCampaign" visibility="private" complexity="3" crap="12" 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="87" 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="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="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="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="108" 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"/>
      <line num="114" 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="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="136" type="method" name="getHtmlForPagination" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" 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="150" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="151" type="stmt" count="0"/>
      <metrics loc="154" ncloc="136" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="79" coveredstatements="0" elements="84" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Special/MediaUploader.php">
      <class name="MediaWiki\Extension\MediaUploader\Special\MediaUploader" namespace="global">
        <metrics complexity="43" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="166" coveredstatements="5" elements="178" coveredelements="5"/>
      </class>
      <line num="57" type="method" name="__construct" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" 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="76" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="85" type="method" name="execute" visibility="public" complexity="10" crap="110" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" 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="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="100" type="stmt" 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="107" type="stmt" count="0"/>
      <line num="108" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="112" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" 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="125" type="stmt" count="0"/>
      <line num="126" type="stmt" count="0"/>
      <line num="130" type="stmt" count="0"/>
      <line num="132" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="136" 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="147" 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="154" type="stmt" count="0"/>
      <line num="155" type="stmt" count="0"/>
      <line num="159" type="stmt" count="0"/>
      <line num="165" type="method" name="loadConfig" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="166" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="173" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="183" type="method" name="tryLoadCampaignConfig" visibility="private" complexity="6" crap="42" 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="189" 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="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="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="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="222" type="stmt" count="0"/>
      <line num="223" type="stmt" count="0"/>
      <line num="224" type="stmt" count="0"/>
      <line num="235" type="method" name="displayError" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="236" 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="251" type="method" name="addJsVars" visibility="public" complexity="8" crap="72" count="0"/>
      <line num="252" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" 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="264" type="stmt" count="0"/>
      <line num="271" type="stmt" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" 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="282" type="stmt" count="0"/>
      <line num="283" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="285" 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="291" type="stmt" count="0"/>
      <line num="292" type="stmt" count="0"/>
      <line num="293" 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="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="310" type="stmt" count="0"/>
      <line num="311" 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="321" type="stmt" count="0"/>
      <line num="322" type="stmt" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="340" type="method" name="getMaxUploads" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="356" type="method" name="isUploadAllowed" visibility="private" complexity="2" crap="6" count="0"/>
      <line num="358" type="stmt" count="0"/>
      <line num="359" type="stmt" count="0"/>
      <line num="360" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="367" type="stmt" count="0"/>
      <line num="378" type="method" name="isUserUploadAllowed" visibility="private" complexity="3" crap="3.04" count="2"/>
      <line num="380" type="stmt" count="2"/>
      <line num="381" type="stmt" count="2"/>
      <line num="382" type="stmt" count="0"/>
      <line num="386" type="stmt" count="2"/>
      <line num="389" type="stmt" count="1"/>
      <line num="393" type="stmt" count="1"/>
      <line num="404" type="method" name="getWizardHtml" visibility="protected" complexity="3" crap="12" count="0"/>
      <line num="405" type="stmt" count="0"/>
      <line num="407" type="stmt" count="0"/>
      <line num="408" type="stmt" count="0"/>
      <line num="410" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="418" type="stmt" count="0"/>
      <line num="419" type="stmt" count="0"/>
      <line num="420" type="stmt" count="0"/>
      <line num="421" type="stmt" count="0"/>
      <line num="422" type="stmt" count="0"/>
      <line num="428" type="method" name="getGroupName" visibility="protected" complexity="1" crap="2" count="0"/>
      <line num="429" type="stmt" count="0"/>
      <metrics loc="432" ncloc="315" classes="1" methods="12" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="166" coveredstatements="5" elements="178" coveredelements="5"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/includes/Special/MediaUploaderSimpleForm.php">
      <class name="MediaWiki\Extension\MediaUploader\Special\MediaUploaderSimpleForm" namespace="global">
        <metrics complexity="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="29" ncloc="12" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/MediaUploader/maintenance/MigrateCampaigns.php">
      <class name="MediaWiki\Extension\MediaUploader\Maintenance\MigrateCampaigns" namespace="global">
        <metrics complexity="14" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="76" coveredstatements="73" elements="80" coveredelements="75"/>
      </class>
      <line num="15" type="stmt" count="0"/>
      <line num="16" type="stmt" count="0"/>
      <line num="17" type="stmt" count="0"/>
      <line num="19" type="stmt" count="0"/>
      <line num="23" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="24" type="stmt" count="4"/>
      <line num="25" type="stmt" count="4"/>
      <line num="26" type="stmt" count="4"/>
      <line num="27" type="stmt" count="4"/>
      <line num="28" type="stmt" count="4"/>
      <line num="29" type="stmt" count="4"/>
      <line num="30" type="stmt" count="4"/>
      <line num="31" type="stmt" count="4"/>
      <line num="32" type="stmt" count="4"/>
      <line num="33" type="stmt" count="4"/>
      <line num="39" type="method" name="doDBUpdates" visibility="protected" complexity="5" crap="5.03" count="4"/>
      <line num="40" type="stmt" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="42" type="stmt" count="4"/>
      <line num="44" type="stmt" count="4"/>
      <line num="46" type="stmt" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="52" type="stmt" count="4"/>
      <line num="53" type="stmt" count="4"/>
      <line num="54" type="stmt" count="0"/>
      <line num="56" type="stmt" count="4"/>
      <line num="57" type="stmt" count="1"/>
      <line num="60" type="stmt" count="3"/>
      <line num="61" type="stmt" count="3"/>
      <line num="62" type="stmt" count="3"/>
      <line num="63" type="stmt" count="0"/>
      <line num="66" type="stmt" count="3"/>
      <line num="69" type="stmt" count="4"/>
      <line num="70" type="stmt" count="4"/>
      <line num="79" type="method" name="doCampaign" visibility="private" complexity="7" crap="7" count="3"/>
      <line num="80" type="stmt" count="3"/>
      <line num="81" type="stmt" count="3"/>
      <line num="82" type="stmt" count="3"/>
      <line num="83" type="stmt" count="3"/>
      <line num="85" type="stmt" count="3"/>
      <line num="87" type="stmt" count="3"/>
      <line num="88" type="stmt" count="0"/>
      <line num="91" type="stmt" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="95" type="stmt" count="2"/>
      <line num="96" type="stmt" count="2"/>
      <line num="97" type="stmt" count="2"/>
      <line num="98" type="stmt" count="2"/>
      <line num="99" type="stmt" count="2"/>
      <line num="102" type="stmt" count="3"/>
      <line num="103" type="stmt" count="3"/>
      <line num="104" type="stmt" count="3"/>
      <line num="105" type="stmt" count="3"/>
      <line num="107" type="stmt" count="3"/>
      <line num="108" type="stmt" count="3"/>
      <line num="111" type="stmt" count="3"/>
      <line num="112" type="stmt" count="3"/>
      <line num="115" type="stmt" count="3"/>
      <line num="116" type="stmt" count="1"/>
      <line num="119" type="stmt" count="2"/>
      <line num="121" type="stmt" count="1"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="125" type="stmt" count="1"/>
      <line num="126" type="stmt" 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="137" 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="144" type="stmt" count="1"/>
      <line num="151" type="method" name="getUpdateKey" visibility="protected" complexity="1" crap="1" count="4"/>
      <line num="152" type="stmt" count="4"/>
      <line num="156" type="stmt" count="0"/>
      <line num="158" type="stmt" count="0"/>
      <metrics loc="159" ncloc="140" classes="1" methods="4" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="82" coveredstatements="73" elements="86" coveredelements="75"/>
    </file>
    <metrics files="37" loc="4687" ncloc="3378" classes="35" methods="170" coveredmethods="104" conditionals="0" coveredconditionals="0" statements="1571" coveredstatements="772" elements="1741" coveredelements="876"/>
  </project>
</coverage>
