<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1777963023">
  <project timestamp="1777963023">
    <file name="/src/src/Info.php">
      <class name="Wikimedia\XMPReader\Info" namespace="global">
        <metrics complexity="1" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
      </class>
      <metrics loc="1316" ncloc="1174" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/src/src/Reader.php">
      <class name="Wikimedia\XMPReader\Reader" namespace="global">
        <metrics complexity="186" methods="28" coveredmethods="21" conditionals="0" coveredconditionals="0" statements="494" coveredstatements="481" elements="522" coveredelements="502"/>
      </class>
      <line num="140" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="54"/>
      <line num="141" type="stmt" count="54"/>
      <line num="142" type="stmt" count="54"/>
      <line num="144" type="stmt" count="54"/>
      <line num="146" type="stmt" count="54"/>
      <line num="152" type="method" name="destroyXMLParser" visibility="private" complexity="2" crap="2" count="54"/>
      <line num="153" type="stmt" count="54"/>
      <line num="154" type="stmt" count="39"/>
      <line num="162" type="method" name="resetXMLParser" visibility="private" complexity="1" crap="1" count="54"/>
      <line num="163" type="stmt" count="54"/>
      <line num="165" type="stmt" count="54"/>
      <line num="166" type="stmt" count="54"/>
      <line num="167" type="stmt" count="54"/>
      <line num="169" type="stmt" count="54"/>
      <line num="170" type="stmt" count="54"/>
      <line num="171" type="stmt" count="54"/>
      <line num="173" type="stmt" count="54"/>
      <line num="175" type="stmt" count="54"/>
      <line num="176" type="stmt" count="54"/>
      <line num="184" type="method" name="isSupported" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="185" type="stmt" count="1"/>
      <line num="195" type="method" name="getResults" visibility="public" complexity="19" crap="19.08" count="54"/>
      <line num="204" type="stmt" count="54"/>
      <line num="206" type="stmt" count="54"/>
      <line num="207" type="stmt" count="54"/>
      <line num="208" type="stmt" count="54"/>
      <line num="210" type="stmt" count="1"/>
      <line num="213" type="stmt" count="0"/>
      <line num="214" type="stmt" count="0"/>
      <line num="215" type="stmt" count="1"/>
      <line num="217" type="stmt" count="1"/>
      <line num="218" type="stmt" count="1"/>
      <line num="226" type="stmt" count="54"/>
      <line num="228" type="stmt" count="54"/>
      <line num="232" type="stmt" count="2"/>
      <line num="233" type="stmt" count="2"/>
      <line num="235" type="stmt" count="2"/>
      <line num="237" type="stmt" count="2"/>
      <line num="238" type="stmt" count="2"/>
      <line num="242" type="stmt" count="54"/>
      <line num="244" type="stmt" count="54"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="254" type="stmt" count="1"/>
      <line num="261" type="stmt" count="54"/>
      <line num="264" type="stmt" count="54"/>
      <line num="265" type="stmt" count="54"/>
      <line num="269" type="stmt" count="1"/>
      <line num="271" type="stmt" count="1"/>
      <line num="274" type="stmt" count="1"/>
      <line num="275" type="stmt" count="1"/>
      <line num="277" type="stmt" count="1"/>
      <line num="280" type="stmt" count="54"/>
      <line num="294" type="method" name="parse" visibility="public" complexity="14" crap="14" count="54"/>
      <line num="295" type="stmt" count="54"/>
      <line num="296" type="stmt" count="1"/>
      <line num="302" type="stmt" count="54"/>
      <line num="303" type="stmt" count="54"/>
      <line num="304" type="stmt" count="54"/>
      <line num="305" type="stmt" count="54"/>
      <line num="307" type="stmt" count="26"/>
      <line num="308" type="stmt" count="1"/>
      <line num="309" type="stmt" count="1"/>
      <line num="310" type="stmt" count="1"/>
      <line num="311" type="stmt" count="1"/>
      <line num="312" type="stmt" count="22"/>
      <line num="313" type="stmt" count="0"/>
      <line num="314" type="stmt" count="26"/>
      <line num="317" type="stmt" count="28"/>
      <line num="320" type="stmt" count="54"/>
      <line num="323" type="stmt" count="4"/>
      <line num="327" type="stmt" count="54"/>
      <line num="331" type="stmt" count="54"/>
      <line num="332" type="stmt" count="54"/>
      <line num="333" type="stmt" count="1"/>
      <line num="336" type="stmt" count="54"/>
      <line num="337" type="stmt" count="54"/>
      <line num="338" type="stmt" count="5"/>
      <line num="341" type="stmt" count="3"/>
      <line num="343" type="stmt" count="3"/>
      <line num="344" type="stmt" count="2"/>
      <line num="345" type="stmt" count="1"/>
      <line num="346" type="stmt" count="3"/>
      <line num="350" type="stmt" count="51"/>
      <line num="351" type="stmt" count="39"/>
      <line num="352" type="stmt" count="1"/>
      <line num="353" type="stmt" count="1"/>
      <line num="354" type="stmt" count="1"/>
      <line num="355" type="stmt" count="1"/>
      <line num="356" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="359" type="stmt" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="362" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <line num="367" type="stmt" count="1"/>
      <line num="368" type="stmt" count="1"/>
      <line num="369" type="stmt" count="1"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="372" type="stmt" count="1"/>
      <line num="374" type="stmt" count="1"/>
      <line num="375" type="stmt" count="1"/>
      <line num="376" type="stmt" count="39"/>
      <line num="378" type="stmt" count="15"/>
      <line num="379" type="stmt" count="15"/>
      <line num="380" type="stmt" count="15"/>
      <line num="381" type="stmt" count="15"/>
      <line num="382" type="stmt" count="15"/>
      <line num="383" type="stmt" count="15"/>
      <line num="384" type="stmt" count="15"/>
      <line num="385" type="stmt" count="15"/>
      <line num="386" type="stmt" count="15"/>
      <line num="387" type="stmt" count="15"/>
      <line num="388" type="stmt" count="15"/>
      <line num="389" type="stmt" count="15"/>
      <line num="390" type="stmt" count="15"/>
      <line num="392" type="stmt" count="38"/>
      <line num="393" type="stmt" count="38"/>
      <line num="396" type="stmt" count="38"/>
      <line num="406" type="method" name="parseExtended" visibility="public" complexity="9" crap="9" count="4"/>
      <line num="409" type="stmt" count="4"/>
      <line num="410" type="stmt" count="4"/>
      <line num="411" type="stmt" count="4"/>
      <line num="413" type="stmt" count="1"/>
      <line num="414" type="stmt" count="1"/>
      <line num="415" type="stmt" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <line num="417" type="stmt" count="1"/>
      <line num="418" type="stmt" count="1"/>
      <line num="420" type="stmt" count="1"/>
      <line num="422" type="stmt" count="3"/>
      <line num="424" type="stmt" count="3"/>
      <line num="425" type="stmt" count="3"/>
      <line num="426" type="stmt" count="3"/>
      <line num="427" type="stmt" count="3"/>
      <line num="429" type="stmt" count="1"/>
      <line num="430" type="stmt" count="1"/>
      <line num="431" type="stmt" count="1"/>
      <line num="432" type="stmt" count="1"/>
      <line num="434" type="stmt" count="1"/>
      <line num="447" type="stmt" count="2"/>
      <line num="448" type="stmt" count="1"/>
      <line num="449" type="stmt" count="1"/>
      <line num="450" type="stmt" count="1"/>
      <line num="451" type="stmt" count="1"/>
      <line num="453" type="stmt" count="1"/>
      <line num="456" type="stmt" count="1"/>
      <line num="459" type="stmt" count="1"/>
      <line num="462" type="stmt" count="1"/>
      <line num="464" type="stmt" count="1"/>
      <line num="466" type="stmt" count="1"/>
      <line num="468" type="stmt" count="1"/>
      <line num="469" type="stmt" count="1"/>
      <line num="470" type="stmt" count="1"/>
      <line num="471" type="stmt" count="1"/>
      <line num="473" type="stmt" count="1"/>
      <line num="492" type="method" name="char" visibility="public" complexity="7" crap="7" count="50"/>
      <line num="493" type="stmt" count="50"/>
      <line num="494" type="stmt" count="50"/>
      <line num="495" type="stmt" count="49"/>
      <line num="498" type="stmt" count="32"/>
      <line num="499" type="stmt" count="1"/>
      <line num="502" type="stmt" count="31"/>
      <line num="503" type="stmt" count="7"/>
      <line num="506" type="stmt" count="29"/>
      <line num="507" type="stmt" count="29"/>
      <line num="509" type="stmt" count="2"/>
      <line num="513" type="stmt" count="27"/>
      <line num="514" type="stmt" count="27"/>
      <line num="516" type="stmt" count="1"/>
      <line num="528" type="method" name="checkParseSafety" visibility="private" complexity="8" crap="8.02" count="54"/>
      <line num="529" type="stmt" count="54"/>
      <line num="530" type="stmt" count="54"/>
      <line num="533" type="stmt" count="54"/>
      <line num="534" type="stmt" count="54"/>
      <line num="535" type="stmt" count="54"/>
      <line num="537" type="stmt" count="0"/>
      <line num="542" type="stmt" count="54"/>
      <line num="543" type="stmt" count="54"/>
      <line num="544" type="stmt" count="54"/>
      <line num="545" type="stmt" count="54"/>
      <line num="546" type="stmt" count="54"/>
      <line num="547" type="stmt" count="0"/>
      <line num="555" type="stmt" count="54"/>
      <line num="566" type="stmt" count="54"/>
      <line num="571" type="stmt" count="54"/>
      <line num="572" type="stmt" count="53"/>
      <line num="574" type="stmt" count="51"/>
      <line num="575" type="stmt" count="51"/>
      <line num="576" type="stmt" count="51"/>
      <line num="578" type="stmt" count="34"/>
      <line num="579" type="stmt" count="2"/>
      <line num="580" type="stmt" count="2"/>
      <line num="581" type="stmt" count="2"/>
      <line num="585" type="stmt" count="54"/>
      <line num="586" type="stmt" count="53"/>
      <line num="591" type="stmt" count="4"/>
      <line num="592" type="stmt" count="4"/>
      <line num="593" type="stmt" count="4"/>
      <line num="602" type="method" name="endElementModeIgnore" visibility="private" complexity="2" crap="2" count="9"/>
      <line num="603" type="stmt" count="9"/>
      <line num="604" type="stmt" count="9"/>
      <line num="605" type="stmt" count="9"/>
      <line num="624" type="method" name="endElementModeSimple" visibility="private" complexity="3" crap="3" count="28"/>
      <line num="625" type="stmt" count="28"/>
      <line num="626" type="stmt" count="26"/>
      <line num="629" type="stmt" count="7"/>
      <line num="631" type="stmt" count="20"/>
      <line num="633" type="stmt" count="26"/>
      <line num="636" type="stmt" count="26"/>
      <line num="638" type="stmt" count="28"/>
      <line num="639" type="stmt" count="28"/>
      <line num="660" type="method" name="endElementNested" visibility="private" complexity="7" crap="7.02" count="23"/>
      <line num="663" type="stmt" count="23"/>
      <line num="664" type="stmt" count="23"/>
      <line num="665" type="stmt" count="23"/>
      <line num="667" type="stmt" count="0"/>
      <line num="668" type="stmt" count="0"/>
      <line num="672" type="stmt" count="23"/>
      <line num="673" type="stmt" count="23"/>
      <line num="674" type="stmt" count="17"/>
      <line num="675" type="stmt" count="17"/>
      <line num="677" type="stmt" count="17"/>
      <line num="678" type="stmt" count="17"/>
      <line num="680" type="stmt" count="17"/>
      <line num="682" type="stmt" count="2"/>
      <line num="683" type="stmt" count="2"/>
      <line num="684" type="stmt" count="2"/>
      <line num="685" type="stmt" count="2"/>
      <line num="687" type="stmt" count="15"/>
      <line num="688" type="stmt" count="15"/>
      <line num="689" type="stmt" count="15"/>
      <line num="692" type="stmt" count="1"/>
      <line num="693" type="stmt" count="1"/>
      <line num="694" type="stmt" count="1"/>
      <line num="695" type="stmt" count="1"/>
      <line num="696" type="stmt" count="1"/>
      <line num="701" type="stmt" count="23"/>
      <line num="702" type="stmt" count="23"/>
      <line num="703" type="stmt" count="23"/>
      <line num="704" type="stmt" count="23"/>
      <line num="705" type="stmt" count="23"/>
      <line num="727" type="method" name="endElementModeLi" visibility="private" complexity="6" crap="6.12" count="8"/>
      <line num="728" type="stmt" count="8"/>
      <line num="729" type="stmt" count="8"/>
      <line num="730" type="stmt" count="8"/>
      <line num="732" type="stmt" count="8"/>
      <line num="734" type="stmt" count="8"/>
      <line num="735" type="stmt" count="1"/>
      <line num="736" type="stmt" count="1"/>
      <line num="737" type="stmt" count="1"/>
      <line num="738" type="stmt" count="1"/>
      <line num="740" type="stmt" count="1"/>
      <line num="743" type="stmt" count="7"/>
      <line num="744" type="stmt" count="2"/>
      <line num="745" type="stmt" count="5"/>
      <line num="746" type="stmt" count="4"/>
      <line num="747" type="stmt" count="2"/>
      <line num="749" type="stmt" count="2"/>
      <line num="750" type="stmt" count="2"/>
      <line num="753" type="stmt" count="0"/>
      <line num="754" type="stmt" count="0"/>
      <line num="755" type="stmt" count="0"/>
      <line num="769" type="method" name="endElementModeQDesc" visibility="private" complexity="2" crap="2" count="6"/>
      <line num="770" type="stmt" count="6"/>
      <line num="771" type="stmt" count="5"/>
      <line num="772" type="stmt" count="5"/>
      <line num="773" type="stmt" count="5"/>
      <line num="774" type="stmt" count="5"/>
      <line num="777" type="stmt" count="6"/>
      <line num="778" type="stmt" count="6"/>
      <line num="794" type="method" name="endElement" visibility="public" complexity="22" crap="22" count="39"/>
      <line num="795" type="stmt" count="39"/>
      <line num="796" type="stmt" count="39"/>
      <line num="797" type="stmt" count="39"/>
      <line num="800" type="stmt" count="39"/>
      <line num="803" type="stmt" count="38"/>
      <line num="806" type="stmt" count="1"/>
      <line num="807" type="stmt" count="1"/>
      <line num="808" type="stmt" count="1"/>
      <line num="809" type="stmt" count="1"/>
      <line num="812" type="stmt" count="38"/>
      <line num="817" type="stmt" count="1"/>
      <line num="818" type="stmt" count="1"/>
      <line num="819" type="stmt" count="1"/>
      <line num="820" type="stmt" count="1"/>
      <line num="822" type="stmt" count="1"/>
      <line num="825" type="stmt" count="38"/>
      <line num="833" type="stmt" count="38"/>
      <line num="841" type="stmt" count="38"/>
      <line num="843" type="stmt" count="9"/>
      <line num="844" type="stmt" count="9"/>
      <line num="846" type="stmt" count="28"/>
      <line num="847" type="stmt" count="28"/>
      <line num="853" type="stmt" count="23"/>
      <line num="854" type="stmt" count="23"/>
      <line num="856" type="stmt" count="38"/>
      <line num="857" type="stmt" count="38"/>
      <line num="863" type="stmt" count="38"/>
      <line num="866" type="stmt" count="8"/>
      <line num="867" type="stmt" count="8"/>
      <line num="869" type="stmt" count="6"/>
      <line num="870" type="stmt" count="6"/>
      <line num="893" type="method" name="startElementModeIgnore" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="894" type="stmt" count="4"/>
      <line num="895" type="stmt" count="1"/>
      <line num="896" type="stmt" count="1"/>
      <line num="907" type="method" name="startElementModeBag" visibility="private" complexity="2" crap="2" count="4"/>
      <line num="908" type="stmt" count="4"/>
      <line num="909" type="stmt" count="3"/>
      <line num="911" type="stmt" count="1"/>
      <line num="922" type="method" name="startElementModeSeq" visibility="private" complexity="3" crap="3" count="7"/>
      <line num="923" type="stmt" count="7"/>
      <line num="924" type="stmt" count="5"/>
      <line num="925" type="stmt" count="2"/>
      <line num="927" type="stmt" count="1"/>
      <line num="928" type="stmt" count="1"/>
      <line num="929" type="stmt" count="1"/>
      <line num="930" type="stmt" count="1"/>
      <line num="931" type="stmt" count="1"/>
      <line num="932" type="stmt" count="1"/>
      <line num="934" type="stmt" count="1"/>
      <line num="952" type="method" name="startElementModeLang" visibility="private" complexity="2" crap="2" count="5"/>
      <line num="953" type="stmt" count="5"/>
      <line num="954" type="stmt" count="4"/>
      <line num="956" type="stmt" count="1"/>
      <line num="978" type="method" name="startElementModeSimple" visibility="private" complexity="4" crap="4" count="7"/>
      <line num="979" type="stmt" count="7"/>
      <line num="981" type="stmt" count="6"/>
      <line num="982" type="stmt" count="6"/>
      <line num="984" type="stmt" count="6"/>
      <line num="985" type="stmt" count="1"/>
      <line num="986" type="stmt" count="1"/>
      <line num="988" type="stmt" count="2"/>
      <line num="990" type="stmt" count="1"/>
      <line num="993" type="stmt" count="1"/>
      <line num="994" type="stmt" count="1"/>
      <line num="995" type="stmt" count="1"/>
      <line num="996" type="stmt" count="1"/>
      <line num="997" type="stmt" count="1"/>
      <line num="998" type="stmt" count="1"/>
      <line num="999" type="stmt" count="1"/>
      <line num="1000" type="stmt" count="1"/>
      <line num="1001" type="stmt" count="1"/>
      <line num="1002" type="stmt" count="1"/>
      <line num="1020" type="method" name="startElementModeQDesc" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="1021" type="stmt" count="6"/>
      <line num="1023" type="stmt" count="5"/>
      <line num="1024" type="stmt" count="1"/>
      <line num="1027" type="stmt" count="5"/>
      <line num="1031" type="stmt" count="6"/>
      <line num="1032" type="stmt" count="6"/>
      <line num="1047" type="method" name="startElementModeInitial" visibility="private" complexity="8" crap="8" count="49"/>
      <line num="1048" type="stmt" count="49"/>
      <line num="1050" type="stmt" count="1"/>
      <line num="1051" type="stmt" count="1"/>
      <line num="1052" type="stmt" count="1"/>
      <line num="1054" type="stmt" count="49"/>
      <line num="1055" type="stmt" count="40"/>
      <line num="1056" type="stmt" count="40"/>
      <line num="1062" type="stmt" count="1"/>
      <line num="1063" type="stmt" count="1"/>
      <line num="1064" type="stmt" count="1"/>
      <line num="1065" type="stmt" count="1"/>
      <line num="1067" type="stmt" count="1"/>
      <line num="1068" type="stmt" count="1"/>
      <line num="1070" type="stmt" count="1"/>
      <line num="1072" type="stmt" count="39"/>
      <line num="1073" type="stmt" count="39"/>
      <line num="1074" type="stmt" count="39"/>
      <line num="1075" type="stmt" count="39"/>
      <line num="1076" type="stmt" count="16"/>
      <line num="1078" type="stmt" count="39"/>
      <line num="1083" type="stmt" count="0"/>
      <line num="1087" type="stmt" count="2"/>
      <line num="1088" type="stmt" count="2"/>
      <line num="1089" type="stmt" count="2"/>
      <line num="1090" type="stmt" count="2"/>
      <line num="1092" type="stmt" count="2"/>
      <line num="1096" type="stmt" count="49"/>
      <line num="1118" type="method" name="startElementModeStruct" visibility="private" complexity="8" crap="8.09" count="18"/>
      <line num="1119" type="stmt" count="18"/>
      <line num="1120" type="stmt" count="18"/>
      <line num="1121" type="stmt" count="18"/>
      <line num="1122" type="stmt" count="18"/>
      <line num="1126" type="stmt" count="1"/>
      <line num="1127" type="stmt" count="1"/>
      <line num="1129" type="stmt" count="17"/>
      <line num="1130" type="stmt" count="17"/>
      <line num="1131" type="stmt" count="17"/>
      <line num="1134" type="stmt" count="0"/>
      <line num="1135" type="stmt" count="0"/>
      <line num="1138" type="stmt" count="1"/>
      <line num="1139" type="stmt" count="1"/>
      <line num="1141" type="stmt" count="1"/>
      <line num="1145" type="stmt" count="17"/>
      <line num="1146" type="stmt" count="4"/>
      <line num="1147" type="stmt" count="4"/>
      <line num="1148" type="stmt" count="4"/>
      <line num="1165" type="method" name="startElementModeLi" visibility="private" complexity="5" crap="5" count="7"/>
      <line num="1166" type="stmt" count="7"/>
      <line num="1167" type="stmt" count="1"/>
      <line num="1170" type="stmt" count="6"/>
      <line num="1178" type="stmt" count="6"/>
      <line num="1180" type="stmt" count="2"/>
      <line num="1181" type="stmt" count="2"/>
      <line num="1182" type="stmt" count="2"/>
      <line num="1184" type="stmt" count="2"/>
      <line num="1190" type="stmt" count="2"/>
      <line num="1191" type="stmt" count="2"/>
      <line num="1193" type="stmt" count="2"/>
      <line num="1196" type="stmt" count="4"/>
      <line num="1199" type="stmt" count="4"/>
      <line num="1200" type="stmt" count="4"/>
      <line num="1218" type="method" name="startElementModeLiLang" visibility="private" complexity="4" crap="4" count="4"/>
      <line num="1219" type="stmt" count="4"/>
      <line num="1220" type="stmt" count="1"/>
      <line num="1222" type="stmt" count="3"/>
      <line num="1223" type="stmt" count="3"/>
      <line num="1225" type="stmt" count="1"/>
      <line num="1226" type="stmt" count="1"/>
      <line num="1230" type="stmt" count="2"/>
      <line num="1234" type="stmt" count="2"/>
      <line num="1235" type="stmt" count="2"/>
      <line num="1236" type="stmt" count="2"/>
      <line num="1249" type="method" name="startElement" visibility="public" complexity="21" crap="21" count="51"/>
      <line num="1250" type="stmt" count="51"/>
      <line num="1251" type="stmt" count="51"/>
      <line num="1252" type="stmt" count="51"/>
      <line num="1255" type="stmt" count="51"/>
      <line num="1258" type="stmt" count="49"/>
      <line num="1259" type="stmt" count="49"/>
      <line num="1261" type="stmt" count="49"/>
      <line num="1263" type="stmt" count="41"/>
      <line num="1270" type="stmt" count="1"/>
      <line num="1271" type="stmt" count="1"/>
      <line num="1272" type="stmt" count="1"/>
      <line num="1273" type="stmt" count="1"/>
      <line num="1276" type="stmt" count="49"/>
      <line num="1278" type="stmt" count="1"/>
      <line num="1279" type="stmt" count="1"/>
      <line num="1280" type="stmt" count="1"/>
      <line num="1281" type="stmt" count="1"/>
      <line num="1283" type="stmt" count="1"/>
      <line num="1286" type="stmt" count="49"/>
      <line num="1288" type="stmt" count="49"/>
      <line num="1296" type="stmt" count="49"/>
      <line num="1298" type="stmt" count="4"/>
      <line num="1299" type="stmt" count="4"/>
      <line num="1301" type="stmt" count="7"/>
      <line num="1302" type="stmt" count="6"/>
      <line num="1304" type="stmt" count="49"/>
      <line num="1305" type="stmt" count="49"/>
      <line num="1307" type="stmt" count="18"/>
      <line num="1308" type="stmt" count="17"/>
      <line num="1311" type="stmt" count="4"/>
      <line num="1312" type="stmt" count="3"/>
      <line num="1314" type="stmt" count="7"/>
      <line num="1315" type="stmt" count="6"/>
      <line num="1317" type="stmt" count="5"/>
      <line num="1318" type="stmt" count="4"/>
      <line num="1320" type="stmt" count="4"/>
      <line num="1321" type="stmt" count="2"/>
      <line num="1323" type="stmt" count="7"/>
      <line num="1324" type="stmt" count="6"/>
      <line num="1326" type="stmt" count="6"/>
      <line num="1327" type="stmt" count="6"/>
      <line num="1351" type="method" name="doAttribs" visibility="private" complexity="11" crap="11" count="49"/>
      <line num="1355" type="stmt" count="49"/>
      <line num="1356" type="stmt" count="49"/>
      <line num="1357" type="stmt" count="49"/>
      <line num="1360" type="stmt" count="1"/>
      <line num="1362" type="stmt" count="49"/>
      <line num="1363" type="stmt" count="36"/>
      <line num="1366" type="stmt" count="1"/>
      <line num="1367" type="stmt" count="1"/>
      <line num="1368" type="stmt" count="1"/>
      <line num="1369" type="stmt" count="1"/>
      <line num="1370" type="stmt" count="1"/>
      <line num="1371" type="stmt" count="1"/>
      <line num="1373" type="stmt" count="36"/>
      <line num="1374" type="stmt" count="36"/>
      <line num="1375" type="stmt" count="32"/>
      <line num="1378" type="stmt" count="1"/>
      <line num="1380" type="stmt" count="25"/>
      <line num="1381" type="stmt" count="24"/>
      <line num="1382" type="stmt" count="1"/>
      <line num="1383" type="stmt" count="1"/>
      <line num="1385" type="stmt" count="23"/>
      <line num="1387" type="stmt" count="2"/>
      <line num="1388" type="stmt" count="2"/>
      <line num="1389" type="stmt" count="2"/>
      <line num="1390" type="stmt" count="2"/>
      <line num="1406" type="method" name="saveValue" visibility="private" complexity="8" crap="8" count="37"/>
      <line num="1407" type="stmt" count="37"/>
      <line num="1408" type="stmt" count="37"/>
      <line num="1409" type="stmt" count="37"/>
      <line num="1410" type="stmt" count="28"/>
      <line num="1411" type="stmt" count="28"/>
      <line num="1413" type="stmt" count="28"/>
      <line num="1416" type="stmt" count="28"/>
      <line num="1417" type="stmt" count="2"/>
      <line num="1418" type="stmt" count="2"/>
      <line num="1419" type="stmt" count="2"/>
      <line num="1420" type="stmt" count="2"/>
      <line num="1422" type="stmt" count="2"/>
      <line num="1426" type="stmt" count="36"/>
      <line num="1428" type="stmt" count="2"/>
      <line num="1429" type="stmt" count="34"/>
      <line num="1430" type="stmt" count="14"/>
      <line num="1431" type="stmt" count="33"/>
      <line num="1432" type="stmt" count="5"/>
      <line num="1434" type="stmt" count="4"/>
      <line num="1437" type="stmt" count="2"/>
      <line num="1440" type="stmt" count="31"/>
      <metrics loc="1444" ncloc="909" classes="1" methods="28" coveredmethods="21" conditionals="0" coveredconditionals="0" statements="494" coveredstatements="481" elements="522" coveredelements="502"/>
    </file>
    <file name="/src/src/Validate.php">
      <class name="Wikimedia\XMPReader\Validate" namespace="global">
        <metrics complexity="75" methods="11" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="134" coveredstatements="133" elements="145" coveredelements="143"/>
      </class>
      <line num="49" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="75"/>
      <line num="50" type="stmt" count="75"/>
      <line num="60" type="method" name="validateBoolean" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="61" type="stmt" count="4"/>
      <line num="67" type="stmt" count="4"/>
      <line num="68" type="stmt" count="4"/>
      <line num="69" type="stmt" count="4"/>
      <line num="80" type="method" name="validateRational" visibility="public" complexity="4" crap="4" count="2"/>
      <line num="81" type="stmt" count="2"/>
      <line num="87" type="stmt" count="2"/>
      <line num="88" type="stmt" count="1"/>
      <line num="89" type="stmt" count="1"/>
      <line num="103" type="method" name="validateRating" visibility="public" complexity="7" crap="7" count="10"/>
      <line num="104" type="stmt" count="10"/>
      <line num="110" type="stmt" count="10"/>
      <line num="111" type="stmt" count="10"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="119" type="stmt" count="9"/>
      <line num="120" type="stmt" count="9"/>
      <line num="124" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <line num="127" type="stmt" count="2"/>
      <line num="129" type="stmt" count="7"/>
      <line num="130" type="stmt" count="1"/>
      <line num="131" type="stmt" count="1"/>
      <line num="142" type="method" name="validateInteger" visibility="public" complexity="5" crap="5.12" count="4"/>
      <line num="143" type="stmt" count="4"/>
      <line num="149" type="stmt" count="4"/>
      <line num="150" type="stmt" count="0"/>
      <line num="152" type="stmt" count="4"/>
      <line num="153" type="stmt" count="4"/>
      <line num="154" type="stmt" count="4"/>
      <line num="166" type="method" name="validateClosed" visibility="public" complexity="9" crap="9" count="10"/>
      <line num="167" type="stmt" count="10"/>
      <line num="175" type="stmt" count="10"/>
      <line num="176" type="stmt" count="10"/>
      <line num="177" type="stmt" count="10"/>
      <line num="178" type="stmt" count="10"/>
      <line num="180" type="stmt" count="3"/>
      <line num="183" type="stmt" count="10"/>
      <line num="184" type="stmt" count="6"/>
      <line num="185" type="stmt" count="6"/>
      <line num="196" type="method" name="validateReal" visibility="public" complexity="8" crap="8" count="10"/>
      <line num="197" type="stmt" count="10"/>
      <line num="204" type="stmt" count="10"/>
      <line num="205" type="stmt" count="10"/>
      <line num="206" type="stmt" count="2"/>
      <line num="207" type="stmt" count="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="212" type="stmt" count="8"/>
      <line num="213" type="stmt" count="8"/>
      <line num="215" type="stmt" count="3"/>
      <line num="216" type="stmt" count="3"/>
      <line num="217" type="stmt" count="3"/>
      <line num="218" type="stmt" count="3"/>
      <line num="219" type="stmt" count="3"/>
      <line num="230" type="method" name="validateFlash" visibility="public" complexity="7" crap="7" count="3"/>
      <line num="231" type="stmt" count="3"/>
      <line num="237" type="stmt" count="3"/>
      <line num="238" type="stmt" count="3"/>
      <line num="239" type="stmt" count="3"/>
      <line num="240" type="stmt" count="3"/>
      <line num="241" type="stmt" count="3"/>
      <line num="243" type="stmt" count="2"/>
      <line num="244" type="stmt" count="2"/>
      <line num="247" type="stmt" count="1"/>
      <line num="248" type="stmt" count="1"/>
      <line num="249" type="stmt" count="1"/>
      <line num="250" type="stmt" count="1"/>
      <line num="251" type="stmt" count="1"/>
      <line num="252" type="stmt" count="1"/>
      <line num="253" type="stmt" count="1"/>
      <line num="270" type="method" name="validateLangCode" visibility="public" complexity="4" crap="4" count="4"/>
      <line num="271" type="stmt" count="4"/>
      <line num="277" type="stmt" count="4"/>
      <line num="279" type="stmt" count="1"/>
      <line num="280" type="stmt" count="1"/>
      <line num="301" type="method" name="validateDate" visibility="public" complexity="16" crap="16" count="19"/>
      <line num="302" type="stmt" count="19"/>
      <line num="308" type="stmt" count="19"/>
      <line num="309" type="stmt" count="19"/>
      <line num="312" type="stmt" count="19"/>
      <line num="313" type="stmt" count="19"/>
      <line num="315" type="stmt" count="5"/>
      <line num="316" type="stmt" count="5"/>
      <line num="317" type="stmt" count="5"/>
      <line num="334" type="stmt" count="14"/>
      <line num="335" type="stmt" count="1"/>
      <line num="336" type="stmt" count="1"/>
      <line num="338" type="stmt" count="1"/>
      <line num="342" type="stmt" count="13"/>
      <line num="344" type="stmt" count="4"/>
      <line num="345" type="stmt" count="4"/>
      <line num="346" type="stmt" count="3"/>
      <line num="348" type="stmt" count="4"/>
      <line num="349" type="stmt" count="2"/>
      <line num="352" type="stmt" count="4"/>
      <line num="355" type="stmt" count="9"/>
      <line num="357" type="stmt" count="6"/>
      <line num="358" type="stmt" count="6"/>
      <line num="359" type="stmt" count="6"/>
      <line num="360" type="stmt" count="4"/>
      <line num="363" type="stmt" count="6"/>
      <line num="367" type="stmt" count="3"/>
      <line num="368" type="stmt" count="3"/>
      <line num="369" type="stmt" count="2"/>
      <line num="370" type="stmt" count="2"/>
      <line num="378" type="stmt" count="3"/>
      <line num="379" type="stmt" count="3"/>
      <line num="380" type="stmt" count="3"/>
      <line num="381" type="stmt" count="3"/>
      <line num="382" type="stmt" count="3"/>
      <line num="383" type="stmt" count="3"/>
      <line num="384" type="stmt" count="3"/>
      <line num="385" type="stmt" count="1"/>
      <line num="387" type="stmt" count="3"/>
      <line num="389" type="stmt" count="3"/>
      <line num="391" type="stmt" count="2"/>
      <line num="407" type="method" name="validateGPS" visibility="public" complexity="10" crap="10" count="9"/>
      <line num="408" type="stmt" count="9"/>
      <line num="415" type="stmt" count="9"/>
      <line num="416" type="stmt" count="9"/>
      <line num="417" type="stmt" count="9"/>
      <line num="418" type="stmt" count="9"/>
      <line num="420" type="stmt" count="4"/>
      <line num="421" type="stmt" count="4"/>
      <line num="422" type="stmt" count="4"/>
      <line num="423" type="stmt" count="4"/>
      <line num="424" type="stmt" count="2"/>
      <line num="426" type="stmt" count="4"/>
      <line num="428" type="stmt" count="4"/>
      <line num="431" type="stmt" count="5"/>
      <line num="432" type="stmt" count="5"/>
      <line num="433" type="stmt" count="5"/>
      <line num="435" type="stmt" count="4"/>
      <line num="436" type="stmt" count="4"/>
      <line num="437" type="stmt" count="4"/>
      <line num="438" type="stmt" count="2"/>
      <line num="440" type="stmt" count="4"/>
      <line num="442" type="stmt" count="4"/>
      <line num="445" type="stmt" count="1"/>
      <line num="446" type="stmt" count="1"/>
      <line num="447" type="stmt" count="1"/>
      <metrics loc="450" ncloc="263" classes="1" methods="11" coveredmethods="10" conditionals="0" coveredconditionals="0" statements="134" coveredstatements="133" elements="145" coveredelements="143"/>
    </file>
    <metrics files="3" loc="3210" ncloc="2346" classes="2" methods="39" coveredmethods="31" conditionals="0" coveredconditionals="0" statements="628" coveredstatements="614" elements="667" coveredelements="645"/>
  </project>
</coverage>
