<?xml version="1.0" encoding="UTF-8"?>
<files psalm-version="4.29.0@7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3">
  <file src="../phpseclib/Common/Functions/Strings.php">
    <MissingParamType occurrences="1">
      <code>$var</code>
    </MissingParamType>
    <MixedArgument occurrences="8">
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$digit</code>
      <code>$digit</code>
      <code>$element</code>
      <code>$format</code>
      <code>$length</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$element</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="1">
      <code>$part[0]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="8">
      <code>$part[0]</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$result[]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="1">
      <code>$format[$i]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="9">
      <code>$digit</code>
      <code>$digit</code>
      <code>$element</code>
      <code>$i</code>
      <code>$part</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$temp</code>
      <code>$temp</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="7">
      <code>$i</code>
      <code>$lower</code>
      <code>$lower &lt; 0 ? ($lower &amp; 0x7FFFFFFFF) + 0x80000000 : $lower</code>
      <code>$part</code>
      <code>$temp['num']</code>
      <code>$temp['num']</code>
      <code>$upper</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$result</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="4">
      <code>$parts</code>
      <code>pack('N', $temp['num'] + 1)</code>
      <code>pack('N', $temp['num'] + 1)</code>
      <code>unpack('Nupper/Nlower', self::shift($data, 8))</code>
    </PossiblyFalseArgument>
    <PossiblyFalseIterator occurrences="3">
      <code>$digits</code>
      <code>$digits</code>
      <code>$parts</code>
    </PossiblyFalseIterator>
    <PossiblyFalseOperand occurrences="7">
      <code>pack('C', $element)</code>
      <code>pack('N', $element)</code>
      <code>pack('NN', $element / 4294967296, $element)</code>
      <code>pack('Na*', strlen($element), $element)</code>
      <code>pack('Na*', strlen($element), $element)</code>
      <code>pack('Na*', strlen($element), $element)</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArrayAccess occurrences="8">
      <code>$length</code>
      <code>$parts[$i - 1]</code>
      <code>$parts[$i - 1]</code>
      <code>$parts[$i - 1]</code>
      <code>$parts[$i]</code>
      <code>$temp</code>
      <code>$temp['num']</code>
      <code>$temp['num']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyUndefinedMethod occurrences="1">
      <code>toBytes</code>
    </PossiblyUndefinedMethod>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$temp['num']</code>
      <code>$temp['num']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>string</code>
    </PossiblyUnusedReturnValue>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>$element instanceof BigInteger</code>
      <code>$element instanceof FiniteField\Integer</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="../phpseclib/Crypt/AES.php">
    <PropertyNotSetInConstructor occurrences="9">
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
      <code>AES</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/Blowfish.php">
    <FalsableReturnStatement occurrences="3">
      <code>pack("N*", $r, $l)</code>
      <code>pack('L*', ...$cdata)</code>
      <code>pack('N*', $r ^ $p[0], $l ^ $p[1])</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="3">
      <code>string</code>
      <code>string</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidPropertyAssignmentValue occurrences="1"/>
    <InvalidScalarArgument occurrences="32">
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>$sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x0 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x0 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x0 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x0 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
      <code>(self::safe_intval($sbox0[(($x1 &amp; -16777216) &gt;&gt; 24) &amp; 0xFF] + $sbox1[($x1 &amp; 0xFF0000) &gt;&gt; 16]) ^ $sbox2[($x1 &amp; 0xFF00) &gt;&gt; 8]) + $sbox3[$x1 &amp; 0xFF]</code>
    </InvalidScalarArgument>
    <LoopInvalidation occurrences="1">
      <code>$j</code>
    </LoopInvalidation>
    <MixedArgument occurrences="16">
      <code>$cdata[$j + 1]</code>
      <code>$cdata[$j]</code>
      <code>$l</code>
      <code>$l</code>
      <code>$p</code>
      <code>$p</code>
      <code>$r</code>
      <code>$r</code>
      <code>$sb_0</code>
      <code>$sb_0</code>
      <code>$sb_1</code>
      <code>$sb_1</code>
      <code>$sb_2</code>
      <code>$sb_2</code>
      <code>$sb_3</code>
      <code>$sb_3</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="9">
      <code>$p</code>
      <code>$sbox0</code>
      <code>$sbox1</code>
      <code>$sbox2</code>
      <code>$sbox3</code>
      <code>$sha2pass</code>
      <code>$sha2pass</code>
      <code>$sha2salt</code>
      <code>$sha2salt</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="28">
      <code>$p[$i + 1]</code>
      <code>$p[$i - 1]</code>
      <code>$p[$i - 1]</code>
      <code>$p[$i]</code>
      <code>$p[$i]</code>
      <code>$p[$i]</code>
      <code>$p[0]</code>
      <code>$p[0]</code>
      <code>$p[16]</code>
      <code>$p[17]</code>
      <code>$p[1]</code>
      <code>$p[1]</code>
      <code>$sb_0[$l &gt;&gt; 24 &amp; 0xff]</code>
      <code>$sb_0[$r &gt;&gt; 24 &amp; 0xff]</code>
      <code>$sb_1[$l &gt;&gt; 16 &amp; 0xff]</code>
      <code>$sb_1[$r &gt;&gt; 16 &amp; 0xff]</code>
      <code>$sb_2[$l &gt;&gt;  8 &amp; 0xff]</code>
      <code>$sb_2[$r &gt;&gt;  8 &amp; 0xff]</code>
      <code>$sb_3[$l       &amp; 0xff]</code>
      <code>$sb_3[$r       &amp; 0xff]</code>
      <code>$this-&gt;bctx['sb'][0]</code>
      <code>$this-&gt;bctx['sb'][0]</code>
      <code>$this-&gt;bctx['sb'][1]</code>
      <code>$this-&gt;bctx['sb'][1]</code>
      <code>$this-&gt;bctx['sb'][2]</code>
      <code>$this-&gt;bctx['sb'][2]</code>
      <code>$this-&gt;bctx['sb'][3]</code>
      <code>$this-&gt;bctx['sb'][3]</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="8">
      <code>$sb_0[$l &gt;&gt; 24 &amp; 0xff]</code>
      <code>$sb_0[$r &gt;&gt; 24 &amp; 0xff]</code>
      <code>$sb_1[$l &gt;&gt; 16 &amp; 0xff]</code>
      <code>$sb_1[$r &gt;&gt; 16 &amp; 0xff]</code>
      <code>$sb_2[$l &gt;&gt;  8 &amp; 0xff]</code>
      <code>$sb_2[$r &gt;&gt;  8 &amp; 0xff]</code>
      <code>$sb_3[$l       &amp; 0xff]</code>
      <code>$sb_3[$r       &amp; 0xff]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="20">
      <code>$data</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$p</code>
      <code>$p</code>
      <code>$p</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$sb_0</code>
      <code>$sb_0</code>
      <code>$sb_1</code>
      <code>$sb_1</code>
      <code>$sb_2</code>
      <code>$sb_2</code>
      <code>$sb_3</code>
      <code>$sb_3</code>
    </MixedAssignment>
    <MixedOperand occurrences="26">
      <code>$data</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$p[$i + 1]</code>
      <code>$p[$i - 1]</code>
      <code>$p[$i]</code>
      <code>$p[$i]</code>
      <code>$p[0]</code>
      <code>$p[16]</code>
      <code>$p[17]</code>
      <code>$p[1]</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$sb_0[$l &gt;&gt; 24 &amp; 0xff]</code>
      <code>$sb_0[$r &gt;&gt; 24 &amp; 0xff]</code>
      <code>self::$parray[$i]</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="6">
      <code>unpack('C*', $this-&gt;key)</code>
      <code>unpack('N*', $data = $this-&gt;encryptBlock($data))</code>
      <code>unpack('N*', $data = $this-&gt;encryptBlock($data))</code>
      <code>unpack('N*', $sha2pass)</code>
      <code>unpack('N*', $sha2salt)</code>
      <code>unpack('N*', 'OxychromaticBlowfishSwatDynamite')</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>pack('N', $count++)</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArrayAccess occurrences="4">
      <code>$in[1]</code>
      <code>$in[1]</code>
      <code>$in[2]</code>
      <code>$in[2]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullOperand occurrences="1">
      <code>$this-&gt;openssl_translate_mode()</code>
    </PossiblyNullOperand>
    <PossiblyUndefinedIntArrayOffset occurrences="125">
      <code>$data[0]</code>
      <code>$data[1]</code>
      <code>$data[2]</code>
      <code>$data[3]</code>
      <code>$in[1]</code>
      <code>$in[1]</code>
      <code>$in[2]</code>
      <code>$in[2]</code>
      <code>$key[0]</code>
      <code>$key[0]</code>
      <code>$key[10]</code>
      <code>$key[10]</code>
      <code>$key[11]</code>
      <code>$key[11]</code>
      <code>$key[12]</code>
      <code>$key[12]</code>
      <code>$key[13]</code>
      <code>$key[13]</code>
      <code>$key[14]</code>
      <code>$key[14]</code>
      <code>$key[15]</code>
      <code>$key[15]</code>
      <code>$key[1]</code>
      <code>$key[1]</code>
      <code>$key[2]</code>
      <code>$key[2]</code>
      <code>$key[3]</code>
      <code>$key[3]</code>
      <code>$key[4]</code>
      <code>$key[4]</code>
      <code>$key[5]</code>
      <code>$key[5]</code>
      <code>$key[6]</code>
      <code>$key[6]</code>
      <code>$key[7]</code>
      <code>$key[7]</code>
      <code>$key[8]</code>
      <code>$key[8]</code>
      <code>$key[9]</code>
      <code>$key[9]</code>
      <code>$p[0]</code>
      <code>$p[0]</code>
      <code>$p[0]</code>
      <code>$p[0]</code>
      <code>$p[10]</code>
      <code>$p[10]</code>
      <code>$p[10]</code>
      <code>$p[10]</code>
      <code>$p[11]</code>
      <code>$p[11]</code>
      <code>$p[11]</code>
      <code>$p[11]</code>
      <code>$p[12]</code>
      <code>$p[12]</code>
      <code>$p[12]</code>
      <code>$p[12]</code>
      <code>$p[13]</code>
      <code>$p[13]</code>
      <code>$p[13]</code>
      <code>$p[13]</code>
      <code>$p[14]</code>
      <code>$p[14]</code>
      <code>$p[14]</code>
      <code>$p[14]</code>
      <code>$p[15]</code>
      <code>$p[15]</code>
      <code>$p[15]</code>
      <code>$p[15]</code>
      <code>$p[16]</code>
      <code>$p[16]</code>
      <code>$p[16]</code>
      <code>$p[16]</code>
      <code>$p[17]</code>
      <code>$p[17]</code>
      <code>$p[17]</code>
      <code>$p[17]</code>
      <code>$p[1]</code>
      <code>$p[1]</code>
      <code>$p[1]</code>
      <code>$p[1]</code>
      <code>$p[2]</code>
      <code>$p[2]</code>
      <code>$p[2]</code>
      <code>$p[2]</code>
      <code>$p[3]</code>
      <code>$p[3]</code>
      <code>$p[3]</code>
      <code>$p[3]</code>
      <code>$p[4]</code>
      <code>$p[4]</code>
      <code>$p[4]</code>
      <code>$p[4]</code>
      <code>$p[5]</code>
      <code>$p[5]</code>
      <code>$p[5]</code>
      <code>$p[5]</code>
      <code>$p[6]</code>
      <code>$p[6]</code>
      <code>$p[6]</code>
      <code>$p[6]</code>
      <code>$p[7]</code>
      <code>$p[7]</code>
      <code>$p[7]</code>
      <code>$p[7]</code>
      <code>$p[8]</code>
      <code>$p[8]</code>
      <code>$p[8]</code>
      <code>$p[8]</code>
      <code>$p[9]</code>
      <code>$p[9]</code>
      <code>$p[9]</code>
      <code>$p[9]</code>
      <code>$sbox0[254]</code>
      <code>$sbox0[254]</code>
      <code>$sbox0[255]</code>
      <code>$sbox0[255]</code>
      <code>$sbox1[254]</code>
      <code>$sbox1[254]</code>
      <code>$sbox1[255]</code>
      <code>$sbox1[255]</code>
      <code>$sbox2[254]</code>
      <code>$sbox2[254]</code>
      <code>$sbox2[255]</code>
      <code>$sbox2[255]</code>
      <code>self::$sbox2[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="5">
      <code>$this-&gt;bctx['p']</code>
      <code>$this-&gt;bctx['p']</code>
      <code>$this-&gt;bctx['p']</code>
      <code>$this-&gt;bctx['sb']</code>
      <code>$this-&gt;bctx['sb']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>setupInlineCrypt</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="11">
      <code>$bctx</code>
      <code>$kl</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
      <code>Blowfish</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/ChaCha20.php">
    <DocblockTypeContradiction occurrences="3">
      <code>$this-&gt;key === false</code>
      <code>$this-&gt;nonce === false</code>
      <code>$this-&gt;oldtag === false</code>
    </DocblockTypeContradiction>
    <MissingReturnType occurrences="1">
      <code>salsa20</code>
    </MissingReturnType>
    <MixedAssignment occurrences="352">
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x12</code>
      <code>$x13</code>
      <code>$x14</code>
      <code>$x15</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x4</code>
      <code>$x5</code>
      <code>$x6</code>
      <code>$x7</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$z0</code>
      <code>$z1</code>
      <code>$z10</code>
      <code>$z11</code>
      <code>$z12</code>
      <code>$z13</code>
      <code>$z14</code>
      <code>$z15</code>
      <code>$z2</code>
      <code>$z3</code>
      <code>$z4</code>
      <code>$z5</code>
      <code>$z6</code>
      <code>$z7</code>
      <code>$z8</code>
      <code>$z9</code>
    </MixedAssignment>
    <MixedOperand occurrences="336">
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x10</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x11</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x8</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$x9</code>
      <code>$z12</code>
      <code>$z13</code>
      <code>$z14</code>
      <code>$z15</code>
      <code>$z4</code>
      <code>$z5</code>
      <code>$z6</code>
      <code>$z7</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="4">
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$plaintext</code>
    </PossiblyFalseArgument>
    <PossiblyFalsePropertyAssignmentValue occurrences="3">
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArrayAccess occurrences="16">
      <code>$x0</code>
      <code>$x1</code>
      <code>$x10</code>
      <code>$x11</code>
      <code>$x12</code>
      <code>$x13</code>
      <code>$x14</code>
      <code>$x15</code>
      <code>$x2</code>
      <code>$x3</code>
      <code>$x4</code>
      <code>$x5</code>
      <code>$x6</code>
      <code>$x7</code>
      <code>$x8</code>
      <code>$x9</code>
    </PossiblyInvalidArrayAccess>
    <PropertyNotSetInConstructor occurrences="8">
      <code>ChaCha20</code>
      <code>ChaCha20</code>
      <code>ChaCha20</code>
      <code>ChaCha20</code>
      <code>ChaCha20</code>
      <code>ChaCha20</code>
      <code>ChaCha20</code>
      <code>ChaCha20</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>$this-&gt;usePoly1305 &amp;&amp; !isset($this-&gt;poly1305Key)</code>
      <code>$this-&gt;usePoly1305 &amp;&amp; !isset($this-&gt;poly1305Key)</code>
      <code>isset($this-&gt;poly1305Key)</code>
    </RedundantPropertyInitializationCheck>
    <TypeDoesNotContainType occurrences="1">
      <code>is_string($nonce)</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/Common/AsymmetricKey.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$this-&gt;format</code>
      <code>$type</code>
    </ArgumentTypeCoercion>
    <ImplicitToStringCast occurrences="1">
      <code>string</code>
    </ImplicitToStringCast>
    <MissingReturnType occurrences="1">
      <code>validatePlugin</code>
    </MissingReturnType>
    <MixedArgument occurrences="9">
      <code>$name</code>
      <code>$rolen</code>
      <code>$this-&gt;q</code>
      <code>$this-&gt;q</code>
      <code>$this-&gt;x</code>
      <code>$type</code>
      <code>$vlen - $qlen</code>
      <code>-$rolen</code>
      <code>self::$invisiblePlugins[static::ALGORITHM]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="5">
      <code>$components['comment']</code>
      <code>$components['secret']</code>
      <code>$components['secret']</code>
      <code>self::$plugins[static::ALGORITHM]['Keys']</code>
      <code>self::$plugins[static::ALGORITHM]['Keys']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="8">
      <code>$components['format']</code>
      <code>$components['format']</code>
      <code>$components['secret']</code>
      <code>$components['secret']</code>
      <code>self::$invisiblePlugins[static::ALGORITHM][]</code>
      <code>self::$plugins[static::ALGORITHM][$format]</code>
      <code>self::$plugins[static::ALGORITHM][$format]</code>
      <code>self::$plugins[static::ALGORITHM]['Keys']</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="11">
      <code>self::$invisiblePlugins[static::ALGORITHM]</code>
      <code>self::$invisiblePlugins[static::ALGORITHM]</code>
      <code>self::$invisiblePlugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
      <code>self::$plugins[static::ALGORITHM]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="15">
      <code>$comment</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components['format']</code>
      <code>$components['format']</code>
      <code>$components['secret']</code>
      <code>$components['secret']</code>
      <code>$format</code>
      <code>$format</code>
      <code>$new</code>
      <code>$new</code>
      <code>$qlen</code>
      <code>$qlen</code>
      <code>$rolen</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>AsymmetricKey</code>
      <code>array</code>
      <code>static</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="5">
      <code>$format::load($key, $password)</code>
      <code>$format::load($key, $password)</code>
      <code>getLength</code>
      <code>getLengthInBytes</code>
      <code>getLengthInBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$qlen</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
    </MixedOperand>
    <MixedPropertyAssignment occurrences="3">
      <code>$new</code>
      <code>$new</code>
      <code>$new</code>
    </MixedPropertyAssignment>
    <MixedReturnStatement occurrences="3">
      <code>self::$plugins[static::ALGORITHM]['Keys']</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="1">
      <code>$key</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidCast occurrences="1">
      <code>$key</code>
    </PossiblyInvalidCast>
    <PossiblyUndefinedVariable occurrences="2">
      <code>$format</code>
      <code>$format</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="9">
      <code>computek</code>
      <code>getComment</code>
      <code>getSupportedKeyFormats</code>
      <code>loadParameters</code>
      <code>loadParametersFormat</code>
      <code>loadPrivateKey</code>
      <code>loadPrivateKeyFormat</code>
      <code>loadPublicKey</code>
      <code>loadPublicKeyFormat</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>array</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="1">
      <code>$format</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset(self::$zero)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedConstant occurrences="18">
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
      <code>static::ALGORITHM</code>
    </UndefinedConstant>
    <UndefinedMethod occurrences="2">
      <code>static::onLoad($components)</code>
      <code>static::onLoad($components)</code>
    </UndefinedMethod>
    <UndefinedThisPropertyFetch occurrences="5">
      <code>$this-&gt;q</code>
      <code>$this-&gt;q</code>
      <code>$this-&gt;q</code>
      <code>$this-&gt;q</code>
      <code>$this-&gt;x</code>
    </UndefinedThisPropertyFetch>
    <UndefinedVariable occurrences="1">
      <code>$name</code>
    </UndefinedVariable>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Keys/JWK.php">
    <FalsableReturnStatement occurrences="1">
      <code>json_encode(['keys' =&gt; [$key + $options]])</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MixedArgument occurrences="1">
      <code>$key-&gt;keys</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$key-&gt;keys[0]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="1">
      <code>$key</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>\stdClass</code>
    </MixedInferredReturnType>
    <MixedPropertyFetch occurrences="2">
      <code>$key-&gt;keys</code>
      <code>$key-&gt;kty</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="2">
      <code>$key</code>
      <code>$key-&gt;keys[0]</code>
    </MixedReturnStatement>
    <PossiblyNullArgument occurrences="1">
      <code>$key</code>
    </PossiblyNullArgument>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Keys/OpenSSH.php">
    <InvalidArgument occurrences="3">
      <code>$salt</code>
      <code>32</code>
      <code>32</code>
    </InvalidArgument>
    <MixedArgument occurrences="14">
      <code>$checkint</code>
      <code>$checkint</code>
      <code>$comment</code>
      <code>$kdfoptions</code>
      <code>$paddedKey</code>
      <code>$publicKey</code>
      <code>$rounds</code>
      <code>$rounds</code>
      <code>$rounds</code>
      <code>$salt</code>
      <code>$type</code>
      <code>$type</code>
      <code>static::$types</code>
      <code>static::$types</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$comment</code>
      <code>$paddedKey</code>
      <code>$rounds</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>decrypt</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$asciiType</code>
      <code>$ciphername</code>
      <code>$kdfname</code>
    </MixedOperand>
    <PossiblyInvalidArgument occurrences="1">
      <code>$rounds</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$checkint</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullArgument occurrences="2">
      <code>$key</code>
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$parts[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>setBinaryOutput</code>
    </PossiblyUnusedMethod>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_string($password)</code>
    </RedundantConditionGivenDocblockType>
    <ReferenceConstraintViolation occurrences="2">
      <code>$key</code>
      <code>$key</code>
    </ReferenceConstraintViolation>
    <UndefinedPropertyFetch occurrences="2">
      <code>static::$types</code>
      <code>static::$types</code>
    </UndefinedPropertyFetch>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Keys/PKCS.php">
    <PossiblyUnusedMethod occurrences="3">
      <code>requireAny</code>
      <code>requireDER</code>
      <code>requirePEM</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Keys/PKCS1.php">
    <DocblockTypeContradiction occurrences="1">
      <code>!is_string($password)</code>
    </DocblockTypeContradiction>
    <InvalidArgument occurrences="3">
      <code>self::getEncryptionMode($matches[1])</code>
      <code>self::getEncryptionMode($matches[1])</code>
      <code>self::getEncryptionMode($matches[2])</code>
    </InvalidArgument>
    <InvalidReturnStatement occurrences="1">
      <code>$mode</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>int</code>
    </InvalidReturnType>
    <MixedArgument occurrences="1">
      <code>$encryptionAlgorithm</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$encryptionAlgorithm</code>
    </MixedAssignment>
    <PossiblyNullArgument occurrences="2">
      <code>$key</code>
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="6">
      <code>$matches[1]</code>
      <code>$matches[1]</code>
      <code>$matches[1]</code>
      <code>$matches[1]</code>
      <code>$matches[2]</code>
      <code>$matches[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <RedundantCondition occurrences="1">
      <code>$decoded !== false</code>
    </RedundantCondition>
    <TypeDoesNotContainType occurrences="1">
      <code>$ciphertext === false</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Keys/PKCS8.php">
    <InvalidArgument occurrences="2">
      <code>$hash</code>
      <code>$salt</code>
    </InvalidArgument>
    <MissingParamType occurrences="2">
      <code>$params</code>
      <code>$params</code>
    </MissingParamType>
    <MixedArgument occurrences="41">
      <code>$algorithm</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decrypted['encryptionAlgorithm']['parameters']</code>
      <code>$decrypted['encryptionAlgorithm']['parameters']</code>
      <code>$decrypted['encryptionAlgorithm']['parameters']</code>
      <code>$encryptionAlgorithm</code>
      <code>$encryptionScheme</code>
      <code>$encryptionScheme['algorithm']</code>
      <code>$encryptionScheme['parameters']</code>
      <code>$iterationCount</code>
      <code>$kdf['parameters']-&gt;element</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$keyDerivationFunc['parameters']</code>
      <code>$prf</code>
      <code>$prf['algorithm']</code>
      <code>$private['publicKey']</code>
      <code>$private['publicKey'][0]</code>
      <code>$public['publicKey']</code>
      <code>$public['publicKey'][0]</code>
      <code>$r['encryptionAlgorithm']['parameters']-&gt;element</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['start']</code>
      <code>$temp['start']</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_VALUE</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="36">
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decrypted['encryptedData']</code>
      <code>$decrypted['encryptedData']</code>
      <code>$decrypted['encryptionAlgorithm']['algorithm']</code>
      <code>$decrypted['encryptionAlgorithm']['parameters']</code>
      <code>$decrypted['encryptionAlgorithm']['parameters']</code>
      <code>$decrypted['encryptionAlgorithm']['parameters']</code>
      <code>$encryptionScheme['algorithm']</code>
      <code>$encryptionScheme['algorithm']</code>
      <code>$encryptionScheme['parameters']</code>
      <code>$encryptionScheme['parameters']</code>
      <code>$kdf['algorithm']</code>
      <code>$kdf['parameters']</code>
      <code>$keyDerivationFunc['algorithm']</code>
      <code>$keyDerivationFunc['algorithm']</code>
      <code>$keyDerivationFunc['parameters']</code>
      <code>$prf['algorithm']</code>
      <code>$prf['algorithm']</code>
      <code>$private['privateKeyAlgorithm']['algorithm']</code>
      <code>$private['privateKeyAlgorithm']['algorithm']</code>
      <code>$private['privateKeyAlgorithm']['algorithm']</code>
      <code>$private['privateKeyAlgorithm']['algorithm']</code>
      <code>$private['publicKey'][0]</code>
      <code>$private['publicKey'][0]</code>
      <code>$public['publicKey'][0]</code>
      <code>$public['publicKeyAlgorithm']['algorithm']</code>
      <code>$public['publicKeyAlgorithm']['algorithm']</code>
      <code>$public['publicKeyAlgorithm']['algorithm']</code>
      <code>$public['publicKeyAlgorithm']['algorithm']</code>
      <code>$r['encryptionAlgorithm']['algorithm']</code>
      <code>$r['encryptionAlgorithm']['parameters']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['start']</code>
      <code>$temp['start']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="5">
      <code>$kdf['parameters']</code>
      <code>$meta['meta']</code>
      <code>$meta['meta']</code>
      <code>$meta['meta']</code>
      <code>$r['encryptionAlgorithm']['parameters']</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="1">
      <code>[static::OID_NAME =&gt; static::OID_VALUE]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="16">
      <code>$algorithm</code>
      <code>$encryptionAlgorithm</code>
      <code>$encryptionScheme</code>
      <code>$iterationCount</code>
      <code>$kdf</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key['privateKeyAlgorithm']['parameters']</code>
      <code>$key['publicKeyAlgorithm']['parameters']</code>
      <code>$meta['meta']['algorithm']</code>
      <code>$meta['meta']['cipher']</code>
      <code>$meta['meta']['keyDerivationFunc']</code>
      <code>$meta['meta']['prf']</code>
      <code>$prf</code>
      <code>$temp</code>
      <code>$temp</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="11">
      <code>decrypt</code>
      <code>decrypt</code>
      <code>setIV</code>
      <code>setIV</code>
      <code>setKeyLength</code>
      <code>setPassword</code>
      <code>setPassword</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="7">
      <code>$meta</code>
      <code>$private['privateKeyAlgorithm']['algorithm']</code>
      <code>$private['privateKeyAlgorithm']['algorithm']</code>
      <code>$public['publicKeyAlgorithm']['algorithm']</code>
      <code>$public['publicKeyAlgorithm']['algorithm']</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="2">
      <code>$kdf['parameters']-&gt;element</code>
      <code>$r['encryptionAlgorithm']['parameters']-&gt;element</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="2">
      <code>$private + $meta</code>
      <code>$r['encryptionAlgorithm']</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="6">
      <code>$key</code>
      <code>$params</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>ASN1::asn1map($temp[0], Maps\PBEParameter::MAP)</code>
      <code>ASN1::asn1map($temp[0], Maps\RC2CBCParameter::MAP)</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$r['encryptionAlgorithm']['parameters']['keyDerivationFunc']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayOffset occurrences="1">
      <code>$r['encryptionAlgorithm']['parameters']['keyDerivationFunc']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidCast occurrences="1">
      <code>$key</code>
    </PossiblyInvalidCast>
    <PossiblyNullArgument occurrences="1">
      <code>$kdf['parameters']-&gt;element</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="3">
      <code>$kdf['algorithm']</code>
      <code>$kdf['parameters']</code>
      <code>$r['encryptionAlgorithm']['parameters']['keyDerivationFunc']</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullPropertyFetch occurrences="1">
      <code>$kdf['parameters']-&gt;element</code>
    </PossiblyNullPropertyFetch>
    <PossiblyNullReference occurrences="1">
      <code>$r['encryptionAlgorithm']['parameters']</code>
    </PossiblyNullReference>
    <PossiblyUndefinedIntArrayOffset occurrences="12">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$matches[1]</code>
      <code>$matches[1]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="16">
      <code>$decrypted['encryptionAlgorithm']</code>
      <code>$private['privateKeyAlgorithm']</code>
      <code>$private['privateKeyAlgorithm']</code>
      <code>$private['privateKeyAlgorithm']</code>
      <code>$private['privateKeyAlgorithm']</code>
      <code>$public['publicKey']</code>
      <code>$public['publicKey']</code>
      <code>$public['publicKey']</code>
      <code>$public['publicKeyAlgorithm']</code>
      <code>$public['publicKeyAlgorithm']</code>
      <code>$public['publicKeyAlgorithm']</code>
      <code>$public['publicKeyAlgorithm']</code>
      <code>$r['encryptionAlgorithm']</code>
      <code>$r['encryptionAlgorithm']</code>
      <code>$r['encryptionAlgorithm']</code>
      <code>$r['encryptionAlgorithm']['parameters']['keyDerivationFunc']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="2">
      <code>$iv</code>
      <code>$salt</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="1">
      <code>setIterationCount</code>
    </PossiblyUnusedMethod>
    <RedundantCondition occurrences="1">
      <code>$decoded !== false</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>!empty($password) &amp;&amp; is_string($password)</code>
      <code>is_string($password)</code>
    </RedundantConditionGivenDocblockType>
    <TypeDoesNotContainType occurrences="1">
      <code>Strings::is_stringable($key)</code>
    </TypeDoesNotContainType>
    <UndefinedConstant occurrences="17">
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_NAME</code>
      <code>static::OID_VALUE</code>
      <code>static::OID_VALUE</code>
    </UndefinedConstant>
    <UndefinedMethod occurrences="1">
      <code>$r['encryptionAlgorithm']['parameters']</code>
    </UndefinedMethod>
    <UndefinedPropertyAssignment occurrences="1">
      <code>static::$childOIDsLoaded</code>
    </UndefinedPropertyAssignment>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Keys/PuTTY.php">
    <MixedArgument occurrences="28">
      <code>$comment</code>
      <code>$hash-&gt;hash($source)</code>
      <code>$hash-&gt;hash($source)</code>
      <code>$hashkey</code>
      <code>$hashkey</code>
      <code>$hashkey</code>
      <code>$key</code>
      <code>$key[$offset + $privateLength]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$length</code>
      <code>$offset</code>
      <code>$password</code>
      <code>$password</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$public</code>
      <code>$symiv</code>
      <code>$symkey</code>
      <code>array_slice($key, $offset, $privateLength)</code>
      <code>array_slice($key, 4, $publicLength)</code>
      <code>static::$types</code>
      <code>static::$types</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="8">
      <code>$key[$offset + $privateLength]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>static::$types[0]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="3">
      <code>$components['comment']</code>
      <code>$components['private']</code>
      <code>$components['public']</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="7">
      <code>$key[$offset + $privateLength]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
      <code>$key[$offset++]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="15">
      <code>$comment</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components['private']</code>
      <code>$mac</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$private</code>
      <code>$private</code>
      <code>$version</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array|false</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="11">
      <code>decrypt</code>
      <code>disablePadding</code>
      <code>disablePadding</code>
      <code>encrypt</code>
      <code>hash</code>
      <code>hash</code>
      <code>hash</code>
      <code>setIV</code>
      <code>setIV</code>
      <code>setKey</code>
      <code>setKey</code>
    </MixedMethodCall>
    <MixedOperand occurrences="13">
      <code>$components</code>
      <code>$hashkey</code>
      <code>$key</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$publicLength</code>
      <code>$source</code>
      <code>static::$types[0]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$components</code>
      <code>$components</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="8">
      <code>$key</code>
      <code>$key</code>
      <code>$lines</code>
      <code>$lines</code>
      <code>$password</code>
      <code>$password</code>
      <code>$temp</code>
      <code>unpack('Nlength', Strings::shift($public, 4))</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>$password</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArrayAccess occurrences="6">
      <code>$key[0]</code>
      <code>$key[1]</code>
      <code>$key[2]</code>
      <code>$key[3]</code>
      <code>$lines[0]</code>
      <code>$lines[count($lines) - 1]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullArgument occurrences="10">
      <code>preg_replace('#Argon2-Memory: (\d+)#', '$1', $key[$offset++])</code>
      <code>preg_replace('#Argon2-Parallelism: (\d+)#', '$1', $key[$offset++])</code>
      <code>preg_replace('#Argon2-Passes: (\d+)#', '$1', $key[$offset++])</code>
      <code>preg_replace('#Argon2-Salt: ([0-9a-f]+)#', '$1', $key[$offset++])</code>
      <code>preg_replace('#Comment: (.+)#', '$1', $key[2])</code>
      <code>preg_replace('#Encryption: (.+)#', '$1', $key[1])</code>
      <code>preg_replace('#Key-Derivation: (.*)#', '$1', $key[$offset++])</code>
      <code>preg_replace('#Private-Lines: (\d+)#', '$1', $key[$offset++])</code>
      <code>preg_replace('#Private-MAC: (.+)#', '$1', $key[$offset + $privateLength])</code>
      <code>preg_replace('#Public-Lines: (\d+)#', '$1', $key[3])</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="6">
      <code>$key[1]</code>
      <code>$key[2]</code>
      <code>$key[3]</code>
      <code>$match[1]</code>
      <code>$match[2]</code>
      <code>$match[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>$values['comment']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="6">
      <code>$hash</code>
      <code>$hash</code>
      <code>$symiv</code>
      <code>$symiv</code>
      <code>$symkey</code>
      <code>$symkey</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="1">
      <code>setVersion</code>
    </PossiblyUnusedMethod>
    <UndefinedConstant occurrences="1">
      <code>static::PUBLIC_HANDLER</code>
    </UndefinedConstant>
    <UndefinedPropertyFetch occurrences="2">
      <code>static::$types</code>
      <code>static::$types</code>
    </UndefinedPropertyFetch>
    <UnusedVariable occurrences="1">
      <code>$mac</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/Common/Formats/Signature/Raw.php">
    <InvalidReturnStatement occurrences="1">
      <code>compact('r', 's')</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>string</code>
    </InvalidReturnType>
    <PossiblyUndefinedStringArrayOffset occurrences="4">
      <code>$sig['r']</code>
      <code>$sig['r']</code>
      <code>$sig['s']</code>
      <code>$sig['s']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>load</code>
      <code>save</code>
    </PossiblyUnusedMethod>
    <TypeDoesNotContainType occurrences="2">
      <code>!is_array($sig)</code>
      <code>!isset($sig['r']) || !isset($sig['s'])</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/Common/PrivateKey.php">
    <MissingParamType occurrences="1">
      <code>$message</code>
    </MissingParamType>
    <MissingReturnType occurrences="2">
      <code>getPublicKey</code>
      <code>sign</code>
    </MissingReturnType>
  </file>
  <file src="../phpseclib/Crypt/Common/PublicKey.php">
    <MissingParamType occurrences="3">
      <code>$algorithm</code>
      <code>$message</code>
      <code>$signature</code>
    </MissingParamType>
    <MissingReturnType occurrences="2">
      <code>getFingerprint</code>
      <code>verify</code>
    </MissingReturnType>
    <PossiblyUnusedMethod occurrences="1">
      <code>verify</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/Crypt/Common/StreamCipher.php">
    <PossiblyUnusedReturnValue occurrences="1">
      <code>StreamCipher</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="9">
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
      <code>StreamCipher</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/Common/SymmetricKey.php">
    <DocblockTypeContradiction occurrences="8">
      <code>!$this-&gt;h</code>
      <code>!$this-&gt;h</code>
      <code>$this-&gt;iv === false</code>
      <code>$this-&gt;key === false</code>
      <code>$this-&gt;newtag === false</code>
      <code>$this-&gt;nonce === false</code>
      <code>$this-&gt;oldtag === false</code>
      <code>is_int($x)</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="6">
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$result</code>
      <code>openssl_encrypt($plaintext, $this-&gt;cipher_name_openssl, $this-&gt;key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING)</code>
      <code>openssl_encrypt($plaintext, $this-&gt;cipher_name_openssl, $this-&gt;key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING)</code>
    </FalsableReturnStatement>
    <InvalidArgument occurrences="2">
      <code>$func_args[0]</code>
      <code>$salt</code>
    </InvalidArgument>
    <InvalidArrayAccess occurrences="2">
      <code>$xor[0]</code>
      <code>$xor[0]</code>
    </InvalidArrayAccess>
    <InvalidCast occurrences="1">
      <code>$salt</code>
    </InvalidCast>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidFunctionCall occurrences="2">
      <code>$inline('decrypt', $ciphertext)</code>
      <code>$inline('encrypt', $plaintext)</code>
    </InvalidFunctionCall>
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>$length &gt;&gt; 3</code>
    </InvalidPropertyAssignmentValue>
    <InvalidReturnStatement occurrences="1">
      <code>PHP_INT_SIZE == 4 &amp;&amp; PHP_VERSION_ID &gt;= 80100 ? intval($x) : $x</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>int</code>
    </InvalidReturnType>
    <MissingReturnType occurrences="1">
      <code>setupKey</code>
    </MissingReturnType>
    <MixedArgument occurrences="61">
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$ciphertext</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$dkLen &gt;&gt; 1</code>
      <code>$dkLen &gt;&gt; 1</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$keylen</code>
      <code>$keylen</code>
      <code>$keylen + $this-&gt;block_size</code>
      <code>$len</code>
      <code>$len</code>
      <code>$one</code>
      <code>$orig_pos</code>
      <code>$orig_pos</code>
      <code>$orig_pos</code>
      <code>$orig_pos</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$plaintext</code>
      <code>$reverseMap[$engine]</code>
      <code>$this-&gt;openssl_options</code>
      <code>$this-&gt;openssl_options</code>
      <code>-$overflow</code>
      <code>-$overflow</code>
      <code>-$overflow</code>
      <code>-$overflow</code>
      <code>-$overflow</code>
      <code>-$overflow</code>
      <code>-$overflow - $this-&gt;block_size</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$reverseMap[$engine]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="44">
      <code>$bindedClosure</code>
      <code>$ciphertext</code>
      <code>$decrypt_block</code>
      <code>$dkLen</code>
      <code>$encrypt_block</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$init_crypt</code>
      <code>$init_decrypt</code>
      <code>$init_encrypt</code>
      <code>$key_length</code>
      <code>$keylen</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max</code>
      <code>$orig_pos</code>
      <code>$orig_pos</code>
      <code>$orig_pos</code>
      <code>$orig_pos</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$size</code>
      <code>$this-&gt;preferredEngine</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>int</code>
      <code>string</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="75">
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$decrypt_block</code>
      <code>$decrypt_block</code>
      <code>$decrypt_block</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$encrypt_block</code>
      <code>$init_decrypt</code>
      <code>$init_decrypt</code>
      <code>$init_decrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$init_encrypt</code>
      <code>$key_length</code>
      <code>$keylen</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$pos</code>
      <code>$this-&gt;key_length</code>
      <code>$xor[0]</code>
      <code>$xor[0]</code>
      <code>-$overflow</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="6">
      <code>$inline('decrypt', $ciphertext)</code>
      <code>$inline('encrypt', $plaintext)</code>
      <code>$plaintext</code>
      <code>$this-&gt;key_length &lt;&lt; 3</code>
      <code>$this-&gt;paddable ? $this-&gt;unpad($plaintext) : $plaintext</code>
      <code>$x</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="9">
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$encryptIV</code>
      <code>$encrypted</code>
      <code>$iv</code>
      <code>$result</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="7">
      <code>openssl_decrypt($ciphertext, $this-&gt;cipher_name_openssl, $this-&gt;key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv)</code>
      <code>openssl_decrypt(substr($ciphertext, 0, -$overflow), $this-&gt;cipher_name_openssl, $this-&gt;key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv)</code>
      <code>openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this-&gt;cipher_name_openssl, $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $encryptIV)</code>
      <code>openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $block_size), $this-&gt;cipher_name_openssl, $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $encryptIV)</code>
      <code>openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $this-&gt;block_size), $this-&gt;cipher_name_openssl, $this-&gt;key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv)</code>
      <code>pack('N', $i++)</code>
      <code>pack('N', 8 * strlen($str))</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="9">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="12">
      <code>$count</code>
      <code>$count</code>
      <code>$count</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$dkLen</code>
      <code>$keylen</code>
      <code>$keylen</code>
      <code>$rounds</code>
      <code>$salt</code>
      <code>$salt</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayOffset occurrences="1">
      <code>$reverseMap[$engine]</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidCast occurrences="1">
      <code>$salt</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidOperand occurrences="3">
      <code>$salt</code>
      <code>$salt</code>
      <code>$salt</code>
    </PossiblyInvalidOperand>
    <PossiblyNullPropertyAssignmentValue occurrences="1">
      <code>null</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$func_args[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="36">
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['pos']</code>
      <code>$buffer['pos']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$buffer['xor']</code>
      <code>$cipher_code['decrypt_block']</code>
      <code>$cipher_code['encrypt_block']</code>
      <code>$this-&gt;debuffer['pos']</code>
      <code>$this-&gt;enbuffer['pos']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="7">
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="3">
      <code>enablePadding</code>
      <code>getMode</code>
      <code>safe_intval_inline</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="1">
      <code>$cipher_code</code>
    </PossiblyUnusedParam>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>bool</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="11">
      <code>$cipher_name_openssl</code>
      <code>$cipher_name_openssl_ecb</code>
      <code>$debuffer</code>
      <code>$decryptIV</code>
      <code>$enbuffer</code>
      <code>$encryptIV</code>
      <code>$engine</code>
      <code>$h</code>
      <code>$inline_crypt</code>
      <code>$poly1305Key</code>
      <code>$preferredEngine</code>
    </PropertyNotSetInConstructor>
    <RedundantCondition occurrences="1">
      <code>is_string($engine)</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>is_string($this-&gt;key)</code>
      <code>strlen($password)</code>
    </RedundantConditionGivenDocblockType>
    <RedundantPropertyInitializationCheck occurrences="7">
      <code>$this-&gt;usePoly1305 &amp;&amp; !isset($this-&gt;poly1305Key)</code>
      <code>$this-&gt;usePoly1305 &amp;&amp; !isset($this-&gt;poly1305Key)</code>
      <code>isset($this-&gt;poly1305Key)</code>
      <code>isset($this-&gt;poly1305Key)</code>
      <code>isset($this-&gt;preferredEngine)</code>
      <code>isset(self::$gcmField)</code>
      <code>isset(self::$poly1305Field)</code>
    </RedundantPropertyInitializationCheck>
    <ReferenceConstraintViolation occurrences="1">
      <code>return $ciphertext;</code>
    </ReferenceConstraintViolation>
    <TypeDoesNotContainType occurrences="1">
      <code>''</code>
    </TypeDoesNotContainType>
    <UndefinedDocblockClass occurrences="1">
      <code>Callback</code>
    </UndefinedDocblockClass>
    <UndefinedMethod occurrences="1">
      <code>setupInlineCrypt</code>
    </UndefinedMethod>
    <UndefinedThisPropertyAssignment occurrences="1">
      <code>$this-&gt;key_length</code>
    </UndefinedThisPropertyAssignment>
    <UndefinedThisPropertyFetch occurrences="5">
      <code>$this-&gt;key_length</code>
      <code>$this-&gt;key_length</code>
      <code>$this-&gt;key_length</code>
      <code>$this-&gt;openssl_options</code>
      <code>$this-&gt;openssl_options</code>
    </UndefinedThisPropertyFetch>
    <UnsafeInstantiation occurrences="3">
      <code>new static('ctr')</code>
      <code>new static('ctr')</code>
      <code>new static('ecb')</code>
    </UnsafeInstantiation>
    <UnusedVariable occurrences="5">
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$i</code>
      <code>$i</code>
      <code>$size</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/Common/Traits/Fingerprint.php">
    <MissingReturnType occurrences="1">
      <code>getFingerprint</code>
    </MissingReturnType>
    <MixedAssignment occurrences="1">
      <code>$type</code>
    </MixedAssignment>
    <TypeDoesNotContainType occurrences="1">
      <code>$key === false</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/DES.php">
    <InvalidPropertyAssignmentValue occurrences="2">
      <code>8</code>
    </InvalidPropertyAssignmentValue>
    <MixedArgument occurrences="2">
      <code>$block</code>
      <code>$key</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="46">
      <code>$k[$c][++$ki]</code>
      <code>$k[$c][++$ki]</code>
      <code>$keys[++$ki]</code>
      <code>$keys[++$ki]</code>
      <code>$pc1map[ $l        &amp; 0xFF]</code>
      <code>$pc1map[ $r        &amp; 0xFF]</code>
      <code>$pc1map[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc1map[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc1map[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$pc1map[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc1map[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc1map[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$pc2mapc1[ $c &gt;&gt; 24        ]</code>
      <code>$pc2mapc2[($c &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc2mapc3[($c &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc2mapc4[ $c        &amp; 0xFF]</code>
      <code>$pc2mapd1[ $d &gt;&gt; 24        ]</code>
      <code>$pc2mapd2[($d &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc2mapd3[($d &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc2mapd4[ $d        &amp; 0xFF]</code>
      <code>$sbox1[($b1 &gt;&gt; 24) &amp; 0x3F]</code>
      <code>$sbox2[($b2 &gt;&gt; 24) &amp; 0x3F]</code>
      <code>$sbox3[($b1 &gt;&gt; 16) &amp; 0x3F]</code>
      <code>$sbox4[($b2 &gt;&gt; 16) &amp; 0x3F]</code>
      <code>$sbox5[($b1 &gt;&gt;  8) &amp; 0x3F]</code>
      <code>$sbox6[($b2 &gt;&gt;  8) &amp; 0x3F]</code>
      <code>$sbox7[ $b1        &amp; 0x3F]</code>
      <code>$sbox8[ $b2        &amp; 0x3F]</code>
      <code>$shifts[$i]</code>
      <code>$shifts[$i]</code>
      <code>$shuffleinvip[ $l        &amp; 0xFF]</code>
      <code>$shuffleinvip[ $r        &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleip[ $l        &amp; 0xFF]</code>
      <code>$shuffleip[ $r        &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt; 24) &amp; 0xFF]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="2">
      <code>$shuffleinvip[]</code>
      <code>$shuffleip[]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="50">
      <code>$pc1map[ $l        &amp; 0xFF]</code>
      <code>$pc1map[ $r        &amp; 0xFF]</code>
      <code>$pc1map[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc1map[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc1map[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$pc1map[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc1map[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc1map[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$pc2mapc1[ $c &gt;&gt; 24        ]</code>
      <code>$pc2mapc2[($c &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc2mapc3[($c &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc2mapc4[ $c        &amp; 0xFF]</code>
      <code>$pc2mapd1[ $d &gt;&gt; 24        ]</code>
      <code>$pc2mapd2[($d &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$pc2mapd3[($d &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$pc2mapd4[ $d        &amp; 0xFF]</code>
      <code>$sbox1[($b1 &gt;&gt; 24) &amp; 0x3F]</code>
      <code>$sbox2[($b2 &gt;&gt; 24) &amp; 0x3F]</code>
      <code>$sbox3[($b1 &gt;&gt; 16) &amp; 0x3F]</code>
      <code>$sbox4[($b2 &gt;&gt; 16) &amp; 0x3F]</code>
      <code>$sbox5[($b1 &gt;&gt;  8) &amp; 0x3F]</code>
      <code>$sbox6[($b2 &gt;&gt;  8) &amp; 0x3F]</code>
      <code>$sbox7[ $b1        &amp; 0x3F]</code>
      <code>$sbox8[ $b2        &amp; 0x3F]</code>
      <code>$shuffleinvip[ $l        &amp; 0xFF]</code>
      <code>$shuffleinvip[ $r        &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleip[ $l        &amp; 0xFF]</code>
      <code>$shuffleip[ $r        &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>self::$shuffle[$pc1map[ $l        &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[ $r        &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($l &gt;&gt;  8) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($l &gt;&gt; 16) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($l &gt;&gt; 24) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($r &gt;&gt;  8) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($r &gt;&gt; 16) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($r &gt;&gt; 24) &amp; 0xFF]]</code>
      <code>self::$shuffle[self::$invipmap[$i]]</code>
      <code>self::$shuffle[self::$ipmap[$i]]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="33">
      <code>$b1</code>
      <code>$b2</code>
      <code>$block</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$cp</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$dp</code>
      <code>$key</code>
      <code>$keys</code>
      <code>$keys[$des_round][self::DECRYPT][$ki    ]</code>
      <code>$keys[$des_round][self::DECRYPT][$ki - 1]</code>
      <code>$keys[$des_round][self::ENCRYPT][       ]</code>
      <code>$keys[$des_round][self::ENCRYPT][       ]</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$shuffleinvip[]</code>
      <code>$shuffleip[]</code>
      <code>$t</code>
      <code>$t</code>
      <code>$val1</code>
      <code>$val2</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="102">
      <code>$b1</code>
      <code>$b1</code>
      <code>$b1</code>
      <code>$b1</code>
      <code>$b2</code>
      <code>$b2</code>
      <code>$b2</code>
      <code>$b2</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$cp</code>
      <code>$cp</code>
      <code>$cp</code>
      <code>$cp</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$dp</code>
      <code>$dp</code>
      <code>$dp</code>
      <code>$dp</code>
      <code>$k[$c][++$ki]</code>
      <code>$k[$c][++$ki]</code>
      <code>$key['c']</code>
      <code>$key['c']</code>
      <code>$key['d']</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$pc2mapc1[ $c &gt;&gt; 24        ]</code>
      <code>$pc2mapd1[ $d &gt;&gt; 24        ]</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$sbox1[($b1 &gt;&gt; 24) &amp; 0x3F] ^ $sbox2[($b2 &gt;&gt; 24) &amp; 0x3F]</code>
      <code>$sbox2[($b2 &gt;&gt; 24) &amp; 0x3F]</code>
      <code>$shuffleinvip[ $l        &amp; 0xFF]</code>
      <code>$shuffleinvip[ $r        &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleinvip[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleinvip[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleip[ $l        &amp; 0xFF]</code>
      <code>$shuffleip[ $r        &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleip[($l &gt;&gt; 24) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt;  8) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt; 16) &amp; 0xFF]</code>
      <code>$shuffleip[($r &gt;&gt; 24) &amp; 0xFF]</code>
      <code>( $cp        &amp; intval(0xFF000000)) | (($cp &lt;&lt;  8) &amp; 0x00FF0000)</code>
      <code>($cp &lt;&lt;  8) &amp; intval(0xFF000000)</code>
      <code>($key['d'] &gt;&gt; 4) &amp; 0x0FFFFFF0</code>
      <code>($r &gt;&gt;  3) &amp; 0x1FFFFFFF</code>
      <code>($r &gt;&gt; 31) &amp; 0x00000001</code>
      <code>(($cp &lt;&lt;  8) &amp; intval(0xFF000000)) | (($cp &lt;&lt; 16) &amp; 0x00FF0000)</code>
      <code>(($r &gt;&gt;  3) &amp; 0x1FFFFFFF) ^ ($r &lt;&lt; 29)</code>
      <code>(($r &gt;&gt; 31) &amp; 0x00000001) ^ ($r &lt;&lt;  1)</code>
      <code>self::$shuffle[$pc1map[ $l        &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[ $r        &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($l &gt;&gt;  8) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($l &gt;&gt; 16) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($l &gt;&gt; 24) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($r &gt;&gt;  8) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($r &gt;&gt; 16) &amp; 0xFF]]</code>
      <code>self::$shuffle[$pc1map[($r &gt;&gt; 24) &amp; 0xFF]]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1"/>
    <PossiblyInvalidArrayAccess occurrences="8">
      <code>$key['c']</code>
      <code>$key['d']</code>
      <code>$t['l']</code>
      <code>$t['l']</code>
      <code>$t['l']</code>
      <code>$t['r']</code>
      <code>$t['r']</code>
      <code>$t['r']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullOperand occurrences="1">
      <code>$this-&gt;openssl_translate_mode()</code>
    </PossiblyNullOperand>
    <PossiblyUndefinedIntArrayOffset occurrences="8">
      <code>$crypt_block[self::DECRYPT]</code>
      <code>$crypt_block[self::ENCRYPT]</code>
      <code>$keys[0]</code>
      <code>$keys[0]</code>
      <code>$keys[1]</code>
      <code>$keys[2]</code>
      <code>$this-&gt;keys[self::DECRYPT]</code>
      <code>$this-&gt;keys[self::ENCRYPT]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="9">
      <code>$key['c']</code>
      <code>$key['d']</code>
      <code>$t['l']</code>
      <code>$t['l']</code>
      <code>$t['l']</code>
      <code>$t['r']</code>
      <code>$t['r']</code>
      <code>$t['r']</code>
      <code>$this-&gt;kl['des_rounds']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>setupInlineCrypt</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="2">
      <code>$key_length</code>
      <code>$openssl_mode_names</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="11">
      <code>$keys</code>
      <code>$kl</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
      <code>DES</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/DH.php">
    <InvalidArgument occurrences="1">
      <code>$args[0]</code>
    </InvalidArgument>
    <MissingParamType occurrences="1">
      <code>$args</code>
    </MissingParamType>
    <MissingReturnType occurrences="1">
      <code>computeSecret</code>
    </MissingReturnType>
    <MixedArgument occurrences="1">
      <code>$key</code>
    </MixedArgument>
    <MixedAssignment occurrences="6">
      <code>$key</code>
      <code>$new-&gt;base</code>
      <code>$new-&gt;prime</code>
      <code>$new-&gt;privateKey</code>
      <code>$new-&gt;publicKey</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>$type::saveParameters($this-&gt;prime, $this-&gt;base)</code>
    </MixedMethodCall>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$args[0]</code>
      <code>$args[0]</code>
      <code>$args[0]</code>
      <code>$args[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$components['base']</code>
      <code>$components['prime']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>onLoad</code>
    </PossiblyUnusedMethod>
    <UndefinedPropertyAssignment occurrences="1">
      <code>$new-&gt;privateKey</code>
    </UndefinedPropertyAssignment>
  </file>
  <file src="../phpseclib/Crypt/DH/Formats/Keys/PKCS1.php">
    <MixedArgument occurrences="1">
      <code>$decoded[0]</code>
    </MixedArgument>
    <PossiblyInvalidArgument occurrences="1">
      <code>$key</code>
    </PossiblyInvalidArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <UnusedClass occurrences="1">
      <code>PKCS1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DH/Formats/Keys/PKCS8.php">
    <ImplicitToStringCast occurrences="2">
      <code>$privateKey</code>
      <code>$publicKey</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="3">
      <code>$decoded[0]</code>
      <code>$key[$type . 'Algorithm']['parameters']-&gt;element</code>
      <code>$key[$type]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="3">
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$key[$type . 'Algorithm']['parameters']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="1">
      <code>$components[$type]</code>
    </MixedAssignment>
    <MixedPropertyFetch occurrences="1">
      <code>$key[$type . 'Algorithm']['parameters']-&gt;element</code>
    </MixedPropertyFetch>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="2">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyUndefinedIntArrayOffset occurrences="3">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$key[$type . 'Algorithm']</code>
      <code>$key[$type]</code>
    </PossiblyUndefinedStringArrayOffset>
    <UnusedClass occurrences="1">
      <code>PKCS8</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DH/Parameters.php">
    <MixedAssignment occurrences="1">
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>$type::saveParameters($this-&gt;prime, $this-&gt;base, $options)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::saveParameters($this-&gt;prime, $this-&gt;base, $options)</code>
    </MixedReturnStatement>
    <PropertyNotSetInConstructor occurrences="4">
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/DH/PrivateKey.php">
    <LessSpecificReturnStatement occurrences="1">
      <code>DH::loadFormat('PKCS8', $key)</code>
    </LessSpecificReturnStatement>
    <MixedArgument occurrences="1">
      <code>$key</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$key</code>
      <code>$type</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>$type::savePrivateKey($this-&gt;prime, $this-&gt;base, $this-&gt;privateKey, $this-&gt;publicKey, $this-&gt;password, $options)</code>
      <code>$type::savePublicKey($this-&gt;prime, $this-&gt;base, $this-&gt;publicKey)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::savePrivateKey($this-&gt;prime, $this-&gt;base, $this-&gt;privateKey, $this-&gt;publicKey, $this-&gt;password, $options)</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="1">
      <code>DH\PublicKey</code>
    </MoreSpecificReturnType>
    <PropertyNotSetInConstructor occurrences="5">
      <code>$privateKey</code>
      <code>$publicKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="2">
      <code>isset($this-&gt;publicKey)</code>
      <code>isset($this-&gt;publicKey)</code>
    </RedundantPropertyInitializationCheck>
  </file>
  <file src="../phpseclib/Crypt/DH/PublicKey.php">
    <MixedAssignment occurrences="1">
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>$type::savePublicKey($this-&gt;prime, $this-&gt;base, $this-&gt;publicKey, $options)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::savePublicKey($this-&gt;prime, $this-&gt;base, $this-&gt;publicKey, $options)</code>
    </MixedReturnStatement>
    <PropertyNotSetInConstructor occurrences="4">
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/DSA.php">
    <DocblockTypeContradiction occurrences="4">
      <code>count($args) == 1 &amp;&amp; $args[0] instanceof Parameters</code>
      <code>count($args) == 2 &amp;&amp; is_int($args[0])</code>
      <code>is_int($args[0])</code>
      <code>is_int($args[1])</code>
    </DocblockTypeContradiction>
    <MissingReturnType occurrences="1">
      <code>getParameters</code>
    </MissingReturnType>
    <MixedArgument occurrences="3">
      <code>$args[0]</code>
      <code>$args[1]</code>
      <code>$key</code>
    </MixedArgument>
    <MixedAssignment occurrences="9">
      <code>$key</code>
      <code>$new-&gt;g</code>
      <code>$new-&gt;p</code>
      <code>$new-&gt;q</code>
      <code>$new-&gt;sigFormat</code>
      <code>$new-&gt;x</code>
      <code>$new-&gt;y</code>
      <code>$this-&gt;sigFormat</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>DSA\PrivateKey</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>$type::saveParameters($this-&gt;p, $this-&gt;q, $this-&gt;g)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1"/>
    <PossiblyInvalidPropertyFetch occurrences="5">
      <code>$params-&gt;g</code>
      <code>$params-&gt;hash</code>
      <code>$params-&gt;p</code>
      <code>$params-&gt;q</code>
      <code>$params-&gt;shortFormat</code>
    </PossiblyInvalidPropertyFetch>
    <PossiblyUndefinedIntArrayOffset occurrences="3">
      <code>$args[0]</code>
      <code>$args[0]</code>
      <code>$args[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="4">
      <code>$components['g']</code>
      <code>$components['p']</code>
      <code>$components['q']</code>
      <code>self::$engines['OpenSSL']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="4">
      <code>getEngine</code>
      <code>getLength</code>
      <code>getSignatureFormat</code>
      <code>onLoad</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="5">
      <code>$g</code>
      <code>$p</code>
      <code>$q</code>
      <code>$y</code>
      <code>DSA</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="2">
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Keys/OpenSSH.php">
    <ImplicitToStringCast occurrences="9">
      <code>$g</code>
      <code>$g</code>
      <code>$p</code>
      <code>$p</code>
      <code>$q</code>
      <code>$q</code>
      <code>$x</code>
      <code>$y</code>
      <code>$y</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="3">
      <code>$parsed['paddedKey']</code>
      <code>$parsed['paddedKey']</code>
      <code>$parsed['publicKey']</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$comment</code>
      <code>$comment</code>
    </MixedAssignment>
    <MixedOperand occurrences="1">
      <code>$comment</code>
    </MixedOperand>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedStringArrayOffset occurrences="4">
      <code>$parsed['comment']</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['type']</code>
      <code>$parsed[type]</code>
    </PossiblyUndefinedStringArrayOffset>
    <UnusedClass occurrences="1">
      <code>OpenSSH</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Keys/PKCS1.php">
    <ImplicitToStringCast occurrences="1">
      <code>$y</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="3">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </MixedArgument>
    <PossiblyInvalidArgument occurrences="1">
      <code>$key</code>
    </PossiblyInvalidArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <UnusedClass occurrences="1">
      <code>PKCS1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Keys/PKCS8.php">
    <ImplicitToStringCast occurrences="2">
      <code>$x</code>
      <code>$y</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="4">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$key[$type . 'Algorithm']['parameters']-&gt;element</code>
      <code>$key[$type]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$key[$type . 'Algorithm']['parameters']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="1">
      <code>$components['meta']</code>
    </MixedAssignment>
    <MixedPropertyFetch occurrences="1">
      <code>$key[$type . 'Algorithm']['parameters']-&gt;element</code>
    </MixedPropertyFetch>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$key[$type . 'Algorithm']</code>
      <code>$key[$type]</code>
    </PossiblyUndefinedStringArrayOffset>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>$components[$var] instanceof BigInteger</code>
    </RedundantConditionGivenDocblockType>
    <UnusedClass occurrences="1">
      <code>PKCS8</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Keys/PuTTY.php">
    <ImplicitToStringCast occurrences="9">
      <code>$g</code>
      <code>$g</code>
      <code>$p</code>
      <code>$p</code>
      <code>$q</code>
      <code>$q</code>
      <code>$x</code>
      <code>$y</code>
      <code>$y</code>
    </ImplicitToStringCast>
    <MixedArrayAccess occurrences="1">
      <code>$components['public']</code>
    </MixedArrayAccess>
    <NullReference occurrences="2">
      <code>$private</code>
      <code>$public</code>
    </NullReference>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <UnusedClass occurrences="1">
      <code>PuTTY</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Keys/Raw.php">
    <InvalidReturnStatement occurrences="2">
      <code>compact('p', 'q', 'g', 'y')</code>
      <code>compact('p', 'q', 'g', 'y', 'x')</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>string</code>
      <code>string</code>
    </InvalidReturnType>
    <PossiblyUndefinedStringArrayOffset occurrences="3">
      <code>$key['g']</code>
      <code>$key['p']</code>
      <code>$key['q']</code>
    </PossiblyUndefinedStringArrayOffset>
    <UnusedClass occurrences="1">
      <code>Raw</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Keys/XML.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$key</code>
    </ArgumentTypeCoercion>
    <InvalidReturnStatement occurrences="1">
      <code>$components</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>array</code>
    </InvalidReturnType>
    <MixedArrayAssignment occurrences="4">
      <code>$components['g']</code>
      <code>$components['p']</code>
      <code>$components['q']</code>
      <code>$components['y']</code>
    </MixedArrayAssignment>
    <PossiblyNullArgument occurrences="1">
      <code>$temp-&gt;item(0)-&gt;nodeValue</code>
    </PossiblyNullArgument>
    <PossiblyNullPropertyFetch occurrences="1">
      <code>$temp-&gt;item(0)-&gt;nodeValue</code>
    </PossiblyNullPropertyFetch>
    <PossiblyUndefinedVariable occurrences="4">
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
    </PossiblyUndefinedVariable>
    <TypeDoesNotContainType occurrences="1">
      <code>Strings::is_stringable($key)</code>
    </TypeDoesNotContainType>
    <UnusedClass occurrences="1">
      <code>XML</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Signature/ASN1.php">
    <InvalidReturnStatement occurrences="1">
      <code>$components</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>array|bool</code>
    </InvalidReturnType>
    <MixedArgument occurrences="1">
      <code>$decoded[0]</code>
    </MixedArgument>
    <NullableReturnStatement occurrences="1">
      <code>$components</code>
    </NullableReturnStatement>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <TypeDoesNotContainType occurrences="1">
      <code>is_string($sig)</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Signature/Raw.php">
    <UnusedClass occurrences="1">
      <code>Raw</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Formats/Signature/SSH2.php">
    <FalsableReturnStatement occurrences="1">
      <code>false</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingReturnType occurrences="1">
      <code>load</code>
    </MissingReturnType>
    <MixedArgument occurrences="2">
      <code>$blob</code>
      <code>$blob</code>
    </MixedArgument>
    <TypeDoesNotContainType occurrences="2">
      <code>$result === false</code>
      <code>is_string($sig)</code>
    </TypeDoesNotContainType>
    <UnusedClass occurrences="1">
      <code>SSH2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/DSA/Parameters.php">
    <MixedAssignment occurrences="1">
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>$type::saveParameters($this-&gt;p, $this-&gt;q, $this-&gt;g, $options)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::saveParameters($this-&gt;p, $this-&gt;q, $this-&gt;g, $options)</code>
    </MixedReturnStatement>
    <PropertyNotSetInConstructor occurrences="5">
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/DSA/PrivateKey.php">
    <InvalidStringClass occurrences="1">
      <code>$format::save($r, $s)</code>
    </InvalidStringClass>
    <MissingReturnType occurrences="1">
      <code>getPublicKey</code>
    </MissingReturnType>
    <MixedArgument occurrences="1">
      <code>$key</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$key</code>
      <code>$type</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>string</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="3">
      <code>$format::save($r, $s)</code>
      <code>$type::savePrivateKey($this-&gt;p, $this-&gt;q, $this-&gt;g, $this-&gt;y, $this-&gt;x, $this-&gt;password, $options)</code>
      <code>$type::savePublicKey($this-&gt;p, $this-&gt;q, $this-&gt;g, $this-&gt;y)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="3">
      <code>$format::save($r, $s)</code>
      <code>$format::save($r, $s)</code>
      <code>$type::savePrivateKey($this-&gt;p, $this-&gt;q, $this-&gt;g, $this-&gt;y, $this-&gt;x, $this-&gt;password, $options)</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="1">
      <code>ASN1Signature::load($signature)</code>
    </PossiblyInvalidArgument>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>self::$engines['OpenSSL']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="2">
      <code>$r</code>
      <code>$s</code>
    </PossiblyUndefinedVariable>
    <PropertyNotSetInConstructor occurrences="6">
      <code>$x</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="2">
      <code>isset($this-&gt;y)</code>
      <code>isset($this-&gt;y)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedMethod occurrences="1">
      <code>withSignatureFormat</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/DSA/PublicKey.php">
    <InvalidStringClass occurrences="1">
      <code>$format::load($signature)</code>
    </InvalidStringClass>
    <MixedArgument occurrences="11">
      <code>$message</code>
      <code>$message</code>
      <code>$params</code>
      <code>$params</code>
      <code>$r</code>
      <code>$r</code>
      <code>$s</code>
      <code>$sig</code>
      <code>$u2</code>
      <code>$w</code>
      <code>self::$one</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$u2</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="5">
      <code>$params</code>
      <code>$sig</code>
      <code>$type</code>
      <code>$w</code>
      <code>[, $u2]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="6">
      <code>$type::savePublicKey($this-&gt;p, $this-&gt;q, $this-&gt;g, $this-&gt;y, $options)</code>
      <code>between</code>
      <code>between</code>
      <code>divide</code>
      <code>modInverse</code>
      <code>multiply</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::savePublicKey($this-&gt;p, $this-&gt;q, $this-&gt;g, $this-&gt;y, $options)</code>
    </MixedReturnStatement>
    <PropertyNotSetInConstructor occurrences="5">
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC.php">
    <InvalidReturnStatement occurrences="1">
      <code>$decoded</code>
    </InvalidReturnStatement>
    <LessSpecificReturnStatement occurrences="2">
      <code>$privatekey</code>
      <code>$privatekey-&gt;withHash($curve::HASH)</code>
    </LessSpecificReturnStatement>
    <MissingReturnType occurrences="1">
      <code>getParameters</code>
    </MissingReturnType>
    <MixedArgument occurrences="9">
      <code>$components['curve']::HASH</code>
      <code>$curve-&gt;getBasePoint()</code>
      <code>$curve::HASH</code>
      <code>$dA</code>
      <code>$dA-&gt;toBytes()</code>
      <code>$decoded[0]</code>
      <code>$key</code>
      <code>$params</code>
      <code>$this-&gt;QA[0]-&gt;toBytes(true)</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$arr['dA']</code>
      <code>$arr['secret']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="18">
      <code>$arr</code>
      <code>$dA</code>
      <code>$dA</code>
      <code>$key</code>
      <code>$new-&gt;QA</code>
      <code>$new-&gt;curve</code>
      <code>$new-&gt;curve</code>
      <code>$new-&gt;dA</code>
      <code>$new-&gt;secret</code>
      <code>$new-&gt;sigFormat</code>
      <code>$params</code>
      <code>$privatekey-&gt;QA</code>
      <code>$privatekey-&gt;dA</code>
      <code>$privatekey-&gt;dA</code>
      <code>$privatekey-&gt;secret</code>
      <code>$this-&gt;curveName</code>
      <code>$this-&gt;sigFormat</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>string</code>
      <code>string|array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="10">
      <code>$type::saveParameters($this-&gt;curve)</code>
      <code>createRandomMultiplier</code>
      <code>getBasePoint</code>
      <code>multiplyPoint</code>
      <code>new $curve()</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$this-&gt;QA[0]-&gt;toBytes(true)</code>
      <code>$this-&gt;QA[1]-&gt;toBytes(true)</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$decoded['namedCurve']</code>
      <code>$this-&gt;curve-&gt;encodePoint($this-&gt;QA)</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="1">
      <code>PrivateKey</code>
    </MoreSpecificReturnType>
    <NullableReturnStatement occurrences="1">
      <code>$decoded</code>
    </NullableReturnStatement>
    <PossiblyNullArgument occurrences="1">
      <code>$decoded[0]</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="1">
      <code>$decoded[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullPropertyAssignmentValue occurrences="1">
      <code>null</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$decoded[0]</code>
      <code>$this-&gt;QA[0]</code>
      <code>$this-&gt;QA[0]</code>
      <code>$this-&gt;QA[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="7">
      <code>$components['QA']</code>
      <code>$components['curve']</code>
      <code>$components['curve']</code>
      <code>$components['secret']</code>
      <code>self::$engines['OpenSSL']</code>
      <code>self::$engines['libsodium']</code>
      <code>self::$engines['libsodium']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="5">
      <code>getContext</code>
      <code>getEngine</code>
      <code>getLength</code>
      <code>getSignatureFormat</code>
      <code>onLoad</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="2">
      <code>$q</code>
      <code>$x</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="7">
      <code>$QA</code>
      <code>$context</code>
      <code>$curve</code>
      <code>$curveName</code>
      <code>$format</code>
      <code>$q</code>
      <code>$x</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>$curve</code>
    </PropertyTypeCoercion>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>$this-&gt;curve instanceof Ed25519 &amp;&amp; self::$engines['libsodium'] &amp;&amp; !isset($this-&gt;context)</code>
    </RedundantPropertyInitializationCheck>
    <TypeDoesNotContainType occurrences="1">
      <code>is_string($context)</code>
    </TypeDoesNotContainType>
    <UndefinedMethod occurrences="4">
      <code>$decoded</code>
      <code>encodePoint</code>
      <code>extractSecret</code>
      <code>withSignatureFormat</code>
    </UndefinedMethod>
    <UndefinedPropertyAssignment occurrences="3">
      <code>$new-&gt;dA</code>
      <code>$new-&gt;secret</code>
      <code>$privatekey-&gt;curveName</code>
    </UndefinedPropertyAssignment>
    <UndefinedVariable occurrences="1">
      <code>$namedCurves</code>
    </UndefinedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/BaseCurves/Base.php">
    <InvalidReturnStatement occurrences="1">
      <code>$this-&gt;convertToAffine($r)</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>int[]</code>
      <code>object</code>
    </InvalidReturnType>
    <MissingConstructor occurrences="2">
      <code>$factory</code>
      <code>$order</code>
    </MissingConstructor>
    <MixedArgument occurrences="9">
      <code>$one</code>
      <code>$one</code>
      <code>$points[0]</code>
      <code>$points[1]</code>
      <code>$r</code>
      <code>$r[0]</code>
      <code>$scalars[0]</code>
      <code>$scalars[1]</code>
      <code>$zero</code>
    </MixedArgument>
    <MixedAssignment occurrences="4">
      <code>$r</code>
      <code>$r[$d_i]</code>
      <code>$r[1 - $d_i]</code>
      <code>$temp[]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="5">
      <code>array</code>
      <code>integer</code>
      <code>integer</code>
      <code>object</code>
      <code>object</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>negate</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="5">
      <code>$alreadyInternal ? $r[0] : $this-&gt;convertToAffine($r[0])</code>
      <code>$this-&gt;factory-&gt;getLength()</code>
      <code>$this-&gt;factory-&gt;getLengthInBytes()</code>
      <code>$this-&gt;factory-&gt;newInteger($x)</code>
      <code>$this-&gt;factory-&gt;randomInteger()</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="6">
      <code>$p</code>
      <code>$p</code>
      <code>$temp</code>
      <code>object[]</code>
      <code>object[]</code>
      <code>object[]</code>
    </MixedReturnTypeCoercion>
    <PossiblyUndefinedIntArrayOffset occurrences="10">
      <code>$p[0]</code>
      <code>$p[1]</code>
      <code>$points[0]</code>
      <code>$points[1]</code>
      <code>$r[0]</code>
      <code>$r[0]</code>
      <code>$r[0]</code>
      <code>$r[1]</code>
      <code>$scalars[0]</code>
      <code>$scalars[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="3">
      <code>createRandomMultiplier</code>
      <code>randomInteger</code>
      <code>setReduction</code>
    </PossiblyUnusedMethod>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;order)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedDocblockClass occurrences="6">
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>Integer</code>
    </UndefinedDocblockClass>
    <UndefinedMethod occurrences="3">
      <code>addPoint</code>
      <code>addPoint</code>
      <code>doublePoint</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/EC/BaseCurves/Binary.php">
    <InvalidPropertyAssignmentValue occurrences="1"/>
    <InvalidReturnStatement occurrences="1">
      <code>$this-&gt;p</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>array</code>
    </InvalidReturnType>
    <LessSpecificReturnStatement occurrences="2">
      <code>$this-&gt;a</code>
      <code>$this-&gt;b</code>
    </LessSpecificReturnStatement>
    <MissingConstructor occurrences="7">
      <code>$a</code>
      <code>$b</code>
      <code>$factory</code>
      <code>$modulo</code>
      <code>$one</code>
      <code>$order</code>
      <code>$p</code>
    </MissingConstructor>
    <MissingParamType occurrences="1">
      <code>$m</code>
    </MissingParamType>
    <MixedAssignment occurrences="10">
      <code>$lhs</code>
      <code>$lhs</code>
      <code>$rhs</code>
      <code>$this-&gt;a</code>
      <code>$this-&gt;b</code>
      <code>$x2</code>
      <code>$x3</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z2</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>boolean</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="18">
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>divide</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$lhs-&gt;equals($rhs)</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="6">
      <code>$p</code>
      <code>$p</code>
      <code>$p</code>
      <code>Integer[]</code>
      <code>Integer[]</code>
    </MixedReturnTypeCoercion>
    <MoreSpecificReturnType occurrences="2">
      <code>Integer</code>
      <code>Integer</code>
    </MoreSpecificReturnType>
    <NonInvariantDocblockPropertyType occurrences="1">
      <code>$factory</code>
    </NonInvariantDocblockPropertyType>
    <PossiblyFalseArgument occurrences="4">
      <code>pack('H*', $a)</code>
      <code>pack('H*', $b)</code>
      <code>pack('H*', $x)</code>
      <code>pack('H*', $y)</code>
    </PossiblyFalseArgument>
    <PossiblyUnusedMethod occurrences="4">
      <code>addPoint</code>
      <code>derivePoint</code>
      <code>doublePoint</code>
      <code>verifyPoint</code>
    </PossiblyUnusedMethod>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedDocblockClass occurrences="2">
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
    </UndefinedDocblockClass>
  </file>
  <file src="../phpseclib/Crypt/EC/BaseCurves/KoblitzPrime.php">
    <InvalidArgument occurrences="2">
      <code>$lambdas[0]</code>
      <code>$this-&gt;p</code>
    </InvalidArgument>
    <InvalidArrayAccess occurrences="1">
      <code>$this-&gt;p[0]</code>
    </InvalidArrayAccess>
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>static::extendedGCD($lambda-&gt;toBigInteger(), $this-&gt;order)</code>
    </InvalidPropertyAssignmentValue>
    <InvalidReturnStatement occurrences="1"/>
    <InvalidReturnType occurrences="1">
      <code>BigInteger[]</code>
    </InvalidReturnType>
    <MissingClosureParamType occurrences="1">
      <code>$p</code>
    </MissingClosureParamType>
    <MissingConstructor occurrences="2">
      <code>$basis</code>
      <code>$beta</code>
    </MissingConstructor>
    <MixedArgument occurrences="11">
      <code>$basis['a']-&gt;toHex(true)</code>
      <code>$basis['b']-&gt;toHex(true)</code>
      <code>$k</code>
      <code>$one</code>
      <code>$one</code>
      <code>$one</code>
      <code>$p</code>
      <code>$p['naf']</code>
      <code>$rhs</code>
      <code>$two</code>
      <code>$two</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="6">
      <code>$p['naf']</code>
      <code>$p['nafwidth']</code>
      <code>$p[0]</code>
      <code>$p[0]</code>
      <code>$p[1]</code>
      <code>$p[1]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="17">
      <code>$a2</code>
      <code>$b2</code>
      <code>$beta['nafwidth']</code>
      <code>$inv</code>
      <code>$k</code>
      <code>$lhs</code>
      <code>$lhs</code>
      <code>$npoints[$pos]</code>
      <code>$nscalars[$pos]</code>
      <code>$nscalars[$pos]</code>
      <code>$p</code>
      <code>$rhs</code>
      <code>$rhs</code>
      <code>$rhs</code>
      <code>$s</code>
      <code>$temp</code>
      <code>$this-&gt;beta</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="4">
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>boolean</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="24">
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>compare</code>
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>negate</code>
      <code>negate</code>
      <code>negate</code>
      <code>squareRoot</code>
      <code>subtract</code>
      <code>toBigInteger</code>
      <code>toHex</code>
      <code>toHex</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$lhs-&gt;equals($rhs)</code>
    </MixedReturnStatement>
    <PossiblyFalseReference occurrences="1">
      <code>multiply</code>
    </PossiblyFalseReference>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$this-&gt;multiplyPoint($this-&gt;p, $lambdas[0])[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedVariable occurrences="4">
      <code>$a0</code>
      <code>$a0</code>
      <code>$b0</code>
      <code>$b0</code>
    </PossiblyUndefinedVariable>
    <RedundantPropertyInitializationCheck occurrences="2">
      <code>isset($this-&gt;basis)</code>
      <code>isset($this-&gt;beta)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedDocblockClass occurrences="5">
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
    </UndefinedDocblockClass>
    <UndefinedMethod occurrences="2">
      <code>$basis</code>
      <code>$basis</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/EC/BaseCurves/Montgomery.php">
    <InvalidPropertyAssignmentValue occurrences="1"/>
    <InvalidReturnStatement occurrences="1">
      <code>$this-&gt;p</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>PrimeInteger[]</code>
      <code>array</code>
    </InvalidReturnType>
    <LessSpecificReturnStatement occurrences="1">
      <code>[clone $this-&gt;zero, clone $this-&gt;one]</code>
    </LessSpecificReturnStatement>
    <MissingConstructor occurrences="8">
      <code>$a</code>
      <code>$a24</code>
      <code>$factory</code>
      <code>$modulo</code>
      <code>$one</code>
      <code>$order</code>
      <code>$p</code>
      <code>$zero</code>
    </MissingConstructor>
    <MixedArgument occurrences="2">
      <code>$x</code>
      <code>$x</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$x</code>
      <code>$z</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>FiniteField[][]</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>divide</code>
    </MixedMethodCall>
    <MixedReturnTypeCoercion occurrences="6">
      <code>$p</code>
      <code>$p</code>
      <code>$p</code>
      <code>PrimeInteger[]</code>
      <code>PrimeInteger[]</code>
      <code>[$x-&gt;divide($z)]</code>
    </MixedReturnTypeCoercion>
    <NonInvariantDocblockPropertyType occurrences="1">
      <code>$factory</code>
    </NonInvariantDocblockPropertyType>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$p[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>setBasePoint</code>
      <code>setCoefficients</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="2">
      <code>$a24</code>
      <code>$modulo</code>
    </PossiblyUnusedProperty>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedDocblockClass occurrences="1">
      <code>FiniteField[][]</code>
    </UndefinedDocblockClass>
    <UndefinedVariable occurrences="1">
      <code>$x</code>
    </UndefinedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/BaseCurves/Prime.php">
    <InvalidArgument occurrences="1">
      <code>$jsf[0]</code>
    </InvalidArgument>
    <InvalidArrayAccess occurrences="2">
      <code>$jsf[0][$j]</code>
      <code>$jsf[1][$j]</code>
    </InvalidArrayAccess>
    <InvalidPropertyAssignmentValue occurrences="2">
      <code>new PrimeField($modulo)</code>
    </InvalidPropertyAssignmentValue>
    <InvalidReturnStatement occurrences="3">
      <code>$jsf</code>
      <code>$this-&gt;convertToAffine($acc)</code>
      <code>$this-&gt;p</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="3">
      <code>array</code>
      <code>int[]</code>
      <code>int[]</code>
    </InvalidReturnType>
    <LessSpecificReturnStatement occurrences="2">
      <code>$this-&gt;a</code>
      <code>$this-&gt;b</code>
    </LessSpecificReturnStatement>
    <MissingConstructor occurrences="22">
      <code>$a</code>
      <code>$a</code>
      <code>$b</code>
      <code>$b</code>
      <code>$eight</code>
      <code>$eight</code>
      <code>$factory</code>
      <code>$factory</code>
      <code>$four</code>
      <code>$four</code>
      <code>$modulo</code>
      <code>$modulo</code>
      <code>$one</code>
      <code>$one</code>
      <code>$order</code>
      <code>$order</code>
      <code>$p</code>
      <code>$p</code>
      <code>$three</code>
      <code>$three</code>
      <code>$two</code>
      <code>$two</code>
    </MissingConstructor>
    <MissingParamType occurrences="1">
      <code>$m</code>
    </MissingParamType>
    <MixedArgument occurrences="14">
      <code>$m</code>
      <code>$naf[$a]</code>
      <code>$naf[$b]</code>
      <code>$p</code>
      <code>$point</code>
      <code>$points[$a]</code>
      <code>$points[$a]</code>
      <code>$points[$b]</code>
      <code>$points[$b]</code>
      <code>$points[$i]</code>
      <code>$points[0]</code>
      <code>$scalars[$a]</code>
      <code>$scalars[$b]</code>
      <code>$wnd[$j][(-$z - 1) &gt;&gt; 1]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$points[$i]['nafwidth']</code>
      <code>$points[0]['nafwidth']</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="1">
      <code>$wnd[$j][($z - 1) &gt;&gt; 1]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="42">
      <code>$b</code>
      <code>$bn</code>
      <code>$jsf[0][]</code>
      <code>$jsf[1][]</code>
      <code>$k1</code>
      <code>$k1</code>
      <code>$k2</code>
      <code>$k2</code>
      <code>$lhs</code>
      <code>$m14</code>
      <code>$m14</code>
      <code>$m14</code>
      <code>$m24</code>
      <code>$m24</code>
      <code>$m24</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$naf[$a]</code>
      <code>$naf[$b]</code>
      <code>$p</code>
      <code>$point</code>
      <code>$rhs</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp[$j]</code>
      <code>$this-&gt;a</code>
      <code>$this-&gt;b</code>
      <code>$u1</code>
      <code>$u2</code>
      <code>$wndWidth[]</code>
      <code>$yp</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z2</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="10">
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>boolean</code>
      <code>list&lt;array&gt;</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="40">
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>bitwise_rightShift</code>
      <code>bitwise_rightShift</code>
      <code>compare</code>
      <code>compare</code>
      <code>divide</code>
      <code>equals</code>
      <code>getNAF</code>
      <code>getNAF</code>
      <code>isOdd</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>negate</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>squareRoot</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
      <code>testBit</code>
    </MixedMethodCall>
    <MixedOperand occurrences="23">
      <code>$k1-&gt;testBit(0)</code>
      <code>$k1-&gt;testBit(0)</code>
      <code>$k1-&gt;testBit(1)</code>
      <code>$k1-&gt;testBit(1)</code>
      <code>$k1-&gt;testBit(2)</code>
      <code>$k2-&gt;testBit(0)</code>
      <code>$k2-&gt;testBit(0)</code>
      <code>$k2-&gt;testBit(1)</code>
      <code>$k2-&gt;testBit(1)</code>
      <code>$k2-&gt;testBit(2)</code>
      <code>$m14</code>
      <code>$m14</code>
      <code>$m14</code>
      <code>$m24</code>
      <code>$m24</code>
      <code>$m24</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$m8</code>
      <code>$u1</code>
      <code>$u2</code>
      <code>$z</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$lhs-&gt;equals($rhs)</code>
      <code>$point['naf']</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="6">
      <code>$p</code>
      <code>$p</code>
      <code>$p</code>
      <code>PrimeInteger[]</code>
      <code>PrimeInteger[]</code>
    </MixedReturnTypeCoercion>
    <MoreSpecificReturnType occurrences="2">
      <code>PrimeInteger</code>
      <code>PrimeInteger</code>
    </MoreSpecificReturnType>
    <NonInvariantDocblockPropertyType occurrences="1">
      <code>$factory</code>
    </NonInvariantDocblockPropertyType>
    <PossiblyNullArgument occurrences="1">
      <code>$dbl</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$jsf[0]</code>
      <code>$points[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="8">
      <code>derivePoint</code>
      <code>doublePointHelper</code>
      <code>jacobianAddPoint</code>
      <code>jacobianAddPointMixedX</code>
      <code>jacobianAddPointMixedXY</code>
      <code>jacobianDoublePoint</code>
      <code>jacobianDoublePointMixed</code>
      <code>verifyPoint</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="3">
      <code>$p</code>
      <code>$p</code>
      <code>$q</code>
    </PossiblyUnusedParam>
    <PossiblyUnusedProperty occurrences="2">
      <code>$eight</code>
      <code>$four</code>
    </PossiblyUnusedProperty>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedDocblockClass occurrences="13">
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>PrimeFields</code>
    </UndefinedDocblockClass>
    <UndefinedMethod occurrences="2">
      <code>toBigInteger</code>
      <code>toBigInteger</code>
    </UndefinedMethod>
    <UnusedVariable occurrences="1">
      <code>$p</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/BaseCurves/TwistedEdwards.php">
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>new PrimeField($modulo)</code>
    </InvalidPropertyAssignmentValue>
    <LessSpecificReturnStatement occurrences="2">
      <code>$this-&gt;a</code>
      <code>$this-&gt;d</code>
    </LessSpecificReturnStatement>
    <MissingConstructor occurrences="7">
      <code>$a</code>
      <code>$d</code>
      <code>$modulo</code>
      <code>$one</code>
      <code>$p</code>
      <code>$two</code>
      <code>$zero</code>
    </MissingConstructor>
    <MissingParamType occurrences="2">
      <code>$x</code>
      <code>$y</code>
    </MissingParamType>
    <MixedAssignment occurrences="8">
      <code>$lhs</code>
      <code>$rhs</code>
      <code>$this-&gt;a</code>
      <code>$this-&gt;d</code>
      <code>$x2</code>
      <code>$y2</code>
      <code>$z</code>
      <code>$z</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>boolean</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="11">
      <code>add</code>
      <code>add</code>
      <code>divide</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
    </MixedMethodCall>
    <MixedPropertyTypeCoercion occurrences="1"/>
    <MixedReturnStatement occurrences="1">
      <code>$lhs-&gt;equals($rhs)</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="3">
      <code>$p</code>
      <code>PrimeInteger[]</code>
    </MixedReturnTypeCoercion>
    <MoreSpecificReturnType occurrences="2">
      <code>PrimeInteger</code>
      <code>PrimeInteger</code>
    </MoreSpecificReturnType>
    <PossiblyUnusedMethod occurrences="2">
      <code>getA</code>
      <code>getD</code>
    </PossiblyUnusedMethod>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
      <code>isset($this-&gt;factory)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedDocblockClass occurrences="4">
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
    </UndefinedDocblockClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/Curve25519.php">
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>[$this-&gt;factory-&gt;newInteger(new BigInteger(9))]</code>
    </InvalidPropertyAssignmentValue>
    <PossiblyNullReference occurrences="2">
      <code>newInteger</code>
      <code>newInteger</code>
    </PossiblyNullReference>
    <PropertyNotSetInConstructor occurrences="6">
      <code>Curve25519</code>
      <code>Curve25519</code>
      <code>Curve25519</code>
      <code>Curve25519</code>
      <code>Curve25519</code>
      <code>Curve25519</code>
    </PropertyNotSetInConstructor>
    <UninitializedProperty occurrences="2">
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
    </UninitializedProperty>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/Curve448.php">
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>[$this-&gt;factory-&gt;newInteger(new BigInteger(5))]</code>
    </InvalidPropertyAssignmentValue>
    <PossiblyNullReference occurrences="2">
      <code>newInteger</code>
      <code>newInteger</code>
    </PossiblyNullReference>
    <PropertyNotSetInConstructor occurrences="6">
      <code>Curve448</code>
      <code>Curve448</code>
      <code>Curve448</code>
      <code>Curve448</code>
      <code>Curve448</code>
      <code>Curve448</code>
    </PropertyNotSetInConstructor>
    <UninitializedProperty occurrences="2">
      <code>$this-&gt;factory</code>
      <code>$this-&gt;factory</code>
    </UninitializedProperty>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/Ed25519.php">
    <InvalidReturnStatement occurrences="1">
      <code>clone $this-&gt;zero</code>
    </InvalidReturnStatement>
    <MixedArgument occurrences="1">
      <code>$y</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$y[0]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="2">
      <code>$y[0]</code>
      <code>$y[0]</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="12">
      <code>$temp</code>
      <code>$u</code>
      <code>$v</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x2</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y2</code>
      <code>$y[0]</code>
      <code>$y[0]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="4">
      <code>BigInteger</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>Integer[]</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="19">
      <code>add</code>
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>isOdd</code>
      <code>isOdd</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>negate</code>
      <code>pow</code>
      <code>pow</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$y[0]</code>
      <code>$y[0]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;extractSecret(Random::string(32))['dA']</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="2">
      <code>[$x, $y]</code>
      <code>object[]</code>
    </MixedReturnTypeCoercion>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>$this-&gt;extractSecret(Random::string(32))['dA']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="3">
      <code>addPoint</code>
      <code>doublePoint</code>
      <code>recoverX</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="9">
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
      <code>Ed25519</code>
    </PropertyNotSetInConstructor>
    <UndefinedDocblockClass occurrences="4">
      <code>$this-&gt;factory</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
      <code>Integer[]</code>
    </UndefinedDocblockClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/Ed448.php">
    <InvalidReturnStatement occurrences="1">
      <code>clone $this-&gt;zero</code>
    </InvalidReturnStatement>
    <LessSpecificReturnStatement occurrences="1">
      <code>[clone $this-&gt;zero, clone $this-&gt;one, clone $this-&gt;one]</code>
    </LessSpecificReturnStatement>
    <MixedAssignment occurrences="7">
      <code>$u</code>
      <code>$v</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x2</code>
      <code>$y</code>
      <code>$y2</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>BigInteger</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="14">
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>isOdd</code>
      <code>isOdd</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>negate</code>
      <code>pow</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="1">
      <code>$y-&gt;toBytes()</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;extractSecret(Random::string(57))['dA']</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="5">
      <code>$p</code>
      <code>$p</code>
      <code>Integer[]</code>
      <code>[$x, $y]</code>
      <code>object[]</code>
    </MixedReturnTypeCoercion>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>$this-&gt;extractSecret(Random::string(57))['dA']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="4">
      <code>addPoint</code>
      <code>doublePoint</code>
      <code>encodePoint</code>
      <code>recoverX</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="9">
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
      <code>Ed448</code>
    </PropertyNotSetInConstructor>
    <UndefinedDocblockClass occurrences="3">
      <code>$this-&gt;factory</code>
      <code>FiniteField[]</code>
      <code>FiniteField[]</code>
    </UndefinedDocblockClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP160r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
      <code>brainpoolP160r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP160r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP160t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
      <code>brainpoolP160t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP160t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP192r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
      <code>brainpoolP192r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP192r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP192t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
      <code>brainpoolP192t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP192t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP224r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
      <code>brainpoolP224r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP224r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP224t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
      <code>brainpoolP224t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP224t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP256r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
      <code>brainpoolP256r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP256r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP256t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
      <code>brainpoolP256t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP256t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP320r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
      <code>brainpoolP320r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP320r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP320t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
      <code>brainpoolP320t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP320t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP384r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
      <code>brainpoolP384r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP384r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP384t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
      <code>brainpoolP384t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP384t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP512r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
      <code>brainpoolP512r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP512r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/brainpoolP512t1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
      <code>brainpoolP512t1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>brainpoolP512t1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistb233.php">
    <UnusedClass occurrences="1">
      <code>nistb233</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistb409.php">
    <UnusedClass occurrences="1">
      <code>nistb409</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistk163.php">
    <UnusedClass occurrences="1">
      <code>nistk163</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistk233.php">
    <UnusedClass occurrences="1">
      <code>nistk233</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistk283.php">
    <UnusedClass occurrences="1">
      <code>nistk283</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistk409.php">
    <UnusedClass occurrences="1">
      <code>nistk409</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistp192.php">
    <UnusedClass occurrences="1">
      <code>nistp192</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistp224.php">
    <UnusedClass occurrences="1">
      <code>nistp224</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistp256.php">
    <UnusedClass occurrences="1">
      <code>nistp256</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistp384.php">
    <UnusedClass occurrences="1">
      <code>nistp384</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistp521.php">
    <UnusedClass occurrences="1">
      <code>nistp521</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/nistt571.php">
    <UnusedClass occurrences="1">
      <code>nistt571</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime192v1.php">
    <UnusedClass occurrences="1">
      <code>prime192v1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime192v2.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
      <code>prime192v2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>prime192v2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime192v3.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
      <code>prime192v3</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>prime192v3</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime239v1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
      <code>prime239v1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>prime239v1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime239v2.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
      <code>prime239v2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>prime239v2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime239v3.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
      <code>prime239v3</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>prime239v3</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/prime256v1.php">
    <UnusedClass occurrences="1">
      <code>prime256v1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp112r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
      <code>secp112r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>secp112r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp112r2.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
      <code>secp112r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>secp112r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp128r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
      <code>secp128r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>secp128r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp128r2.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
      <code>secp128r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>secp128r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp160k1.php">
    <MixedAssignment occurrences="1">
      <code>$this-&gt;beta</code>
    </MixedAssignment>
    <PossiblyNullReference occurrences="1">
      <code>newInteger</code>
    </PossiblyNullReference>
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
      <code>secp160k1</code>
    </PropertyNotSetInConstructor>
    <UndefinedDocblockClass occurrences="1">
      <code>$this-&gt;factory</code>
    </UndefinedDocblockClass>
    <UninitializedProperty occurrences="1">
      <code>$this-&gt;factory</code>
    </UninitializedProperty>
    <UnusedClass occurrences="1">
      <code>secp160k1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp160r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
      <code>secp160r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>secp160r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp160r2.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
      <code>secp160r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>secp160r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp192k1.php">
    <MixedAssignment occurrences="1">
      <code>$this-&gt;beta</code>
    </MixedAssignment>
    <PossiblyNullReference occurrences="1">
      <code>newInteger</code>
    </PossiblyNullReference>
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
      <code>secp192k1</code>
    </PropertyNotSetInConstructor>
    <UndefinedDocblockClass occurrences="1">
      <code>$this-&gt;factory</code>
    </UndefinedDocblockClass>
    <UninitializedProperty occurrences="1">
      <code>$this-&gt;factory</code>
    </UninitializedProperty>
    <UnusedClass occurrences="1">
      <code>secp192k1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp192r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
      <code>secp192r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp224k1.php">
    <MixedAssignment occurrences="1">
      <code>$this-&gt;beta</code>
    </MixedAssignment>
    <PossiblyNullReference occurrences="1">
      <code>newInteger</code>
    </PossiblyNullReference>
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
      <code>secp224k1</code>
    </PropertyNotSetInConstructor>
    <UndefinedDocblockClass occurrences="1">
      <code>$this-&gt;factory</code>
    </UndefinedDocblockClass>
    <UninitializedProperty occurrences="1">
      <code>$this-&gt;factory</code>
    </UninitializedProperty>
    <UnusedClass occurrences="1">
      <code>secp224k1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp224r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
      <code>secp224r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp256k1.php">
    <MixedAssignment occurrences="1">
      <code>$this-&gt;beta</code>
    </MixedAssignment>
    <PossiblyNullReference occurrences="1">
      <code>newInteger</code>
    </PossiblyNullReference>
    <PossiblyUnusedMethod occurrences="1">
      <code>__construct</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
      <code>secp256k1</code>
    </PropertyNotSetInConstructor>
    <UndefinedDocblockClass occurrences="1">
      <code>$this-&gt;factory</code>
    </UndefinedDocblockClass>
    <UninitializedProperty occurrences="1">
      <code>$this-&gt;factory</code>
    </UninitializedProperty>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp256r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
      <code>secp256r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp384r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
      <code>secp384r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/secp521r1.php">
    <PropertyNotSetInConstructor occurrences="11">
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
      <code>secp521r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect113r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect113r1</code>
      <code>sect113r1</code>
      <code>sect113r1</code>
      <code>sect113r1</code>
      <code>sect113r1</code>
      <code>sect113r1</code>
      <code>sect113r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect113r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect113r2.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect113r2</code>
      <code>sect113r2</code>
      <code>sect113r2</code>
      <code>sect113r2</code>
      <code>sect113r2</code>
      <code>sect113r2</code>
      <code>sect113r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect113r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect131r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect131r1</code>
      <code>sect131r1</code>
      <code>sect131r1</code>
      <code>sect131r1</code>
      <code>sect131r1</code>
      <code>sect131r1</code>
      <code>sect131r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect131r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect131r2.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect131r2</code>
      <code>sect131r2</code>
      <code>sect131r2</code>
      <code>sect131r2</code>
      <code>sect131r2</code>
      <code>sect131r2</code>
      <code>sect131r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect131r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect163k1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect163k1</code>
      <code>sect163k1</code>
      <code>sect163k1</code>
      <code>sect163k1</code>
      <code>sect163k1</code>
      <code>sect163k1</code>
      <code>sect163k1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect163r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect163r1</code>
      <code>sect163r1</code>
      <code>sect163r1</code>
      <code>sect163r1</code>
      <code>sect163r1</code>
      <code>sect163r1</code>
      <code>sect163r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect163r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect163r2.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect163r2</code>
      <code>sect163r2</code>
      <code>sect163r2</code>
      <code>sect163r2</code>
      <code>sect163r2</code>
      <code>sect163r2</code>
      <code>sect163r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect163r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect193r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect193r1</code>
      <code>sect193r1</code>
      <code>sect193r1</code>
      <code>sect193r1</code>
      <code>sect193r1</code>
      <code>sect193r1</code>
      <code>sect193r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect193r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect193r2.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect193r2</code>
      <code>sect193r2</code>
      <code>sect193r2</code>
      <code>sect193r2</code>
      <code>sect193r2</code>
      <code>sect193r2</code>
      <code>sect193r2</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect193r2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect233k1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect233k1</code>
      <code>sect233k1</code>
      <code>sect233k1</code>
      <code>sect233k1</code>
      <code>sect233k1</code>
      <code>sect233k1</code>
      <code>sect233k1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect233r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect233r1</code>
      <code>sect233r1</code>
      <code>sect233r1</code>
      <code>sect233r1</code>
      <code>sect233r1</code>
      <code>sect233r1</code>
      <code>sect233r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect239k1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect239k1</code>
      <code>sect239k1</code>
      <code>sect239k1</code>
      <code>sect239k1</code>
      <code>sect239k1</code>
      <code>sect239k1</code>
      <code>sect239k1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect239k1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect283k1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect283k1</code>
      <code>sect283k1</code>
      <code>sect283k1</code>
      <code>sect283k1</code>
      <code>sect283k1</code>
      <code>sect283k1</code>
      <code>sect283k1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect283r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect283r1</code>
      <code>sect283r1</code>
      <code>sect283r1</code>
      <code>sect283r1</code>
      <code>sect283r1</code>
      <code>sect283r1</code>
      <code>sect283r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect283r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect409k1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect409k1</code>
      <code>sect409k1</code>
      <code>sect409k1</code>
      <code>sect409k1</code>
      <code>sect409k1</code>
      <code>sect409k1</code>
      <code>sect409k1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect409r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect409r1</code>
      <code>sect409r1</code>
      <code>sect409r1</code>
      <code>sect409r1</code>
      <code>sect409r1</code>
      <code>sect409r1</code>
      <code>sect409r1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect571k1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect571k1</code>
      <code>sect571k1</code>
      <code>sect571k1</code>
      <code>sect571k1</code>
      <code>sect571k1</code>
      <code>sect571k1</code>
      <code>sect571k1</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/Curves/sect571r1.php">
    <PropertyNotSetInConstructor occurrences="7">
      <code>sect571r1</code>
      <code>sect571r1</code>
      <code>sect571r1</code>
      <code>sect571r1</code>
      <code>sect571r1</code>
      <code>sect571r1</code>
      <code>sect571r1</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>sect571r1</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/Common.php">
    <ArgumentTypeCoercion occurrences="3">
      <code>$class</code>
      <code>$point</code>
      <code>$point</code>
    </ArgumentTypeCoercion>
    <InvalidReturnType occurrences="1">
      <code>string|false</code>
    </InvalidReturnType>
    <InvalidStringClass occurrences="1">
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedArgument occurrences="18">
      <code>$curve-&gt;getModulo()</code>
      <code>$data['curve']['a']</code>
      <code>$data['curve']['a']</code>
      <code>$data['curve']['b']</code>
      <code>$data['curve']['b']</code>
      <code>$data['fieldID']['parameters']</code>
      <code>$data['fieldID']['parameters']</code>
      <code>$data['order']</code>
      <code>$data['order']</code>
      <code>$m</code>
      <code>$modulo[0]</code>
      <code>$modulo[0]</code>
      <code>$modulo[1]</code>
      <code>$modulo[2]</code>
      <code>$params['parameters']</code>
      <code>$params[0]</code>
      <code>$point</code>
      <code>$temp[0]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="18">
      <code>$curveX</code>
      <code>$curveX</code>
      <code>$curveY</code>
      <code>$curveY</code>
      <code>$data['base']</code>
      <code>$data['base']</code>
      <code>$data['curve']</code>
      <code>$data['curve']</code>
      <code>$data['curve']</code>
      <code>$data['curve']</code>
      <code>$data['fieldID']</code>
      <code>$data['fieldID']</code>
      <code>$data['fieldID']</code>
      <code>$data['fieldID']</code>
      <code>$data['order']</code>
      <code>$data['order']</code>
      <code>$point[0]</code>
      <code>$point[1]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="9">
      <code>$data</code>
      <code>$m</code>
      <code>$point</code>
      <code>$point</code>
      <code>$useNamedCurves</code>
      <code>$x</code>
      <code>$y</code>
      <code>[$curveX, $curveY]</code>
      <code>[$curveX, $curveY]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>BaseCurve|false</code>
      <code>object[]</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="20">
      <code>new $curve()</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="9">
      <code>$data['base']</code>
      <code>$data['base']</code>
      <code>$data['fieldID']['fieldType']</code>
      <code>$params['namedCurve']</code>
      <code>$params['namedCurve']</code>
      <code>$x</code>
      <code>$x</code>
      <code>$y</code>
      <code>$y</code>
    </MixedOperand>
    <PossiblyInvalidArrayAccess occurrences="7">
      <code>$params['basis']</code>
      <code>$params['m']</code>
      <code>$params['parameters']</code>
      <code>$params['parameters']</code>
      <code>$temp['k1']</code>
      <code>$temp['k2']</code>
      <code>$temp['k3']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayOffset occurrences="7">
      <code>$params['basis']</code>
      <code>$params['m']</code>
      <code>$params['parameters']</code>
      <code>$params['parameters']</code>
      <code>$temp['k1']</code>
      <code>$temp['k2']</code>
      <code>$temp['k3']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyNullArgument occurrences="4">
      <code>$m</code>
      <code>$params['parameters']</code>
      <code>$params[0]</code>
      <code>$temp[0]</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="9">
      <code>$params['basis']</code>
      <code>$params['m']</code>
      <code>$params['parameters']</code>
      <code>$params['parameters']</code>
      <code>$params[0]</code>
      <code>$temp['k1']</code>
      <code>$temp['k2']</code>
      <code>$temp['k3']</code>
      <code>$temp[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullReference occurrences="12">
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </PossiblyNullReference>
    <PossiblyUndefinedIntArrayOffset occurrences="6">
      <code>$modulo[0]</code>
      <code>$modulo[0]</code>
      <code>$modulo[1]</code>
      <code>$modulo[2]</code>
      <code>$params[0]</code>
      <code>$temp[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="7">
      <code>$params['basis']</code>
      <code>$params['m']</code>
      <code>$params['parameters']</code>
      <code>$params['parameters']</code>
      <code>$temp['k1']</code>
      <code>$temp['k2']</code>
      <code>$temp['k3']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>setImplicitCurve</code>
    </PossiblyUnusedMethod>
    <TypeDoesNotContainType occurrences="2">
      <code>!$order</code>
      <code>$order</code>
    </TypeDoesNotContainType>
    <UndefinedMethod occurrences="19">
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>derivePoint</code>
      <code>getA</code>
      <code>getA</code>
      <code>getB</code>
      <code>getB</code>
      <code>getBasePoint</code>
      <code>getBasePoint</code>
      <code>getBasePoint</code>
      <code>getModulo</code>
      <code>getModulo</code>
      <code>recoverX</code>
      <code>verifyPoint</code>
    </UndefinedMethod>
    <UndefinedPropertyAssignment occurrences="1">
      <code>self::$implicitCurve</code>
    </UndefinedPropertyAssignment>
    <UndefinedPropertyFetch occurrences="1">
      <code>self::$implicitCurve</code>
    </UndefinedPropertyFetch>
    <UnusedVariable occurrences="1">
      <code>$len</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/JWK.php">
    <InvalidStringClass occurrences="1">
      <code>new $curve()</code>
    </InvalidStringClass>
    <MixedArgument occurrences="9">
      <code>$curve-&gt;encodePoint($publicKey)</code>
      <code>$key-&gt;crv</code>
      <code>$key-&gt;d</code>
      <code>$key-&gt;d</code>
      <code>$key-&gt;x</code>
      <code>$key-&gt;x</code>
      <code>$key-&gt;y</code>
      <code>$publicKey[0]-&gt;toBytes()</code>
      <code>$publicKey[1]-&gt;toBytes()</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$arr</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="4">
      <code>convertInteger</code>
      <code>convertInteger</code>
      <code>rangeCheck</code>
      <code>verifyPoint</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$arr</code>
      <code>$key-&gt;crv</code>
      <code>$key-&gt;crv</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>compact('curve', 'QA') + $arr</code>
    </MixedReturnStatement>
    <PossiblyNullArgument occurrences="1">
      <code>$key['d']</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$publicKey[0]</code>
      <code>$publicKey[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedMethod occurrences="1">
      <code>encodePoint</code>
    </PossiblyUndefinedMethod>
    <UndefinedMethod occurrences="3">
      <code>extractSecret</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>JWK</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/MontgomeryPrivate.php">
    <MixedArgument occurrences="1">
      <code>$publicKey[0]-&gt;toBytes()</code>
    </MixedArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$publicKey[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <RedundantCondition occurrences="2">
      <code>!empty($password) &amp;&amp; is_string($password)</code>
      <code>is_string($password)</code>
    </RedundantCondition>
    <UndefinedMethod occurrences="1">
      <code>toBytes</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>MontgomeryPrivate</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/MontgomeryPublic.php">
    <MixedArgument occurrences="1">
      <code>$publicKey[0]-&gt;toBytes()</code>
    </MixedArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$publicKey[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <UndefinedMethod occurrences="1">
      <code>toBytes</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>MontgomeryPublic</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/OpenSSH.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$curve</code>
    </ArgumentTypeCoercion>
    <ImplicitToStringCast occurrences="1">
      <code>$privateKey</code>
    </ImplicitToStringCast>
    <InvalidStringClass occurrences="1">
      <code>new $curveName()</code>
    </InvalidStringClass>
    <MismatchingDocblockParamType occurrences="1">
      <code>string|false</code>
    </MismatchingDocblockParamType>
    <MixedArgument occurrences="6">
      <code>$key</code>
      <code>$paddedKey</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['publicKey']</code>
      <code>$privateKey</code>
    </MixedArgument>
    <MixedAssignment occurrences="4">
      <code>$comment</code>
      <code>$key['comment']</code>
      <code>$oid</code>
      <code>$paddedKey</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="4">
      <code>$comment</code>
      <code>$comment</code>
      <code>$curveName</code>
      <code>$publicKey</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$alias</code>
    </MixedReturnStatement>
    <PossiblyFalseReference occurrences="1">
      <code>rangeCheck</code>
    </PossiblyFalseReference>
    <PossiblyNullArgument occurrences="2">
      <code>$password</code>
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$publicKey[0]</code>
      <code>$publicKey[0]</code>
      <code>$publicKey[1]</code>
      <code>$publicKey[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="7">
      <code>$parsed['comment']</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['type']</code>
      <code>$parsed['type']</code>
      <code>$parsed[type]</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>savePrivateKey</code>
    </PossiblyUnusedMethod>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>$curve instanceof Ed25519</code>
    </RedundantConditionGivenDocblockType>
    <UndefinedMethod occurrences="4">
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/PKCS1.php">
    <MixedArgument occurrences="12">
      <code>$components['curve']-&gt;getBasePoint()</code>
      <code>$components['curve']-&gt;getBasePoint()</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$ecPrivate['parameters']</code>
      <code>$ecPrivate['privateKey']</code>
      <code>$ecPrivate['publicKey']</code>
      <code>$ecPrivate['publicKey']</code>
      <code>$key['parameters']</code>
      <code>$key['privateKey']</code>
    </MixedArgument>
    <PossiblyFalseArgument occurrences="5">
      <code>$components['curve']</code>
      <code>$components['curve']</code>
      <code>$ecParams</code>
      <code>$key</code>
      <code>self::encodeParameters($curve)</code>
    </PossiblyFalseArgument>
    <PossiblyFalseReference occurrences="3">
      <code>getBasePoint</code>
      <code>multiplyPoint</code>
      <code>rangeCheck</code>
    </PossiblyFalseReference>
    <PossiblyInvalidArgument occurrences="3">
      <code>$decoded</code>
      <code>$decoded</code>
      <code>$key</code>
    </PossiblyInvalidArgument>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="7">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$matches[0]</code>
      <code>$matches[0]</code>
      <code>$publicKey[0]</code>
      <code>$publicKey[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$ecPrivate['privateKey']</code>
      <code>$key['privateKey']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>saveParameters</code>
      <code>savePrivateKey</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="4">
      <code>getBasePoint</code>
      <code>getBasePoint</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </UndefinedMethod>
    <UndefinedVariable occurrences="1">
      <code>$ecPrivate</code>
    </UndefinedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/PKCS8.php">
    <MixedArgument occurrences="12">
      <code>$components['curve']-&gt;getBasePoint()</code>
      <code>$components['dA']</code>
      <code>$curve-&gt;encodePoint($publicKey)</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$key[$type . 'Algorithm']['parameters']-&gt;element</code>
      <code>$key['privateKey']</code>
      <code>$key['privateKey']</code>
      <code>$key['privateKey']</code>
      <code>$key['privateKey']</code>
      <code>$key['publicKey']</code>
      <code>$key['publicKey']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="4">
      <code>$key[$type . 'Algorithm']['algorithm']</code>
      <code>$key[$type . 'Algorithm']['parameters']</code>
      <code>$key['privateKeyAlgorithm']['algorithm']</code>
      <code>$key['publicKeyAlgorithm']['algorithm']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="2">
      <code>$components['dA']</code>
      <code>$components['secret']</code>
    </MixedAssignment>
    <MixedOperand occurrences="1">
      <code>$key['publicKey']</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="1">
      <code>$key[$type . 'Algorithm']['parameters']-&gt;element</code>
    </MixedPropertyFetch>
    <PossiblyFalseArgument occurrences="3">
      <code>$components['curve']</code>
      <code>self::encodeParameters($curve, false, $options)</code>
      <code>self::encodeParameters($curve, false, $options)</code>
    </PossiblyFalseArgument>
    <PossiblyFalseReference occurrences="1">
      <code>rangeCheck</code>
    </PossiblyFalseReference>
    <PossiblyInvalidArgument occurrences="1">
      <code>$params</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$key['privateKey']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayOffset occurrences="1">
      <code>$key['privateKey']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyNullArgument occurrences="3">
      <code>$key['privateKey']</code>
      <code>$password</code>
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="1">
      <code>$key['privateKey']</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullOperand occurrences="1">
      <code>$secret</code>
    </PossiblyNullOperand>
    <PossiblyNullReference occurrences="1">
      <code>$key</code>
    </PossiblyNullReference>
    <PossiblyUndefinedArrayOffset occurrences="2">
      <code>$components['curve']</code>
      <code>$components['dA']</code>
    </PossiblyUndefinedArrayOffset>
    <PossiblyUndefinedIntArrayOffset occurrences="6">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$publicKey[0]</code>
      <code>$publicKey[0]</code>
      <code>$publicKey[1]</code>
      <code>$publicKey[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="9">
      <code>$arr['dA']</code>
      <code>$arr['secret']</code>
      <code>$key[$type . 'Algorithm']</code>
      <code>$key[$type . 'Algorithm']</code>
      <code>$key['privateKey']</code>
      <code>$key['privateKey']</code>
      <code>$key['privateKeyAlgorithm']</code>
      <code>$key['publicKey']</code>
      <code>$key['publicKeyAlgorithm']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>savePrivateKey</code>
      <code>savePublicKey</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="9">
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>encodePoint</code>
      <code>getBasePoint</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/PuTTY.php">
    <InvalidArgument occurrences="1">
      <code>$publicKey</code>
    </InvalidArgument>
    <MixedArgument occurrences="6">
      <code>$components['type']</code>
      <code>$length</code>
      <code>$length</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$arr['dA']</code>
      <code>$arr['secret']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="4">
      <code>$arr</code>
      <code>$components['dA']</code>
      <code>$components['secret']</code>
      <code>$private</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>rangeCheck</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$components['comment']</code>
      <code>$components['public']</code>
      <code>$components['type']</code>
    </MixedOperand>
    <PossiblyInvalidArrayAccess occurrences="2">
      <code>$length</code>
      <code>$length</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullArgument occurrences="2">
      <code>$password</code>
      <code>$secret</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$public[1]</code>
      <code>$public[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="4">
      <code>$components['comment']</code>
      <code>$components['curve']</code>
      <code>$components['public']</code>
      <code>$components['type']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$private</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="2">
      <code>savePrivateKey</code>
      <code>savePublicKey</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="1">
      <code>$types</code>
    </PossiblyUnusedProperty>
    <UndefinedMethod occurrences="1">
      <code>extractSecret</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/XML.php">
    <ArgumentTypeCoercion occurrences="3">
      <code>$key</code>
      <code>$point</code>
      <code>$xml</code>
    </ArgumentTypeCoercion>
    <InvalidArrayAccess occurrences="3">
      <code>$result['namedCurve']</code>
      <code>$result['specifiedCurve']</code>
      <code>$result['specifiedCurve']</code>
    </InvalidArrayAccess>
    <InvalidArrayOffset occurrences="3">
      <code>$result['namedCurve']</code>
      <code>$result['specifiedCurve']</code>
      <code>$result['specifiedCurve']</code>
    </InvalidArrayOffset>
    <InvalidNullableReturnType occurrences="1">
      <code>\DOMNodeList|string</code>
    </InvalidNullableReturnType>
    <InvalidOperand occurrences="2">
      <code>$publicKey[0]</code>
      <code>$publicKey[1]</code>
    </InvalidOperand>
    <LessSpecificReturnStatement occurrences="1">
      <code>new $curve()</code>
    </LessSpecificReturnStatement>
    <LessSpecificReturnType occurrences="2">
      <code>BaseCurve|false</code>
      <code>string|false</code>
    </LessSpecificReturnType>
    <MissingReturnType occurrences="1">
      <code>isolateNamespace</code>
    </MissingReturnType>
    <MixedArgument occurrences="12">
      <code>$key</code>
      <code>$key</code>
      <code>$oid</code>
      <code>$p</code>
      <code>$p</code>
      <code>$temp['base']</code>
      <code>$temp['curve']['a']</code>
      <code>$temp['curve']['b']</code>
      <code>$temp['fieldID']['parameters']-&gt;toBytes()</code>
      <code>$temp['order']</code>
      <code>$x-&gt;item(0)-&gt;getAttribute('Value')</code>
      <code>$y-&gt;item(0)-&gt;getAttribute('Value')</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="12">
      <code>$temp['base']</code>
      <code>$temp['curve']</code>
      <code>$temp['curve']</code>
      <code>$temp['fieldID']</code>
      <code>$temp['fieldID']</code>
      <code>$temp['fieldID']</code>
      <code>$temp['fieldID']</code>
      <code>$temp['fieldID']</code>
      <code>$temp['fieldID']</code>
      <code>$temp['order']</code>
      <code>$x</code>
      <code>$y</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="1">
      <code>self::$curveOIDs[$result['namedCurve']]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="10">
      <code>$a</code>
      <code>$b</code>
      <code>$key</code>
      <code>$key</code>
      <code>$oid</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>[$x, $y]</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="2">
      <code>new $curve()</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="8">
      <code>$a</code>
      <code>$b</code>
      <code>$temp['fieldID']['fieldType']</code>
      <code>$temp['fieldID']['fieldType']</code>
      <code>$temp['fieldID']['parameters']</code>
      <code>$x</code>
      <code>$y</code>
      <code>self::$curveOIDs[$result['namedCurve']]</code>
    </MixedOperand>
    <MoreSpecificReturnType occurrences="1">
      <code>BaseCurve|false</code>
    </MoreSpecificReturnType>
    <NullableReturnStatement occurrences="1">
      <code>$decode ? self::decodeValue($result-&gt;item(0)-&gt;textContent) : $result-&gt;item(0)-&gt;textContent</code>
    </NullableReturnStatement>
    <PossiblyFalseArgument occurrences="2">
      <code>$curve</code>
      <code>$curve</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="2">
      <code>self::encodeXMLParameters($curve, $pre, $options)</code>
      <code>self::encodeXMLParameters($curve, $pre, $options)</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArgument occurrences="8">
      <code>$a</code>
      <code>$a</code>
      <code>$b</code>
      <code>$b</code>
      <code>$order</code>
      <code>$order</code>
      <code>$x</code>
      <code>$y</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidMethodCall occurrences="7">
      <code>item</code>
      <code>item</code>
      <code>item</code>
      <code>item</code>
      <code>item</code>
      <code>item</code>
      <code>item</code>
    </PossiblyInvalidMethodCall>
    <PossiblyInvalidOperand occurrences="2">
      <code>$base</code>
      <code>$pubkey</code>
    </PossiblyInvalidOperand>
    <PossiblyInvalidPropertyFetch occurrences="8">
      <code>$namedCurve-&gt;length</code>
      <code>$params-&gt;length</code>
      <code>$params-&gt;length</code>
      <code>$result-&gt;length</code>
      <code>$result-&gt;length</code>
      <code>$x-&gt;length</code>
      <code>$y-&gt;length</code>
      <code>self::query($xpath, 'ecdsakeyvalue')-&gt;length</code>
    </PossiblyInvalidPropertyFetch>
    <PossiblyNullArgument occurrences="2">
      <code>$result-&gt;item(0)-&gt;textContent</code>
      <code>$result-&gt;item(0)-&gt;textContent</code>
    </PossiblyNullArgument>
    <PossiblyNullOperand occurrences="1">
      <code>$oid</code>
    </PossiblyNullOperand>
    <PossiblyNullPropertyFetch occurrences="4">
      <code>$result-&gt;item(0)-&gt;textContent</code>
      <code>$result-&gt;item(0)-&gt;textContent</code>
      <code>$result-&gt;item(0)-&gt;textContent</code>
      <code>$result-&gt;item(0)-&gt;textContent</code>
    </PossiblyNullPropertyFetch>
    <PossiblyNullReference occurrences="6">
      <code>getAttribute</code>
      <code>getAttribute</code>
      <code>getAttribute</code>
      <code>hasAttribute</code>
      <code>hasAttribute</code>
      <code>lookupPrefix</code>
    </PossiblyNullReference>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$publicKey[0]</code>
      <code>$publicKey[0]</code>
      <code>$publicKey[1]</code>
      <code>$publicKey[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="4">
      <code>disableRFC4050Syntax</code>
      <code>load</code>
      <code>savePublicKey</code>
      <code>setNamespace</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="12">
      <code>getA</code>
      <code>getAttribute</code>
      <code>getAttribute</code>
      <code>getAttribute</code>
      <code>getB</code>
      <code>getBasePoint</code>
      <code>hasAttribute</code>
      <code>hasAttribute</code>
      <code>removeAttributeNS</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>verifyPoint</code>
    </UndefinedMethod>
    <UndefinedVariable occurrences="2">
      <code>$p</code>
      <code>$p</code>
    </UndefinedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Keys/libsodium.php">
    <DocblockTypeContradiction occurrences="1">
      <code>$curve-&gt;multiplyPoint($curve-&gt;getBasePoint(), $components['dA'])</code>
    </DocblockTypeContradiction>
    <MixedArgument occurrences="2">
      <code>$components['dA']</code>
      <code>$private</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$components['dA']</code>
      <code>$components['secret']</code>
    </MixedAssignment>
    <PossiblyUndefinedArrayOffset occurrences="1">
      <code>$components['dA']</code>
    </PossiblyUndefinedArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$arr['dA']</code>
      <code>$arr['secret']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>savePrivateKey</code>
      <code>savePublicKey</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="1">
      <code>$password</code>
    </PossiblyUnusedParam>
    <RedundantCondition occurrences="2">
      <code>!empty($password) &amp;&amp; is_string($password)</code>
      <code>is_string($password)</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>isset($public)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Signature/ASN1.php">
    <FalsableReturnStatement occurrences="2">
      <code>false</code>
      <code>false</code>
    </FalsableReturnStatement>
    <InvalidReturnStatement occurrences="1">
      <code>$components</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>array</code>
    </InvalidReturnType>
    <MixedArgument occurrences="1">
      <code>$decoded[0]</code>
    </MixedArgument>
    <NullableReturnStatement occurrences="1">
      <code>$components</code>
    </NullableReturnStatement>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <TypeDoesNotContainType occurrences="1">
      <code>is_string($sig)</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Signature/Raw.php">
    <UnusedClass occurrences="1">
      <code>Raw</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Formats/Signature/SSH2.php">
    <FalsableReturnStatement occurrences="1">
      <code>false</code>
    </FalsableReturnStatement>
    <ImplicitToStringCast occurrences="2">
      <code>$r</code>
      <code>$s</code>
    </ImplicitToStringCast>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingReturnType occurrences="1">
      <code>load</code>
    </MissingReturnType>
    <MixedArgument occurrences="1">
      <code>$blob</code>
    </MixedArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$result[0]</code>
      <code>$result[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <TypeDoesNotContainType occurrences="3">
      <code>$result === false</code>
      <code>$result === false</code>
      <code>is_string($sig)</code>
    </TypeDoesNotContainType>
    <UnusedClass occurrences="1">
      <code>SSH2</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/EC/Parameters.php">
    <MixedAssignment occurrences="1">
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>$type::saveParameters($this-&gt;curve, $options)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::saveParameters($this-&gt;curve, $options)</code>
    </MixedReturnStatement>
    <PropertyNotSetInConstructor occurrences="6">
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
      <code>Parameters</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/EC/PrivateKey.php">
    <ArgumentTypeCoercion occurrences="3">
      <code>$dA</code>
      <code>$this-&gt;dA</code>
      <code>$this-&gt;dA</code>
    </ArgumentTypeCoercion>
    <DocblockTypeContradiction occurrences="1">
      <code>$format === false</code>
    </DocblockTypeContradiction>
    <InvalidStringClass occurrences="2">
      <code>$format::save($r, $s)</code>
      <code>$format::save($r, $s, $this-&gt;getCurve())</code>
    </InvalidStringClass>
    <MissingReturnType occurrences="2">
      <code>getPublicKey</code>
      <code>sign</code>
    </MissingReturnType>
    <MixedArgument occurrences="8">
      <code>$curve::HASH</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
      <code>$dA-&gt;multiply($r)</code>
      <code>$key</code>
      <code>$point[0]-&gt;toBytes(true)</code>
      <code>$this-&gt;curve-&gt;getBasePoint()</code>
      <code>$this-&gt;dA-&gt;toBytes()</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$r</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="9">
      <code>$A</code>
      <code>$R</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$type</code>
      <code>$type</code>
      <code>$x</code>
      <code>[, $r]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>string</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="13">
      <code>$format::save($r, $s)</code>
      <code>$format::save($r, $s, $this-&gt;getCurve())</code>
      <code>$type::savePrivateKey($this-&gt;dA, $this-&gt;curve, $this-&gt;QA, $this-&gt;secret, $this-&gt;password, $options)</code>
      <code>$type::savePublicKey($this-&gt;curve, $this-&gt;QA)</code>
      <code>divide</code>
      <code>equals</code>
      <code>multiply</code>
      <code>toBigInteger</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>withContext</code>
    </MixedMethodCall>
    <MixedOperand occurrences="6">
      <code>$A</code>
      <code>$R</code>
      <code>$R</code>
      <code>$R</code>
      <code>$point[0]-&gt;toBytes(true)</code>
      <code>$point[1]-&gt;toBytes(true)</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$this-&gt;curve-&gt;encodePoint($point)</code>
      <code>$type::savePrivateKey($this-&gt;dA, $this-&gt;curve, $this-&gt;QA, $this-&gt;secret, $this-&gt;password, $options)</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="2">
      <code>$this-&gt;getCurve()</code>
      <code>$this-&gt;getCurve()</code>
    </PossiblyInvalidArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="3">
      <code>$point[0]</code>
      <code>$point[0]</code>
      <code>$point[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="3">
      <code>self::$engines['OpenSSL']</code>
      <code>self::$engines['libsodium']</code>
      <code>self::$engines['libsodium']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="4">
      <code>$r</code>
      <code>$r</code>
      <code>$s</code>
      <code>$s</code>
    </PossiblyUndefinedVariable>
    <PropertyNotSetInConstructor occurrences="8">
      <code>$dA</code>
      <code>$secret</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="5">
      <code>!isset($this-&gt;context)</code>
      <code>$this-&gt;context</code>
      <code>$this-&gt;curve instanceof Ed25519 &amp;&amp; self::$engines['libsodium'] &amp;&amp; !isset($this-&gt;context)</code>
      <code>''</code>
      <code>'SigEd25519 no Ed25519 collisions' . "\0" . chr(strlen($this-&gt;context)) . $this-&gt;context</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedConstant occurrences="3">
      <code>$curve::HASH</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
    </UndefinedConstant>
    <UndefinedMethod occurrences="5">
      <code>encodePoint</code>
      <code>encodePoint</code>
      <code>encodePoint</code>
      <code>getBasePoint</code>
      <code>withSignatureFormat</code>
    </UndefinedMethod>
    <UnusedVariable occurrences="1">
      <code>$y</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/EC/PublicKey.php">
    <DocblockTypeContradiction occurrences="1">
      <code>$format === false</code>
    </DocblockTypeContradiction>
    <InvalidMethodCall occurrences="1">
      <code>toBigInteger</code>
    </InvalidMethodCall>
    <InvalidStringClass occurrences="1">
      <code>$format::load($signature)</code>
    </InvalidStringClass>
    <MixedArgument occurrences="18">
      <code>$Ln</code>
      <code>$curve::HASH</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
      <code>$message</code>
      <code>$message</code>
      <code>$order</code>
      <code>$params</code>
      <code>$params</code>
      <code>$r</code>
      <code>$rhs</code>
      <code>$s</code>
      <code>$sig</code>
      <code>$signature</code>
      <code>$signature</code>
      <code>$u2</code>
      <code>$w</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$u2</code>
      <code>$x1</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="11">
      <code>$A</code>
      <code>$Ln</code>
      <code>$n_1</code>
      <code>$params</code>
      <code>$rhs</code>
      <code>$sig</code>
      <code>$type</code>
      <code>$w</code>
      <code>$x1</code>
      <code>[, $u2]</code>
      <code>[, $x1]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>bool</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="12">
      <code>$type::savePublicKey($this-&gt;curve, $this-&gt;QA, $options)</code>
      <code>between</code>
      <code>between</code>
      <code>divide</code>
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>getLength</code>
      <code>modInverse</code>
      <code>multiply</code>
      <code>subtract</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$A</code>
      <code>$curve::SIZE</code>
      <code>$order-&gt;getLength()</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$type::savePublicKey($this-&gt;curve, $this-&gt;QA, $options)</code>
      <code>$x1-&gt;equals($r)</code>
    </MixedReturnStatement>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$lhs[0]</code>
      <code>$lhs[1]</code>
      <code>$rhs[0]</code>
      <code>$rhs[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>self::$engines['libsodium']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PropertyNotSetInConstructor occurrences="6">
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="5">
      <code>!isset($this-&gt;context)</code>
      <code>$this-&gt;context</code>
      <code>$this-&gt;curve instanceof Ed25519 &amp;&amp; self::$engines['libsodium'] &amp;&amp; !isset($this-&gt;context)</code>
      <code>''</code>
      <code>'SigEd25519 no Ed25519 collisions' . "\0" . chr(strlen($this-&gt;context)) . $this-&gt;context</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedConstant occurrences="5">
      <code>$curve::HASH</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
      <code>$curve::SIZE</code>
    </UndefinedConstant>
    <UndefinedMethod occurrences="3">
      <code>addPoint</code>
      <code>encodePoint</code>
      <code>getBasePoint</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/Hash.php">
    <DocblockTypeContradiction occurrences="7">
      <code>!is_string($this-&gt;key)</code>
      <code>$this-&gt;key === false</code>
      <code>hash($algo, $text, true)</code>
      <code>is_array($algo)</code>
      <code>is_array($this-&gt;algo)</code>
      <code>is_string($this-&gt;key)</code>
      <code>is_string($this-&gt;nonce)</code>
    </DocblockTypeContradiction>
    <ImplicitToStringCast occurrences="2">
      <code>$initial[$i]</code>
      <code>$k[$i]</code>
    </ImplicitToStringCast>
    <InvalidOperand occurrences="1">
      <code>$matches[2]</code>
    </InvalidOperand>
    <InvalidParamDefault occurrences="2">
      <code>string</code>
      <code>string</code>
    </InvalidParamDefault>
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>$hash = strtolower($hash)</code>
    </InvalidPropertyAssignmentValue>
    <InvalidReturnStatement occurrences="1">
      <code>$this-&gt;hashParam</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>string</code>
    </InvalidReturnType>
    <MissingClosureParamType occurrences="1">
      <code>$x</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="1">
      <code>function ($x) {</code>
    </MissingClosureReturnType>
    <MissingParamType occurrences="1">
      <code>$length</code>
    </MissingParamType>
    <MissingPropertyType occurrences="9">
      <code>$factory128</code>
      <code>$factory36</code>
      <code>$factory64</code>
      <code>$marker128</code>
      <code>$marker64</code>
      <code>$maxwordrange128</code>
      <code>$maxwordrange64</code>
      <code>$offset128</code>
      <code>$offset64</code>
    </MissingPropertyType>
    <MixedArgument occurrences="24">
      <code>$algo($temp, ...array_values($this-&gt;parameters))</code>
      <code>$algo($text, ...array_values($this-&gt;parameters))</code>
      <code>$b</code>
      <code>$index</code>
      <code>$length</code>
      <code>$m</code>
      <code>$output</code>
      <code>$parity[0]</code>
      <code>$parity[1]</code>
      <code>$parity[2]</code>
      <code>$parity[3]</code>
      <code>$parity[4]</code>
      <code>$pi</code>
      <code>$pi</code>
      <code>$rotationOffsets[$j][$i]</code>
      <code>$rotationOffsets[$j][$i]</code>
      <code>$s[$j][$i]</code>
      <code>$s[$j][$i]</code>
      <code>$x</code>
      <code>$y-&gt;toBytes()</code>
      <code>self::$maxwordrange128</code>
      <code>self::$maxwordrange64</code>
      <code>self::$maxwordrange64</code>
      <code>unpack('C', $index)[1] * $taglen</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="50">
      <code>$k[$i]</code>
      <code>$rotationOffsets[$j]</code>
      <code>$rotationOffsets[$j]</code>
      <code>$roundConstants[$round]</code>
      <code>$roundConstants[$round]</code>
      <code>$roundConstants[$round]</code>
      <code>$s[$i][$j++]</code>
      <code>$s[$i][$j++]</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j][1]</code>
      <code>$s[$j][$i]</code>
      <code>$s[$j][$i]</code>
      <code>$s[$x][$y++]</code>
      <code>$s[$x][$y]</code>
      <code>$s[$x][$y][1]</code>
      <code>$s[0][$i]</code>
      <code>$s[0][$i]</code>
      <code>$s[0][$i]</code>
      <code>$s[0][0]</code>
      <code>$s[0][0]</code>
      <code>$s[0][0][1]</code>
      <code>$s[1][$i]</code>
      <code>$s[1][$i]</code>
      <code>$s[1][$i]</code>
      <code>$s[2][$i]</code>
      <code>$s[2][$i]</code>
      <code>$s[2][$i]</code>
      <code>$s[3][$i]</code>
      <code>$s[3][$i]</code>
      <code>$s[3][$i]</code>
      <code>$s[4][$i]</code>
      <code>$s[4][$i]</code>
      <code>$s[4][$i]</code>
      <code>$st[$i][0]</code>
      <code>$st[$i][0]</code>
      <code>$st[$i][0][1]</code>
      <code>$st[$i][1]</code>
      <code>$st[$i][1]</code>
      <code>$st[$i][1][1]</code>
      <code>$st[$i][2]</code>
      <code>$st[$i][2]</code>
      <code>$st[$i][2][1]</code>
      <code>$st[$i][3]</code>
      <code>$st[$i][3]</code>
      <code>$st[$i][3][1]</code>
      <code>$st[$i][4]</code>
      <code>$st[$i][4]</code>
      <code>$st[$i][4][1]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="16">
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][0]</code>
      <code>$s[$i][1]</code>
      <code>$s[$i][2]</code>
      <code>$s[$i][3]</code>
      <code>$s[$i][4]</code>
      <code>$s[$x][$y++]</code>
      <code>$s[$x][$y]</code>
      <code>$s[$x][$y]</code>
      <code>$s[0][0]</code>
      <code>$s[0][0]</code>
      <code>$s[0][0]</code>
      <code>$st[(2 * $i + 3 * $j) % 5][$j]</code>
      <code>$st[(2 * $i + 3 * $j) % 5][$j]</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="61">
      <code>$a</code>
      <code>$a</code>
      <code>$b</code>
      <code>$b</code>
      <code>$c</code>
      <code>$c</code>
      <code>$ch</code>
      <code>$d</code>
      <code>$d</code>
      <code>$e</code>
      <code>$e</code>
      <code>$f</code>
      <code>$f</code>
      <code>$factory</code>
      <code>$factory</code>
      <code>$factory</code>
      <code>$g</code>
      <code>$g</code>
      <code>$h</code>
      <code>$h</code>
      <code>$k</code>
      <code>$k_i</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m_i</code>
      <code>$maj</code>
      <code>$maj</code>
      <code>$marker</code>
      <code>$marker</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$output</code>
      <code>$parity[]</code>
      <code>$pi</code>
      <code>$pi</code>
      <code>$s0</code>
      <code>$s0</code>
      <code>$s1</code>
      <code>$s1</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j][0]</code>
      <code>$s[$i][$j][1]</code>
      <code>$s[$x][$y++]</code>
      <code>$s[$x][$y][0]</code>
      <code>$s[$x][$y][1]</code>
      <code>$s[0][0]</code>
      <code>$s[0][0][0]</code>
      <code>$s[0][0][1]</code>
      <code>$subpi</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t2</code>
      <code>$this-&gt;computedKey</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
    </MixedAssignment>
    <MixedClone occurrences="14">
      <code>clone $a</code>
      <code>clone $b</code>
      <code>clone $c</code>
      <code>clone $e</code>
      <code>clone $f</code>
      <code>clone $g</code>
      <code>clone $hash[0]</code>
      <code>clone $hash[1]</code>
      <code>clone $hash[2]</code>
      <code>clone $hash[3]</code>
      <code>clone $hash[4]</code>
      <code>clone $hash[5]</code>
      <code>clone $hash[6]</code>
      <code>clone $hash[7]</code>
    </MixedClone>
    <MixedFunctionCall occurrences="4">
      <code>$algo($output, ...array_values($this-&gt;parameters))</code>
      <code>$algo($temp, ...array_values($this-&gt;parameters))</code>
      <code>$algo($text, ...array_values($this-&gt;parameters))</code>
      <code>call_user_func($this-&gt;algo, $this-&gt;key)</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="60">
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>bitwise_and</code>
      <code>bitwise_and</code>
      <code>bitwise_and</code>
      <code>bitwise_and</code>
      <code>bitwise_and</code>
      <code>bitwise_not</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>compare</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>newInteger</code>
      <code>subtract</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="69">
      <code>$hash[0]-&gt;toBytes()</code>
      <code>$hash[2]-&gt;toBytes()</code>
      <code>$hash[3]-&gt;toBytes()</code>
      <code>$hash[4]-&gt;toBytes()</code>
      <code>$hash[5]-&gt;toBytes()</code>
      <code>$hash[6]-&gt;toBytes()</code>
      <code>$hash[7]-&gt;toBytes()</code>
      <code>$hi</code>
      <code>$hi</code>
      <code>$lo</code>
      <code>$lo</code>
      <code>$parity[0]</code>
      <code>$parity[0][0]</code>
      <code>$parity[0][1]</code>
      <code>$parity[1]</code>
      <code>$parity[1][0]</code>
      <code>$parity[1][1]</code>
      <code>$parity[2]</code>
      <code>$parity[2][0]</code>
      <code>$parity[2][1]</code>
      <code>$parity[3]</code>
      <code>$parity[3][0]</code>
      <code>$parity[3][1]</code>
      <code>$parity[4]</code>
      <code>$parity[4][0]</code>
      <code>$parity[4][1]</code>
      <code>$s[$i][$j]</code>
      <code>$s[$i][$j][0]</code>
      <code>$s[$i][$j][1]</code>
      <code>$s[$x][$y++]</code>
      <code>$s[$x][$y][0]</code>
      <code>$s[$x][$y][1]</code>
      <code>$s[0][$i]</code>
      <code>$s[0][$i][0]</code>
      <code>$s[0][$i][1]</code>
      <code>$s[0][0]</code>
      <code>$s[0][0][0]</code>
      <code>$s[0][0][1]</code>
      <code>$st[$i][0]</code>
      <code>$st[$i][0][0]</code>
      <code>$st[$i][0][1]</code>
      <code>$st[$i][1]</code>
      <code>$st[$i][1][0]</code>
      <code>$st[$i][1][1]</code>
      <code>$st[$i][2]</code>
      <code>$st[$i][2][0]</code>
      <code>$st[$i][2][1]</code>
      <code>$st[$i][3]</code>
      <code>$st[$i][3][0]</code>
      <code>$st[$i][3][1]</code>
      <code>$st[$i][4]</code>
      <code>$st[$i][4][0]</code>
      <code>$st[$i][4][1]</code>
      <code>unpack('C', $index)[1]</code>
      <code>~$st[$i][0]</code>
      <code>~$st[$i][0][0]</code>
      <code>~$st[$i][0][1]</code>
      <code>~$st[$i][1]</code>
      <code>~$st[$i][1][0]</code>
      <code>~$st[$i][1][1]</code>
      <code>~$st[$i][2]</code>
      <code>~$st[$i][2][0]</code>
      <code>~$st[$i][2][1]</code>
      <code>~$st[$i][3]</code>
      <code>~$st[$i][3][0]</code>
      <code>~$st[$i][3][1]</code>
      <code>~$st[$i][4]</code>
      <code>~$st[$i][4][0]</code>
      <code>~$st[$i][4][1]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$y-&gt;toBytes()</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="6">
      <code>$m[$i]</code>
      <code>$m[$i]</code>
      <code>$m[$i]</code>
      <code>$m[$i]</code>
      <code>$m[$i] ?? ''</code>
      <code>pack('N4', 0, $index, 0, 1)</code>
    </PossiblyFalseArgument>
    <PossiblyFalseIterator occurrences="4">
      <code>$m_i</code>
      <code>$p</code>
      <code>$p</code>
      <code>$pi</code>
    </PossiblyFalseIterator>
    <PossiblyFalseOperand occurrences="3">
      <code>pack('N4', 0, 0, 0, $length &lt;&lt; 3)</code>
      <code>pack('P', $s[$i][$j++])</code>
      <code>pack('V2', $s[$i][$j][1], $s[$i][$j++][0])</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="4">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArrayAccess occurrences="3">
      <code>$pi[$i + 1]</code>
      <code>$pi[$i]</code>
      <code>unpack('C', $index)[1]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidOperand occurrences="5">
      <code>~$st[$i][0]</code>
      <code>~$st[$i][1]</code>
      <code>~$st[$i][2]</code>
      <code>~$st[$i][3]</code>
      <code>~$st[$i][4]</code>
    </PossiblyInvalidOperand>
    <PossiblyInvalidPropertyAssignmentValue occurrences="2">
      <code>$hash</code>
      <code>$matches[2] &gt;&gt; 3</code>
    </PossiblyInvalidPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="62">
      <code>$hash[0]</code>
      <code>$hash[0]</code>
      <code>$hash[1]</code>
      <code>$hash[1]</code>
      <code>$hash[2]</code>
      <code>$hash[2]</code>
      <code>$hash[3]</code>
      <code>$hash[3]</code>
      <code>$hash[4]</code>
      <code>$hash[4]</code>
      <code>$hash[5]</code>
      <code>$hash[5]</code>
      <code>$hash[6]</code>
      <code>$hash[6]</code>
      <code>$hash[7]</code>
      <code>$hash[7]</code>
      <code>$matches[1]</code>
      <code>$matches[2]</code>
      <code>$parity[1]</code>
      <code>$parity[1]</code>
      <code>$parity[2]</code>
      <code>$parity[2]</code>
      <code>$parity[3]</code>
      <code>$parity[3]</code>
      <code>$parity[4]</code>
      <code>$parity[4]</code>
      <code>$rotated[0][0]</code>
      <code>$rotated[0][1]</code>
      <code>$rotated[1]</code>
      <code>$rotated[1][1]</code>
      <code>$rotated[2]</code>
      <code>$rotated[2][1]</code>
      <code>$rotated[3]</code>
      <code>$rotated[3][1]</code>
      <code>$rotated[4]</code>
      <code>$rotated[4][1]</code>
      <code>$s[0]</code>
      <code>$s[0]</code>
      <code>$s[1]</code>
      <code>$s[1]</code>
      <code>$s[2]</code>
      <code>$s[2]</code>
      <code>$s[3]</code>
      <code>$s[3]</code>
      <code>$s[4]</code>
      <code>$s[4]</code>
      <code>$st[$i][0]</code>
      <code>$st[$i][0]</code>
      <code>$st[$i][0][1]</code>
      <code>$st[$i][1]</code>
      <code>$st[$i][1]</code>
      <code>$st[$i][1][1]</code>
      <code>$st[$i][2]</code>
      <code>$st[$i][2]</code>
      <code>$st[$i][2][1]</code>
      <code>$st[$i][3]</code>
      <code>$st[$i][3]</code>
      <code>$st[$i][3][1]</code>
      <code>$st[$i][4]</code>
      <code>$st[$i][4]</code>
      <code>$st[$i][4][1]</code>
      <code>unpack('C', $index)[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$index</code>
    </PossiblyUndefinedVariable>
    <PropertyNotSetInConstructor occurrences="9">
      <code>$algo</code>
      <code>$blockSize</code>
      <code>$c</code>
      <code>$hashParam</code>
      <code>$ipad</code>
      <code>$length</code>
      <code>$opad</code>
      <code>$pad</code>
      <code>$recomputeAESKey</code>
    </PropertyNotSetInConstructor>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>hash($this-&gt;algo, $this-&gt;key, true)</code>
      <code>is_string($this-&gt;key)</code>
    </RedundantConditionGivenDocblockType>
    <UndefinedVariable occurrences="1">
      <code>$b</code>
    </UndefinedVariable>
    <UnusedMethod occurrences="3">
      <code>sha3_32</code>
      <code>sha3_64</code>
      <code>sha512</code>
    </UnusedMethod>
    <UnusedParam occurrences="2">
      <code>$c</code>
      <code>$c</code>
    </UnusedParam>
    <UnusedVariable occurrences="4">
      <code>$k</code>
      <code>$n</code>
      <code>$n</code>
      <code>$num_ints</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/PublicKeyLoader.php">
    <MixedAssignment occurrences="1">
      <code>$key</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>AsymmetricKey</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$key</code>
    </MixedReturnStatement>
    <PossiblyUnusedMethod occurrences="2">
      <code>loadParameters</code>
      <code>loadPublicKey</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/Crypt/RC2.php">
    <FalsableReturnStatement occurrences="2">
      <code>pack('vvvv', $r0, $r1, $r2, $r3)</code>
      <code>pack('vvvv', $r0, $r1, $r2, $r3)</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="2">
      <code>string</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidPropertyAssignmentValue occurrences="2">
      <code>$length &gt;&gt; 3</code>
    </InvalidPropertyAssignmentValue>
    <MixedArgument occurrences="1">
      <code>$l</code>
    </MixedArgument>
    <MixedArrayOffset occurrences="13">
      <code>$keys[$r0 &amp; 0x3F]</code>
      <code>$keys[$r0 &amp; 0x3F]</code>
      <code>$keys[$r1 &amp; 0x3F]</code>
      <code>$keys[$r1 &amp; 0x3F]</code>
      <code>$keys[$r2 &amp; 0x3F]</code>
      <code>$keys[$r2 &amp; 0x3F]</code>
      <code>$keys[$r3 &amp; 0x3F]</code>
      <code>$keys[$r3 &amp; 0x3F]</code>
      <code>$pitable[$l[$i + 1] ^ $l[$i + $t8]]</code>
      <code>$pitable[$l[$i - 1] + $l[$i - $t]]</code>
      <code>$pitable[$l[$i] &amp; $tm]</code>
      <code>self::$invpitable[$l[0]]</code>
      <code>self::$pitable[$l['a']]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="28">
      <code>$l[$i]</code>
      <code>$l[$i]</code>
      <code>$l[$i]</code>
      <code>$l[0]</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
    </MixedAssignment>
    <MixedOperand occurrences="73">
      <code>$keys[$j++]</code>
      <code>$keys[$j++]</code>
      <code>$keys[$j++]</code>
      <code>$keys[$j++]</code>
      <code>$keys[--$j]</code>
      <code>$keys[--$j]</code>
      <code>$keys[--$j]</code>
      <code>$keys[--$j]</code>
      <code>$l[$i + 1]</code>
      <code>$l[$i - 1]</code>
      <code>$l[$i]</code>
      <code>$l['b']</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r0</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r1</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r2</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>$r3</code>
      <code>($r0 + $keys[$j++] + ((($r1 ^ $r2) &amp; $r3) ^ $r1)) &amp; 0xFFFF</code>
      <code>($r0 ^ $r1) &amp; $r2</code>
      <code>($r0 ^ $r1) &amp; $r2</code>
      <code>($r1 + $keys[$j++] + ((($r2 ^ $r3) &amp; $r0) ^ $r2)) &amp; 0xFFFF</code>
      <code>($r1 ^ $r2) &amp; $r3</code>
      <code>($r1 ^ $r2) &amp; $r3</code>
      <code>($r2 + $keys[$j++] + ((($r3 ^ $r0) &amp; $r1) ^ $r3)) &amp; 0xFFFF</code>
      <code>($r2 ^ $r3) &amp; $r0</code>
      <code>($r2 ^ $r3) &amp; $r0</code>
      <code>($r3 + $keys[$j++] + ((($r0 ^ $r1) &amp; $r2) ^ $r0)) &amp; 0xFFFF</code>
      <code>($r3 ^ $r0) &amp; $r1</code>
      <code>($r3 ^ $r0) &amp; $r1</code>
      <code>self::$pitable[$l['a']]</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="5">
      <code>$l</code>
      <code>$this-&gt;key</code>
      <code>unpack('C*', $key)</code>
      <code>unpack('v*', $in)</code>
      <code>unpack('v*', $in)</code>
    </PossiblyFalseArgument>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>pack(...$l)</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArrayAccess occurrences="2">
      <code>$l['a']</code>
      <code>$l['b']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullOperand occurrences="1">
      <code>$this-&gt;openssl_translate_mode()</code>
    </PossiblyNullOperand>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$l[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$l['a']</code>
      <code>$l['b']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>setupInlineCrypt</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="1">
      <code>$key_length</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="13">
      <code>$current_key_length</code>
      <code>$key</code>
      <code>$keys</code>
      <code>$orig_key</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
      <code>RC2</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset($this-&gt;key)</code>
    </RedundantPropertyInitializationCheck>
    <TypeDoesNotContainType occurrences="8">
      <code>$limit === 0</code>
      <code>$limit === 0</code>
      <code>$limit === 0</code>
      <code>$limit === 0</code>
      <code>$limit === 64</code>
      <code>$limit === 64</code>
      <code>$limit === 64</code>
      <code>$limit === 64</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/RC4.php">
    <MixedArgument occurrences="1">
      <code>$keyStream[($ksj + $ksi) &amp; 255]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="9">
      <code>$keyStream[$i]</code>
      <code>$keyStream[$j]</code>
      <code>$keyStream[($ksj + $ksi) &amp; 255]</code>
      <code>$stream[0]</code>
      <code>$stream[0]</code>
      <code>$stream[1]</code>
      <code>$stream[1]</code>
      <code>$stream[2]</code>
      <code>$stream[2]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="2">
      <code>$keyStream[$i]</code>
      <code>$keyStream[$j]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="5">
      <code>$keyStream[$i]</code>
      <code>$keyStream[$i]</code>
      <code>$keyStream[$j]</code>
      <code>$keyStream[$j]</code>
      <code>$keyStream[($ksj + $ksi) &amp; 255]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="13">
      <code>$i</code>
      <code>$i</code>
      <code>$i</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$keyStream</code>
      <code>$keyStream</code>
      <code>$keyStream[$i]</code>
      <code>$keyStream[$j]</code>
      <code>$ksi</code>
      <code>$ksj</code>
      <code>$stream</code>
    </MixedAssignment>
    <MixedOperand occurrences="3">
      <code>$i</code>
      <code>$j</code>
      <code>$ksj</code>
    </MixedOperand>
    <PossiblyUnusedProperty occurrences="1">
      <code>$key_length</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="11">
      <code>$key</code>
      <code>$stream</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
      <code>RC4</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/RSA.php">
    <LessSpecificReturnStatement occurrences="1">
      <code>RSA::load($privatekeystr)</code>
    </LessSpecificReturnStatement>
    <MixedArgument occurrences="15">
      <code>$bits</code>
      <code>$components['MGFHash']</code>
      <code>$components['hash']</code>
      <code>$components['saltLength']</code>
      <code>$e</code>
      <code>$lcm['bottom']</code>
      <code>$n</code>
      <code>$primes[$i]</code>
      <code>$primes[$i]</code>
      <code>$primes[1]</code>
      <code>$regSize</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>self::$one</code>
      <code>self::$one</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="8">
      <code>$lcm['bottom']</code>
      <code>$lcm['bottom']</code>
      <code>$lcm['top']</code>
      <code>$lcm['top']</code>
      <code>$primes[$i]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
      <code>$temp</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="7">
      <code>$coefficients[$i]</code>
      <code>$coefficients[2]</code>
      <code>$exponents[$i]</code>
      <code>$lcm['bottom']</code>
      <code>$lcm['top']</code>
      <code>$primes[$i]</code>
      <code>$primes[$i]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="5">
      <code>$coefficients[$i]</code>
      <code>$exponents[$i]</code>
      <code>$primes[$i]</code>
      <code>$primes[$i]</code>
      <code>$primes[$i]</code>
    </MixedArrayOffset>
    <MixedArrayTypeCoercion occurrences="1">
      <code>$primes[$i]</code>
    </MixedArrayTypeCoercion>
    <MixedAssignment occurrences="22">
      <code>$coefficients[2]</code>
      <code>$i</code>
      <code>$i</code>
      <code>$key-&gt;coefficients</code>
      <code>$key-&gt;exponent</code>
      <code>$key-&gt;exponent</code>
      <code>$key-&gt;exponents</code>
      <code>$key-&gt;k</code>
      <code>$key-&gt;modulus</code>
      <code>$key-&gt;primes</code>
      <code>$key-&gt;privateExponent</code>
      <code>$key-&gt;publicExponent</code>
      <code>$lcm['bottom']</code>
      <code>$lcm['top']</code>
      <code>$prime</code>
      <code>$privatekey-&gt;coefficients</code>
      <code>$privatekey-&gt;exponents</code>
      <code>$privatekey-&gt;k</code>
      <code>$privatekey-&gt;primes</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>[$temp]</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="7">
      <code>divide</code>
      <code>gcd</code>
      <code>getLengthInBytes</code>
      <code>modInverse</code>
      <code>multiply</code>
      <code>subtract</code>
      <code>subtract</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$bits</code>
      <code>$i</code>
      <code>$t</code>
    </MixedOperand>
    <MoreSpecificReturnType occurrences="1">
      <code>PrivateKey</code>
    </MoreSpecificReturnType>
    <PossiblyFalseArgument occurrences="4">
      <code>$primes[$i]</code>
      <code>$primes[$i]</code>
      <code>$primes[1]</code>
      <code>$rsa</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>$c</code>
    </PossiblyFalseOperand>
    <PossiblyFalseReference occurrences="3">
      <code>gcd</code>
      <code>modInverse</code>
      <code>subtract</code>
    </PossiblyFalseReference>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="9">
      <code>$components['coefficients']</code>
      <code>$components['exponents']</code>
      <code>$components['format']</code>
      <code>$components['isPublicKey']</code>
      <code>$components['modulus']</code>
      <code>$components['primes']</code>
      <code>$components['publicExponent']</code>
      <code>self::$engines['OpenSSL']</code>
      <code>self::$engines['OpenSSL']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$t</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="8">
      <code>disableBlinding</code>
      <code>enableBlinding</code>
      <code>getEngine</code>
      <code>getLabel</code>
      <code>getMGFHash</code>
      <code>onLoad</code>
      <code>setExponent</code>
      <code>setOpenSSLConfigPath</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="5">
      <code>$exponent</code>
      <code>$k</code>
      <code>$modulus</code>
      <code>$publicExponent</code>
      <code>RSA</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="2">
      <code>!isset($this-&gt;modulus)</code>
      <code>$this-&gt;modulus-&gt;getLength()</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedPropertyAssignment occurrences="4">
      <code>$key-&gt;coefficients</code>
      <code>$key-&gt;exponents</code>
      <code>$key-&gt;primes</code>
      <code>$key-&gt;privateExponent</code>
    </UndefinedPropertyAssignment>
    <UnusedVariable occurrences="1">
      <code>$i0</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/JWK.php">
    <MixedArgument occurrences="6">
      <code>$coefficients[2]-&gt;toBytes()</code>
      <code>$exponents[1]-&gt;toBytes()</code>
      <code>$exponents[2]-&gt;toBytes()</code>
      <code>$key-&gt;$var</code>
      <code>$primes[1]-&gt;toBytes()</code>
      <code>$primes[2]-&gt;toBytes()</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="5">
      <code>$components['coefficients']</code>
      <code>$components['exponents']</code>
      <code>$components['exponents']</code>
      <code>$components['primes']</code>
      <code>$components['primes']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="8">
      <code>$components['coefficients']</code>
      <code>$components['exponents']</code>
      <code>$components['exponents']</code>
      <code>$components['modulus']</code>
      <code>$components['primes']</code>
      <code>$components['primes']</code>
      <code>$components['privateExponent']</code>
      <code>$components['publicExponent']</code>
    </MixedArrayAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="5">
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$components</code>
      <code>$components</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$components + ['isPublicKey' =&gt; false]</code>
      <code>$components + ['isPublicKey' =&gt; true]</code>
    </MixedReturnStatement>
    <PossiblyUndefinedIntArrayOffset occurrences="5">
      <code>$coefficients[2]</code>
      <code>$exponents[1]</code>
      <code>$exponents[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedVariable occurrences="8">
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
      <code>$components</code>
    </PossiblyUndefinedVariable>
    <UnusedClass occurrences="1">
      <code>JWK</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/MSBLOB.php">
    <MixedArgument occurrences="7">
      <code>$coefficients[2]-&gt;toBytes()</code>
      <code>$exponents[1]-&gt;toBytes()</code>
      <code>$exponents[2]-&gt;toBytes()</code>
      <code>$key</code>
      <code>$key</code>
      <code>$primes[1]-&gt;toBytes()</code>
      <code>$primes[2]-&gt;toBytes()</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$components['isPublicKey']</code>
      <code>$components['privateExponent']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="11">
      <code>$components[$components['isPublicKey'] ? 'publicExponent' : 'privateExponent']</code>
      <code>$components['coefficients']</code>
      <code>$components['exponents']</code>
      <code>$components['exponents']</code>
      <code>$components['isPublicKey']</code>
      <code>$components['isPublicKey']</code>
      <code>$components['modulus']</code>
      <code>$components['primes']</code>
      <code>$components['primes']</code>
      <code>$components['privateExponent']</code>
      <code>$components['publicExponent']</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="1">
      <code>$components['publicExponent']</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="5">
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="2">
      <code>$components</code>
      <code>$components</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="2">
      <code>unpack('Vmagic/Vbitlen/a4pubexp', Strings::shift($key, 12))</code>
      <code>unpack('atype/aversion/vreserved/Valgo', Strings::shift($key, 8))</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="4">
      <code>$key</code>
      <code>$key</code>
      <code>pack('VVa*', self::RSA1, 8 * strlen($n), $e)</code>
      <code>pack('VVa*', self::RSA2, 8 * strlen($n), $e)</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArgument occurrences="7">
      <code>$bitlen / 16</code>
      <code>$bitlen / 16</code>
      <code>$bitlen / 16</code>
      <code>$bitlen / 16</code>
      <code>$bitlen / 16</code>
      <code>$bitlen / 8</code>
      <code>$bitlen / 8</code>
    </PossiblyInvalidArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="5">
      <code>$coefficients[2]</code>
      <code>$exponents[1]</code>
      <code>$exponents[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <RedundantCondition occurrences="2">
      <code>!empty($password) &amp;&amp; is_string($password)</code>
      <code>is_string($password)</code>
    </RedundantCondition>
    <TypeDoesNotContainType occurrences="1">
      <code>is_string($key)</code>
    </TypeDoesNotContainType>
    <UnusedClass occurrences="1">
      <code>MSBLOB</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/OpenSSH.php">
    <ImplicitToStringCast occurrences="5">
      <code>$d</code>
      <code>$e</code>
      <code>$e</code>
      <code>$n</code>
      <code>$n</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="6">
      <code>$coefficients[2]</code>
      <code>$parsed['paddedKey']</code>
      <code>$parsed['paddedKey']</code>
      <code>$parsed['publicKey']</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </MixedArgument>
    <MixedAssignment occurrences="4">
      <code>$comment</code>
      <code>$exponents[]</code>
      <code>$temp</code>
      <code>$temp</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="4">
      <code>modInverse</code>
      <code>modInverse</code>
      <code>subtract</code>
      <code>subtract</code>
    </MixedMethodCall>
    <MixedOperand occurrences="1">
      <code>$comment</code>
    </MixedOperand>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="3">
      <code>$coefficients[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="4">
      <code>$parsed['comment']</code>
      <code>$parsed['publicKey']</code>
      <code>$parsed['type']</code>
      <code>$parsed[type]</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>savePrivateKey</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="1">
      <code>$types</code>
    </PossiblyUnusedProperty>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/PKCS1.php">
    <MismatchingDocblockParamType occurrences="2">
      <code>string|false</code>
      <code>string|false</code>
    </MismatchingDocblockParamType>
    <MixedArgument occurrences="2">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="3">
      <code>$primeInfo['coefficient']</code>
      <code>$primeInfo['exponent']</code>
      <code>$primeInfo['prime']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="3">
      <code>$components['coefficients'][]</code>
      <code>$components['exponents'][]</code>
      <code>$components['primes'][]</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="4">
      <code>$components['coefficients'][]</code>
      <code>$components['exponents'][]</code>
      <code>$components['primes'][]</code>
      <code>$primeInfo</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="1">
      <code>$password</code>
    </PossiblyFalseArgument>
    <PossiblyInvalidArgument occurrences="1">
      <code>$key</code>
    </PossiblyInvalidArgument>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="6">
      <code>$coefficients[2]</code>
      <code>$decoded[0]</code>
      <code>$exponents[1]</code>
      <code>$exponents[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="10">
      <code>$key['coefficient']</code>
      <code>$key['exponent1']</code>
      <code>$key['exponent2']</code>
      <code>$key['modulus']</code>
      <code>$key['otherPrimeInfos']</code>
      <code>$key['prime1']</code>
      <code>$key['prime2']</code>
      <code>$key['privateExponent']</code>
      <code>$key['publicExponent']</code>
      <code>$key['version']</code>
    </PossiblyUndefinedStringArrayOffset>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/PKCS8.php">
    <MixedArgument occurrences="1">
      <code>$key[$type . 'Key']</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$result['meta']</code>
    </MixedAssignment>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUnusedMethod occurrences="1">
      <code>savePrivateKey</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="1">
      <code>$options</code>
    </PossiblyUnusedParam>
    <PossiblyUnusedProperty occurrences="1">
      <code>$childOIDsLoaded</code>
    </PossiblyUnusedProperty>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/PSS.php">
    <InvalidArrayOffset occurrences="2">
      <code>$params['hashAlgorithm']</code>
      <code>$params['maskGenAlgorithm']</code>
    </InvalidArrayOffset>
    <InvalidReturnStatement occurrences="1">
      <code>new ASN1\Element(ASN1::encodeDER($params, Maps\RSASSA_PSS_params::MAP))</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>string</code>
    </InvalidReturnType>
    <MixedArgument occurrences="8">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$key[$type . 'Key']</code>
      <code>$key[$type . 'KeyAlgorithm']['parameters']</code>
      <code>$options['saltLength']</code>
      <code>$params['hashAlgorithm']['algorithm']</code>
      <code>$params['maskGenAlgorithm']['parameters']</code>
      <code>$params['maskGenAlgorithm']['parameters']['algorithm']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="3">
      <code>$key[$type . 'KeyAlgorithm']['parameters']</code>
      <code>$params['hashAlgorithm']['algorithm']</code>
      <code>$params['maskGenAlgorithm']['parameters']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="1">
      <code>$params['hashAlgorithm']['algorithm']</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="1">
      <code>$result['meta']</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$options['MGFHash']</code>
      <code>$options['hash']</code>
    </MixedOperand>
    <PossiblyInvalidArrayAccess occurrences="2">
      <code>$params['hashAlgorithm']</code>
      <code>$params['maskGenAlgorithm']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayAssignment occurrences="2">
      <code>$params['hashAlgorithm']</code>
      <code>$params['maskGenAlgorithm']</code>
    </PossiblyInvalidArrayAssignment>
    <PossiblyInvalidArrayOffset occurrences="2">
      <code>$params['hashAlgorithm']</code>
      <code>$params['maskGenAlgorithm']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyInvalidMethodCall occurrences="1">
      <code>toString</code>
    </PossiblyInvalidMethodCall>
    <PossiblyNullArgument occurrences="5">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$params['hashAlgorithm']['algorithm']</code>
      <code>$params['maskGenAlgorithm']['parameters']['algorithm']</code>
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="4">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$params['hashAlgorithm']</code>
      <code>$params['maskGenAlgorithm']</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullArrayAssignment occurrences="1">
      <code>$params['hashAlgorithm']</code>
    </PossiblyNullArrayAssignment>
    <PossiblyNullReference occurrences="4">
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
    </PossiblyNullReference>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedMethod occurrences="1">
      <code>toString</code>
    </PossiblyUndefinedMethod>
    <PossiblyUndefinedStringArrayOffset occurrences="4">
      <code>$key[$type . 'Key']</code>
      <code>$key[$type . 'KeyAlgorithm']</code>
      <code>$params['hashAlgorithm']</code>
      <code>$params['maskGenAlgorithm']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>savePrivateKey</code>
      <code>savePublicKey</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="1">
      <code>$childOIDsLoaded</code>
    </PossiblyUnusedProperty>
    <TypeDoesNotContainType occurrences="2">
      <code>$decoded === false</code>
      <code>$decoded === false</code>
    </TypeDoesNotContainType>
    <UndefinedMethod occurrences="7">
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
      <code>$params</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/PuTTY.php">
    <ImplicitToStringCast occurrences="5">
      <code>$d</code>
      <code>$e</code>
      <code>$e</code>
      <code>$n</code>
      <code>$n</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="3">
      <code>$coefficients[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$components['public']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="3">
      <code>$exponents[]</code>
      <code>$temp</code>
      <code>$temp</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="4">
      <code>modInverse</code>
      <code>modInverse</code>
      <code>subtract</code>
      <code>subtract</code>
    </MixedMethodCall>
    <NullReference occurrences="2">
      <code>$private</code>
      <code>$public</code>
    </NullReference>
    <PossiblyNullArgument occurrences="1">
      <code>$password</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="3">
      <code>$coefficients[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>savePrivateKey</code>
      <code>savePublicKey</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="1">
      <code>$types</code>
    </PossiblyUnusedProperty>
    <TypeDoesNotContainType occurrences="2">
      <code>$result === false</code>
      <code>$result === false</code>
    </TypeDoesNotContainType>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/Raw.php">
    <MissingClosureReturnType occurrences="3">
      <code>fn ($var) =&gt; clone $var</code>
      <code>fn ($var) =&gt; clone $var</code>
      <code>fn ($var) =&gt; clone $var</code>
    </MissingClosureReturnType>
    <MixedArrayAccess occurrences="4">
      <code>$components['primes'][1]</code>
      <code>$components['primes'][1]</code>
      <code>$components['primes'][2]</code>
      <code>$components['primes'][2]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="9">
      <code>$components['coefficients']</code>
      <code>$components['exponents']</code>
      <code>$components['modulus']</code>
      <code>$components['primes']</code>
      <code>$components['privateExponent']</code>
      <code>$components['publicExponent']</code>
      <code>$exponents[]</code>
      <code>$temp</code>
      <code>$temp</code>
    </MixedAssignment>
    <MixedClone occurrences="3">
      <code>clone $var</code>
      <code>clone $var</code>
      <code>clone $var</code>
    </MixedClone>
    <MixedMethodCall occurrences="5">
      <code>modInverse</code>
      <code>modInverse</code>
      <code>modInverse</code>
      <code>subtract</code>
      <code>subtract</code>
    </MixedMethodCall>
    <RedundantCondition occurrences="2">
      <code>!empty($password) &amp;&amp; is_string($password)</code>
      <code>is_string($password)</code>
    </RedundantCondition>
    <UnusedClass occurrences="1">
      <code>Raw</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/RSA/Formats/Keys/XML.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$key</code>
    </ArgumentTypeCoercion>
    <MixedArgument occurrences="5">
      <code>$coefficients[2]-&gt;toBytes()</code>
      <code>$exponents[1]-&gt;toBytes()</code>
      <code>$exponents[2]-&gt;toBytes()</code>
      <code>$primes[1]-&gt;toBytes()</code>
      <code>$primes[2]-&gt;toBytes()</code>
    </MixedArgument>
    <MixedMethodCall occurrences="5">
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <PossiblyNullArgument occurrences="1">
      <code>$temp-&gt;item(0)-&gt;nodeValue</code>
    </PossiblyNullArgument>
    <PossiblyNullPropertyFetch occurrences="1">
      <code>$temp-&gt;item(0)-&gt;nodeValue</code>
    </PossiblyNullPropertyFetch>
    <PossiblyUndefinedIntArrayOffset occurrences="5">
      <code>$coefficients[2]</code>
      <code>$exponents[1]</code>
      <code>$exponents[2]</code>
      <code>$primes[1]</code>
      <code>$primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <RedundantCondition occurrences="2">
      <code>!empty($password) &amp;&amp; is_string($password)</code>
      <code>is_string($password)</code>
    </RedundantCondition>
    <UnusedClass occurrences="1">
      <code>XML</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Crypt/RSA/PrivateKey.php">
    <DocblockTypeContradiction occurrences="1">
      <code>empty($this-&gt;publicExponent)</code>
    </DocblockTypeContradiction>
    <InvalidOperand occurrences="3">
      <code>!$hashesMatch</code>
      <code>$m[$i] === "\0"</code>
      <code>$m[$i] === "\1"</code>
    </InvalidOperand>
    <InvalidReturnStatement occurrences="2">
      <code>$this-&gt;rsassa_pkcs1_v1_5_sign($message)</code>
      <code>$this-&gt;rsassa_pss_sign($message)</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="1">
      <code>string</code>
    </InvalidReturnType>
    <MixedArgument occurrences="26">
      <code>$key</code>
      <code>$r</code>
      <code>$r-&gt;multiply($h)</code>
      <code>$smallest-&gt;subtract(self::$one)</code>
      <code>$this-&gt;coefficients[$i]</code>
      <code>$this-&gt;coefficients[$i]</code>
      <code>$this-&gt;coefficients[2]</code>
      <code>$this-&gt;coefficients[2]</code>
      <code>$this-&gt;exponents[$i]</code>
      <code>$this-&gt;exponents[$i]</code>
      <code>$this-&gt;exponents[1]</code>
      <code>$this-&gt;exponents[2]</code>
      <code>$this-&gt;primes[$i - 1]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[$i]</code>
      <code>$this-&gt;primes[1]</code>
      <code>$this-&gt;primes[1]</code>
      <code>$this-&gt;primes[1]</code>
      <code>$this-&gt;primes[2]</code>
      <code>$this-&gt;primes[2]</code>
      <code>$this-&gt;primes[2]</code>
    </MixedArgument>
    <MixedAssignment occurrences="8">
      <code>$key</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$smallest</code>
      <code>$smallest</code>
      <code>$type</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="10">
      <code>$type::savePrivateKey($this-&gt;modulus, $this-&gt;publicExponent, $this-&gt;exponent, $this-&gt;primes, $this-&gt;exponents, $this-&gt;coefficients, $this-&gt;password, $options)</code>
      <code>$type::savePublicKey($this-&gt;modulus, $this-&gt;exponent, $options)</code>
      <code>$type::savePublicKey($this-&gt;modulus, $this-&gt;publicExponent)</code>
      <code>compare</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>subtract</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="2">
      <code>$type::savePrivateKey($this-&gt;modulus, $this-&gt;publicExponent, $this-&gt;exponent, $this-&gt;primes, $this-&gt;exponents, $this-&gt;coefficients, $this-&gt;password, $options)</code>
      <code>$type::savePublicKey($this-&gt;modulus, $this-&gt;exponent, $options)</code>
    </MixedReturnStatement>
    <PossiblyFalseOperand occurrences="1">
      <code>strpos($em, chr(0), 2)</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArgument occurrences="5">
      <code>$m</code>
      <code>$m</code>
      <code>$s</code>
      <code>$s</code>
      <code>$temp</code>
    </PossiblyInvalidArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="11">
      <code>$this-&gt;coefficients[2]</code>
      <code>$this-&gt;coefficients[2]</code>
      <code>$this-&gt;coefficients[2]</code>
      <code>$this-&gt;exponents[1]</code>
      <code>$this-&gt;exponents[1]</code>
      <code>$this-&gt;exponents[2]</code>
      <code>$this-&gt;primes[1]</code>
      <code>$this-&gt;primes[1]</code>
      <code>$this-&gt;primes[1]</code>
      <code>$this-&gt;primes[2]</code>
      <code>$this-&gt;primes[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="9">
      <code>$coefficients</code>
      <code>$exponents</code>
      <code>$primes</code>
      <code>$privateExponent</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
      <code>PrivateKey</code>
    </PropertyNotSetInConstructor>
    <UnusedVariable occurrences="1">
      <code>$y</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Crypt/RSA/PublicKey.php">
    <FalsableReturnStatement occurrences="4">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </FalsableReturnStatement>
    <InvalidReturnStatement occurrences="2">
      <code>$this-&gt;rsassa_pss_verify($message, $signature)</code>
      <code>hash_equals($h, $h2)</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="2">
      <code>bool</code>
      <code>string</code>
    </InvalidReturnType>
    <MixedArgument occurrences="3">
      <code>$decoded[0]</code>
      <code>$em2</code>
      <code>$hash</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$decoded['digestAlgorithm']['algorithm']</code>
      <code>$decoded[0]['length']</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="1">
      <code>$oids[$decoded['digestAlgorithm']['algorithm']]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="3">
      <code>$em2</code>
      <code>$hash</code>
      <code>$type</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>$type::savePublicKey($this-&gt;modulus, $this-&gt;publicExponent, $options)</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1">
      <code>$type::savePublicKey($this-&gt;modulus, $this-&gt;publicExponent, $options)</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="6">
      <code>$c</code>
      <code>$c</code>
      <code>$m2</code>
      <code>$m2</code>
      <code>$m2</code>
      <code>$temp</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="2">
      <code>$decoded['digest']</code>
      <code>$decoded['digestAlgorithm']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayOffset occurrences="2">
      <code>$decoded['digest']</code>
      <code>$decoded['digestAlgorithm']</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$decoded['digest']</code>
      <code>$decoded['digestAlgorithm']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="2">
      <code>$r1</code>
      <code>$r2</code>
    </PossiblyUndefinedVariable>
    <PropertyNotSetInConstructor occurrences="5">
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
      <code>PublicKey</code>
    </PropertyNotSetInConstructor>
    <TypeDoesNotContainType occurrences="3">
      <code>$em === false</code>
      <code>$em === false</code>
      <code>$em === false</code>
    </TypeDoesNotContainType>
    <UndefinedMethod occurrences="4">
      <code>$decoded</code>
      <code>$decoded</code>
      <code>$decoded</code>
      <code>$decoded</code>
    </UndefinedMethod>
    <UnusedParam occurrences="1">
      <code>$pkcs15_compat</code>
    </UnusedParam>
  </file>
  <file src="../phpseclib/Crypt/Random.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$length</code>
    </ArgumentTypeCoercion>
    <InvalidArgument occurrences="1">
      <code>1</code>
    </InvalidArgument>
    <MissingParamType occurrences="1">
      <code>$arr</code>
    </MissingParamType>
    <MixedArrayAccess occurrences="1">
      <code>$_SESSION['count']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="3">
      <code>$_SESSION['count']</code>
      <code>$_SESSION['count']</code>
      <code>$_SESSION['seed']</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="4">
      <code>$_SESSION['count']</code>
      <code>$i</code>
      <code>$r</code>
      <code>$v</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>encrypt</code>
      <code>encrypt</code>
      <code>encrypt</code>
    </MixedMethodCall>
    <MixedOperand occurrences="4">
      <code>$_SESSION['count']</code>
      <code>$i</code>
      <code>$r</code>
      <code>$r</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="1">
      <code>$old_session_id</code>
    </PossiblyFalseArgument>
    <RedundantCondition occurrences="4">
      <code>isset($_COOKIE)</code>
      <code>isset($_GET)</code>
      <code>isset($_POST)</code>
      <code>isset($_SERVER)</code>
    </RedundantCondition>
    <TypeDoesNotContainNull occurrences="4">
      <code>''</code>
      <code>''</code>
      <code>''</code>
      <code>''</code>
    </TypeDoesNotContainNull>
  </file>
  <file src="../phpseclib/Crypt/Rijndael.php">
    <DocblockTypeContradiction occurrences="2">
      <code>$this-&gt;oldtag === false</code>
      <code>$this-&gt;oldtag === false</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="3">
      <code>pack('N*', ...$temp)</code>
      <code>pack('N*', ...$temp)</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="3">
      <code>string</code>
      <code>string</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidOperand occurrences="7">
      <code>0x000000FF</code>
      <code>0x000000FF</code>
      <code>0x000000FF</code>
      <code>0x000000FF</code>
      <code>8</code>
      <code>16</code>
      <code>24</code>
    </InvalidOperand>
    <InvalidPropertyAssignmentValue occurrences="1"/>
    <LoopInvalidation occurrences="1">
      <code>$col</code>
    </LoopInvalidation>
    <MixedArgument occurrences="3">
      <code>$temp</code>
      <code>$temp</code>
      <code>$this-&gt;w[$row][$j]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="35">
      <code>$dt0[$dw &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$dt0[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$dt1[$dw &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$dt1[$state[$j] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$dt2[$dw &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$dt2[$state[$k] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$dt3[$dw       &amp; 0x000000FF]</code>
      <code>$dt3[$state[$l]       &amp; 0x000000FF]</code>
      <code>$invtables[0]</code>
      <code>$invtables[1]</code>
      <code>$invtables[2]</code>
      <code>$invtables[3]</code>
      <code>$invtables[4]</code>
      <code>$isbox[$word       &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$rcon[$i / $this-&gt;Nk]</code>
      <code>$sbox[$state[$i]       &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$sbox[$word       &amp; 0x000000FF]</code>
      <code>$sbox[$word &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$sbox[$word &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$sbox[$word &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$t0[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$t1[$state[$j] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$t2[$state[$k] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$t3[$state[$l]       &amp; 0x000000FF]</code>
      <code>$tables[0]</code>
      <code>$tables[1]</code>
      <code>$tables[2]</code>
      <code>$tables[3]</code>
      <code>$tables[4]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="6">
      <code>$dt0[]</code>
      <code>$dt1[]</code>
      <code>$dt2[]</code>
      <code>$t0[]</code>
      <code>$t1[]</code>
      <code>$t2[]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="28">
      <code>$dt0[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$dt1[$state[$j] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$dt2[$state[$k] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$dt3[$state[$l]       &amp; 0x000000FF]</code>
      <code>$isbox[$word       &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i]       &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$state[$j]</code>
      <code>$state[$j]</code>
      <code>$state[$j]</code>
      <code>$state[$j]</code>
      <code>$state[$k]</code>
      <code>$state[$k]</code>
      <code>$state[$k]</code>
      <code>$state[$k]</code>
      <code>$state[$l]</code>
      <code>$state[$l]</code>
      <code>$state[$l]</code>
      <code>$state[$l]</code>
      <code>$t0[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$t1[$state[$j] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$t2[$state[$k] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$t3[$state[$l]       &amp; 0x000000FF]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="52">
      <code>$dt0</code>
      <code>$dt1</code>
      <code>$dt2</code>
      <code>$dt3</code>
      <code>$dw[]</code>
      <code>$isbox</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$sbox</code>
      <code>$state[$i]</code>
      <code>$state[]</code>
      <code>$state[]</code>
      <code>$t0</code>
      <code>$t1</code>
      <code>$t2</code>
      <code>$t3</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp[$i]</code>
      <code>$temp[$i]</code>
      <code>$temp[$i]</code>
      <code>$temp[$i]</code>
      <code>$temp[$j]</code>
      <code>$w[$i]</code>
      <code>$w[]</code>
      <code>$wc</code>
      <code>$word</code>
      <code>$word</code>
      <code>$word</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="109">
      <code>$Nb + $i - $c[1]</code>
      <code>$Nb + $i - $c[1]</code>
      <code>$Nb + $i - $c[2]</code>
      <code>$Nb + $i - $c[2]</code>
      <code>$Nb + $i - $c[3]</code>
      <code>$Nb + $i - $c[3]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$dt0[$dw &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$dt0[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$dw[$i]</code>
      <code>$dw[$i]</code>
      <code>$dw[++$wc]</code>
      <code>$dw[++$wc]</code>
      <code>$i + $c[1]</code>
      <code>$i + $c[1]</code>
      <code>$i + $c[2]</code>
      <code>$i + $c[2]</code>
      <code>$i + $c[3]</code>
      <code>$i + $c[3]</code>
      <code>$isbox[$word       &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$isbox[$word &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$j</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$k</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$l</code>
      <code>$rcon[$i / $this-&gt;Nk]</code>
      <code>$sbox[$state[$i]       &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$sbox[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$sbox[$word       &amp; 0x000000FF]</code>
      <code>$sbox[$word &gt;&gt;  8 &amp; 0x000000FF]</code>
      <code>$sbox[$word &gt;&gt; 16 &amp; 0x000000FF]</code>
      <code>$sbox[$word &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$i]</code>
      <code>$state[$j]</code>
      <code>$state[$j]</code>
      <code>$state[$j]</code>
      <code>$state[$j]</code>
      <code>$state[$k]</code>
      <code>$state[$k]</code>
      <code>$state[$k]</code>
      <code>$state[$k]</code>
      <code>$state[$l]</code>
      <code>$state[$l]</code>
      <code>$state[$l]</code>
      <code>$state[$l]</code>
      <code>$t0[$state[$i] &gt;&gt; 24 &amp; 0x000000FF]</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$w[$i - $this-&gt;Nk]</code>
      <code>$w[$i]</code>
      <code>$w[++$wc]</code>
      <code>$w[++$wc]</code>
      <code>$word</code>
      <code>$word</code>
      <code>$word</code>
      <code>$word</code>
      <code>$word</code>
      <code>$word</code>
      <code>($Nb + $i - $c[1]) % $Nb</code>
      <code>($Nb + $i - $c[1]) % $Nb</code>
      <code>($Nb + $i - $c[2]) % $Nb</code>
      <code>($Nb + $i - $c[2]) % $Nb</code>
      <code>($Nb + $i - $c[3]) % $Nb</code>
      <code>($Nb + $i - $c[3]) % $Nb</code>
      <code>($i + $c[1]) % $Nb</code>
      <code>($i + $c[1]) % $Nb</code>
      <code>($i + $c[2]) % $Nb</code>
      <code>($i + $c[2]) % $Nb</code>
      <code>($i + $c[3]) % $Nb</code>
      <code>($i + $c[3]) % $Nb</code>
      <code>($temp &lt;&lt; 8) &amp; intval(0xFFFFFF00)</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="3">
      <code>$tables</code>
      <code>$tables</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="1">
      <code>unpack('N*words', $this-&gt;key)</code>
    </PossiblyFalseArgument>
    <PossiblyFalseIterator occurrences="2">
      <code>$words</code>
      <code>$words</code>
    </PossiblyFalseIterator>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyNullOperand occurrences="1">
      <code>$this-&gt;openssl_translate_mode()</code>
    </PossiblyNullOperand>
    <PossiblyNullPropertyAssignmentValue occurrences="1">
      <code>$w</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="35">
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[1]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[2]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$c[3]</code>
      <code>$invtables[0]</code>
      <code>$invtables[1]</code>
      <code>$invtables[2]</code>
      <code>$invtables[3]</code>
      <code>$invtables[4]</code>
      <code>$tables[0]</code>
      <code>$tables[1]</code>
      <code>$tables[2]</code>
      <code>$tables[3]</code>
      <code>$tables[4]</code>
      <code>$this-&gt;w[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$this-&gt;kl['block_size']</code>
      <code>$this-&gt;kl['key_length']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="6">
      <code>$dt0</code>
      <code>$dt1</code>
      <code>$dt2</code>
      <code>$t0</code>
      <code>$t1</code>
      <code>$t2</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="2">
      <code>setBlockLength</code>
      <code>setupInlineCrypt</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="14">
      <code>$Nr</code>
      <code>$c</code>
      <code>$dw</code>
      <code>$kl</code>
      <code>$w</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
      <code>Rijndael</code>
    </PropertyNotSetInConstructor>
    <RedundantCast occurrences="2">
      <code>(int)0xFF000000</code>
      <code>(int)0xFF000000</code>
    </RedundantCast>
    <RedundantConditionGivenDocblockType occurrences="1">
      <code>is_string($this-&gt;iv)</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="../phpseclib/Crypt/Salsa20.php">
    <DocblockTypeContradiction occurrences="5">
      <code>$this-&gt;key === false</code>
      <code>$this-&gt;key === false</code>
      <code>$this-&gt;nonce === false</code>
      <code>$this-&gt;nonce === false</code>
      <code>$this-&gt;oldtag === false</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="1"/>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingReturnType occurrences="1">
      <code>salsa20</code>
    </MissingReturnType>
    <MixedArgument occurrences="21">
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$key</code>
      <code>$temp</code>
      <code>$z[10]</code>
      <code>$z[11]</code>
      <code>$z[12]</code>
      <code>$z[13]</code>
      <code>$z[14]</code>
      <code>$z[15]</code>
      <code>$z[16]</code>
      <code>$z[1]</code>
      <code>$z[2]</code>
      <code>$z[3]</code>
      <code>$z[4]</code>
      <code>$z[5]</code>
      <code>$z[6]</code>
      <code>$z[7]</code>
      <code>$z[8]</code>
      <code>$z[9]</code>
    </MixedArgument>
    <MixedAssignment occurrences="10">
      <code>$block</code>
      <code>$block</code>
      <code>$block</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$temp</code>
      <code>$x[$i]</code>
    </MixedAssignment>
    <MixedOperand occurrences="9">
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$x[$i]</code>
      <code>static::salsa20($this-&gt;p1 . pack('V', $buffer['counter']++) . $this-&gt;p2)</code>
      <code>static::salsa20($this-&gt;p1 . pack('V', $buffer['counter']++) . $this-&gt;p2)</code>
      <code>static::salsa20($this-&gt;p1 . pack('V', $i++) . $this-&gt;p2)</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="1">
      <code>$encrypted</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="21">
      <code>$this-&gt;p1</code>
      <code>$this-&gt;p1</code>
      <code>$this-&gt;p1</code>
      <code>$this-&gt;p1</code>
      <code>$this-&gt;p2</code>
      <code>$this-&gt;p2</code>
      <code>$this-&gt;p2</code>
      <code>$this-&gt;p2</code>
      <code>$this-&gt;p2</code>
      <code>$this-&gt;p2</code>
      <code>$this-&gt;p2</code>
      <code>pack('V', $buffer['counter'])</code>
      <code>pack('V', $buffer['counter'])</code>
      <code>pack('V', $buffer['counter']++)</code>
      <code>pack('V', $buffer['counter']++)</code>
      <code>pack('V', $buffer['counter']++)</code>
      <code>pack('V', $i++)</code>
      <code>pack('V', $this-&gt;counter)</code>
      <code>pack('V', strlen($text))</code>
      <code>pack('V', strlen($this-&gt;aad))</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArrayAccess occurrences="18">
      <code>$x[$i]</code>
      <code>$z[$i]</code>
      <code>$z[10]</code>
      <code>$z[11]</code>
      <code>$z[12]</code>
      <code>$z[13]</code>
      <code>$z[14]</code>
      <code>$z[15]</code>
      <code>$z[16]</code>
      <code>$z[1]</code>
      <code>$z[2]</code>
      <code>$z[3]</code>
      <code>$z[4]</code>
      <code>$z[5]</code>
      <code>$z[6]</code>
      <code>$z[7]</code>
      <code>$z[8]</code>
      <code>$z[9]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayAssignment occurrences="1">
      <code>$x[$i]</code>
    </PossiblyInvalidArrayAssignment>
    <PossiblyUndefinedIntArrayOffset occurrences="16">
      <code>$z[10]</code>
      <code>$z[11]</code>
      <code>$z[12]</code>
      <code>$z[13]</code>
      <code>$z[14]</code>
      <code>$z[15]</code>
      <code>$z[16]</code>
      <code>$z[1]</code>
      <code>$z[2]</code>
      <code>$z[3]</code>
      <code>$z[4]</code>
      <code>$z[5]</code>
      <code>$z[6]</code>
      <code>$z[7]</code>
      <code>$z[8]</code>
      <code>$z[9]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="8">
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['ciphertext']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
      <code>$buffer['counter']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PropertyNotSetInConstructor occurrences="9">
      <code>$debuffer</code>
      <code>$enbuffer</code>
      <code>Salsa20</code>
      <code>Salsa20</code>
      <code>Salsa20</code>
      <code>Salsa20</code>
      <code>Salsa20</code>
      <code>Salsa20</code>
      <code>Salsa20</code>
    </PropertyNotSetInConstructor>
    <RedundantCast occurrences="1">
      <code>(int) $x</code>
    </RedundantCast>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>$this-&gt;usePoly1305 &amp;&amp; !isset($this-&gt;poly1305Key)</code>
      <code>isset($this-&gt;poly1305Key)</code>
      <code>isset($this-&gt;poly1305Key)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedVariable occurrences="1">
      <code>$key</code>
    </UndefinedVariable>
  </file>
  <file src="../phpseclib/Crypt/TripleDES.php">
    <InvalidPropertyAssignmentValue occurrences="1">
      <code>24</code>
    </InvalidPropertyAssignmentValue>
    <MixedArgument occurrences="1"/>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="24">
      <code>decrypt</code>
      <code>decrypt</code>
      <code>decrypt</code>
      <code>disableContinuousBuffer</code>
      <code>disableContinuousBuffer</code>
      <code>disableContinuousBuffer</code>
      <code>enableContinuousBuffer</code>
      <code>enableContinuousBuffer</code>
      <code>enableContinuousBuffer</code>
      <code>encrypt</code>
      <code>encrypt</code>
      <code>encrypt</code>
      <code>setIV</code>
      <code>setIV</code>
      <code>setIV</code>
      <code>setKey</code>
      <code>setKey</code>
      <code>setKey</code>
      <code>setPreferredEngine</code>
      <code>setPreferredEngine</code>
      <code>setPreferredEngine</code>
      <code>setupKey</code>
      <code>setupKey</code>
      <code>setupKey</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="1"/>
    <PossiblyNullOperand occurrences="1">
      <code>$mode</code>
    </PossiblyNullOperand>
    <PossiblyUndefinedIntArrayOffset occurrences="24">
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[0]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[1]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
      <code>$this-&gt;des[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="11">
      <code>$des</code>
      <code>$mode_3cbc</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
      <code>TripleDES</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Crypt/Twofish.php">
    <FalsableReturnStatement occurrences="2"/>
    <InvalidFalsableReturnType occurrences="2">
      <code>string</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidPropertyAssignmentValue occurrences="1"/>
    <MixedArgument occurrences="18">
      <code>$le_longs[1]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[5]</code>
      <code>$le_longs[5]</code>
      <code>$le_longs[6]</code>
      <code>$le_longs[6]</code>
      <code>$le_longs[7]</code>
      <code>$le_longs[8]</code>
    </MixedArgument>
    <MixedArrayOffset occurrences="140">
      <code>$S0[ $R0        &amp; 0xff]</code>
      <code>$S0[ $R2        &amp; 0xff]</code>
      <code>$S0[$R0       &amp; 0xff]</code>
      <code>$S0[$R1 &gt;&gt; 24 &amp; 0xff]</code>
      <code>$S0[$R2       &amp; 0xff]</code>
      <code>$S0[$R3 &gt;&gt; 24 &amp; 0xff]</code>
      <code>$S0[($R1 &gt;&gt; 24) &amp; 0xff]</code>
      <code>$S0[($R3 &gt;&gt; 24) &amp; 0xff]</code>
      <code>$S1[ $R1        &amp; 0xff]</code>
      <code>$S1[ $R3        &amp; 0xff]</code>
      <code>$S1[$R0 &gt;&gt;  8 &amp; 0xff]</code>
      <code>$S1[$R1       &amp; 0xff]</code>
      <code>$S1[$R2 &gt;&gt;  8 &amp; 0xff]</code>
      <code>$S1[$R3       &amp; 0xff]</code>
      <code>$S1[($R0 &gt;&gt;  8) &amp; 0xff]</code>
      <code>$S1[($R2 &gt;&gt;  8) &amp; 0xff]</code>
      <code>$S2[$R0 &gt;&gt; 16 &amp; 0xff]</code>
      <code>$S2[$R1 &gt;&gt;  8 &amp; 0xff]</code>
      <code>$S2[$R2 &gt;&gt; 16 &amp; 0xff]</code>
      <code>$S2[$R3 &gt;&gt;  8 &amp; 0xff]</code>
      <code>$S2[($R0 &gt;&gt; 16) &amp; 0xff]</code>
      <code>$S2[($R1 &gt;&gt;  8) &amp; 0xff]</code>
      <code>$S2[($R2 &gt;&gt; 16) &amp; 0xff]</code>
      <code>$S2[($R3 &gt;&gt;  8) &amp; 0xff]</code>
      <code>$S3[$R0 &gt;&gt; 24 &amp; 0xff]</code>
      <code>$S3[$R1 &gt;&gt; 16 &amp; 0xff]</code>
      <code>$S3[$R2 &gt;&gt; 24 &amp; 0xff]</code>
      <code>$S3[$R3 &gt;&gt; 16 &amp; 0xff]</code>
      <code>$S3[($R0 &gt;&gt; 24) &amp; 0xff]</code>
      <code>$S3[($R1 &gt;&gt; 16) &amp; 0xff]</code>
      <code>$S3[($R2 &gt;&gt; 24) &amp; 0xff]</code>
      <code>$S3[($R3 &gt;&gt; 16) &amp; 0xff]</code>
      <code>$m0[$q0[$q0[$i] ^ $key[ 9]] ^ $key[1]]</code>
      <code>$m0[$q0[$q0[$i] ^ $s4] ^ $s0]</code>
      <code>$m0[$q0[$q0[$j] ^ $key[13]] ^ $key[5]]</code>
      <code>$m0[$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] ^ $key[1]]</code>
      <code>$m0[$q0[$q0[$q1[$i] ^ $s8] ^ $s4] ^ $s0]</code>
      <code>$m0[$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] ^ $key[5]]</code>
      <code>$m0[$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] ^ $key[1]]</code>
      <code>$m0[$q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4] ^ $s0]</code>
      <code>$m0[$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] ^ $key[5]]</code>
      <code>$m1[$q0[$q1[$i] ^ $key[10]] ^ $key[2]]</code>
      <code>$m1[$q0[$q1[$i] ^ $s5] ^ $s1]</code>
      <code>$m1[$q0[$q1[$j] ^ $key[14]] ^ $key[6]]</code>
      <code>$m1[$q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]] ^ $key[2]]</code>
      <code>$m1[$q0[$q1[$q1[$i] ^ $s9] ^ $s5] ^ $s1]</code>
      <code>$m1[$q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]] ^ $key[6]]</code>
      <code>$m1[$q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]] ^ $key[2]]</code>
      <code>$m1[$q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5] ^ $s1]</code>
      <code>$m1[$q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]] ^ $key[6]]</code>
      <code>$m2[$q1[$q0[$i] ^ $key[11]] ^ $key[3]]</code>
      <code>$m2[$q1[$q0[$i] ^ $s6] ^ $s2]</code>
      <code>$m2[$q1[$q0[$j] ^ $key[15]] ^ $key[7]]</code>
      <code>$m2[$q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]] ^ $key[3]]</code>
      <code>$m2[$q1[$q0[$q0[$i] ^ $sa] ^ $s6] ^ $s2]</code>
      <code>$m2[$q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]] ^ $key[7]]</code>
      <code>$m2[$q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]] ^ $key[3]]</code>
      <code>$m2[$q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6] ^ $s2]</code>
      <code>$m2[$q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]] ^ $key[7]]</code>
      <code>$m3[$q1[$q1[$i] ^ $key[12]] ^ $key[4]]</code>
      <code>$m3[$q1[$q1[$i] ^ $s7] ^ $s3]</code>
      <code>$m3[$q1[$q1[$j] ^ $key[16]] ^ $key[8]]</code>
      <code>$m3[$q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]] ^ $key[4]]</code>
      <code>$m3[$q1[$q1[$q0[$i] ^ $sb] ^ $s7] ^ $s3]</code>
      <code>$m3[$q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]] ^ $key[8]]</code>
      <code>$m3[$q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]] ^ $key[4]]</code>
      <code>$m3[$q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7] ^ $s3]</code>
      <code>$m3[$q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]] ^ $key[8]]</code>
      <code>$q0[$q0[$i] ^ $key[ 9]]</code>
      <code>$q0[$q0[$i] ^ $key[19]]</code>
      <code>$q0[$q0[$i] ^ $key[27]]</code>
      <code>$q0[$q0[$i] ^ $s4]</code>
      <code>$q0[$q0[$i] ^ $sa]</code>
      <code>$q0[$q0[$i] ^ $se]</code>
      <code>$q0[$q0[$j] ^ $key[13]]</code>
      <code>$q0[$q0[$j] ^ $key[23]]</code>
      <code>$q0[$q0[$j] ^ $key[31]]</code>
      <code>$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]]</code>
      <code>$q0[$q0[$q0[$i] ^ $se] ^ $sa]</code>
      <code>$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]]</code>
      <code>$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]]</code>
      <code>$q0[$q0[$q1[$i] ^ $s8] ^ $s4]</code>
      <code>$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]]</code>
      <code>$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]]</code>
      <code>$q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4]</code>
      <code>$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]]</code>
      <code>$q0[$q1[$i] ^ $key[10]]</code>
      <code>$q0[$q1[$i] ^ $key[17]]</code>
      <code>$q0[$q1[$i] ^ $key[28]]</code>
      <code>$q0[$q1[$i] ^ $s5]</code>
      <code>$q0[$q1[$i] ^ $s8]</code>
      <code>$q0[$q1[$i] ^ $sf]</code>
      <code>$q0[$q1[$j] ^ $key[14]]</code>
      <code>$q0[$q1[$j] ^ $key[21]]</code>
      <code>$q0[$q1[$j] ^ $key[32]]</code>
      <code>$q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]]</code>
      <code>$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]]</code>
      <code>$q0[$q1[$q1[$i] ^ $s9] ^ $s5]</code>
      <code>$q0[$q1[$q1[$i] ^ $sc] ^ $s8]</code>
      <code>$q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]]</code>
      <code>$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]]</code>
      <code>$q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]]</code>
      <code>$q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5]</code>
      <code>$q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]]</code>
      <code>$q1[$q0[$i] ^ $key[11]]</code>
      <code>$q1[$q0[$i] ^ $key[20]]</code>
      <code>$q1[$q0[$i] ^ $key[26]]</code>
      <code>$q1[$q0[$i] ^ $s6]</code>
      <code>$q1[$q0[$i] ^ $sb]</code>
      <code>$q1[$q0[$i] ^ $sd]</code>
      <code>$q1[$q0[$j] ^ $key[15]]</code>
      <code>$q1[$q0[$j] ^ $key[24]]</code>
      <code>$q1[$q0[$j] ^ $key[30]]</code>
      <code>$q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]]</code>
      <code>$q1[$q0[$q0[$i] ^ $sa] ^ $s6]</code>
      <code>$q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]]</code>
      <code>$q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]]</code>
      <code>$q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6]</code>
      <code>$q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]]</code>
      <code>$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]]</code>
      <code>$q1[$q0[$q1[$i] ^ $sf] ^ $sb]</code>
      <code>$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]]</code>
      <code>$q1[$q1[$i] ^ $key[12]]</code>
      <code>$q1[$q1[$i] ^ $key[18]]</code>
      <code>$q1[$q1[$i] ^ $key[25]]</code>
      <code>$q1[$q1[$i] ^ $s7]</code>
      <code>$q1[$q1[$i] ^ $s9]</code>
      <code>$q1[$q1[$i] ^ $sc]</code>
      <code>$q1[$q1[$j] ^ $key[16]]</code>
      <code>$q1[$q1[$j] ^ $key[22]]</code>
      <code>$q1[$q1[$j] ^ $key[29]]</code>
      <code>$q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]]</code>
      <code>$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]]</code>
      <code>$q1[$q1[$q0[$i] ^ $sb] ^ $s7]</code>
      <code>$q1[$q1[$q0[$i] ^ $sd] ^ $s9]</code>
      <code>$q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]]</code>
      <code>$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]]</code>
      <code>$q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]]</code>
      <code>$q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7]</code>
      <code>$q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="61">
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$K[]</code>
      <code>$K[]</code>
      <code>$K[]</code>
      <code>$K[]</code>
      <code>$K[]</code>
      <code>$K[]</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$S0[$i]</code>
      <code>$S0[$i]</code>
      <code>$S0[$i]</code>
      <code>$S1[$i]</code>
      <code>$S1[$i]</code>
      <code>$S1[$i]</code>
      <code>$S2[$i]</code>
      <code>$S2[$i]</code>
      <code>$S2[$i]</code>
      <code>$S3[$i]</code>
      <code>$S3[$i]</code>
      <code>$S3[$i]</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t1</code>
    </MixedAssignment>
    <MixedOperand occurrences="248">
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$A</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$B</code>
      <code>$K[++$ki]</code>
      <code>$K[++$ki]</code>
      <code>$K[++$ki]</code>
      <code>$K[++$ki]</code>
      <code>$K[--$ki]</code>
      <code>$K[--$ki]</code>
      <code>$K[--$ki]</code>
      <code>$K[--$ki]</code>
      <code>$K[0]</code>
      <code>$K[0]</code>
      <code>$K[0]</code>
      <code>$K[0]</code>
      <code>$K[1]</code>
      <code>$K[1]</code>
      <code>$K[1]</code>
      <code>$K[1]</code>
      <code>$K[2]</code>
      <code>$K[2]</code>
      <code>$K[2]</code>
      <code>$K[2]</code>
      <code>$K[3]</code>
      <code>$K[3]</code>
      <code>$K[3]</code>
      <code>$K[3]</code>
      <code>$K[4]</code>
      <code>$K[4]</code>
      <code>$K[4]</code>
      <code>$K[4]</code>
      <code>$K[5]</code>
      <code>$K[5]</code>
      <code>$K[5]</code>
      <code>$K[5]</code>
      <code>$K[6]</code>
      <code>$K[6]</code>
      <code>$K[6]</code>
      <code>$K[6]</code>
      <code>$K[7]</code>
      <code>$K[7]</code>
      <code>$K[7]</code>
      <code>$K[7]</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R0</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R1</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R2</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$R3</code>
      <code>$S0[ $R0        &amp; 0xff]</code>
      <code>$S0[ $R2        &amp; 0xff]</code>
      <code>$S0[$R0       &amp; 0xff]</code>
      <code>$S0[$R1 &gt;&gt; 24 &amp; 0xff]</code>
      <code>$S0[$R2       &amp; 0xff]</code>
      <code>$S0[$R3 &gt;&gt; 24 &amp; 0xff]</code>
      <code>$S0[($R1 &gt;&gt; 24) &amp; 0xff]</code>
      <code>$S0[($R3 &gt;&gt; 24) &amp; 0xff]</code>
      <code>$m0[$q0[$q0[$i] ^ $key[ 9]] ^ $key[1]]</code>
      <code>$m0[$q0[$q0[$j] ^ $key[13]] ^ $key[5]]</code>
      <code>$m0[$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]] ^ $key[1]]</code>
      <code>$m0[$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]] ^ $key[5]]</code>
      <code>$m0[$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]] ^ $key[1]]</code>
      <code>$m0[$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]] ^ $key[5]]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$i]</code>
      <code>$q0[$j]</code>
      <code>$q0[$j]</code>
      <code>$q0[$j]</code>
      <code>$q0[$j]</code>
      <code>$q0[$j]</code>
      <code>$q0[$j]</code>
      <code>$q0[$q0[$i] ^ $key[ 9]]</code>
      <code>$q0[$q0[$i] ^ $key[19]]</code>
      <code>$q0[$q0[$i] ^ $key[27]]</code>
      <code>$q0[$q0[$i] ^ $s4]</code>
      <code>$q0[$q0[$i] ^ $sa]</code>
      <code>$q0[$q0[$i] ^ $se]</code>
      <code>$q0[$q0[$j] ^ $key[13]]</code>
      <code>$q0[$q0[$j] ^ $key[23]]</code>
      <code>$q0[$q0[$j] ^ $key[31]]</code>
      <code>$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]]</code>
      <code>$q0[$q0[$q0[$i] ^ $se] ^ $sa]</code>
      <code>$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]]</code>
      <code>$q0[$q0[$q1[$i] ^ $key[17]] ^ $key[ 9]]</code>
      <code>$q0[$q0[$q1[$i] ^ $s8] ^ $s4]</code>
      <code>$q0[$q0[$q1[$j] ^ $key[21]] ^ $key[13]]</code>
      <code>$q0[$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]] ^ $key[ 9]]</code>
      <code>$q0[$q0[$q1[$q1[$i] ^ $sc] ^ $s8] ^ $s4]</code>
      <code>$q0[$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]] ^ $key[13]]</code>
      <code>$q0[$q1[$i] ^ $key[10]]</code>
      <code>$q0[$q1[$i] ^ $key[17]]</code>
      <code>$q0[$q1[$i] ^ $key[28]]</code>
      <code>$q0[$q1[$i] ^ $s5]</code>
      <code>$q0[$q1[$i] ^ $s8]</code>
      <code>$q0[$q1[$i] ^ $sf]</code>
      <code>$q0[$q1[$j] ^ $key[14]]</code>
      <code>$q0[$q1[$j] ^ $key[21]]</code>
      <code>$q0[$q1[$j] ^ $key[32]]</code>
      <code>$q0[$q1[$q1[$i] ^ $key[18]] ^ $key[10]]</code>
      <code>$q0[$q1[$q1[$i] ^ $key[25]] ^ $key[17]]</code>
      <code>$q0[$q1[$q1[$i] ^ $s9] ^ $s5]</code>
      <code>$q0[$q1[$q1[$i] ^ $sc] ^ $s8]</code>
      <code>$q0[$q1[$q1[$j] ^ $key[22]] ^ $key[14]]</code>
      <code>$q0[$q1[$q1[$j] ^ $key[29]] ^ $key[21]]</code>
      <code>$q0[$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]] ^ $key[10]]</code>
      <code>$q0[$q1[$q1[$q0[$i] ^ $sd] ^ $s9] ^ $s5]</code>
      <code>$q0[$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]] ^ $key[14]]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$i]</code>
      <code>$q1[$j]</code>
      <code>$q1[$j]</code>
      <code>$q1[$j]</code>
      <code>$q1[$j]</code>
      <code>$q1[$j]</code>
      <code>$q1[$j]</code>
      <code>$q1[$q0[$i] ^ $key[11]]</code>
      <code>$q1[$q0[$i] ^ $key[20]]</code>
      <code>$q1[$q0[$i] ^ $key[26]]</code>
      <code>$q1[$q0[$i] ^ $s6]</code>
      <code>$q1[$q0[$i] ^ $sb]</code>
      <code>$q1[$q0[$i] ^ $sd]</code>
      <code>$q1[$q0[$j] ^ $key[15]]</code>
      <code>$q1[$q0[$j] ^ $key[24]]</code>
      <code>$q1[$q0[$j] ^ $key[30]]</code>
      <code>$q1[$q0[$q0[$i] ^ $key[19]] ^ $key[11]]</code>
      <code>$q1[$q0[$q0[$i] ^ $sa] ^ $s6]</code>
      <code>$q1[$q0[$q0[$j] ^ $key[23]] ^ $key[15]]</code>
      <code>$q1[$q0[$q0[$q0[$i] ^ $key[27]] ^ $key[19]] ^ $key[11]]</code>
      <code>$q1[$q0[$q0[$q0[$i] ^ $se] ^ $sa] ^ $s6]</code>
      <code>$q1[$q0[$q0[$q0[$j] ^ $key[31]] ^ $key[23]] ^ $key[15]]</code>
      <code>$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]]</code>
      <code>$q1[$q0[$q1[$i] ^ $sf] ^ $sb]</code>
      <code>$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]]</code>
      <code>$q1[$q1[$i] ^ $key[12]]</code>
      <code>$q1[$q1[$i] ^ $key[18]]</code>
      <code>$q1[$q1[$i] ^ $key[25]]</code>
      <code>$q1[$q1[$i] ^ $s7]</code>
      <code>$q1[$q1[$i] ^ $s9]</code>
      <code>$q1[$q1[$i] ^ $sc]</code>
      <code>$q1[$q1[$j] ^ $key[16]]</code>
      <code>$q1[$q1[$j] ^ $key[22]]</code>
      <code>$q1[$q1[$j] ^ $key[29]]</code>
      <code>$q1[$q1[$q0[$i] ^ $key[20]] ^ $key[12]]</code>
      <code>$q1[$q1[$q0[$i] ^ $key[26]] ^ $key[18]]</code>
      <code>$q1[$q1[$q0[$i] ^ $sb] ^ $s7]</code>
      <code>$q1[$q1[$q0[$i] ^ $sd] ^ $s9]</code>
      <code>$q1[$q1[$q0[$j] ^ $key[24]] ^ $key[16]]</code>
      <code>$q1[$q1[$q0[$j] ^ $key[30]] ^ $key[22]]</code>
      <code>$q1[$q1[$q0[$q1[$i] ^ $key[28]] ^ $key[20]] ^ $key[12]]</code>
      <code>$q1[$q1[$q0[$q1[$i] ^ $sf] ^ $sb] ^ $s7]</code>
      <code>$q1[$q1[$q0[$q1[$j] ^ $key[32]] ^ $key[24]] ^ $key[16]]</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t0</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>$t1</code>
      <code>($R1 &gt;&gt; 31) &amp; 1</code>
      <code>($R3 &gt;&gt; 31) &amp; 1</code>
      <code>(($R1 &gt;&gt; 31) &amp; 1) | ($R1 &lt;&lt; 1)</code>
      <code>(($R3 &gt;&gt; 31) &amp; 1) | ($R3 &lt;&lt; 1)</code>
    </MixedOperand>
    <PossiblyInvalidArrayAccess occurrences="98">
      <code>$in[1]</code>
      <code>$in[1]</code>
      <code>$in[2]</code>
      <code>$in[2]</code>
      <code>$in[3]</code>
      <code>$in[3]</code>
      <code>$in[4]</code>
      <code>$in[4]</code>
      <code>$key[ 9]</code>
      <code>$key[ 9]</code>
      <code>$key[ 9]</code>
      <code>$key[10]</code>
      <code>$key[10]</code>
      <code>$key[10]</code>
      <code>$key[11]</code>
      <code>$key[11]</code>
      <code>$key[11]</code>
      <code>$key[12]</code>
      <code>$key[12]</code>
      <code>$key[12]</code>
      <code>$key[13]</code>
      <code>$key[13]</code>
      <code>$key[13]</code>
      <code>$key[14]</code>
      <code>$key[14]</code>
      <code>$key[14]</code>
      <code>$key[15]</code>
      <code>$key[15]</code>
      <code>$key[15]</code>
      <code>$key[16]</code>
      <code>$key[16]</code>
      <code>$key[16]</code>
      <code>$key[17]</code>
      <code>$key[17]</code>
      <code>$key[18]</code>
      <code>$key[18]</code>
      <code>$key[19]</code>
      <code>$key[19]</code>
      <code>$key[1]</code>
      <code>$key[1]</code>
      <code>$key[1]</code>
      <code>$key[20]</code>
      <code>$key[20]</code>
      <code>$key[21]</code>
      <code>$key[21]</code>
      <code>$key[22]</code>
      <code>$key[22]</code>
      <code>$key[23]</code>
      <code>$key[23]</code>
      <code>$key[24]</code>
      <code>$key[24]</code>
      <code>$key[25]</code>
      <code>$key[26]</code>
      <code>$key[27]</code>
      <code>$key[28]</code>
      <code>$key[29]</code>
      <code>$key[2]</code>
      <code>$key[2]</code>
      <code>$key[2]</code>
      <code>$key[30]</code>
      <code>$key[31]</code>
      <code>$key[32]</code>
      <code>$key[3]</code>
      <code>$key[3]</code>
      <code>$key[3]</code>
      <code>$key[4]</code>
      <code>$key[4]</code>
      <code>$key[4]</code>
      <code>$key[5]</code>
      <code>$key[5]</code>
      <code>$key[5]</code>
      <code>$key[6]</code>
      <code>$key[6]</code>
      <code>$key[6]</code>
      <code>$key[7]</code>
      <code>$key[7]</code>
      <code>$key[7]</code>
      <code>$key[8]</code>
      <code>$key[8]</code>
      <code>$key[8]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[5]</code>
      <code>$le_longs[5]</code>
      <code>$le_longs[6]</code>
      <code>$le_longs[6]</code>
      <code>$le_longs[7]</code>
      <code>$le_longs[8]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyUndefinedIntArrayOffset occurrences="123">
      <code>$K[0]</code>
      <code>$K[0]</code>
      <code>$K[0]</code>
      <code>$K[1]</code>
      <code>$K[1]</code>
      <code>$K[1]</code>
      <code>$K[2]</code>
      <code>$K[2]</code>
      <code>$K[2]</code>
      <code>$K[3]</code>
      <code>$K[3]</code>
      <code>$K[3]</code>
      <code>$K[4]</code>
      <code>$K[4]</code>
      <code>$K[4]</code>
      <code>$K[5]</code>
      <code>$K[5]</code>
      <code>$K[5]</code>
      <code>$K[6]</code>
      <code>$K[6]</code>
      <code>$K[6]</code>
      <code>$K[7]</code>
      <code>$K[7]</code>
      <code>$K[7]</code>
      <code>$in[1]</code>
      <code>$in[1]</code>
      <code>$in[2]</code>
      <code>$in[2]</code>
      <code>$in[3]</code>
      <code>$in[3]</code>
      <code>$in[4]</code>
      <code>$in[4]</code>
      <code>$key[ 9]</code>
      <code>$key[ 9]</code>
      <code>$key[ 9]</code>
      <code>$key[10]</code>
      <code>$key[10]</code>
      <code>$key[10]</code>
      <code>$key[11]</code>
      <code>$key[11]</code>
      <code>$key[11]</code>
      <code>$key[12]</code>
      <code>$key[12]</code>
      <code>$key[12]</code>
      <code>$key[13]</code>
      <code>$key[13]</code>
      <code>$key[13]</code>
      <code>$key[14]</code>
      <code>$key[14]</code>
      <code>$key[14]</code>
      <code>$key[15]</code>
      <code>$key[15]</code>
      <code>$key[15]</code>
      <code>$key[16]</code>
      <code>$key[16]</code>
      <code>$key[16]</code>
      <code>$key[17]</code>
      <code>$key[17]</code>
      <code>$key[18]</code>
      <code>$key[18]</code>
      <code>$key[19]</code>
      <code>$key[19]</code>
      <code>$key[1]</code>
      <code>$key[1]</code>
      <code>$key[1]</code>
      <code>$key[20]</code>
      <code>$key[20]</code>
      <code>$key[21]</code>
      <code>$key[21]</code>
      <code>$key[22]</code>
      <code>$key[22]</code>
      <code>$key[23]</code>
      <code>$key[23]</code>
      <code>$key[24]</code>
      <code>$key[24]</code>
      <code>$key[25]</code>
      <code>$key[26]</code>
      <code>$key[27]</code>
      <code>$key[28]</code>
      <code>$key[29]</code>
      <code>$key[2]</code>
      <code>$key[2]</code>
      <code>$key[2]</code>
      <code>$key[30]</code>
      <code>$key[31]</code>
      <code>$key[32]</code>
      <code>$key[3]</code>
      <code>$key[3]</code>
      <code>$key[3]</code>
      <code>$key[4]</code>
      <code>$key[4]</code>
      <code>$key[4]</code>
      <code>$key[5]</code>
      <code>$key[5]</code>
      <code>$key[5]</code>
      <code>$key[6]</code>
      <code>$key[6]</code>
      <code>$key[6]</code>
      <code>$key[7]</code>
      <code>$key[7]</code>
      <code>$key[7]</code>
      <code>$key[8]</code>
      <code>$key[8]</code>
      <code>$key[8]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[1]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[2]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[3]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[4]</code>
      <code>$le_longs[5]</code>
      <code>$le_longs[5]</code>
      <code>$le_longs[6]</code>
      <code>$le_longs[6]</code>
      <code>$le_longs[7]</code>
      <code>$le_longs[8]</code>
      <code>self::$m3[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>setupInlineCrypt</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedProperty occurrences="1">
      <code>$key_length</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="10">
      <code>$kl</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
      <code>Twofish</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/File/ANSI.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$this-&gt;base_attr_cell</code>
    </ArgumentTypeCoercion>
    <InvalidOperand occurrences="3">
      <code>$match[1]</code>
      <code>$match[1]</code>
      <code>$match[2]</code>
    </InvalidOperand>
    <InvalidScalarArgument occurrences="3">
      <code>$this-&gt;attrs[$this-&gt;y]</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
    </InvalidScalarArgument>
    <MixedArgument occurrences="7">
      <code>$cur_attr</code>
      <code>$cur_attr</code>
      <code>$last_attr</code>
      <code>$last_attr</code>
      <code>$last_attr</code>
      <code>$this-&gt;attrs[$this-&gt;y]</code>
      <code>$this-&gt;history[$i][$j] ?? ''</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="4">
      <code>$this-&gt;attrs[$i][$j]</code>
      <code>$this-&gt;attrs[$i][$j]</code>
      <code>$this-&gt;history_attrs[$i][$j]</code>
      <code>$this-&gt;history_attrs[$i][$j]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="2">
      <code>$this-&gt;attrs[$this-&gt;y][$this-&gt;x]</code>
      <code>$this-&gt;attrs[$this-&gt;y][$this-&gt;x]</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="8">
      <code>$back</code>
      <code>$cur_attr</code>
      <code>$cur_attr</code>
      <code>$front</code>
      <code>$last_attr</code>
      <code>$last_attr</code>
      <code>$temp</code>
      <code>$this-&gt;base_attr_cell</code>
    </MixedAssignment>
    <MixedOperand occurrences="2">
      <code>$cur_attr-&gt;background</code>
      <code>$cur_attr-&gt;foreground</code>
    </MixedOperand>
    <PossiblyInvalidArgument occurrences="7">
      <code>$this-&gt;max_x - $this-&gt;x</code>
      <code>$this-&gt;max_x - ($this-&gt;x - 1)</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x + 1</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidPropertyAssignmentValue occurrences="9">
      <code>$match[2] - 1</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x</code>
      <code>$this-&gt;x += $match[1]</code>
      <code>$this-&gt;x -= $match[1]</code>
    </PossiblyInvalidPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="6">
      <code>$match[1]</code>
      <code>$match[1]</code>
      <code>$match[1]</code>
      <code>$match[1]</code>
      <code>$match[1]</code>
      <code>$match[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>getHistory</code>
      <code>loadString</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>ANSI</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="14">
      <code>$ansi</code>
      <code>$attr_row</code>
      <code>$attrs</code>
      <code>$history</code>
      <code>$history_attrs</code>
      <code>$max_history</code>
      <code>$max_x</code>
      <code>$max_y</code>
      <code>$old_x</code>
      <code>$old_y</code>
      <code>$screen</code>
      <code>$tokenization</code>
      <code>$x</code>
      <code>$y</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="5">
      <code>$this-&gt;screen</code>
      <code>$this-&gt;screen</code>
      <code>$this-&gt;screen</code>
      <code>$this-&gt;screen</code>
      <code>$this-&gt;screen</code>
    </PropertyTypeCoercion>
    <UnusedProperty occurrences="1">
      <code>$old_x</code>
    </UnusedProperty>
  </file>
  <file src="../phpseclib/File/ASN1.php">
    <DocblockTypeContradiction occurrences="4">
      <code>$current['content'] === false</code>
      <code>$temp === false</code>
      <code>$temp === false</code>
      <code>$temp === false</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="14">
      <code>$temp</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>pack('Ca*', 0x80 | strlen($temp), $temp)</code>
    </FalsableReturnStatement>
    <ImplicitToStringCast occurrences="1">
      <code>$source</code>
    </ImplicitToStringCast>
    <InvalidFalsableReturnType occurrences="4">
      <code>string</code>
      <code>string</code>
      <code>string</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidScalarArgument occurrences="4">
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
    </InvalidScalarArgument>
    <MismatchingDocblockParamType occurrences="1">
      <code>array|bool</code>
    </MismatchingDocblockParamType>
    <MixedArgument occurrences="82">
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$content</code>
      <code>$content</code>
      <code>$content</code>
      <code>$content_pos</code>
      <code>$content_pos</code>
      <code>$content_pos</code>
      <code>$content_pos</code>
      <code>$content_pos</code>
      <code>$content_pos + $length</code>
      <code>$decoded</code>
      <code>$decoded</code>
      <code>$decoded</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content'][$i]</code>
      <code>$decoded['content'][0]</code>
      <code>$decoded['length']</code>
      <code>$decoded['start']</code>
      <code>$decoded['type']</code>
      <code>$eighty</code>
      <code>$encoded</code>
      <code>$encoded_pos</code>
      <code>$filters + $mapping</code>
      <code>$forty</code>
      <code>$intype</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$length + $start</code>
      <code>$mapping['mapping']</code>
      <code>$mapping['mapping']</code>
      <code>$mapping['mapping']</code>
      <code>$mapping['mapping']</code>
      <code>$mapping['mapping']</code>
      <code>$mapping['mapping']</code>
      <code>$mapping['mapping']</code>
      <code>$mask</code>
      <code>$offset</code>
      <code>$oid</code>
      <code>$option</code>
      <code>$option</code>
      <code>$size + $offset + 1</code>
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
      <code>$source[$key]</code>
      <code>$source[$key]</code>
      <code>$source[$typename]</code>
      <code>$start</code>
      <code>$start</code>
      <code>$start + $offset</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp[$i]['content']</code>
      <code>$temp[$i]['content']</code>
      <code>$temp[0]</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$zero</code>
      <code>($mapping['class'] &lt;&lt; 6) | ($tag &amp; 0x20) | $mapping['cast']</code>
      <code>(self::CLASS_CONTEXT_SPECIFIC &lt;&lt; 6) | (ord($temp[0]) &amp; 0x20) | $child['constant']</code>
      <code>(self::CLASS_CONTEXT_SPECIFIC &lt;&lt; 6) | (ord($temp[0]) &amp; 0x20) | $child['constant']</code>
      <code>(self::CLASS_CONTEXT_SPECIFIC &lt;&lt; 6) | 0x20 | $child['constant']</code>
      <code>(self::CLASS_CONTEXT_SPECIFIC &lt;&lt; 6) | 0x20 | $child['constant']</code>
      <code>self::$encoded[$decoded['start']]</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>$loc</code>
      <code>self::$location</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="60">
      <code>$child['cast']</code>
      <code>$child['cast']</code>
      <code>$child['class']</code>
      <code>$child['class']</code>
      <code>$child['constant']</code>
      <code>$child['constant']</code>
      <code>$child['default']</code>
      <code>$child['default']</code>
      <code>$child['type']</code>
      <code>$child['type']</code>
      <code>$child['type']</code>
      <code>$child['type']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['start']</code>
      <code>$current['start']</code>
      <code>$current['start']</code>
      <code>$decoded['constant']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content'][$i]</code>
      <code>$decoded['content'][$i]</code>
      <code>$decoded['content'][0]['content']</code>
      <code>$decoded['length']</code>
      <code>$decoded['start']</code>
      <code>$decoded['start']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$filters[$part]</code>
      <code>$mapping['mapping'][$i]</code>
      <code>$mapping['mapping'][$temp]</code>
      <code>$option['type']</code>
      <code>$option['type']</code>
      <code>$temp[$i]['content']</code>
      <code>$temp[$i]['content']</code>
      <code>$temp[$i]['type']</code>
      <code>$temp[$last]['content']</code>
      <code>$temp[$last]['type']</code>
      <code>$temp['constant']</code>
      <code>$temp['type']</code>
      <code>$temp['type']</code>
      <code>$temp['type']</code>
      <code>$temp['type']</code>
      <code>$temp[0]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="16">
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$current['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['type']</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="17">
      <code>$bits[$i]</code>
      <code>$filters[$part]</code>
      <code>$filters[$part]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$source[$key]</code>
      <code>$special[$key]</code>
      <code>$special[$key]</code>
      <code>$special[$key]</code>
      <code>[$key =&gt; $value]</code>
      <code>self::$encoded[$decoded['start']]</code>
      <code>self::$oids[$decoded['content']]</code>
      <code>self::ANY_MAP[$intype]</code>
    </MixedArrayOffset>
    <MixedArrayTypeCoercion occurrences="2">
      <code>$bits[$i]</code>
      <code>$filters[$part]</code>
    </MixedArrayTypeCoercion>
    <MixedAssignment occurrences="74">
      <code>$candidate</code>
      <code>$candidate</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$child</code>
      <code>$childClass</code>
      <code>$childClass</code>
      <code>$class</code>
      <code>$constant</code>
      <code>$constant</code>
      <code>$constant</code>
      <code>$constant</code>
      <code>$content</code>
      <code>$content</code>
      <code>$content</code>
      <code>$content_pos</code>
      <code>$content_pos</code>
      <code>$content_pos</code>
      <code>$current</code>
      <code>$decoded</code>
      <code>$decoded['content']</code>
      <code>$decoded['type']</code>
      <code>$filters</code>
      <code>$i</code>
      <code>$i</code>
      <code>$intype</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$map[$key]</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$oid</code>
      <code>$option</code>
      <code>$part</code>
      <code>$remainingLength</code>
      <code>$size</code>
      <code>$source</code>
      <code>$start</code>
      <code>$start</code>
      <code>$start</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$tempClass</code>
      <code>$tempClass</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$values[]</code>
    </MixedAssignment>
    <MixedFunctionCall occurrences="4">
      <code>$special[$idx]($source)</code>
      <code>$special[$key]($candidate)</code>
      <code>$special[$key]($candidate)</code>
      <code>$special[$key]($value)</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="4">
      <code>array|bool</code>
      <code>array|bool|Element|string|null</code>
      <code>int</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="3">
      <code>format</code>
      <code>toBytes</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="50">
      <code>$child['constant']</code>
      <code>$child['constant']</code>
      <code>$child['constant']</code>
      <code>$child['constant']</code>
      <code>$current</code>
      <code>$current</code>
      <code>$current</code>
      <code>$current</code>
      <code>$current['content']</code>
      <code>$encoded_pos</code>
      <code>$filters</code>
      <code>$i</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length</code>
      <code>$length + $start</code>
      <code>$mapping['class']</code>
      <code>$mapping['class']</code>
      <code>$mapping['class']</code>
      <code>$mapping['min']</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$offset</code>
      <code>$remainingLength</code>
      <code>$size</code>
      <code>$size</code>
      <code>$size + $offset</code>
      <code>$start</code>
      <code>$start</code>
      <code>$start</code>
      <code>$start</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$temp[$last]['content'][0]</code>
      <code>$temp['content']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$type</code>
      <code>$value</code>
      <code>$value</code>
      <code>($mapping['class'] &lt;&lt; 6) | ($tag &amp; 0x20)</code>
      <code>($mapping['class'] &lt;&lt; 6) | (ord($temp[0]) &amp; 0x20)</code>
      <code>($mapping['class'] &lt;&lt; 6) | 0x20</code>
      <code>($size + 1) &amp; 7</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="11">
      <code>$current + ['length' =&gt; $start - $current['start']]</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content'] ? $decoded['content']-&gt;format(self::$format) : false</code>
      <code>$length</code>
      <code>$temp</code>
      <code>self::$oids[$decoded['content']] ?? $decoded['content']</code>
      <code>self::$reverseOIDs[$name] ?? $name</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="2">
      <code>pack('N', $length)</code>
      <code>unpack('Nlength', substr(str_pad($temp, 4, chr(0), STR_PAD_LEFT), -4))</code>
    </PossiblyFalseArgument>
    <PossiblyFalseReference occurrences="1">
      <code>format</code>
    </PossiblyFalseReference>
    <PossiblyInvalidArgument occurrences="7">
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
      <code>$source</code>
      <code>$temp</code>
      <code>$value</code>
      <code>bindec($byte)</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="12">
      <code>$decoded['content']</code>
      <code>$length</code>
      <code>$temp[$i]</code>
      <code>$temp[$i]</code>
      <code>$temp[$i]</code>
      <code>$temp[$last]</code>
      <code>$temp[$last]</code>
      <code>$temp['content']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['type']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="2">
      <code>$source</code>
      <code>$value</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidMethodCall occurrences="1">
      <code>toBytes</code>
    </PossiblyInvalidMethodCall>
    <PossiblyNullArgument occurrences="4">
      <code>$part2</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
    </PossiblyNullArgument>
    <PossiblyNullIterator occurrences="1">
      <code>$source</code>
    </PossiblyNullIterator>
    <PossiblyNullReference occurrences="2">
      <code>subtract</code>
      <code>toBytes</code>
    </PossiblyNullReference>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$decoded['content'][0]</code>
      <code>$decoded['content'][0]</code>
      <code>$matches[1]</code>
      <code>$matches[2]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="51">
      <code>$child['default']</code>
      <code>$child['type']</code>
      <code>$child['type']</code>
      <code>$decoded['constant']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['content']</code>
      <code>$decoded['length']</code>
      <code>$decoded['start']</code>
      <code>$decoded['start']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$decoded['type']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['children']</code>
      <code>$mapping['class']</code>
      <code>$mapping['class']</code>
      <code>$mapping['class']</code>
      <code>$mapping['type']</code>
      <code>$mapping['type']</code>
      <code>$mapping['type']</code>
      <code>$mapping['type']</code>
      <code>$mapping['type']</code>
      <code>$mapping['type']</code>
      <code>$temp['content']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['length']</code>
      <code>$temp['type']</code>
      <code>$temp['type']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="6">
      <code>$candidate</code>
      <code>$candidate</code>
      <code>$candidate</code>
      <code>$candidate</code>
      <code>$temp</code>
      <code>$temp</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="2">
      <code>decodeLength</code>
      <code>setTimeFormat</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/File/ASN1/Element.php">
    <PossiblyUnusedReturnValue occurrences="1">
      <code>Element</code>
    </PossiblyUnusedReturnValue>
  </file>
  <file src="../phpseclib/File/ASN1/Maps/CPSuri.php">
    <UnusedClass occurrences="1">
      <code>CPSuri</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/File/ASN1/Maps/PBMAC1params.php">
    <UnusedClass occurrences="1">
      <code>PBMAC1params</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/File/ASN1/Maps/Prime_p.php">
    <UnusedClass occurrences="1">
      <code>Prime_p</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/File/ASN1/Maps/PrivateKeyInfo.php">
    <UnusedClass occurrences="1">
      <code>PrivateKeyInfo</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/File/ASN1/Maps/SubjectInfoAccessSyntax.php">
    <UnusedClass occurrences="1">
      <code>SubjectInfoAccessSyntax</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/File/ASN1/Maps/Trinomial.php">
    <UnusedClass occurrences="1">
      <code>Trinomial</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/File/X509.php">
    <DocblockTypeContradiction occurrences="13">
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!is_array($this-&gt;currentCert)</code>
      <code>!isset($this-&gt;currentCert)</code>
      <code>!isset($this-&gt;currentCert)</code>
      <code>!isset($this-&gt;currentCert)</code>
      <code>!isset($this-&gt;currentCert)</code>
      <code>$cert === false</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="7">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>inet_ntop($ip)</code>
    </FalsableReturnStatement>
    <ImplicitToStringCast occurrences="1">
      <code>new BigInteger($serial, $base)</code>
    </ImplicitToStringCast>
    <InvalidArgument occurrences="1">
      <code>$j</code>
    </InvalidArgument>
    <InvalidFalsableReturnType occurrences="4">
      <code>string</code>
      <code>string</code>
      <code>string</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingClosureParamType occurrences="1">
      <code>$x</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="1">
      <code>fn ($x) =&gt; '\x' . bin2hex($x[0])</code>
    </MissingClosureReturnType>
    <MissingParamType occurrences="8">
      <code>$dn</code>
      <code>$domains</code>
      <code>$propValue</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
    </MissingParamType>
    <MissingReturnType occurrences="22">
      <code>getAttribute</code>
      <code>getChain</code>
      <code>getDNProp</code>
      <code>getExtension</code>
      <code>getExtensionHelper</code>
      <code>getIssuerDN</code>
      <code>getIssuerDNProp</code>
      <code>getMapping</code>
      <code>getPublicKey</code>
      <code>getRevoked</code>
      <code>getRevokedCertificateExtension</code>
      <code>getSubjectDN</code>
      <code>getSubjectDNProp</code>
      <code>loadCRL</code>
      <code>loadCSR</code>
      <code>loadSPKAC</code>
      <code>loadX509</code>
      <code>sign</code>
      <code>signCRL</code>
      <code>signCSR</code>
      <code>signSPKAC</code>
      <code>translateDNProp</code>
    </MissingReturnType>
    <MixedArgument occurrences="130">
      <code>$attribute['value']</code>
      <code>$attribute['value']</code>
      <code>$attribute['value']</code>
      <code>$attributes[$key]['value']</code>
      <code>$basicConstraints</code>
      <code>$ca</code>
      <code>$ca</code>
      <code>$ca</code>
      <code>$ca['tbsCertificate']['subject']</code>
      <code>$ca['tbsCertificate']['subject']</code>
      <code>$cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']</code>
      <code>$csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']</code>
      <code>$data</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]['content'][0]['length']</code>
      <code>$decoded[0]['content'][0]['length']</code>
      <code>$decoded[0]['content'][0]['length']</code>
      <code>$decoded[0]['content'][0]['length']</code>
      <code>$decoded[0]['content'][0]['start']</code>
      <code>$decoded[0]['content'][0]['start']</code>
      <code>$decoded[0]['content'][0]['start']</code>
      <code>$decoded[0]['content'][0]['start']</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dns[$i]</code>
      <code>$dns[$i]</code>
      <code>$id</code>
      <code>$id</code>
      <code>$id</code>
      <code>$id</code>
      <code>$ipAddress</code>
      <code>$ip[0]</code>
      <code>$ip[1]</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$keyUsage</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$notAfter</code>
      <code>$notBefore</code>
      <code>$prop</code>
      <code>$propName</code>
      <code>$rc['userCertificate']</code>
      <code>$rclist</code>
      <code>$rdn</code>
      <code>$s</code>
      <code>$signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm']</code>
      <code>$signingCert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']['algorithm']</code>
      <code>$signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']</code>
      <code>$signingCert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']</code>
      <code>$spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']</code>
      <code>$subid</code>
      <code>$subid</code>
      <code>$subject-&gt;domains</code>
      <code>$subvalue</code>
      <code>$subvalue</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subject']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subject']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subjectPKInfo']['algorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']</code>
      <code>$this-&gt;currentCert['publicKeyAndChallenge']['spki']['algorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['publicKeyAndChallenge']['spki']['subjectPublicKey']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subject']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subject']</code>
      <code>$type</code>
      <code>$type</code>
      <code>$url</code>
      <code>$v</code>
      <code>$v</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value[$j]['policyQualifiers']</code>
      <code>$value[$j]['policyQualifiers']</code>
      <code>$value[0]</code>
      <code>$values</code>
      <code>$values</code>
      <code>$values</code>
      <code>$values</code>
      <code>$values[$j]</code>
      <code>$values[$j]</code>
      <code>$x509</code>
      <code>$x[0]</code>
      <code>is_string($key) ? $key : $key-&gt;__toString()</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="1">
      <code>$prop</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="126">
      <code>$attr['value']</code>
      <code>$attr['value']</code>
      <code>$attribute['type']</code>
      <code>$attribute['type']</code>
      <code>$attribute['type']</code>
      <code>$attribute['type']</code>
      <code>$attribute['value']</code>
      <code>$attribute['value']</code>
      <code>$attribute['value']</code>
      <code>$attribute['value']</code>
      <code>$attribute['value']</code>
      <code>$attributes[$i]['type']</code>
      <code>$attributes[$i]['type']</code>
      <code>$attributes[$i]['value']</code>
      <code>$attributes[$i]['value']</code>
      <code>$attributes[$i]['value']</code>
      <code>$attributes[$i]['value']</code>
      <code>$attributes[$key]['value']</code>
      <code>$attributes[$key]['value']</code>
      <code>$ca['tbsCertificate']</code>
      <code>$ca['tbsCertificate']</code>
      <code>$ca['tbsCertificate']</code>
      <code>$ca['tbsCertificate']</code>
      <code>$ca['tbsCertificate']</code>
      <code>$ca['tbsCertificate']['serialNumber']</code>
      <code>$ca['tbsCertificate']['serialNumber']</code>
      <code>$cert['tbsCertificate']['subject']</code>
      <code>$cert['tbsCertificate']['subjectPublicKeyInfo']</code>
      <code>$cert['tbsCertificate']['subjectPublicKeyInfo']</code>
      <code>$crl['tbsCertList']['revokedCertificates']</code>
      <code>$csr['certificationRequestInfo']['subject']</code>
      <code>$csr['certificationRequestInfo']['subject']</code>
      <code>$csr['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$csr['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$csr['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$currentCert['tbsCertificate']['issuer']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$dn[$i]</code>
      <code>$dn[$i]</code>
      <code>$dn[$i]</code>
      <code>$dn[$i]</code>
      <code>$dns[$i][$j]</code>
      <code>$dns[$i][$j]</code>
      <code>$dns[$i][$j]</code>
      <code>$dns[$i][$j]</code>
      <code>$extension['extnId']</code>
      <code>$extensions[$i]['extnId']</code>
      <code>$extensions[$i]['extnId']</code>
      <code>$extensions[$i]['extnValue']</code>
      <code>$extensions[$i]['extnValue']</code>
      <code>$field[0]</code>
      <code>$field[0]</code>
      <code>$key['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']</code>
      <code>$key['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']</code>
      <code>$keyinfo['algorithm']</code>
      <code>$keyinfo['subjectPublicKey']</code>
      <code>$notAfter['generalTime']</code>
      <code>$notAfter['utcTime']</code>
      <code>$notBefore['generalTime']</code>
      <code>$notBefore['utcTime']</code>
      <code>$opt['accessLocation']</code>
      <code>$opt['accessMethod']</code>
      <code>$rc['userCertificate']</code>
      <code>$rc['userCertificate']</code>
      <code>$rdn[$i]</code>
      <code>$root[$i]</code>
      <code>$signingCert['tbsCertificate']</code>
      <code>$signingCert['tbsCertificate']</code>
      <code>$signingCert['tbsCertificate']</code>
      <code>$signingCert['tbsCertificate']</code>
      <code>$spkac['publicKeyAndChallenge']['spki']</code>
      <code>$spkac['publicKeyAndChallenge']['spki']</code>
      <code>$spkac['publicKeyAndChallenge']['spki']</code>
      <code>$tbsCertList['nextUpdate']</code>
      <code>$tbsCertList['revokedCertificates']</code>
      <code>$tbsCertList['version']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subject']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subject']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$this-&gt;currentCert['publicKeyAndChallenge']['spki']</code>
      <code>$this-&gt;currentCert['publicKeyAndChallenge']['spki']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']['algorithm']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertList']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subject']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subject']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subject']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['validity']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['validity']</code>
      <code>$value[$j]</code>
      <code>$value[$j]</code>
      <code>$value[$j]</code>
      <code>$value[$j]['policyQualifiers'][$k]</code>
      <code>$value[$j]['policyQualifiers'][$k]</code>
      <code>$value['authorityCertSerialNumber']</code>
      <code>$value['extnId']</code>
      <code>$value['extnId']</code>
      <code>$value['extnId']</code>
      <code>$value['extnId']</code>
      <code>$value['extnValue']</code>
      <code>$value['type']</code>
      <code>$value[0]</code>
      <code>$values[$j]</code>
      <code>$values[$j]</code>
      <code>$x509['tbsCertificate']['subject']</code>
      <code>$x509['tbsCertificate']['subjectPublicKeyInfo']</code>
      <code>$x[0]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="36">
      <code>$attr['value']</code>
      <code>$attributes[$key]['value']</code>
      <code>$attributes[$key]['value']</code>
      <code>$attributes[$last]['value']</code>
      <code>$cert['tbsCertificate']['signature']</code>
      <code>$cert['tbsCertificate']['subjectPublicKeyInfo']</code>
      <code>$csr['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$csr['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$extensions[$key]</code>
      <code>$extensions[]</code>
      <code>$rclist[$i]['revocationDate']</code>
      <code>$root[$i]</code>
      <code>$spkac['publicKeyAndChallenge']['spki']</code>
      <code>$spkac['publicKeyAndChallenge']['spki']</code>
      <code>$tbsCertList['issuer']</code>
      <code>$tbsCertList['nextUpdate']</code>
      <code>$tbsCertList['thisUpdate']</code>
      <code>$tbsCertList['version']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subject']</code>
      <code>$this-&gt;currentCert['certificationRequestInfo']['subjectPKInfo']</code>
      <code>$this-&gt;currentCert['publicKeyAndChallenge']['challenge']</code>
      <code>$this-&gt;currentCert['publicKeyAndChallenge']['spki']</code>
      <code>$this-&gt;currentCert['tbsCertList']['signature']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['issuer']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['serialNumber']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['signature']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subject']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['subjectPublicKeyInfo']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['validity']</code>
      <code>$this-&gt;currentCert['tbsCertificate']['validity']</code>
      <code>$this-&gt;dn['rdnSequence'][]</code>
      <code>$value['authorityCertSerialNumber']</code>
      <code>$values[$j]</code>
      <code>$values[$j]</code>
      <code>$values[$j]</code>
      <code>$x509['tbsCertificate']['subjectPublicKeyInfo']</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="3">
      <code>$attributes[$last]</code>
      <code>$extensions[$key]</code>
      <code>$rdn[$i]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="137">
      <code>$attr</code>
      <code>$attr</code>
      <code>$attribute</code>
      <code>$attribute</code>
      <code>$attribute</code>
      <code>$attribute</code>
      <code>$attributes[$key]['value'][$disposition]</code>
      <code>$attributes[$last]['value'][]</code>
      <code>$attrs[]</code>
      <code>$authorityKey</code>
      <code>$authorityKey</code>
      <code>$authorityKey</code>
      <code>$authorityKey</code>
      <code>$basicConstraints</code>
      <code>$ca</code>
      <code>$ca</code>
      <code>$ca</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$certificationRequestInfo</code>
      <code>$crlNumber</code>
      <code>$crlNumber</code>
      <code>$csrexts</code>
      <code>$currentKeyIdentifier</code>
      <code>$currentKeyIdentifier</code>
      <code>$data</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$dn</code>
      <code>$extension</code>
      <code>$extension</code>
      <code>$extension</code>
      <code>$extension</code>
      <code>$extensions[]</code>
      <code>$field</code>
      <code>$filters['tbsCertificate']['extensions'][]</code>
      <code>$i</code>
      <code>$i</code>
      <code>$id</code>
      <code>$id</code>
      <code>$id</code>
      <code>$id</code>
      <code>$ipAddress</code>
      <code>$issuerAltName</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$keyUsage</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$map</code>
      <code>$name</code>
      <code>$names</code>
      <code>$notAfter</code>
      <code>$notAfter</code>
      <code>$notBefore</code>
      <code>$notBefore</code>
      <code>$opt</code>
      <code>$prop</code>
      <code>$propName</code>
      <code>$propName</code>
      <code>$propName</code>
      <code>$publicKeyAndChallenge</code>
      <code>$rc</code>
      <code>$rc</code>
      <code>$rclist</code>
      <code>$rdn</code>
      <code>$result[$desc]</code>
      <code>$result['certificationRequestInfo']</code>
      <code>$result['publicKeyAndChallenge']</code>
      <code>$result['tbsCertList']</code>
      <code>$result['tbsCertificate']</code>
      <code>$result[]</code>
      <code>$result[]</code>
      <code>$root</code>
      <code>$root</code>
      <code>$root</code>
      <code>$s</code>
      <code>$subid</code>
      <code>$subid</code>
      <code>$subjectKeyID</code>
      <code>$subjectKeyID</code>
      <code>$subjectKeyID</code>
      <code>$subjectKeyID</code>
      <code>$subvalue</code>
      <code>$subvalue</code>
      <code>$subvalue</code>
      <code>$tbsCertList</code>
      <code>$tbsCertList</code>
      <code>$tbsCertificate</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;dn</code>
      <code>$this-&gt;dn</code>
      <code>$this-&gt;dn</code>
      <code>$this-&gt;dn</code>
      <code>$this-&gt;publicKey</code>
      <code>$this-&gt;publicKey</code>
      <code>$this-&gt;publicKey</code>
      <code>$this-&gt;publicKey</code>
      <code>$type</code>
      <code>$type</code>
      <code>$type</code>
      <code>$url</code>
      <code>$v</code>
      <code>$v</code>
      <code>$v</code>
      <code>$v</code>
      <code>$v</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$values</code>
      <code>$values</code>
      <code>$version</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="5">
      <code>?array</code>
      <code>array|bool|string</code>
      <code>array|false</code>
      <code>array|false</code>
      <code>bool</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="7">
      <code>__toString</code>
      <code>add</code>
      <code>equals</code>
      <code>equals</code>
      <code>getPublicKey</code>
      <code>toBytes</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="5">
      <code>$issuer-&gt;privateKey-&gt;sign($this-&gt;signatureSubject)</code>
      <code>$issuer-&gt;privateKey-&gt;sign($this-&gt;signatureSubject)</code>
      <code>$this-&gt;privateKey-&gt;sign($this-&gt;signatureSubject)</code>
      <code>$this-&gt;privateKey-&gt;sign($this-&gt;signatureSubject)</code>
      <code>$value</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="5">
      <code>$dn</code>
      <code>$key-&gt;verify($signatureSubject, $signature)</code>
      <code>$root</code>
      <code>$root</code>
      <code>self::$extensions[$id] ?? null</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="2">
      <code>$i</code>
      <code>int|false</code>
    </MixedReturnTypeCoercion>
    <PossiblyFalseArgument occurrences="16">
      <code>$line</code>
      <code>$line</code>
      <code>$publicKey</code>
      <code>$rclist</code>
      <code>$rclist</code>
      <code>$rclist</code>
      <code>$rclist</code>
      <code>$results</code>
      <code>$this-&gt;saveCSR($this-&gt;currentCert)</code>
      <code>$this-&gt;saveSPKAC($this-&gt;currentCert)</code>
      <code>$this-&gt;saveX509($this-&gt;currentCert)</code>
      <code>base64_decode(preg_replace('#-.+-|[\r\n]#', '', $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey']))</code>
      <code>base64_decode(preg_replace('#-.+-|[\r\n]#', '', $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey']))</code>
      <code>base64_decode(preg_replace('#-.+-|[\r\n]#', '', $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey']))</code>
      <code>pack('N', $hash)</code>
      <code>unpack('Vhash', $hash)</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="2">
      <code>inet_pton($ip[0])</code>
      <code>inet_pton($ip[1])</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="11">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="9">
      <code>$cert</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$crl</code>
      <code>$csr</code>
      <code>$date</code>
      <code>$date</code>
      <code>$dn</code>
      <code>$raw</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="5">
      <code>$parts['host']</code>
      <code>$parts['path']</code>
      <code>$parts['scheme']</code>
      <code>$results[$i + 1]</code>
      <code>$results[$i]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="5">
      <code>$cert</code>
      <code>$cert</code>
      <code>$date</code>
      <code>$date</code>
      <code>$dn</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidMethodCall occurrences="3">
      <code>__toString</code>
      <code>toString</code>
      <code>toString</code>
    </PossiblyInvalidMethodCall>
    <PossiblyInvalidOperand occurrences="1">
      <code>$key-&gt;getCurve()</code>
    </PossiblyInvalidOperand>
    <PossiblyInvalidPropertyAssignmentValue occurrences="1">
      <code>$csr</code>
    </PossiblyInvalidPropertyAssignmentValue>
    <PossiblyNullArgument occurrences="19">
      <code>$cert</code>
      <code>$crl</code>
      <code>$csr</code>
      <code>$decoded[0]['content'][0]['start']</code>
      <code>$path</code>
      <code>$spkac</code>
      <code>$temp</code>
      <code>$v</code>
      <code>$value</code>
      <code>$values[$j]</code>
      <code>$values[$j]</code>
      <code>preg_replace('#-.+-|[\r\n]#', '', $cert['tbsCertificate']['subjectPublicKeyInfo']['subjectPublicKey'])</code>
      <code>preg_replace('#-.+-|[\r\n]#', '', $csr['certificationRequestInfo']['subjectPKInfo']['subjectPublicKey'])</code>
      <code>preg_replace('#-.+-|[\r\n]#', '', $spkac['publicKeyAndChallenge']['spki']['subjectPublicKey'])</code>
      <code>preg_replace('#-.+-|[\r\n]#', '', $this-&gt;publicKey-&gt;toString($format))</code>
      <code>preg_replace('#WithRSAEncryption$#', '', $signatureAlgorithm)</code>
      <code>preg_replace('#^ecdsa-with-#', '', strtolower($signatureAlgorithm))</code>
      <code>preg_replace('#^id-dsa-with-#', '', strtolower($signatureAlgorithm))</code>
      <code>preg_replace_callback('#[^\x20-\x7E]#', $callback, $value-&gt;element)</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="4">
      <code>$decoded[0]</code>
      <code>$decoded[0]['content']</code>
      <code>$spkac['publicKeyAndChallenge']</code>
      <code>$spkac['publicKeyAndChallenge']</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullArrayAssignment occurrences="2">
      <code>$cert['signatureAlgorithm']</code>
      <code>$spkac['publicKeyAndChallenge']</code>
    </PossiblyNullArrayAssignment>
    <PossiblyNullArrayOffset occurrences="1">
      <code>$result</code>
    </PossiblyNullArrayOffset>
    <PossiblyNullOperand occurrences="1">
      <code>$desc</code>
    </PossiblyNullOperand>
    <PossiblyNullPropertyAssignmentValue occurrences="26">
      <code>$currentCert</code>
      <code>$currentCert</code>
      <code>$currentCert</code>
      <code>$currentCert</code>
      <code>$signatureSubject</code>
      <code>$signatureSubject</code>
      <code>$signatureSubject</code>
      <code>$signatureSubject</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null</code>
      <code>is_string($currentKeyIdentifier) ? $currentKeyIdentifier : null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedArrayOffset occurrences="3">
      <code>$parts['host']</code>
      <code>$parts['path']</code>
      <code>$parts['scheme']</code>
    </PossiblyUndefinedArrayOffset>
    <PossiblyUndefinedIntArrayOffset occurrences="17">
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$ip[0]</code>
      <code>$ip[1]</code>
      <code>$temp[1]</code>
      <code>$this-&gt;domains[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedMethod occurrences="2">
      <code>$value</code>
      <code>__toString</code>
    </PossiblyUndefinedMethod>
    <PossiblyUndefinedStringArrayOffset occurrences="21">
      <code>$ca['tbsCertificate']</code>
      <code>$ca['tbsCertificate']</code>
      <code>$crl['tbsCertList']</code>
      <code>$csr['certificationRequestInfo']</code>
      <code>$currentCert['tbsCertificate']</code>
      <code>$dn['rdnSequence']</code>
      <code>$dn['rdnSequence']</code>
      <code>$dn['rdnSequence']</code>
      <code>$spkac['publicKeyAndChallenge']</code>
      <code>$spkac['publicKeyAndChallenge']</code>
      <code>$spkac['publicKeyAndChallenge']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signature']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']</code>
      <code>$this-&gt;currentCert['signatureAlgorithm']</code>
      <code>$this-&gt;dn['rdnSequence']</code>
      <code>$x509['tbsCertificate']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="3">
      <code>$signingCert</code>
      <code>$signingCert</code>
      <code>$subjectPublicKey</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="21">
      <code>decodeIP</code>
      <code>decodeNameConstraintIP</code>
      <code>disableURLFetch</code>
      <code>enableURLFetch</code>
      <code>encodeIP</code>
      <code>getAttributes</code>
      <code>getChain</code>
      <code>getCurrentCert</code>
      <code>getIssuerDNProp</code>
      <code>getRevoked</code>
      <code>getRevokedCertificateExtensions</code>
      <code>getSubjectDN</code>
      <code>getSubjectDNProp</code>
      <code>listRevoked</code>
      <code>removeRevokedCertificateExtension</code>
      <code>setAttribute</code>
      <code>setIPAddress</code>
      <code>setKeyIdentifier</code>
      <code>setRevokedCertificateExtension</code>
      <code>setSerialNumber</code>
      <code>unrevoke</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedReturnValue occurrences="6">
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="11">
      <code>$CAs</code>
      <code>$challenge</code>
      <code>$currentCert</code>
      <code>$currentKeyIdentifier</code>
      <code>$dn</code>
      <code>$endDate</code>
      <code>$privateKey</code>
      <code>$publicKey</code>
      <code>$serialNumber</code>
      <code>$signatureSubject</code>
      <code>$startDate</code>
    </PropertyNotSetInConstructor>
    <RedundantCondition occurrences="2">
      <code>!is_array($v) &amp;&amp; isset($type)</code>
      <code>$encoded !== false</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="25">
      <code>$s !== false</code>
      <code>$v !== false</code>
      <code>$v !== false</code>
      <code>is_array($crl-&gt;currentCert)</code>
      <code>is_array($subject-&gt;currentCert)</code>
      <code>is_array($subject-&gt;currentCert)</code>
      <code>is_array($this-&gt;currentCert)</code>
      <code>is_array($this-&gt;currentCert)</code>
      <code>is_array($this-&gt;currentCert)</code>
      <code>isset($crl-&gt;currentCert)</code>
      <code>isset($crl-&gt;currentCert) &amp;&amp; is_array($crl-&gt;currentCert)</code>
      <code>isset($issuer-&gt;currentKeyIdentifier)</code>
      <code>isset($issuer-&gt;currentKeyIdentifier)</code>
      <code>isset($key-&gt;privateKey)</code>
      <code>isset($key-&gt;publicKey)</code>
      <code>isset($subject-&gt;currentCert)</code>
      <code>isset($subject-&gt;currentCert)</code>
      <code>isset($subject-&gt;currentCert) &amp;&amp; is_array($subject-&gt;currentCert)</code>
      <code>isset($subject-&gt;currentCert) &amp;&amp; is_array($subject-&gt;currentCert)</code>
      <code>isset($subject-&gt;currentKeyIdentifier)</code>
      <code>isset($subject-&gt;publicKey)</code>
      <code>isset($this-&gt;currentCert) &amp;&amp; is_array($this-&gt;currentCert)</code>
      <code>isset($this-&gt;currentCert) &amp;&amp; is_array($this-&gt;currentCert)</code>
      <code>isset($this-&gt;currentCert) &amp;&amp; is_array($this-&gt;currentCert)</code>
      <code>isset($this-&gt;currentCert) &amp;&amp; is_array($this-&gt;currentCert)</code>
    </RedundantConditionGivenDocblockType>
    <RedundantFunctionCall occurrences="1">
      <code>strtolower</code>
    </RedundantFunctionCall>
    <RedundantPropertyInitializationCheck occurrences="19">
      <code>!isset($this-&gt;signatureSubject)</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;currentCert</code>
      <code>$this-&gt;signatureSubject</code>
      <code>$this-&gt;signatureSubject</code>
      <code>$this-&gt;signatureSubject</code>
      <code>$this-&gt;signatureSubject</code>
      <code>isset($this-&gt;currentCert)</code>
      <code>isset($this-&gt;publicKey)</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
      <code>null</code>
    </RedundantPropertyInitializationCheck>
    <ReferenceConstraintViolation occurrences="8">
      <code>$cert</code>
      <code>$crl</code>
      <code>$csr</code>
      <code>$root</code>
      <code>$root</code>
      <code>$root</code>
      <code>$root</code>
      <code>$spkac</code>
    </ReferenceConstraintViolation>
    <TypeDoesNotContainType occurrences="21">
      <code>!is_array($cert)</code>
      <code>!is_array($crl)</code>
      <code>!is_array($csr)</code>
      <code>!is_array($spkac)</code>
      <code>$crl === false</code>
      <code>$csr === false</code>
      <code>$spkac === false</code>
      <code>'md5'</code>
      <code>'sha1'</code>
      <code>'sha224'</code>
      <code>'sha224'</code>
      <code>'sha224'</code>
      <code>'sha256'</code>
      <code>'sha256'</code>
      <code>'sha384'</code>
      <code>'sha384'</code>
      <code>is_array($crl)</code>
      <code>is_array($csr)</code>
      <code>is_array($root)</code>
      <code>is_array($spkac)</code>
      <code>is_string($extnId)</code>
    </TypeDoesNotContainType>
    <UndefinedMethod occurrences="1">
      <code>verify</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
    <UnusedForeachValue occurrences="3">
      <code>$attr</code>
      <code>$extension</code>
      <code>$extension</code>
    </UnusedForeachValue>
    <UnusedVariable occurrences="5">
      <code>$count</code>
      <code>$key</code>
      <code>$key</code>
      <code>$subvalue</code>
      <code>$value</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Math/BigInteger.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$modexp</code>
    </ArgumentTypeCoercion>
    <ImplicitToStringCast occurrences="5">
      <code>$gcd</code>
      <code>$max</code>
      <code>$min</code>
      <code>$x</code>
      <code>$y</code>
    </ImplicitToStringCast>
    <InvalidCast occurrences="1">
      <code>$this-&gt;value</code>
    </InvalidCast>
    <MissingClosureParamType occurrences="1">
      <code>$val</code>
    </MissingClosureParamType>
    <MixedArgument occurrences="29">
      <code>$class::max(...$nums)</code>
      <code>$class::min(...$nums)</code>
      <code>$class::randomRange($min-&gt;value, $max-&gt;value)</code>
      <code>$class::randomRangePrime($min-&gt;value, $max-&gt;value)</code>
      <code>$func($x-&gt;value)</code>
      <code>$q</code>
      <code>$r</code>
      <code>$this-&gt;value-&gt;abs()</code>
      <code>$this-&gt;value-&gt;add($y-&gt;value)</code>
      <code>$this-&gt;value-&gt;bitwise_and($x-&gt;value)</code>
      <code>$this-&gt;value-&gt;bitwise_leftRotate($shift)</code>
      <code>$this-&gt;value-&gt;bitwise_leftShift($shift)</code>
      <code>$this-&gt;value-&gt;bitwise_not()</code>
      <code>$this-&gt;value-&gt;bitwise_or($x-&gt;value)</code>
      <code>$this-&gt;value-&gt;bitwise_rightRotate($shift)</code>
      <code>$this-&gt;value-&gt;bitwise_rightShift($shift)</code>
      <code>$this-&gt;value-&gt;bitwise_split($split)</code>
      <code>$this-&gt;value-&gt;bitwise_xor($x-&gt;value)</code>
      <code>$this-&gt;value-&gt;extendedGCD($n-&gt;value)</code>
      <code>$this-&gt;value-&gt;gcd($n-&gt;value)</code>
      <code>$this-&gt;value-&gt;modInverse($n-&gt;value)</code>
      <code>$this-&gt;value-&gt;modPow($e-&gt;value, $n-&gt;value)</code>
      <code>$this-&gt;value-&gt;multiply($x-&gt;value)</code>
      <code>$this-&gt;value-&gt;negate()</code>
      <code>$this-&gt;value-&gt;pow($n-&gt;value)</code>
      <code>$this-&gt;value-&gt;powMod($e-&gt;value, $n-&gt;value)</code>
      <code>$this-&gt;value-&gt;root($n)</code>
      <code>$this-&gt;value-&gt;subtract($y-&gt;value)</code>
      <code>$val</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$q</code>
      <code>$r</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="2">
      <code>$func</code>
      <code>[$q, $r]</code>
    </MixedAssignment>
    <MixedFunctionCall occurrences="1">
      <code>$func($x-&gt;value)</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="15">
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>int</code>
      <code>int</code>
      <code>int</code>
      <code>int</code>
      <code>int|bool</code>
      <code>string</code>
      <code>string</code>
      <code>string</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="40">
      <code>$fqmain::isValidEngine()</code>
      <code>__debugInfo</code>
      <code>abs</code>
      <code>add</code>
      <code>between</code>
      <code>bitwise_and</code>
      <code>bitwise_leftRotate</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_not</code>
      <code>bitwise_or</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_rightShift</code>
      <code>bitwise_split</code>
      <code>bitwise_xor</code>
      <code>compare</code>
      <code>createRecurringModuloFunction</code>
      <code>divide</code>
      <code>equals</code>
      <code>extendedGCD</code>
      <code>gcd</code>
      <code>getLength</code>
      <code>getLengthInBytes</code>
      <code>getPrecision</code>
      <code>isNegative</code>
      <code>isOdd</code>
      <code>isPrime</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>negate</code>
      <code>pow</code>
      <code>powMod</code>
      <code>root</code>
      <code>setPrecision</code>
      <code>subtract</code>
      <code>testBit</code>
      <code>toBits</code>
      <code>toBytes</code>
      <code>toHex</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedPropertyTypeCoercion occurrences="1">
      <code>[$main, $modexp]</code>
    </MixedPropertyTypeCoercion>
    <MixedReturnStatement occurrences="15">
      <code>$class::scan1divide($r-&gt;value)</code>
      <code>$this-&gt;value-&gt;between($min-&gt;value, $max-&gt;value)</code>
      <code>$this-&gt;value-&gt;compare($y-&gt;value)</code>
      <code>$this-&gt;value-&gt;equals($x-&gt;value)</code>
      <code>$this-&gt;value-&gt;getLength()</code>
      <code>$this-&gt;value-&gt;getLengthInBytes()</code>
      <code>$this-&gt;value-&gt;getPrecision()</code>
      <code>$this-&gt;value-&gt;isNegative()</code>
      <code>$this-&gt;value-&gt;isOdd()</code>
      <code>$this-&gt;value-&gt;isPrime($t)</code>
      <code>$this-&gt;value-&gt;testBit($x)</code>
      <code>$this-&gt;value-&gt;toBits($twos_compliment)</code>
      <code>$this-&gt;value-&gt;toBytes($twos_compliment)</code>
      <code>$this-&gt;value-&gt;toHex($twos_compliment)</code>
      <code>$this-&gt;value-&gt;toString()</code>
    </MixedReturnStatement>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$modexp</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="11">
      <code>abs</code>
      <code>between</code>
      <code>bitwise_leftRotate</code>
      <code>bitwise_not</code>
      <code>bitwise_split</code>
      <code>extendedGCD</code>
      <code>getEngine</code>
      <code>jsonSerialize</code>
      <code>max</code>
      <code>min</code>
      <code>root</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="1">
      <code>$bits</code>
    </PossiblyUnusedParam>
    <PropertyNotSetInConstructor occurrences="2">
      <code>$hex</code>
      <code>$precision</code>
    </PropertyNotSetInConstructor>
    <RedundantPropertyInitializationCheck occurrences="1">
      <code>isset(self::$mainEngine)</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedMethod occurrences="5">
      <code>$class::max(...$nums)</code>
      <code>$class::min(...$nums)</code>
      <code>$class::randomRange($min-&gt;value, $max-&gt;value)</code>
      <code>$class::randomRangePrime($min-&gt;value, $max-&gt;value)</code>
      <code>$class::scan1divide($r-&gt;value)</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="37">
      <code>new self::$mainEngine($x, $base)</code>
      <code>new static("$x")</code>
      <code>new static($class::max(...$nums))</code>
      <code>new static($class::min(...$nums))</code>
      <code>new static($class::random($size))</code>
      <code>new static($class::randomPrime($size))</code>
      <code>new static($class::randomRange($min-&gt;value, $max-&gt;value))</code>
      <code>new static($class::randomRangePrime($min-&gt;value, $max-&gt;value))</code>
      <code>new static($func($x-&gt;value))</code>
      <code>new static($gcd)</code>
      <code>new static($max)</code>
      <code>new static($min)</code>
      <code>new static($q)</code>
      <code>new static($r)</code>
      <code>new static($this-&gt;hex, -16)</code>
      <code>new static($this-&gt;value-&gt;abs())</code>
      <code>new static($this-&gt;value-&gt;add($y-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;bitwise_and($x-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;bitwise_leftRotate($shift))</code>
      <code>new static($this-&gt;value-&gt;bitwise_leftShift($shift))</code>
      <code>new static($this-&gt;value-&gt;bitwise_not())</code>
      <code>new static($this-&gt;value-&gt;bitwise_or($x-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;bitwise_rightRotate($shift))</code>
      <code>new static($this-&gt;value-&gt;bitwise_rightShift($shift))</code>
      <code>new static($this-&gt;value-&gt;bitwise_xor($x-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;gcd($n-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;modInverse($n-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;modPow($e-&gt;value, $n-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;multiply($x-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;negate())</code>
      <code>new static($this-&gt;value-&gt;pow($n-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;powMod($e-&gt;value, $n-&gt;value))</code>
      <code>new static($this-&gt;value-&gt;root($n))</code>
      <code>new static($this-&gt;value-&gt;subtract($y-&gt;value))</code>
      <code>new static($val)</code>
      <code>new static($x)</code>
      <code>new static($y)</code>
    </UnsafeInstantiation>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/BCMath.php">
    <FalsableReturnStatement occurrences="2">
      <code>$this-&gt;powModOuter($e, $n)</code>
      <code>$this-&gt;powModOuter($e, $n)</code>
    </FalsableReturnStatement>
    <InvalidArgument occurrences="31">
      <code>$current</code>
      <code>$current</code>
      <code>$current</code>
      <code>$n-&gt;value</code>
      <code>$r_value</code>
      <code>$result-&gt;bitmask-&gt;value</code>
      <code>$result-&gt;value</code>
      <code>$temp</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$u</code>
      <code>$v</code>
      <code>$v</code>
      <code>$v</code>
      <code>$x-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value[0] == '-' ? substr($y-&gt;value, 1) : $y-&gt;value</code>
    </InvalidArgument>
    <InvalidFalsableReturnType occurrences="2">
      <code>BCMath</code>
      <code>BCMath</code>
    </InvalidFalsableReturnType>
    <LessSpecificReturnStatement occurrences="9">
      <code>$temp-&gt;add(static::$one[static::class])</code>
      <code>$this-&gt;bitwiseAndHelper($x)</code>
      <code>$this-&gt;bitwiseXorHelper($x)</code>
      <code>$this-&gt;bitwiseXorHelper($x)</code>
      <code>[$this-&gt;normalize($quotient), $this-&gt;normalize($remainder)]</code>
      <code>self::maxHelper($nums)</code>
      <code>self::minHelper($nums)</code>
      <code>self::randomRangeHelper($min, $max)</code>
    </LessSpecificReturnStatement>
    <MissingParamType occurrences="1">
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$x</code>
      <code>$x</code>
      <code>$x + 1</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="1">
      <code>BCMath</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="4">
      <code>$r_value[-1]</code>
      <code>$this-&gt;value[-1]</code>
      <code>$this-&gt;value[-1]</code>
      <code>$x</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$class::powModHelper($this, $e, $n, static::class)</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="9">
      <code>BCMath</code>
      <code>BCMath</code>
      <code>BCMath</code>
      <code>BCMath</code>
      <code>BCMath</code>
      <code>BCMath</code>
      <code>Engine</code>
      <code>array{gcd: static, x: static, y: static}</code>
      <code>array{static, static}</code>
    </MoreSpecificReturnType>
    <PossiblyInvalidArgument occurrences="14">
      <code>$current</code>
      <code>$temp &gt;&gt; 16</code>
      <code>$temp &gt;&gt; 8</code>
      <code>$temp-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$x</code>
      <code>$y-&gt;value</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="8">
      <code>$current[0]</code>
      <code>$r_value[-1]</code>
      <code>$temp-&gt;value[0]</code>
      <code>$this-&gt;value[-1]</code>
      <code>$this-&gt;value[-1]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$y-&gt;value[0]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="35">
      <code>$current</code>
      <code>$current</code>
      <code>$current</code>
      <code>$current</code>
      <code>$n-&gt;value</code>
      <code>$r_value</code>
      <code>$result-&gt;bitmask-&gt;value</code>
      <code>$result-&gt;value</code>
      <code>$temp</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$u</code>
      <code>$v</code>
      <code>$v</code>
      <code>$x</code>
      <code>$x-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value[0] == '-' ? substr($y-&gt;value, 1) : $y-&gt;value</code>
    </PossiblyInvalidCast>
    <PossiblyNullArgument occurrences="2">
      <code>$remainder-&gt;value</code>
      <code>bcmod($this-&gt;value, bcpow('2', $x + 1, 0))</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="1">
      <code>$remainder-&gt;value[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullOperand occurrences="2">
      <code>$temp</code>
      <code>$temp</code>
    </PossiblyNullOperand>
    <PossiblyNullPropertyAssignmentValue occurrences="2">
      <code>bcmod($result-&gt;value, $result-&gt;bitmask-&gt;value)</code>
      <code>bcmod($this-&gt;value, $y-&gt;value)</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="8">
      <code>$current[0]</code>
      <code>$r_value[-1]</code>
      <code>$temp-&gt;value[0]</code>
      <code>$this-&gt;value[-1]</code>
      <code>$this-&gt;value[-1]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$y-&gt;value[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="29">
      <code>abs</code>
      <code>between</code>
      <code>bitwise_and</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_or</code>
      <code>bitwise_rightShift</code>
      <code>bitwise_xor</code>
      <code>divide</code>
      <code>equals</code>
      <code>gcd</code>
      <code>isNegative</code>
      <code>make_odd</code>
      <code>max</code>
      <code>min</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>negate</code>
      <code>pow</code>
      <code>powMod</code>
      <code>powModInner</code>
      <code>randomRange</code>
      <code>randomRangePrime</code>
      <code>scan1divide</code>
      <code>subtract</code>
      <code>testBit</code>
      <code>testSmallPrimes</code>
      <code>toBytes</code>
      <code>toString</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="2">
      <code>BCMath</code>
      <code>BCMath</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>$this-&gt;bitmask</code>
    </PropertyTypeCoercion>
    <UndefinedMethod occurrences="9">
      <code>$class::powModHelper($this, $e, $n, static::class)</code>
      <code>$current</code>
      <code>$r_value</code>
      <code>$temp-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$y-&gt;value</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="6">
      <code>new static($a)</code>
      <code>new static($b)</code>
      <code>new static($u)</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
    </UnsafeInstantiation>
    <UnusedVariable occurrences="1">
      <code>$value</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/BCMath/Base.php">
    <ArgumentTypeCoercion occurrences="7">
      <code>$class</code>
      <code>$temp</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$y</code>
      <code>static::slidingWindow($x, $e, $n, $class)</code>
    </ArgumentTypeCoercion>
    <InvalidStringClass occurrences="1">
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedInferredReturnType occurrences="3">
      <code>string</code>
      <code>string</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="3">
      <code>static::reduce($x, $n)</code>
      <code>static::reduce(bcmul($x, $x), $n)</code>
      <code>static::reduce(bcmul($x, $y), $n)</code>
    </MixedReturnStatement>
    <PossiblyUnusedMethod occurrences="3">
      <code>multiplyReduce</code>
      <code>prepareReduce</code>
      <code>squareReduce</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="3">
      <code>static::reduce($x, $n)</code>
      <code>static::reduce(bcmul($x, $x), $n)</code>
      <code>static::reduce(bcmul($x, $y), $n)</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/BCMath/BuiltIn.php">
    <InvalidArgument occurrences="3">
      <code>$e-&gt;value</code>
      <code>$n-&gt;value</code>
      <code>$x-&gt;value</code>
    </InvalidArgument>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>bcpowmod($x-&gt;value, $e-&gt;value, $n-&gt;value)</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidCast occurrences="3">
      <code>$e-&gt;value</code>
      <code>$n-&gt;value</code>
      <code>$x-&gt;value</code>
    </PossiblyInvalidCast>
    <UnusedClass occurrences="1">
      <code>BuiltIn</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/BCMath/OpenSSL.php">
    <UnusedClass occurrences="1">
      <code>OpenSSL</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/BCMath/Reductions/Barrett.php">
    <ArgumentTypeCoercion occurrences="23">
      <code>$lhs</code>
      <code>$lhs</code>
      <code>$lhs</code>
      <code>$lsd</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$msd</code>
      <code>$n</code>
      <code>$n</code>
      <code>$n</code>
      <code>$n</code>
      <code>$n</code>
      <code>$n</code>
      <code>$q</code>
      <code>$r1</code>
      <code>$r2</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$x</code>
    </ArgumentTypeCoercion>
    <InvalidNullableReturnType occurrences="2">
      <code>string</code>
      <code>string</code>
    </InvalidNullableReturnType>
    <MixedArgument occurrences="16">
      <code>$cache[self::DATA][$key]</code>
      <code>$cache[self::DATA][$key]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m1</code>
      <code>$m_length + 1</code>
      <code>$n</code>
      <code>$u</code>
      <code>-$cutoff</code>
      <code>-$cutoff</code>
      <code>-($m_length &gt;&gt; 1) - 1</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="10">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="4">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="2">
      <code>$cache[self::DATA][$key]</code>
      <code>$cache[self::DATA][$key]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="3">
      <code>$cutoff</code>
      <code>$key</code>
      <code>$key</code>
    </MixedAssignment>
    <MixedOperand occurrences="4">
      <code>$m_length</code>
      <code>$m_length</code>
      <code>$m_length</code>
      <code>-($m_length &gt;&gt; 1)</code>
    </MixedOperand>
    <NullableReturnStatement occurrences="2">
      <code>bcmod($n, $m)</code>
      <code>bcmod($x, $n)</code>
    </NullableReturnStatement>
    <PossiblyUndefinedVariable occurrences="2">
      <code>$m1</code>
      <code>$u</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="1">
      <code>reduce</code>
    </PossiblyUnusedMethod>
    <UnusedVariable occurrences="1">
      <code>$key</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/BCMath/Reductions/EvalBarrett.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$lhs</code>
      <code>$lhs</code>
    </ArgumentTypeCoercion>
    <ImplicitToStringCast occurrences="1">
      <code>$m</code>
    </ImplicitToStringCast>
    <InvalidArgument occurrences="2">
      <code>$m</code>
      <code>$m</code>
    </InvalidArgument>
    <MissingPropertyType occurrences="1">
      <code>$custom_reduction</code>
    </MissingPropertyType>
    <MixedAssignment occurrences="3">
      <code>$inline</code>
      <code>self::$custom_reduction</code>
      <code>self::$custom_reduction</code>
    </MixedAssignment>
    <MixedFunctionCall occurrences="1">
      <code>$inline($n)</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="2">
      <code>callable|void</code>
      <code>string</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="2">
      <code>$func</code>
      <code>$inline($n)</code>
    </MixedReturnStatement>
    <UnusedClass occurrences="1">
      <code>EvalBarrett</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/Engine.php">
    <ArgumentTypeCoercion occurrences="16">
      <code>$fqengine</code>
      <code>$leading_ones | $temp</code>
      <code>$left &amp; $right</code>
      <code>$left ^ $right</code>
      <code>$left | $right</code>
      <code>$max</code>
      <code>$min</code>
      <code>$temp</code>
      <code>$this-&gt;hex</code>
      <code>Random::string($size)</code>
      <code>Random::string(1)</code>
      <code>Strings::bits2bin($x)</code>
      <code>chr((1 &lt;&lt; ($bits &amp; 0x7)) - 1) . str_repeat(chr(0xFF), $bits &gt;&gt; 3)</code>
      <code>chr(1) . str_repeat("\0", $size)</code>
      <code>new static('-1')</code>
      <code>new static('-1')</code>
    </ArgumentTypeCoercion>
    <InvalidArrayAccess occurrences="3">
      <code>$x[0]</code>
      <code>$x[0]</code>
      <code>$x[0]</code>
    </InvalidArrayAccess>
    <InvalidPropertyAssignmentValue occurrences="2">
      <code>static::$zero</code>
      <code>static::$zero</code>
    </InvalidPropertyAssignmentValue>
    <InvalidScalarArgument occurrences="4">
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
    </InvalidScalarArgument>
    <InvalidStringClass occurrences="1">
      <code>$fqengine::generateCustomReduction($this, static::class)</code>
    </InvalidStringClass>
    <LessSpecificReturnStatement occurrences="3">
      <code>$min-&gt;isPrime() ? $min : false</code>
      <code>$x</code>
    </LessSpecificReturnStatement>
    <MixedArgument occurrences="20">
      <code>$bits</code>
      <code>$bits[0]</code>
      <code>$bytes</code>
      <code>$hex</code>
      <code>$left</code>
      <code>$left</code>
      <code>$left</code>
      <code>$mask</code>
      <code>$max-&gt;toBytes()</code>
      <code>$right</code>
      <code>$right</code>
      <code>$right</code>
      <code>$temp</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$this-&gt;toBytes($twos_compliment)</code>
      <code>$this-&gt;toBytes()</code>
      <code>$window_ranges</code>
      <code>$x</code>
      <code>$x[0]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="11">
      <code>$bits[0]</code>
      <code>$g-&gt;divide(static::$two[static::class])[0]</code>
      <code>$max_multiple</code>
      <code>$max_multiple</code>
      <code>$og-&gt;subtract($g)-&gt;divide(static::$two[static::class])[0]</code>
      <code>$q</code>
      <code>$random</code>
      <code>$step-&gt;divide(static::$two[static::class])[0]</code>
      <code>$temp[0]</code>
      <code>$temp[0]</code>
      <code>$window_ranges[$i]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="1">
      <code>$temp[0]</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="92">
      <code>$a</code>
      <code>$a</code>
      <code>$b</code>
      <code>$bits</code>
      <code>$bytes</code>
      <code>$c</code>
      <code>$comp</code>
      <code>$compare</code>
      <code>$compare</code>
      <code>$comparison</code>
      <code>$d</code>
      <code>$e</code>
      <code>$func</code>
      <code>$g</code>
      <code>$g</code>
      <code>$g</code>
      <code>$g</code>
      <code>$g</code>
      <code>$g</code>
      <code>$guess</code>
      <code>$hex</code>
      <code>$left</code>
      <code>$left</code>
      <code>$left</code>
      <code>$left</code>
      <code>$left</code>
      <code>$mask</code>
      <code>$mask</code>
      <code>$mask</code>
      <code>$mask</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max_multiple</code>
      <code>$max_multiple</code>
      <code>$min</code>
      <code>$min</code>
      <code>$n</code>
      <code>$n</code>
      <code>$n_1</code>
      <code>$n_2</code>
      <code>$num</code>
      <code>$og</code>
      <code>$powers[$i2 + 1]</code>
      <code>$powers[1]</code>
      <code>$powers[2]</code>
      <code>$r</code>
      <code>$random</code>
      <code>$random</code>
      <code>$random</code>
      <code>$random_max</code>
      <code>$random_max</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$right</code>
      <code>$right</code>
      <code>$right</code>
      <code>$right</code>
      <code>$root</code>
      <code>$root</code>
      <code>$root</code>
      <code>$s</code>
      <code>$step</code>
      <code>$step</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$u</code>
      <code>$v</code>
      <code>$vals[]</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$y</code>
      <code>$y</code>
      <code>[$max_multiple]</code>
      <code>[$max_multiple]</code>
      <code>[$q]</code>
      <code>[, $random]</code>
    </MixedAssignment>
    <MixedClone occurrences="1">
      <code>clone $n_1</code>
    </MixedClone>
    <MixedInferredReturnType occurrences="15">
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine</code>
      <code>Engine|string</code>
      <code>\Closure</code>
      <code>static|false</code>
      <code>static|false</code>
      <code>static|false</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="59">
      <code>$fqengine::isValidEngine()</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>bitwise_and</code>
      <code>bitwise_and</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_or</code>
      <code>bitwise_rightShift</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>divide</code>
      <code>divide</code>
      <code>divide</code>
      <code>divide</code>
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>isPrime</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>pow</code>
      <code>pow</code>
      <code>pow</code>
      <code>powModInner</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>static::ENGINE_DIR</code>
      <code>static::ENGINE_DIR</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="3">
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="24">
      <code>$max</code>
      <code>$min</code>
      <code>$nums[0]</code>
      <code>$nums[0]</code>
      <code>$random-&gt;add($min)</code>
      <code>$this-&gt;compare(static::$zero[static::class]) &lt; 0 ? $this-&gt;normalize($n-&gt;subtract($x)) : $this-&gt;normalize($x)</code>
      <code>$this-&gt;normalize($n-&gt;subtract($temp))</code>
      <code>$this-&gt;normalize($result)</code>
      <code>$this-&gt;normalize($root)</code>
      <code>$this-&gt;normalize($root)</code>
      <code>$this-&gt;normalize($temp-&gt;powModInner($e, $n))</code>
      <code>$this-&gt;normalize(new static($leading_ones | $temp, 256))</code>
      <code>$this-&gt;normalize(new static($left &amp; $right, -256))</code>
      <code>$this-&gt;normalize(new static($left ^ $right, -256))</code>
      <code>$this-&gt;normalize(new static($left | $right, -256))</code>
      <code>$this-&gt;normalize(new static($temp, 256))</code>
      <code>$this-&gt;normalize(static::$zero[static::class])</code>
      <code>$this-&gt;powModInner($e, $n)</code>
      <code>$this-&gt;toString()</code>
      <code>$x</code>
      <code>static::randomRange($min, $max)</code>
      <code>static::randomRangePrime($min, $max)</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="2">
      <code>Engine[]</code>
      <code>array_reverse($vals)</code>
    </MixedReturnTypeCoercion>
    <MoreSpecificReturnType occurrences="1">
      <code>array{gcd: Engine, x: Engine, y: Engine}</code>
    </MoreSpecificReturnType>
    <PossiblyFalseArgument occurrences="1">
      <code>strpos($msb, '0')</code>
    </PossiblyFalseArgument>
    <PossiblyFalseReference occurrences="2">
      <code>subtract</code>
      <code>toBytes</code>
    </PossiblyFalseReference>
    <PossiblyInvalidArgument occurrences="4">
      <code>$t</code>
      <code>$x</code>
      <code>$x</code>
      <code>bindec($msb)</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayOffset occurrences="1">
      <code>$powers[bindec(substr($e_bits, $i, $j + 1))]</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyNullArgument occurrences="4">
      <code>$this-&gt;value</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x[0]</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="1">
      <code>$x[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullPropertyAssignmentValue occurrences="2">
      <code>$x</code>
      <code>preg_replace('#(?&lt;!^)-.*|(?&lt;=^|-)0*|[^-0-9].*#', '', (string) $x)</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$nums[0]</code>
      <code>$nums[0]</code>
      <code>$nums[0]</code>
      <code>$nums[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedMethod occurrences="14">
      <code>add</code>
      <code>bitwise_and</code>
      <code>bitwise_rightShift</code>
      <code>compare</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>pow</code>
      <code>subtract</code>
      <code>subtract</code>
    </PossiblyUndefinedMethod>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$comp</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="7">
      <code>bitwise_not</code>
      <code>bitwise_rightRotate</code>
      <code>bitwise_split</code>
      <code>createRecurringModuloFunction</code>
      <code>getLength</code>
      <code>jsonSerialize</code>
      <code>root</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="3">
      <code>$n</code>
      <code>$size</code>
      <code>$size</code>
    </PossiblyUnusedParam>
    <PossiblyUnusedProperty occurrences="1">
      <code>$reduce</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="3">
      <code>$hex</code>
      <code>$reduce</code>
      <code>$value</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>static::$modexpEngine</code>
    </PropertyTypeCoercion>
    <UndefinedConstant occurrences="4">
      <code>static::ENGINE_DIR</code>
      <code>static::ENGINE_DIR</code>
      <code>static::FAST_BITWISE</code>
      <code>static::FAST_BITWISE</code>
    </UndefinedConstant>
    <UndefinedMethod occurrences="78">
      <code>abs</code>
      <code>abs</code>
      <code>abs</code>
      <code>abs</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>add</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_rightShift</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>divide</code>
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>extendedGCD</code>
      <code>initialize</code>
      <code>initialize</code>
      <code>initialize</code>
      <code>make_odd</code>
      <code>make_odd</code>
      <code>make_odd</code>
      <code>modInverse</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>normalize</code>
      <code>powModInner</code>
      <code>static::randomRange($min, $max)</code>
      <code>static::randomRange($min, $max)</code>
      <code>static::randomRange(static::$two[static::class], $n_2)</code>
      <code>static::randomRangePrime($min, $max)</code>
      <code>static::scan1divide($r)</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>testSmallPrimes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toString</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="31">
      <code>new $class()</code>
      <code>new $class(1)</code>
      <code>new static($leading_ones | $temp, 256)</code>
      <code>new static($left &amp; $right, -256)</code>
      <code>new static($left ^ $right, -256)</code>
      <code>new static($left | $right, -256)</code>
      <code>new static($mask, 256)</code>
      <code>new static($max, 256)</code>
      <code>new static($min, 256)</code>
      <code>new static($n)</code>
      <code>new static($temp, 256)</code>
      <code>new static($this-&gt;hex, -16)</code>
      <code>new static('-1')</code>
      <code>new static('-1')</code>
      <code>new static('2')</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static(0)</code>
      <code>new static(1)</code>
      <code>new static(1)</code>
      <code>new static(1)</code>
      <code>new static(1)</code>
      <code>new static(1)</code>
      <code>new static(2)</code>
      <code>new static(Random::string($size), 256)</code>
      <code>new static(Random::string(1), 256)</code>
      <code>new static(Strings::bits2bin($x), 128 * $base)</code>
      <code>new static(chr((1 &lt;&lt; ($bits &amp; 0x7)) - 1) . str_repeat(chr(0xFF), $bits &gt;&gt; 3), 256)</code>
      <code>new static(chr(1) . str_repeat("\0", $size), 256)</code>
    </UnsafeInstantiation>
    <UnusedVariable occurrences="1">
      <code>$root</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/GMP.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$min</code>
      <code>$x</code>
    </ArgumentTypeCoercion>
    <FalsableReturnStatement occurrences="3">
      <code>$this-&gt;powModOuter($e, $n)</code>
      <code>$this-&gt;powModOuter($e, $n)</code>
      <code>self::randomRangePrime($min, $x)</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="3">
      <code>GMP</code>
      <code>GMP</code>
      <code>GMP</code>
    </InvalidFalsableReturnType>
    <InvalidOperand occurrences="5">
      <code>$this-&gt;value * $x-&gt;value</code>
      <code>$this-&gt;value ** $n-&gt;value</code>
      <code>$this-&gt;value + $y-&gt;value</code>
      <code>$this-&gt;value - $y-&gt;value</code>
      <code>$x-&gt;value % $temp</code>
    </InvalidOperand>
    <LessSpecificImplementedReturnType occurrences="1">
      <code>GMP</code>
    </LessSpecificImplementedReturnType>
    <LessSpecificReturnStatement occurrences="3">
      <code>self::maxHelper($nums)</code>
      <code>self::minHelper($nums)</code>
      <code>self::randomRangeHelper($min, $max)</code>
    </LessSpecificReturnStatement>
    <MissingParamType occurrences="1">
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$this-&gt;value ?? '0'</code>
      <code>$x</code>
      <code>$x</code>
    </MixedArgument>
    <MixedInferredReturnType occurrences="1">
      <code>GMP</code>
    </MixedInferredReturnType>
    <MixedReturnStatement occurrences="1">
      <code>$class::powModHelper($this, $e, $n)</code>
    </MixedReturnStatement>
    <MoreSpecificReturnType occurrences="3">
      <code>GMP</code>
      <code>GMP</code>
      <code>GMP</code>
    </MoreSpecificReturnType>
    <PossiblyFalseArgument occurrences="2">
      <code>$temp</code>
      <code>$temp</code>
    </PossiblyFalseArgument>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>gmp_import($this-&gt;value)</code>
      <code>gmp_invert($this-&gt;value, $n-&gt;value)</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="24">
      <code>$n-&gt;value</code>
      <code>$n-&gt;value</code>
      <code>$n-&gt;value</code>
      <code>$r-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value ?? '0'</code>
      <code>$x-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidCast occurrences="2">
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidOperand occurrences="18">
      <code>$n-&gt;value</code>
      <code>$r-&gt;value</code>
      <code>$s</code>
      <code>$shift</code>
      <code>$shift</code>
      <code>$temp</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$x-&gt;value</code>
      <code>$x-&gt;value</code>
      <code>$x-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>1</code>
    </PossiblyInvalidOperand>
    <PossiblyInvalidPropertyAssignmentValue occurrences="3">
      <code>-$result-&gt;value</code>
      <code>-$result-&gt;value</code>
      <code>-$this-&gt;value</code>
    </PossiblyInvalidPropertyAssignmentValue>
    <PossiblyUnusedMethod occurrences="29">
      <code>abs</code>
      <code>between</code>
      <code>bitwise_and</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_or</code>
      <code>bitwise_rightShift</code>
      <code>bitwise_xor</code>
      <code>divide</code>
      <code>equals</code>
      <code>extendedGCD</code>
      <code>gcd</code>
      <code>isNegative</code>
      <code>isOdd</code>
      <code>make_odd</code>
      <code>max</code>
      <code>min</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>negate</code>
      <code>pow</code>
      <code>powMod</code>
      <code>powModInner</code>
      <code>randomRange</code>
      <code>scan1divide</code>
      <code>subtract</code>
      <code>testBit</code>
      <code>toBytes</code>
      <code>toString</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="2">
      <code>GMP</code>
      <code>GMP</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>$this-&gt;bitmask</code>
    </PropertyTypeCoercion>
    <RedundantPropertyInitializationCheck occurrences="2">
      <code>$this-&gt;value</code>
      <code>'0'</code>
    </RedundantPropertyInitializationCheck>
    <UndefinedMethod occurrences="1">
      <code>$class::powModHelper($this, $e, $n)</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="1">
      <code>new static()</code>
    </UnsafeInstantiation>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/GMP/DefaultEngine.php">
    <PossiblyInvalidArgument occurrences="3">
      <code>$e-&gt;value</code>
      <code>$n-&gt;value</code>
      <code>$x-&gt;value</code>
    </PossiblyInvalidArgument>
    <UnusedClass occurrences="1">
      <code>DefaultEngine</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/OpenSSL.php">
    <MixedArgument occurrences="1">
      <code>$x-&gt;toBytes()</code>
    </MixedArgument>
    <PossiblyFalseArgument occurrences="1">
      <code>openssl_error_string()</code>
    </PossiblyFalseArgument>
    <PossiblyUnusedMethod occurrences="2">
      <code>isValidEngine</code>
      <code>powModHelper</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="1">
      <code>toBytes</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="1">
      <code>new $class($result, 256)</code>
    </UnsafeInstantiation>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP.php">
    <LessSpecificReturnStatement occurrences="3">
      <code>$result</code>
      <code>$result</code>
      <code>$value</code>
    </LessSpecificReturnStatement>
    <MissingParamType occurrences="1">
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="32">
      <code>$prime</code>
      <code>$s</code>
      <code>$temp</code>
      <code>$temp-&gt;value</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp_value</code>
      <code>$temp_value</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x / static::BASE</code>
      <code>$x-&gt;value</code>
      <code>$x_value</code>
      <code>$x_window[0] * static::BASE_FULL + $x_window[1]</code>
      <code>$xx[self::SIGN]</code>
      <code>$xx[self::VALUE]</code>
      <code>$xy[self::SIGN]</code>
      <code>$xy[self::VALUE]</code>
      <code>$y-&gt;value[0]</code>
      <code>$y_window[0]</code>
      <code>$z1[self::SIGN]</code>
      <code>$z1[self::SIGN]</code>
      <code>$z1[self::VALUE]</code>
      <code>$z1[self::VALUE]</code>
      <code>$z1[self::VALUE]</code>
      <code>$z1[self::VALUE]</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX10LEN</code>
      <code>strlen($x) + ((static::MAX10LEN - 1) * strlen($x)) % static::MAX10LEN</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="10">
      <code>$digit</code>
      <code>$this-&gt;value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$x_value</code>
      <code>self::baseSquare($x)</code>
      <code>self::karatsuba($x_value, $y_value)</code>
      <code>self::karatsubaSquare($x)</code>
      <code>self::regularMultiply($x_value, $y_value)</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="5">
      <code>$mod</code>
      <code>$temp</code>
      <code>$x_value[$i - 1]</code>
      <code>$x_value[$i - 2]</code>
      <code>$x_value[$i]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="96">
      <code>$bit</code>
      <code>$carry</code>
      <code>$carry</code>
      <code>$carry</code>
      <code>$carry</code>
      <code>$carry</code>
      <code>$carry</code>
      <code>$carry_mask</code>
      <code>$carry_shift</code>
      <code>$diff</code>
      <code>$digit</code>
      <code>$digit</code>
      <code>$digit[$j]</code>
      <code>$digit[]</code>
      <code>$digit[]</code>
      <code>$lhs</code>
      <code>$lhs</code>
      <code>$mask</code>
      <code>$mask</code>
      <code>$msb</code>
      <code>$msb</code>
      <code>$n</code>
      <code>$newbits</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$prime</code>
      <code>$product_value[$j]</code>
      <code>$product_value[$k]</code>
      <code>$quotient-&gt;value</code>
      <code>$quotient_value[$q_index]</code>
      <code>$quotient_value[$q_index]</code>
      <code>$quotient_value[$q_index]</code>
      <code>$quotient_value[$x_max - $y_max]</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$result-&gt;is_negative</code>
      <code>$result-&gt;value</code>
      <code>$rhs_value</code>
      <code>$s</code>
      <code>$shift</code>
      <code>$shift</code>
      <code>$shift</code>
      <code>$square_value[$i + $max_index + 1]</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp_value</code>
      <code>$tempmask</code>
      <code>$tempmask</code>
      <code>$tempoverflow</code>
      <code>$tempsplit</code>
      <code>$this-&gt;value</code>
      <code>$val[$i]</code>
      <code>$val[$i]</code>
      <code>$vals[]</code>
      <code>$value[$i]</code>
      <code>$value[$i]</code>
      <code>$value[$i]</code>
      <code>$value[$j]</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x_value</code>
      <code>$x_value[$i]</code>
      <code>$x_value[$i]</code>
      <code>$x_value[$i]</code>
      <code>$x_value[$j]</code>
      <code>[$temp, $mod]</code>
      <code>static::$isValidEngine[static::class]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="4">
      <code>PHP</code>
      <code>PHP</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="16">
      <code>add</code>
      <code>add</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>divide</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>rshift</code>
      <code>subtract</code>
      <code>subtract</code>
      <code>subtract</code>
    </MixedMethodCall>
    <MixedOperand occurrences="108">
      <code>$bit</code>
      <code>$digit</code>
      <code>$digit[$j]</code>
      <code>$digit[$j]</code>
      <code>$mask</code>
      <code>$msb</code>
      <code>$msb</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$overflow</code>
      <code>$product_value[$k]</code>
      <code>$quotient_value[$q_index]</code>
      <code>$quotient_value[$q_index]</code>
      <code>$quotient_value[$x_max - $y_max]</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$remaining</code>
      <code>$shift</code>
      <code>$shift</code>
      <code>$square_value[$i2]</code>
      <code>$square_value[$k]</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$sum</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$tempmask</code>
      <code>$tempmask</code>
      <code>$tempoverflow</code>
      <code>$tempsplit</code>
      <code>$tempsplit</code>
      <code>$this-&gt;value[$digit]</code>
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$val[$i]</code>
      <code>$val[$i]</code>
      <code>$val[$i] &amp; $tempmask</code>
      <code>$value[$i]</code>
      <code>$value[$i]</code>
      <code>$value[$i]</code>
      <code>$value[$j]</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x_value[$i]</code>
      <code>$x_value[$i]</code>
      <code>$x_value[$i]</code>
      <code>$x_value[$j]</code>
      <code>$x_value[$j]</code>
      <code>$x_value[$j]</code>
      <code>$x_value[$j]</code>
      <code>$x_window[0] * static::BASE_FULL</code>
      <code>($x_value[$j] + $y_value[$j]) * static::BASE_FULL</code>
      <code>($x_value[$j] - $y_value[$j]) * static::BASE_FULL</code>
      <code>((static::MAX10LEN - 1) * strlen($x)) % static::MAX10LEN</code>
      <code>(static::MAX10LEN - 1) * strlen($x)</code>
      <code>1 &lt;&lt; $overflow</code>
      <code>1 &lt;&lt; $overflow</code>
      <code>1 &lt;&lt; $shift</code>
      <code>1 &lt;&lt; $tempoverflow</code>
      <code>2 * $value[$j]</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::MAX10LEN</code>
      <code>~$r_value[$i]</code>
      <code>~$this-&gt;value[0]</code>
    </MixedOperand>
    <MixedPropertyAssignment occurrences="2">
      <code>$lhs</code>
      <code>$lhs</code>
    </MixedPropertyAssignment>
    <MixedPropertyFetch occurrences="7">
      <code>$mod-&gt;value</code>
      <code>$rhs-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$x-&gt;value</code>
      <code>$x-&gt;value</code>
    </MixedPropertyFetch>
    <MixedPropertyTypeCoercion occurrences="1">
      <code>static::$isValidEngine</code>
    </MixedPropertyTypeCoercion>
    <MixedReturnStatement occurrences="4">
      <code>$class::powModHelper($this, $e, $n, static::class)</code>
      <code>$temp</code>
      <code>$xx[self::VALUE]</code>
      <code>$xy[self::VALUE]</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="2">
      <code>array_reverse($vals)</code>
      <code>list&lt;int&gt;</code>
    </MixedReturnTypeCoercion>
    <MixedStringOffsetAssignment occurrences="5">
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[count($this-&gt;value)]</code>
      <code>$val[$i]</code>
      <code>$val[$i]</code>
    </MixedStringOffsetAssignment>
    <MoreSpecificReturnType occurrences="2">
      <code>list&lt;static&gt;</code>
      <code>static</code>
    </MoreSpecificReturnType>
    <PossiblyFalseArgument occurrences="1">
      <code>pack('N', $x)</code>
    </PossiblyFalseArgument>
    <PossiblyInvalidArgument occurrences="30">
      <code>$r_value</code>
      <code>$result-&gt;bitmask-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y_value</code>
      <code>$y_value</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="15">
      <code>$r_value[$i]</code>
      <code>$result-&gt;bitmask-&gt;value[$i]</code>
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$val[$i]</code>
      <code>$val[$i]</code>
      <code>$value[0]</code>
      <code>$x[0]</code>
      <code>$y-&gt;value[0]</code>
      <code>$y-&gt;value[count($y-&gt;value) - 1]</code>
      <code>$y_value[$y_max - 1]</code>
      <code>$y_value[$y_max]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidArrayAssignment occurrences="7">
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[$i]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[count($this-&gt;value)]</code>
      <code>$val[$i]</code>
      <code>$val[$i]</code>
      <code>$val[]</code>
    </PossiblyInvalidArrayAssignment>
    <PossiblyInvalidCast occurrences="2">
      <code>$x</code>
      <code>$x</code>
    </PossiblyInvalidCast>
    <PossiblyInvalidOperand occurrences="2">
      <code>~$r_value[$i]</code>
      <code>~$this-&gt;value[0]</code>
    </PossiblyInvalidOperand>
    <PossiblyInvalidPropertyFetch occurrences="1">
      <code>$result-&gt;bitmask-&gt;value</code>
    </PossiblyInvalidPropertyFetch>
    <PossiblyUndefinedIntArrayOffset occurrences="24">
      <code>$arr[self::SIGN]</code>
      <code>$arr[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$this-&gt;value[0]</code>
      <code>$value[0]</code>
      <code>$x[0]</code>
      <code>$xx[self::SIGN]</code>
      <code>$xx[self::VALUE]</code>
      <code>$xx[self::VALUE]</code>
      <code>$xy[self::SIGN]</code>
      <code>$xy[self::VALUE]</code>
      <code>$xy[self::VALUE]</code>
      <code>$y-&gt;value[0]</code>
      <code>$y_value[0]</code>
      <code>$z1[self::SIGN]</code>
      <code>$z1[self::SIGN]</code>
      <code>$z1[self::VALUE]</code>
      <code>$z1[self::VALUE]</code>
      <code>$z1[self::VALUE]</code>
      <code>$z1[self::VALUE]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedMethod occurrences="9">
      <code>compare</code>
      <code>divide</code>
      <code>equals</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>subtract</code>
      <code>subtract</code>
    </PossiblyUndefinedMethod>
    <PossiblyUndefinedVariable occurrences="3">
      <code>$j</code>
      <code>$mask</code>
      <code>$tempmask</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="15">
      <code>abs</code>
      <code>bitwise_leftShift</code>
      <code>bitwise_rightShift</code>
      <code>isNegative</code>
      <code>isOdd</code>
      <code>make_odd</code>
      <code>negate</code>
      <code>pad</code>
      <code>powModInner</code>
      <code>scan1divide</code>
      <code>square</code>
      <code>testBit</code>
      <code>testSmallPrimes</code>
      <code>toBytes</code>
      <code>toString</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>PHP</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PHP</code>
      <code>PHP</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>static::$isValidEngine</code>
    </PropertyTypeCoercion>
    <RedundantCondition occurrences="1">
      <code>(string) $mod-&gt;value[0]</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>$value[$i]</code>
      <code>$value[$i]</code>
    </RedundantConditionGivenDocblockType>
    <TypeDoesNotContainNull occurrences="1">
      <code>''</code>
    </TypeDoesNotContainNull>
    <UndefinedConstant occurrences="54">
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::BASE_FULL</code>
      <code>static::MAX10</code>
      <code>static::MAX10</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX10LEN</code>
      <code>static::MAX_DIGIT</code>
      <code>static::MAX_DIGIT</code>
      <code>static::MAX_DIGIT</code>
      <code>static::MAX_DIGIT</code>
      <code>static::MAX_DIGIT2</code>
      <code>static::MAX_DIGIT2</code>
      <code>static::MAX_DIGIT2</code>
      <code>static::MSB</code>
    </UndefinedConstant>
    <UndefinedMethod occurrences="30">
      <code>$class::powModHelper($this, $e, $n, static::class)</code>
      <code>$r_value</code>
      <code>$result-&gt;bitmask-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$value</code>
      <code>$x</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y_value</code>
      <code>$y_value</code>
      <code>compare</code>
      <code>compare</code>
      <code>static::isValidEngine()</code>
      <code>subtract</code>
      <code>subtract</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="22">
      <code>new static($this-&gt;int2bytes((int) substr($x, 0, static::MAX10LEN)), 256)</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static()</code>
      <code>new static(1)</code>
      <code>new static(Strings::hex2bin($x), 256)</code>
    </UnsafeInstantiation>
    <UnusedVariable occurrences="3">
      <code>$digit</code>
      <code>$x_max</code>
      <code>$x_size</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Base.php">
    <ArgumentTypeCoercion occurrences="3">
      <code>$class</code>
      <code>$temp</code>
      <code>static::slidingWindow($x, $e, $n, $class)</code>
    </ArgumentTypeCoercion>
    <InvalidStringClass occurrences="5">
      <code>$class::multiplyHelper($x, false, $y, false)</code>
      <code>$class::square($x)</code>
      <code>$class::square($x-&gt;value)</code>
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedArgument occurrences="2">
      <code>$temp</code>
      <code>$temp</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="3">
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp[self::VALUE]</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="3">
      <code>$temp</code>
      <code>[, $temp]</code>
      <code>[, $temp]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>divide</code>
    </MixedMethodCall>
    <MixedReturnStatement occurrences="3">
      <code>static::reduce($class::square($x), $n, $class)</code>
      <code>static::reduce($temp[self::VALUE], $n, $class)</code>
      <code>static::reduce($x, $n, $class)</code>
    </MixedReturnStatement>
    <PossiblyUnusedMethod occurrences="4">
      <code>isValidEngine</code>
      <code>multiplyReduce</code>
      <code>prepareReduce</code>
      <code>squareReduce</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="4">
      <code>divide</code>
      <code>static::reduce($class::square($x), $n, $class)</code>
      <code>static::reduce($temp[self::VALUE], $n, $class)</code>
      <code>static::reduce($x, $n, $class)</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Montgomery.php">
    <MixedArgument occurrences="2">
      <code>$n-&gt;value</code>
      <code>$n-&gt;value[$i]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$n-&gt;value[$i]</code>
      <code>$result</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="9">
      <code>$j</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$y1</code>
      <code>$y2</code>
      <code>[, $result]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>T</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="4">
      <code>add</code>
      <code>divide</code>
      <code>multiply</code>
      <code>multiply</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$class::BASE</code>
      <code>$n-&gt;value[0]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$result</code>
    </MixedReturnStatement>
    <PossiblyFalseOperand occurrences="1">
      <code>strrpos($temp, '1')</code>
    </PossiblyFalseOperand>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$n-&gt;value[0]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$n-&gt;value[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedMethod occurrences="5">
      <code>$n-&gt;value</code>
      <code>lshift</code>
      <code>modInverse</code>
      <code>multiply</code>
      <code>multiply</code>
    </PossiblyUndefinedMethod>
    <PossiblyUndefinedVariable occurrences="1">
      <code>$j</code>
    </PossiblyUndefinedVariable>
    <UndefinedMethod occurrences="3">
      <code>$n-&gt;value</code>
      <code>modInverse</code>
      <code>rshift</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="2">
      <code>new $class()</code>
      <code>new $class()</code>
    </UnsafeInstantiation>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/OpenSSL.php">
    <UnusedClass occurrences="1">
      <code>OpenSSL</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Reductions/Barrett.php">
    <InvalidStringClass occurrences="8">
      <code>$class::addHelper($result, false, $corrector_value, false)</code>
      <code>$class::multiplyHelper($temp, false, $cache[self::DATA][$key], false)</code>
      <code>$class::subtractHelper($result, false, $temp[self::VALUE], $temp[self::SIGN])</code>
      <code>$class::subtractHelper($result[self::VALUE], $result[self::SIGN], $n, false)</code>
      <code>new $class()</code>
      <code>new $class()</code>
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedArgument occurrences="28">
      <code>$cache[self::DATA][$key]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cutoff</code>
      <code>$cutoff</code>
      <code>$m</code>
      <code>$m1</code>
      <code>$m_length - 1</code>
      <code>$n</code>
      <code>$n</code>
      <code>$n[self::VALUE]</code>
      <code>$n[self::VALUE]</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$temp[self::SIGN]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$u</code>
      <code>($m_length &gt;&gt; 1) + 1</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>$lsd</code>
      <code>$product_value</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="22">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$m1</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp[self::VALUE]</code>
      <code>$u</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="4">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="2">
      <code>$cache[self::DATA][$key]</code>
      <code>$cache[self::DATA][$key]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="22">
      <code>$cache[self::DATA][]</code>
      <code>$carry</code>
      <code>$carry</code>
      <code>$cutoff</code>
      <code>$key</code>
      <code>$key</code>
      <code>$lhs_value</code>
      <code>$m1</code>
      <code>$product_value[$j]</code>
      <code>$product_value[$k]</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$u</code>
      <code>[$temp, ]</code>
      <code>[$u, $m1]</code>
      <code>[, $temp]</code>
      <code>[, $temp]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="8">
      <code>$class::addHelper($lsd, false, $temp[self::VALUE], false)</code>
      <code>$class::multiplyHelper($msd, false, $m1, false)</code>
      <code>$class::multiplyHelper($temp, false, $m, false)</code>
      <code>$class::multiplyHelper($temp, false, $u, false)</code>
      <code>$class::subtractHelper($n[self::VALUE], false, $temp[self::VALUE], false)</code>
      <code>$class::subtractHelper($result[self::VALUE], $result[self::SIGN], $m, false)</code>
      <code>divide</code>
      <code>divide</code>
    </MixedMethodCall>
    <MixedOperand occurrences="14">
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$m_length</code>
      <code>$m_length</code>
      <code>$m_length</code>
      <code>$product_value[$k]</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$x_value[$j]</code>
      <code>$x_value[$j]</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="5">
      <code>$m1-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
      <code>$u-&gt;value</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="4">
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$temp-&gt;value</code>
      <code>$temp-&gt;value</code>
    </MixedReturnStatement>
    <PossiblyUndefinedIntArrayOffset occurrences="14">
      <code>$n[self::VALUE]</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::SIGN]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$temp[self::SIGN]</code>
      <code>$temp[self::SIGN]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$y_value[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedVariable occurrences="2">
      <code>$m1</code>
      <code>$u</code>
    </PossiblyUndefinedVariable>
    <UndefinedMethod occurrences="2">
      <code>divide</code>
      <code>divide</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="4">
      <code>new $class()</code>
      <code>new $class()</code>
      <code>new $class()</code>
      <code>new $class()</code>
    </UnsafeInstantiation>
    <UnusedClass occurrences="1">
      <code>Barrett</code>
    </UnusedClass>
    <UnusedVariable occurrences="1">
      <code>$key</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Reductions/Classic.php">
    <InvalidStringClass occurrences="2">
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedArrayAccess occurrences="1">
      <code>$temp</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="1">
      <code>[, $temp]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>divide</code>
    </MixedMethodCall>
    <MixedPropertyFetch occurrences="1">
      <code>$temp-&gt;value</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="1">
      <code>$temp-&gt;value</code>
    </MixedReturnStatement>
    <UnusedClass occurrences="1">
      <code>Classic</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Reductions/EvalBarrett.php">
    <InvalidStringClass occurrences="3">
      <code>new $class()</code>
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MissingPropertyType occurrences="1">
      <code>$custom_reduction</code>
    </MissingPropertyType>
    <MixedArgument occurrences="9">
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::MAX_DIGIT2</code>
      <code>$class::MAX_DIGIT2</code>
      <code>$class::MAX_DIGIT2</code>
      <code>$class::MAX_DIGIT2</code>
      <code>$known[$j] * $class::BASE_FULL + $known[$i]</code>
      <code>$m1</code>
      <code>$u</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>array_map(self::class . '::float2string', $m)</code>
      <code>array_map(self::class . '::float2string', $m-&gt;value)</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="3">
      <code>$m1</code>
      <code>$u</code>
      <code>$u</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="9">
      <code>$inline</code>
      <code>$lhs_value</code>
      <code>$m1</code>
      <code>$u</code>
      <code>$u</code>
      <code>[$u, $m1]</code>
      <code>[$u]</code>
      <code>self::$custom_reduction</code>
      <code>self::$custom_reduction</code>
    </MixedAssignment>
    <MixedFunctionCall occurrences="1">
      <code>$inline($n)</code>
    </MixedFunctionCall>
    <MixedInferredReturnType occurrences="2">
      <code>array</code>
      <code>callable</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>divide</code>
      <code>divide</code>
    </MixedMethodCall>
    <MixedOperand occurrences="20">
      <code>$arr[$i]</code>
      <code>$arr[$j]</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$class::MAX_DIGIT</code>
      <code>$class::MAX_DIGIT</code>
      <code>$class::MAX_DIGIT</code>
      <code>$known[$i]</code>
      <code>$known[$i]</code>
      <code>$known[$i]</code>
      <code>$known[$j]</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="3">
      <code>$m1-&gt;value</code>
      <code>$u-&gt;value</code>
      <code>$u-&gt;value</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="3">
      <code>$func</code>
      <code>$func</code>
      <code>$inline($n)</code>
    </MixedReturnStatement>
    <PossiblyInvalidArgument occurrences="12">
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m</code>
      <code>$m-&gt;value</code>
      <code>$m-&gt;value</code>
    </PossiblyInvalidArgument>
    <PossiblyUnusedMethod occurrences="2">
      <code>generateCustomReduction</code>
      <code>reduce</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Reductions/Montgomery.php">
    <InvalidStringClass occurrences="5">
      <code>$class::addHelper($result[self::VALUE], false, $temp, false)</code>
      <code>$class::regularMultiply([$temp], $n)</code>
      <code>$class::subtractHelper($result[self::VALUE], false, $n, false)</code>
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedArgument occurrences="9">
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$result</code>
      <code>$result * (2 - fmod($x * $result, $class::BASE_FULL))</code>
      <code>$result[self::VALUE]</code>
      <code>$temp</code>
      <code>$x * $result</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="9">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$result[self::VALUE]</code>
      <code>$temp</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="3">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$result[self::VALUE]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="1">
      <code>$cache[self::DATA][$key]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="13">
      <code>$key</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$x</code>
      <code>[, $temp]</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="3">
      <code>array</code>
      <code>array</code>
      <code>int</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="1">
      <code>divide</code>
    </MixedMethodCall>
    <MixedOperand occurrences="21">
      <code>$class::BASE_FULL</code>
      <code>$class::MAX_DIGIT</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result[self::VALUE][$i]</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>($x &amp; 0xFF) * $result</code>
      <code>($x &amp; 0xFFFF) * $result</code>
      <code>($x * $result) % $class::BASE_FULL</code>
      <code>2 - ($x &amp; 0xFFFF) * $result</code>
    </MixedOperand>
    <MixedPropertyFetch occurrences="1">
      <code>$temp-&gt;value</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="3">
      <code>$result &amp; $class::MAX_DIGIT</code>
      <code>$result[self::VALUE]</code>
      <code>$temp-&gt;value</code>
    </MixedReturnStatement>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$result[self::VALUE]</code>
      <code>$x[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>reduce</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Reductions/MontgomeryMult.php">
    <MixedArgument occurrences="7">
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$temp[self::VALUE]</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="6">
      <code>$a[self::VALUE][0]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
      <code>$cache[self::VARIABLE]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="2">
      <code>$cache[self::DATA]</code>
      <code>$cache[self::VARIABLE]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="1">
      <code>$cache[self::DATA][$key]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="5">
      <code>$key</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="11">
      <code>$a[self::VALUE][0]</code>
      <code>$class::BASE_FULL</code>
      <code>$class::BASE_FULL</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$y[0]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$a[self::VALUE]</code>
    </MixedReturnStatement>
    <MoreSpecificImplementedParamType occurrences="1">
      <code>$class</code>
    </MoreSpecificImplementedParamType>
    <ParamNameMismatch occurrences="1">
      <code>$m</code>
    </ParamNameMismatch>
    <PossiblyUndefinedIntArrayOffset occurrences="7">
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$a[self::VALUE]</code>
      <code>$temp[self::VALUE]</code>
      <code>$y[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <UnusedClass occurrences="1">
      <code>MontgomeryMult</code>
    </UnusedClass>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP/Reductions/PowerOfTwo.php">
    <InvalidStringClass occurrences="3">
      <code>new $class()</code>
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MixedAssignment occurrences="1">
      <code>$result</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>array</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="2">
      <code>bitwise_and</code>
      <code>subtract</code>
    </MixedMethodCall>
    <MixedPropertyFetch occurrences="1">
      <code>$result-&gt;value</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="1">
      <code>$result-&gt;value</code>
    </MixedReturnStatement>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP32.php">
    <FalsableReturnStatement occurrences="2">
      <code>$this-&gt;powModOuter($e, $n)</code>
      <code>$this-&gt;powModOuter($e, $n)</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="2">
      <code>PHP32</code>
      <code>PHP32</code>
    </InvalidFalsableReturnType>
    <LessSpecificReturnStatement occurrences="8">
      <code>$this-&gt;bitwiseAndHelper($x)</code>
      <code>$this-&gt;bitwiseOrHelper($x)</code>
      <code>$this-&gt;bitwiseXorHelper($x)</code>
      <code>$this-&gt;extendedGCDHelper($n)</code>
      <code>$this-&gt;powHelper($n)</code>
      <code>self::maxHelper($nums)</code>
      <code>self::minHelper($nums)</code>
      <code>self::randomRangeHelper($min, $max)</code>
    </LessSpecificReturnStatement>
    <MixedArgument occurrences="1">
      <code>$digit / 2 ** (2 * $step)</code>
    </MixedArgument>
    <MixedAssignment occurrences="3">
      <code>$digit</code>
      <code>$digit</code>
      <code>$vals[]</code>
    </MixedAssignment>
    <MixedOperand occurrences="3">
      <code>$digit</code>
      <code>$digit</code>
      <code>$digit</code>
    </MixedOperand>
    <MoreSpecificReturnType occurrences="8">
      <code>PHP32</code>
      <code>PHP32</code>
      <code>PHP32</code>
      <code>PHP32</code>
      <code>PHP32</code>
      <code>PHP32</code>
      <code>PHP32</code>
      <code>PHP32[]</code>
    </MoreSpecificReturnType>
    <PossiblyInvalidArgument occurrences="11">
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$digit</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="2">
      <code>$val</code>
      <code>$val</code>
    </PossiblyInvalidCast>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>$this-&gt;extendedGCD($n)['gcd']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="17">
      <code>between</code>
      <code>bitwise_and</code>
      <code>bitwise_or</code>
      <code>bitwise_xor</code>
      <code>divide</code>
      <code>equals</code>
      <code>gcd</code>
      <code>max</code>
      <code>min</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>pow</code>
      <code>powMod</code>
      <code>randomRange</code>
      <code>randomRangePrime</code>
      <code>subtract</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PHP32</code>
      <code>PHP32</code>
    </PropertyNotSetInConstructor>
  </file>
  <file src="../phpseclib/Math/BigInteger/Engines/PHP64.php">
    <FalsableReturnStatement occurrences="1">
      <code>$this-&gt;powModOuter($e, $n)</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="1">
      <code>PHP64</code>
    </InvalidFalsableReturnType>
    <LessSpecificReturnStatement occurrences="8">
      <code>$this-&gt;bitwiseAndHelper($x)</code>
      <code>$this-&gt;bitwiseOrHelper($x)</code>
      <code>$this-&gt;bitwiseXorHelper($x)</code>
      <code>$this-&gt;extendedGCDHelper($n)</code>
      <code>$this-&gt;powHelper($n)</code>
      <code>self::maxHelper($nums)</code>
      <code>self::minHelper($nums)</code>
      <code>self::randomRangeHelper($min, $max)</code>
    </LessSpecificReturnStatement>
    <MixedArgument occurrences="1">
      <code>$val[$i - 1]</code>
    </MixedArgument>
    <MixedAssignment occurrences="5">
      <code>$digit</code>
      <code>$digit</code>
      <code>$digit</code>
      <code>$digit</code>
      <code>$vals[]</code>
    </MixedAssignment>
    <MixedOperand occurrences="4">
      <code>$digit</code>
      <code>$digit</code>
      <code>$digit</code>
      <code>$digit</code>
    </MixedOperand>
    <MoreSpecificReturnType occurrences="8">
      <code>PHP64</code>
      <code>PHP64</code>
      <code>PHP64</code>
      <code>PHP64</code>
      <code>PHP64</code>
      <code>PHP64</code>
      <code>PHP64</code>
      <code>PHP64[]</code>
    </MoreSpecificReturnType>
    <PossiblyInvalidArgument occurrences="11">
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$this-&gt;value</code>
      <code>$val</code>
      <code>$val</code>
      <code>$val</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
      <code>$y-&gt;value</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="2">
      <code>$digit</code>
      <code>$val[$i - 1]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="2">
      <code>$val</code>
      <code>$val</code>
    </PossiblyInvalidCast>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>$this-&gt;extendedGCD($n)['gcd']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="17">
      <code>between</code>
      <code>bitwise_and</code>
      <code>bitwise_or</code>
      <code>bitwise_xor</code>
      <code>divide</code>
      <code>equals</code>
      <code>gcd</code>
      <code>max</code>
      <code>min</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>pow</code>
      <code>powMod</code>
      <code>randomRange</code>
      <code>randomRangePrime</code>
      <code>subtract</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PHP64</code>
      <code>PHP64</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="1">
      <code>$val</code>
    </UndefinedMethod>
  </file>
  <file src="../phpseclib/Math/BinaryField.php">
    <MissingClosureParamType occurrences="1">
      <code>$c</code>
    </MissingClosureParamType>
    <MissingClosureReturnType occurrences="1">
      <code>function ($c) use ($u, $mStart, $m, $t, $finalMask, $pad, $h) {</code>
    </MissingClosureReturnType>
    <MissingParamType occurrences="1">
      <code>$indices</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$c</code>
      <code>$m</code>
      <code>$one</code>
    </MixedArgument>
    <MixedArrayOffset occurrences="1">
      <code>$val[$index]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="2">
      <code>$index</code>
      <code>$m</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="1">
      <code>gmp_import($x)</code>
    </PossiblyFalseArgument>
    <PossiblyNullArgument occurrences="1">
      <code>$m</code>
    </PossiblyNullArgument>
    <PossiblyUnusedMethod occurrences="3">
      <code>getLength</code>
      <code>getLengthInBytes</code>
      <code>randomInteger</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../phpseclib/Math/BinaryField/Integer.php">
    <FalsableReturnStatement occurrences="1">
      <code>pack('J', $z)</code>
    </FalsableReturnStatement>
    <ImplicitToStringCast occurrences="1">
      <code>string</code>
    </ImplicitToStringCast>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingParamType occurrences="4">
      <code>$instanceID</code>
      <code>$instanceID</code>
      <code>$num</code>
      <code>$z</code>
    </MissingParamType>
    <MixedArgument occurrences="2">
      <code>$num</code>
      <code>$z</code>
    </MixedArgument>
    <MixedArrayOffset occurrences="2">
      <code>static::$reduce[$instanceID]</code>
      <code>static::$reduce[$instanceID]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="21">
      <code>$this-&gt;instanceID</code>
      <code>$this-&gt;value</code>
      <code>$x</code>
      <code>$x0</code>
      <code>$x1</code>
      <code>$x2</code>
      <code>$x3</code>
      <code>$y</code>
      <code>$y0</code>
      <code>$y1</code>
      <code>$y2</code>
      <code>$y3</code>
      <code>$z</code>
      <code>$z0</code>
      <code>$z0</code>
      <code>$z1</code>
      <code>$z1</code>
      <code>$z2</code>
      <code>$z2</code>
      <code>$z3</code>
      <code>$z3</code>
    </MixedAssignment>
    <MixedOperand occurrences="33">
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x0</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x1</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x2</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$x3</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$z0</code>
      <code>$z0</code>
      <code>$z1</code>
      <code>$z2</code>
      <code>$z3</code>
      <code>($x0 * $y0) ^ ($x1 * $y3)</code>
      <code>($x0 * $y1) ^ ($x1 * $y0)</code>
      <code>($x0 * $y2) ^ ($x1 * $y1)</code>
      <code>($x0 * $y3) ^ ($x1 * $y2)</code>
    </MixedOperand>
    <PossiblyInvalidArrayAccess occurrences="2">
      <code>unpack('N', $x)[1]</code>
      <code>unpack('N', $y)[1]</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>unpack('N', $x)[1]</code>
      <code>unpack('N', $y)[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUnusedMethod occurrences="6">
      <code>compare</code>
      <code>divide</code>
      <code>equals</code>
      <code>negate</code>
      <code>subtract</code>
      <code>toBits</code>
    </PossiblyUnusedMethod>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(string) $this-&gt;toBigInteger()</code>
    </RedundantCastGivenDocblockType>
    <RedundantCondition occurrences="1"/>
    <TypeDoesNotContainNull occurrences="1">
      <code>!isset($q)</code>
    </TypeDoesNotContainNull>
    <UnsafeInstantiation occurrences="5">
      <code>new static($this-&gt;instanceID)</code>
      <code>new static($this-&gt;instanceID)</code>
      <code>new static($this-&gt;instanceID, $x ^ $y)</code>
      <code>new static($this-&gt;instanceID, $x ^ static::$modulo[$this-&gt;instanceID])</code>
      <code>new static($this-&gt;instanceID, static::polynomialMultiply($this-&gt;value, $y-&gt;value))</code>
    </UnsafeInstantiation>
  </file>
  <file src="../phpseclib/Math/Common/FiniteField/Integer.php">
    <PossiblyUnusedMethod occurrences="1">
      <code>jsonSerialize</code>
    </PossiblyUnusedMethod>
    <TooManyArguments occurrences="1">
      <code>toHex</code>
    </TooManyArguments>
  </file>
  <file src="../phpseclib/Math/PrimeField.php">
    <MixedArgument occurrences="1">
      <code>$one</code>
    </MixedArgument>
    <PossiblyUnusedMethod occurrences="4">
      <code>getLength</code>
      <code>getLengthInBytes</code>
      <code>randomInteger</code>
      <code>setReduction</code>
    </PossiblyUnusedMethod>
    <UndefinedThisPropertyAssignment occurrences="1">
      <code>$this-&gt;reduce</code>
    </UndefinedThisPropertyAssignment>
  </file>
  <file src="../phpseclib/Math/PrimeField/Integer.php">
    <MixedArgument occurrences="6">
      <code>$length</code>
      <code>$one</code>
      <code>$two</code>
      <code>static::$zero[static::class]</code>
      <code>static::$zero[static::class]</code>
      <code>static::$zero[static::class]</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$this-&gt;value</code>
    </MixedAssignment>
    <MixedClone occurrences="1">
      <code>clone static::$zero[static::class]</code>
    </MixedClone>
    <MixedPropertyTypeCoercion occurrences="1">
      <code>static::$reduce</code>
    </MixedPropertyTypeCoercion>
    <PossiblyUnusedMethod occurrences="6">
      <code>compare</code>
      <code>equals</code>
      <code>getNAF</code>
      <code>isOdd</code>
      <code>pow</code>
      <code>toBits</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="6">
      <code>static::$zero</code>
      <code>static::$zero</code>
      <code>static::$zero</code>
      <code>static::$zero</code>
      <code>static::$zero</code>
      <code>static::$zero</code>
    </UndefinedMethod>
    <UnsafeInstantiation occurrences="7">
      <code>new static($this-&gt;instanceID)</code>
      <code>new static($this-&gt;instanceID)</code>
      <code>new static($this-&gt;instanceID)</code>
      <code>new static($this-&gt;instanceID, $r)</code>
      <code>new static($this-&gt;instanceID, $this-&gt;value-&gt;multiply($denominator))</code>
      <code>new static($this-&gt;instanceID, $this-&gt;value-&gt;multiply($x-&gt;value))</code>
      <code>new static($this-&gt;instanceID, static::$modulo[$this-&gt;instanceID]-&gt;subtract($this-&gt;value))</code>
    </UnsafeInstantiation>
  </file>
  <file src="../phpseclib/Net/SFTP.php">
    <FalsableReturnStatement occurrences="5">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </FalsableReturnStatement>
    <InvalidArgument occurrences="1">
      <code>[&amp;$this, 'comparator']</code>
    </InvalidArgument>
    <InvalidFalsableReturnType occurrences="3">
      <code>array</code>
      <code>array|string</code>
      <code>int</code>
    </InvalidFalsableReturnType>
    <InvalidReturnType occurrences="1">
      <code>bool</code>
    </InvalidReturnType>
    <MissingParamType occurrences="2">
      <code>$request_id</code>
      <code>$value</code>
    </MissingParamType>
    <MissingReturnType occurrences="14">
      <code>chmod</code>
      <code>fileatime</code>
      <code>filegroup</code>
      <code>filemtime</code>
      <code>fileowner</code>
      <code>fileperms</code>
      <code>filesize</code>
      <code>get_lstat_cache_prop</code>
      <code>get_stat_cache_prop</code>
      <code>get_xstat_cache_prop</code>
      <code>parseLongname</code>
      <code>query_stat_cache</code>
      <code>readlink</code>
      <code>realpath</code>
    </MissingReturnType>
    <MixedArgument occurrences="73">
      <code>$a['filename']</code>
      <code>$attr['mode']</code>
      <code>$b['filename']</code>
      <code>$content</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$flags</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$length</code>
      <code>$link</code>
      <code>$link</code>
      <code>$link</code>
      <code>$link</code>
      <code>$longname</code>
      <code>$newname</code>
      <code>$newname</code>
      <code>$oldname</code>
      <code>$oldname</code>
      <code>$path</code>
      <code>$path</code>
      <code>$path</code>
      <code>$remote_file</code>
      <code>$remote_file</code>
      <code>$remote_file</code>
      <code>$stat['atime']</code>
      <code>$stat['mtime']</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$status</code>
      <code>$stop - $start</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$this-&gt;extensions['versions']</code>
      <code>$this-&gt;pwd</code>
      <code>$this-&gt;realpath($dir . '/' . $key)</code>
      <code>$this-&gt;realpath($dir . '/' . $value)</code>
      <code>$this-&gt;realpath($path)</code>
      <code>$this-&gt;realpath($path)</code>
      <code>$this-&gt;server_channels[self::CHANNEL]</code>
      <code>$this-&gt;server_channels[self::CHANNEL]</code>
      <code>NET_SFTP_LOGGING</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="9">
      <code>$props['type']</code>
      <code>$props['type']</code>
      <code>$result-&gt;{$type}[$prop]</code>
      <code>$temp[$dir]</code>
      <code>$temp[$dir]</code>
      <code>$this-&gt;packet_types[$this-&gt;packet_type]</code>
      <code>$this-&gt;packet_types[$type]</code>
      <code>$this-&gt;requestBuffer[$request_id]['packet']</code>
      <code>$this-&gt;requestBuffer[$request_id]['packet_type']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="3">
      <code>$attr[$key]</code>
      <code>$temp[$dir]</code>
      <code>$temp[$dir]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="5">
      <code>$attr[$key]</code>
      <code>$contents[$shortname]</code>
      <code>$this-&gt;extensions[$key]</code>
      <code>$this-&gt;requestBuffer[$packet_id]</code>
      <code>$this-&gt;requestBuffer[$request_id]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="64">
      <code>$a[$sort]</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr[$key]</code>
      <code>$attributes['type']</code>
      <code>$b[$sort]</code>
      <code>$depth</code>
      <code>$depth</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$dir</code>
      <code>$fileType</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$key</code>
      <code>$length</code>
      <code>$link</code>
      <code>$link</code>
      <code>$newname</code>
      <code>$offset</code>
      <code>$oldname</code>
      <code>$order</code>
      <code>$path</code>
      <code>$path</code>
      <code>$path</code>
      <code>$props</code>
      <code>$props</code>
      <code>$remote_file</code>
      <code>$remote_file</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$size</code>
      <code>$subtemp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp[$dir]</code>
      <code>$temp['extensions']</code>
      <code>$this-&gt;packet_type</code>
      <code>$this-&gt;pwd</code>
      <code>$this-&gt;queueSize</code>
      <code>$this-&gt;uploadQueueSize</code>
      <code>$type</code>
      <code>$value</code>
      <code>$value</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="8">
      <code>?int</code>
      <code>array</code>
      <code>array|false</code>
      <code>array|false</code>
      <code>bool</code>
      <code>string</code>
      <code>string</code>
      <code>string|bool</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="30">
      <code>$a[$sort]</code>
      <code>$a[$sort]</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$b[$sort]</code>
      <code>$b[$sort]</code>
      <code>$content</code>
      <code>$depth</code>
      <code>$depth</code>
      <code>$key</code>
      <code>$key</code>
      <code>$length</code>
      <code>$offset</code>
      <code>$shortname</code>
      <code>$shortname</code>
      <code>$start</code>
      <code>$subtemp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$this-&gt;packet_types[$this-&gt;packet_type]</code>
      <code>$this-&gt;packet_types[$type]</code>
      <code>$this-&gt;realpath($dir . '/..')</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
    </MixedOperand>
    <MixedPropertyAssignment occurrences="1">
      <code>$this-&gt;$this</code>
    </MixedPropertyAssignment>
    <MixedPropertyFetch occurrences="2">
      <code>$result['.']-&gt;lstat</code>
      <code>$result['.']-&gt;stat</code>
    </MixedPropertyFetch>
    <MixedReturnStatement occurrences="10">
      <code>$attr</code>
      <code>$content ?? true</code>
      <code>$order === SORT_ASC ? $a[$sort] - $b[$sort] : $b[$sort] - $a[$sort]</code>
      <code>$result</code>
      <code>$result-&gt;lstat</code>
      <code>$result-&gt;stat</code>
      <code>$result['.']-&gt;lstat</code>
      <code>$result['.']-&gt;stat</code>
      <code>$temp</code>
      <code>count($this-&gt;sftp_errors) ? $this-&gt;sftp_errors[count($this-&gt;sftp_errors) - 1] : ''</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="15">
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$this-&gt;server_identifier</code>
      <code>pack('Na*', strlen($handle), $handle)</code>
      <code>pack('Na*', strlen($path), $path)</code>
      <code>unpack('Nlength', Strings::shift($this-&gt;packet_buffer, 4))</code>
      <code>unpack('Npacket_id', Strings::shift($this-&gt;packet_buffer, 4))</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="9">
      <code>$attr</code>
      <code>$this-&gt;pwd</code>
      <code>$this-&gt;pwd</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>false</code>
      <code>false</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="8">
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$local_file</code>
      <code>$local_file</code>
      <code>$this-&gt;realtime_log_file</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="8">
      <code>$stat['atime']</code>
      <code>$stat['atime']</code>
      <code>$stat['atime']</code>
      <code>$stat['mtime']</code>
      <code>$stat['mtime']</code>
      <code>$stat['mtime']</code>
      <code>$stat['size']</code>
      <code>$this-&gt;stat($remote_file)['size']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="5">
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
    </PossiblyInvalidCast>
    <PossiblyNullArgument occurrences="6">
      <code>$fp</code>
      <code>$fp</code>
      <code>preg_replace('#/(?=/)|/$#', '', $dir)</code>
      <code>preg_replace('#^/|/(?=/)|/$#', '', $path)</code>
      <code>preg_replace('#^/|/(?=/)|/$#', '', $path)</code>
      <code>preg_replace('#^/|/(?=/)|/$#', '', $path)</code>
    </PossiblyNullArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="4">
      <code>$dirs[0]</code>
      <code>$this-&gt;channel_status[self::CHANNEL]</code>
      <code>$this-&gt;channel_status[self::CHANNEL]</code>
      <code>$this-&gt;server_channels[self::CHANNEL]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="14">
      <code>$a['filename']</code>
      <code>$a['filename']</code>
      <code>$a['filename']</code>
      <code>$a['filename']</code>
      <code>$a['filename']</code>
      <code>$attrs['mode']</code>
      <code>$b['filename']</code>
      <code>$b['filename']</code>
      <code>$b['filename']</code>
      <code>$b['filename']</code>
      <code>$stat['atime']</code>
      <code>$stat['mtime']</code>
      <code>$stat['type']</code>
      <code>$this-&gt;stat($remote_file)['size']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="14">
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$attr</code>
      <code>$content</code>
      <code>$content</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$longname</code>
      <code>$result</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="17">
      <code>disableArbitraryLengthPackets</code>
      <code>disableDatePreservation</code>
      <code>disablePathCanonicalization</code>
      <code>enableArbitraryLengthPackets</code>
      <code>enableDatePreservation</code>
      <code>enablePathCanonicalization</code>
      <code>fileatime</code>
      <code>filegroup</code>
      <code>filemtime</code>
      <code>fileowner</code>
      <code>fileperms</code>
      <code>filetype</code>
      <code>getNegotiatedVersion</code>
      <code>getSFTPErrors</code>
      <code>getSFTPLog</code>
      <code>getSupportedVersions</code>
      <code>setPreferredVersion</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="6">
      <code>$defaultVersion</code>
      <code>$log_size</code>
      <code>$realtime_log_file</code>
      <code>$realtime_log_size</code>
      <code>$realtime_log_wrap</code>
      <code>$version</code>
    </PropertyNotSetInConstructor>
    <RedundantCastGivenDocblockType occurrences="1">
      <code>(int) $ver</code>
    </RedundantCastGivenDocblockType>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>$fileType !== false</code>
      <code>$this-&gt;version &lt; 4 &amp;&amp; $fileType !== false</code>
    </RedundantConditionGivenDocblockType>
    <TypeDoesNotContainType occurrences="5">
      <code>!is_string($path)</code>
      <code>is_int($filename)</code>
      <code>is_object($path)</code>
      <code>is_string($mode)</code>
      <code>is_string($mode) &amp;&amp; is_int($filename)</code>
    </TypeDoesNotContainType>
    <UndefinedConstant occurrences="1">
      <code>NET_SFTP_LOGGING</code>
    </UndefinedConstant>
    <UndefinedThisPropertyFetch occurrences="2">
      <code>$this-&gt;packet_types</code>
      <code>$this-&gt;packet_types</code>
    </UndefinedThisPropertyFetch>
    <UnevaluatedCode occurrences="1">
      <code>break;</code>
    </UnevaluatedCode>
    <UnusedMethod occurrences="1">
      <code>comparator</code>
    </UnusedMethod>
    <UnusedParam occurrences="1">
      <code>$key</code>
    </UnusedParam>
    <UnusedReturnValue occurrences="1">
      <code>bool</code>
    </UnusedReturnValue>
    <UnusedVariable occurrences="13">
      <code>$attrib_bits</code>
      <code>$attrib_bits_valid</code>
      <code>$flag</code>
      <code>$mask</code>
      <code>$packet</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$temp</code>
      <code>$text_hint</code>
      <code>$type</code>
      <code>$value</code>
      <code>$who</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/Net/SFTP/Stream.php">
    <DocblockTypeContradiction occurrences="8">
      <code>$path === false</code>
      <code>$path === false</code>
      <code>$path === false</code>
      <code>$path === false</code>
      <code>$path === false</code>
      <code>$path === false</code>
      <code>$path === false</code>
      <code>$path_from === false</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="5">
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
      <code>false</code>
    </FalsableReturnStatement>
    <InvalidArgument occurrences="2">
      <code>$options &amp; STREAM_MKDIR_RECURSIVE</code>
      <code>$path</code>
    </InvalidArgument>
    <InvalidReturnStatement occurrences="3">
      <code>$results</code>
      <code>$results</code>
      <code>$this-&gt;sftp-&gt;fsock</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="4">
      <code>bool</code>
      <code>bool</code>
      <code>bool</code>
      <code>resource</code>
    </InvalidReturnType>
    <MissingParamType occurrences="1">
      <code>$var</code>
    </MissingParamType>
    <MissingReturnType occurrences="2">
      <code>_dir_readdir</code>
      <code>_stream_read</code>
    </MissingReturnType>
    <MixedArgument occurrences="14">
      <code>$atime</code>
      <code>$host</code>
      <code>$host</code>
      <code>$host</code>
      <code>$orig</code>
      <code>$pass</code>
      <code>$pass</code>
      <code>$port</code>
      <code>$time</code>
      <code>$user</code>
      <code>$user</code>
      <code>$var</code>
      <code>$var</code>
      <code>$var</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="9">
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$orig[-1]</code>
      <code>$var[0]</code>
      <code>$var[1]</code>
      <code>self::$instances[$host][$port]</code>
      <code>self::$instances[$host][$port]</code>
    </MixedArrayAccess>
    <MixedArrayOffset occurrences="11">
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>$context[$scheme]</code>
      <code>self::$instances[$host][$port]</code>
      <code>self::$instances[$host][$port]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="12">
      <code>$argument</code>
      <code>$atime</code>
      <code>$pass</code>
      <code>$pass</code>
      <code>$sftp</code>
      <code>$sftp</code>
      <code>$this-&gt;notification</code>
      <code>$this-&gt;pos</code>
      <code>$this-&gt;sftp</code>
      <code>$this-&gt;size</code>
      <code>$time</code>
      <code>$user</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="6">
      <code>$fragment</code>
      <code>$path</code>
      <code>$path</code>
      <code>$path</code>
      <code>$path</code>
      <code>$query</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$path</code>
      <code>$path</code>
    </MixedReturnStatement>
    <NullableReturnStatement occurrences="1">
      <code>$this-&gt;sftp-&gt;fsock</code>
    </NullableReturnStatement>
    <PossiblyFalseOperand occurrences="2">
      <code>$this-&gt;size</code>
      <code>parse_url($path)</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>$this-&gt;sftp-&gt;nlist($path)</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyInvalidArgument occurrences="2">
      <code>$result</code>
      <code>$result</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="3">
      <code>$path1['path']</code>
      <code>$path2['path']</code>
      <code>$path_to['path']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullArrayAccess occurrences="3">
      <code>$this-&gt;mode[0]</code>
      <code>$this-&gt;mode[0]</code>
      <code>$this-&gt;mode[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyNullPropertyAssignmentValue occurrences="1">
      <code>preg_replace('#[bt]$#', '', $mode)</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyUndefinedArrayOffset occurrences="1">
      <code>$path_to['path']</code>
    </PossiblyUndefinedArrayOffset>
    <PossiblyUnusedMethod occurrences="2">
      <code>__call</code>
      <code>__construct</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedParam occurrences="1">
      <code>$path</code>
    </PossiblyUnusedParam>
    <PossiblyUnusedProperty occurrences="1">
      <code>$instances</code>
    </PossiblyUnusedProperty>
    <PropertyNotSetInConstructor occurrences="9">
      <code>$context</code>
      <code>$entries</code>
      <code>$eof</code>
      <code>$mode</code>
      <code>$notification</code>
      <code>$path</code>
      <code>$pos</code>
      <code>$sftp</code>
      <code>$size</code>
    </PropertyNotSetInConstructor>
    <PropertyTypeCoercion occurrences="1">
      <code>$host</code>
    </PropertyTypeCoercion>
    <RedundantConditionGivenDocblockType occurrences="4">
      <code>isset($this-&gt;notification) &amp;&amp; is_callable($this-&gt;notification)</code>
      <code>isset($this-&gt;notification) &amp;&amp; is_callable($this-&gt;notification)</code>
      <code>isset($this-&gt;notification) &amp;&amp; is_callable($this-&gt;notification)</code>
      <code>isset($this-&gt;notification) &amp;&amp; is_callable($this-&gt;notification)</code>
    </RedundantConditionGivenDocblockType>
    <RedundantPropertyInitializationCheck occurrences="2">
      <code>isset($this-&gt;notification)</code>
      <code>isset($this-&gt;notification)</code>
    </RedundantPropertyInitializationCheck>
    <UnusedParam occurrences="7">
      <code>$arg1</code>
      <code>$arg2</code>
      <code>$cast_as</code>
      <code>$operation</code>
      <code>$option</code>
      <code>$options</code>
      <code>$options</code>
    </UnusedParam>
  </file>
  <file src="../phpseclib/Net/SSH2.php">
    <DocblockTypeContradiction occurrences="7">
      <code>$arg instanceof Agent</code>
      <code>$arg instanceof PrivateKey || $arg instanceof Agent</code>
      <code>$request_channel === false</code>
      <code>is_array($arg)</code>
      <code>is_array($arg)</code>
      <code>is_array($arg)</code>
      <code>isset($realtime_log_file)</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="2">
      <code>false</code>
      <code>false</code>
    </FalsableReturnStatement>
    <InvalidArgument occurrences="3">
      <code>self::$crypto_engine</code>
      <code>self::$crypto_engine</code>
      <code>true</code>
    </InvalidArgument>
    <InvalidArrayAccess occurrences="1">
      <code>$payload[0]</code>
    </InvalidArrayAccess>
    <InvalidFalsableReturnType occurrences="2">
      <code>int</code>
      <code>string</code>
    </InvalidFalsableReturnType>
    <InvalidReturnStatement occurrences="1">
      <code>$temp</code>
    </InvalidReturnStatement>
    <InvalidReturnType occurrences="3">
      <code>array&lt;string, SSH2&gt;</code>
      <code>array{Hash, int}|null</code>
      <code>string</code>
    </InvalidReturnType>
    <MissingParamType occurrences="4">
      <code>$algorithm</code>
      <code>$host</code>
      <code>$password</code>
      <code>$responses</code>
    </MissingParamType>
    <MissingReturnType occurrences="3">
      <code>connect</code>
      <code>get_channel_packet</code>
      <code>keyboard_interactive_process</code>
    </MissingReturnType>
    <MixedArgument occurrences="110">
      <code>$a['comp']</code>
      <code>$a['crypt']</code>
      <code>$a['mac']</code>
      <code>$aad</code>
      <code>$auth</code>
      <code>$auth_methods</code>
      <code>$c2s_compression_algorithms</code>
      <code>$c2s_compression_algorithms</code>
      <code>$c2s_encryption_algorithms</code>
      <code>$c2s_encryption_algorithms</code>
      <code>$c2s_mac_algorithms</code>
      <code>$c2s_mac_algorithms</code>
      <code>$c2s_mac_algorithms</code>
      <code>$channel</code>
      <code>$current_log</code>
      <code>$data</code>
      <code>$decrypt</code>
      <code>$encrypt</code>
      <code>$error_message</code>
      <code>$extra</code>
      <code>$filename</code>
      <code>$gBytes</code>
      <code>$gBytes</code>
      <code>$kex_algorithms</code>
      <code>$kex_algorithms</code>
      <code>$key</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$length</code>
      <code>$m</code>
      <code>$m</code>
      <code>$mac_algorithm_in</code>
      <code>$mac_algorithm_in</code>
      <code>$mac_algorithm_out</code>
      <code>$mac_algorithm_out</code>
      <code>$matches[0]</code>
      <code>$matches[3]</code>
      <code>$max_size</code>
      <code>$nonce</code>
      <code>$ourPublicBytes</code>
      <code>$p</code>
      <code>$p</code>
      <code>$packet</code>
      <code>$packet[0]</code>
      <code>$password</code>
      <code>$password</code>
      <code>$payload</code>
      <code>$payload[0]</code>
      <code>$preferred['hostkey']</code>
      <code>$preferred['kex']</code>
      <code>$primeBytes</code>
      <code>$primeBytes</code>
      <code>$prompt</code>
      <code>$raw</code>
      <code>$reason_code</code>
      <code>$reconstructed</code>
      <code>$remaining_length</code>
      <code>$responses[$i]</code>
      <code>$s2c_compression_algorithms</code>
      <code>$s2c_compression_algorithms</code>
      <code>$s2c_encryption_algorithms</code>
      <code>$s2c_encryption_algorithms</code>
      <code>$s2c_mac_algorithms</code>
      <code>$s2c_mac_algorithms</code>
      <code>$s2c_mac_algorithms</code>
      <code>$server_channel</code>
      <code>$server_host_key_algorithms</code>
      <code>$server_host_key_algorithms</code>
      <code>$server_public_host_key</code>
      <code>$signature</code>
      <code>$signature</code>
      <code>$skip_channel_filter</code>
      <code>$skip_channel_filter</code>
      <code>$stop - $start</code>
      <code>$temp</code>
      <code>$temp['length']</code>
      <code>$theirPublicBytes</code>
      <code>$theirPublicBytes</code>
      <code>$this-&gt;channel_buffers[$client_channel]</code>
      <code>$this-&gt;compression_algorithms_client_to_server</code>
      <code>$this-&gt;compression_algorithms_server_to_client</code>
      <code>$this-&gt;encryption_algorithms_client_to_server</code>
      <code>$this-&gt;encryption_algorithms_server_to_client</code>
      <code>$this-&gt;kex_algorithm</code>
      <code>$this-&gt;kex_algorithm</code>
      <code>$this-&gt;kex_algorithm</code>
      <code>$this-&gt;kex_algorithm</code>
      <code>$this-&gt;kex_algorithm</code>
      <code>$this-&gt;kex_algorithms</code>
      <code>$this-&gt;mac_algorithms_client_to_server</code>
      <code>$this-&gt;mac_algorithms_server_to_client</code>
      <code>$this-&gt;message_number_log[count($this-&gt;message_number_log) - 1]</code>
      <code>$this-&gt;preferred['hostkey']</code>
      <code>$this-&gt;server_channels[$client_channel]</code>
      <code>$this-&gt;server_channels[$request_channel]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_EXEC]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_EXEC]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_SHELL]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_SHELL]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_SUBSYSTEM]</code>
      <code>$this-&gt;server_host_key_algorithms</code>
      <code>$this-&gt;server_public_host_key</code>
      <code>$this-&gt;signature</code>
      <code>$type</code>
      <code>$type</code>
      <code>$type</code>
      <code>NET_SSH2_LOGGING</code>
      <code>array_shift($message_log)</code>
      <code>array_shift($this-&gt;channel_buffers[$client_channel])</code>
    </MixedArgument>
    <MixedArgumentTypeCoercion occurrences="2">
      <code>$diff</code>
      <code>$key</code>
    </MixedArgumentTypeCoercion>
    <MixedArrayAccess occurrences="11">
      <code>$a['comp']</code>
      <code>$a['crypt']</code>
      <code>$a['mac']</code>
      <code>$keyBytes[0]</code>
      <code>$m[$subkey]</code>
      <code>$matches[0]</code>
      <code>$matches[1]</code>
      <code>$matches[3]</code>
      <code>$matches[3]</code>
      <code>$packet[0]</code>
      <code>$this-&gt;channel_buffers[$client_channel][$i]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="6">
      <code>$a['comp']</code>
      <code>$a['crypt']</code>
      <code>$a['mac']</code>
      <code>$this-&gt;channel_buffers[$channel][]</code>
      <code>$this-&gt;channel_buffers[$channel][]</code>
      <code>$this-&gt;channel_buffers[$channel][]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="19">
      <code>$compression_map[$compression_algorithm_in]</code>
      <code>$compression_map[$compression_algorithm_out]</code>
      <code>$this-&gt;channel_buffers[$channel]</code>
      <code>$this-&gt;channel_buffers[$channel]</code>
      <code>$this-&gt;channel_buffers[$channel]</code>
      <code>$this-&gt;channel_buffers[$client_channel][$i]</code>
      <code>$this-&gt;channel_status[$channel]</code>
      <code>$this-&gt;channel_status[$channel]</code>
      <code>$this-&gt;channel_status[$channel]</code>
      <code>$this-&gt;channel_status[$channel]</code>
      <code>$this-&gt;server_channels[$channel]</code>
      <code>$this-&gt;server_channels[$channel]</code>
      <code>$this-&gt;server_channels[$channel]</code>
      <code>$this-&gt;server_channels[$channel]</code>
      <code>$this-&gt;window_size_client_to_server[$channel]</code>
      <code>$this-&gt;window_size_client_to_server[$channel]</code>
      <code>$this-&gt;window_size_server_to_client[$channel]</code>
      <code>$this-&gt;window_size_server_to_client[$channel]</code>
      <code>$this-&gt;window_size_server_to_client[$channel]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="63">
      <code>$a</code>
      <code>$algo</code>
      <code>$auth</code>
      <code>$c2s_compression_algorithms</code>
      <code>$c2s_encryption_algorithms</code>
      <code>$c2s_mac_algorithms</code>
      <code>$compression_algorithm_in</code>
      <code>$compression_algorithm_out</code>
      <code>$current_log</code>
      <code>$curveName</code>
      <code>$decrypt</code>
      <code>$encrypt</code>
      <code>$expected_key_format</code>
      <code>$extra</code>
      <code>$filename</code>
      <code>$i</code>
      <code>$kex_algorithms</code>
      <code>$key</code>
      <code>$keyBytes</code>
      <code>$m</code>
      <code>$mac_algorithm_in</code>
      <code>$mac_algorithm_out</code>
      <code>$max_size</code>
      <code>$method</code>
      <code>$newargs[]</code>
      <code>$ourPublicBytes</code>
      <code>$p</code>
      <code>$packet</code>
      <code>$privatekey</code>
      <code>$privatekey</code>
      <code>$privatekey</code>
      <code>$privatekey</code>
      <code>$publickey</code>
      <code>$reconstructed</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$responses[]</code>
      <code>$result</code>
      <code>$s2c_compression_algorithms</code>
      <code>$s2c_encryption_algorithms</code>
      <code>$s2c_mac_algorithms</code>
      <code>$server_host_key_algorithm</code>
      <code>$server_host_key_algorithms</code>
      <code>$signature</code>
      <code>$temp</code>
      <code>$this-&gt;auth_methods_to_continue</code>
      <code>$this-&gt;auth_methods_to_continue</code>
      <code>$this-&gt;auth_methods_to_continue</code>
      <code>$this-&gt;auth_methods_to_continue</code>
      <code>$this-&gt;auth_methods_to_continue</code>
      <code>$this-&gt;hmac_check_name</code>
      <code>$this-&gt;hmac_check_name</code>
      <code>$this-&gt;hmac_create_name</code>
      <code>$this-&gt;hmac_create_name</code>
      <code>$this-&gt;kex_algorithm</code>
      <code>$this-&gt;last_interactive_response</code>
      <code>$this-&gt;server_public_host_key</code>
      <code>$value</code>
      <code>$value</code>
      <code>$value</code>
      <code>$window_size</code>
      <code>$window_size</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="4">
      <code>bool</code>
      <code>bool</code>
      <code>boolean</code>
      <code>string|bool|null</code>
    </MixedInferredReturnType>
    <MixedMethodCall occurrences="4">
      <code>getCurve</code>
      <code>getEncodedCoordinates</code>
      <code>sign</code>
      <code>withHash</code>
    </MixedMethodCall>
    <MixedOperand occurrences="29">
      <code>$curveName</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$data</code>
      <code>$elapsed</code>
      <code>$keyBytes</code>
      <code>$keyBytes[0]</code>
      <code>$message</code>
      <code>$message_number_log[$i]</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$response</code>
      <code>$server_host_key_algorithm</code>
      <code>$stop</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$this-&gt;errors[count($this-&gt;errors) - 1]</code>
      <code>$this-&gt;window_size_client_to_server[$channel]</code>
      <code>$this-&gt;window_size_client_to_server[$client_channel]</code>
      <code>$this-&gt;window_size_server_to_client[$channel]</code>
      <code>$this-&gt;window_size_server_to_client[$channel]</code>
      <code>$window_size</code>
      <code>$window_size</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="5">
      <code>!Strings::is_stringable($password) &amp;&amp; !is_array($password) ? false : $this-&gt;keyboard_interactive_process($password)</code>
      <code>$result</code>
      <code>$this-&gt;errors[$count - 1]</code>
      <code>$this-&gt;get_channel_packet($channel)</code>
      <code>$this-&gt;keyboard_interactive_process($password)</code>
    </MixedReturnStatement>
    <MixedReturnTypeCoercion occurrences="2">
      <code>$this-&gt;errors</code>
      <code>string[]</code>
    </MixedReturnTypeCoercion>
    <PossiblyFalseArgument occurrences="49">
      <code>$data</code>
      <code>$logged</code>
      <code>$nonce</code>
      <code>$nonce</code>
      <code>$nonce</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>$payload</code>
      <code>$payload</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$raw</code>
      <code>$reconstructed</code>
      <code>$tag</code>
      <code>$tag</code>
      <code>$this-&gt;hmac_size</code>
      <code>$this-&gt;server_host_key_algorithms</code>
      <code>$this-&gt;server_identifier</code>
      <code>pack('C', MessageType::REQUEST_FAILURE)</code>
      <code>pack('CN', MessageType::CHANNEL_CLOSE, $this-&gt;server_channels[$channel])</code>
      <code>pack('CN', MessageType::CHANNEL_CLOSE, $this-&gt;server_channels[$channel])</code>
      <code>pack('CN', MessageType::CHANNEL_CLOSE, $this-&gt;server_channels[$client_channel])</code>
      <code>pack('CN', MessageType::CHANNEL_CLOSE, $this-&gt;server_channels[$client_channel])</code>
      <code>pack('CN', MessageType::CHANNEL_EOF, $this-&gt;server_channels[$client_channel])</code>
      <code>pack('CN', MessageType::CHANNEL_EOF, $this-&gt;server_channels[$client_channel])</code>
      <code>pack('CN', MessageType::CHANNEL_SUCCESS, $this-&gt;server_channels[$channel])</code>
      <code>pack('CN', MessageType::IGNORE, 0)</code>
      <code>pack('CN', MessageType::IGNORE, 0)</code>
      <code>pack('Na*', $this-&gt;get_seq_no, $reconstructed)</code>
      <code>pack('Na*', $this-&gt;send_seq_no, $packet)</code>
      <code>pack('Na*', $this-&gt;send_seq_no, $packet)</code>
      <code>unpack('Npacket_length', $temp = Strings::shift($raw, 4))</code>
      <code>unpack('Npacket_length', $temp)</code>
      <code>unpack('Npacket_length', $temp)</code>
      <code>unpack('Npacket_length/Cpadding_length', Strings::shift($raw, 5))</code>
      <code>unpack('cpacket_type/Nchannel/Nlength', $payload)</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="24">
      <code>$dh_group_sizes_packed</code>
      <code>$kexinit_payload_client</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$keyBytes</code>
      <code>$logged</code>
      <code>$packet</code>
      <code>$packet</code>
      <code>deflate_add($this-&gt;compress_context, $data, ZLIB_PARTIAL_FLUSH)</code>
      <code>ftell($realtime_log_file)</code>
      <code>pack('N', $this-&gt;get_seq_no)</code>
      <code>pack('N', $this-&gt;send_seq_no)</code>
      <code>pack('N', $this-&gt;send_seq_no)</code>
    </PossiblyFalseOperand>
    <PossiblyFalsePropertyAssignmentValue occurrences="2">
      <code>@fsockopen($this-&gt;host, $this-&gt;port, $errno, $errstr, $this-&gt;curTimeout == 0 ? 100000 : $this-&gt;curTimeout)</code>
      <code>inflate_init(ZLIB_ENCODING_RAW, ['window' =&gt; $cinfo + 8])</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyFalseReference occurrences="4">
      <code>decrypt</code>
      <code>encrypt</code>
      <code>setNonce</code>
      <code>setNonce</code>
    </PossiblyFalseReference>
    <PossiblyInvalidArgument occurrences="17">
      <code>$args</code>
      <code>$engine</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$this-&gt;decompress_context</code>
      <code>$this-&gt;fsock</code>
      <code>$this-&gt;fsock</code>
      <code>$this-&gt;realtime_log_file</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$temp['length']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyInvalidCast occurrences="1">
      <code>$args</code>
    </PossiblyInvalidCast>
    <PossiblyNullArgument occurrences="5">
      <code>$this-&gt;curTimeout == 0 ? 100000 : $this-&gt;curTimeout</code>
      <code>$this-&gt;decryptInvocationCounter</code>
      <code>$this-&gt;encryptInvocationCounter</code>
      <code>array_shift($message_log)</code>
      <code>preg_replace_callback('#.#s', fn ($matches) =&gt; $this-&gt;log_boundary . str_pad(dechex(ord($matches[0])), 2, '0', STR_PAD_LEFT), $fragment)</code>
    </PossiblyNullArgument>
    <PossiblyNullOperand occurrences="5">
      <code>$raw</code>
      <code>$this-&gt;decryptFixedPart</code>
      <code>$this-&gt;decryptInvocationCounter</code>
      <code>$this-&gt;encryptFixedPart</code>
      <code>$this-&gt;encryptInvocationCounter</code>
    </PossiblyNullOperand>
    <PossiblyNullPropertyAssignmentValue occurrences="4">
      <code>self::encryption_algorithm_to_crypt_instance($decrypt)</code>
      <code>self::encryption_algorithm_to_crypt_instance($decrypt)</code>
      <code>self::encryption_algorithm_to_crypt_instance($encrypt)</code>
      <code>self::encryption_algorithm_to_crypt_instance($encrypt)</code>
    </PossiblyNullPropertyAssignmentValue>
    <PossiblyNullReference occurrences="9">
      <code>decrypt</code>
      <code>encrypt</code>
      <code>getLengthInBytes</code>
      <code>isValidEngine</code>
      <code>setKey</code>
      <code>setKey</code>
      <code>setNonce</code>
      <code>usesNonce</code>
      <code>usesNonce</code>
    </PossiblyNullReference>
    <PossiblyUndefinedIntArrayOffset occurrences="5">
      <code>$matches[0]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_EXEC]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_EXEC]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_SHELL]</code>
      <code>$this-&gt;server_channels[self::CHANNEL_SUBSYSTEM]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PossiblyUndefinedStringArrayOffset occurrences="1">
      <code>$temp['length']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUndefinedVariable occurrences="7">
      <code>$matches</code>
      <code>$matches</code>
      <code>$matches</code>
      <code>$matches</code>
      <code>$orig</code>
      <code>$result</code>
      <code>$temp</code>
    </PossiblyUndefinedVariable>
    <PossiblyUnusedMethod occurrences="27">
      <code>disableSmartMFA</code>
      <code>enableSmartMFA</code>
      <code>getAlgorithmsNegotiated</code>
      <code>getAuthMethodsToContinue</code>
      <code>getBannerMessage</code>
      <code>getErrors</code>
      <code>getLastError</code>
      <code>getLog</code>
      <code>getServerAlgorithms</code>
      <code>getStdError</code>
      <code>getWindowColumns</code>
      <code>getWindowRows</code>
      <code>ping</code>
      <code>reset</code>
      <code>sendIdentificationStringFirst</code>
      <code>sendIdentificationStringLast</code>
      <code>sendKEXINITFirst</code>
      <code>sendKEXINITLast</code>
      <code>setCryptoEngine</code>
      <code>setKeepAlive</code>
      <code>setPreferredAlgorithms</code>
      <code>setTerminal</code>
      <code>setWindowColumns</code>
      <code>setWindowRows</code>
      <code>setWindowSize</code>
      <code>startSubsystem</code>
      <code>stopSubsystem</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>($callback is callable ? bool : string|bool)</code>
    </PossiblyUnusedReturnValue>
    <PropertyNotSetInConstructor occurrences="22">
      <code>$agent</code>
      <code>$decompress_context</code>
      <code>$decryptFixedPart</code>
      <code>$decryptInvocationCounter</code>
      <code>$decryptName</code>
      <code>$encryptFixedPart</code>
      <code>$encryptInvocationCounter</code>
      <code>$encryptName</code>
      <code>$hmac_check_etm</code>
      <code>$hmac_check_name</code>
      <code>$hmac_create_etm</code>
      <code>$hmac_create_name</code>
      <code>$host</code>
      <code>$identifier</code>
      <code>$last_packet</code>
      <code>$log_size</code>
      <code>$port</code>
      <code>$realtime_log_file</code>
      <code>$realtime_log_size</code>
      <code>$realtime_log_wrap</code>
      <code>$server_public_host_key</code>
      <code>$stdErrorLog</code>
    </PropertyNotSetInConstructor>
    <RedundantCondition occurrences="1">
      <code>isset($this-&gt;keyboard_requests_responses)</code>
    </RedundantCondition>
    <RedundantConditionGivenDocblockType occurrences="3">
      <code>Strings::is_stringable($arg)</code>
      <code>is_bool($agent_response)</code>
      <code>isset($this-&gt;realtime_log_file) &amp;&amp; is_resource($this-&gt;realtime_log_file)</code>
    </RedundantConditionGivenDocblockType>
    <RedundantPropertyInitializationCheck occurrences="3">
      <code>isset($this-&gt;agent)</code>
      <code>isset($this-&gt;agent)</code>
      <code>isset($this-&gt;realtime_log_file)</code>
    </RedundantPropertyInitializationCheck>
    <ReferenceConstraintViolation occurrences="14">
      <code>$payload</code>
      <code>$payload</code>
      <code>$payload</code>
      <code>$payload</code>
      <code>$payload</code>
      <code>$payload</code>
      <code>$payload</code>
      <code>$realtime_log_file</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
      <code>$response</code>
    </ReferenceConstraintViolation>
    <TooManyArguments occurrences="1">
      <code>MessageType::findConstantNameByValue($value = ord($logged[0]), false)</code>
    </TooManyArguments>
    <TypeDoesNotContainType occurrences="2">
      <code>$hasArray</code>
      <code>$hasString</code>
    </TypeDoesNotContainType>
    <UndefinedConstant occurrences="2">
      <code>NET_SSH2_LOGGING</code>
      <code>NET_SSH2_LOG_REALTIME_FILENAME</code>
    </UndefinedConstant>
    <UndefinedInterfaceMethod occurrences="3">
      <code>withPadding</code>
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
    </UndefinedInterfaceMethod>
    <UndefinedMethod occurrences="1">
      <code>verify</code>
    </UndefinedMethod>
    <UnevaluatedCode occurrences="1">
      <code>break;</code>
    </UnevaluatedCode>
    <UnnecessaryVarAnnotation occurrences="3">
      <code>integer</code>
      <code>integer</code>
      <code>integer</code>
    </UnnecessaryVarAnnotation>
    <UnusedVariable occurrences="6">
      <code>$a</code>
      <code>$data_type_code</code>
      <code>$first_kex_packet_follows</code>
      <code>$key</code>
      <code>$response</code>
      <code>$server_cookie</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/System/SSH/Agent.php">
    <DocblockTypeContradiction occurrences="2">
      <code>!$this-&gt;fsock</code>
      <code>$this-&gt;fsock</code>
    </DocblockTypeContradiction>
    <FalsableReturnStatement occurrences="2">
      <code>false</code>
      <code>pack('Na*', $agent_reply_bytes, $agent_reply_data)</code>
    </FalsableReturnStatement>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingParamType occurrences="1">
      <code>$address</code>
    </MissingParamType>
    <MissingReturnType occurrences="1">
      <code>request_forwarding</code>
    </MissingReturnType>
    <MixedArgument occurrences="6">
      <code>$agent_reply_bytes</code>
      <code>$key</code>
      <code>$key_blob</code>
      <code>$key_blob</code>
      <code>$length</code>
      <code>$temp</code>
    </MixedArgument>
    <MixedAssignment occurrences="6">
      <code>$agent_data_bytes</code>
      <code>$agent_reply_bytes</code>
      <code>$agent_reply_data</code>
      <code>$length</code>
      <code>$temp</code>
      <code>$this-&gt;expected_bytes</code>
    </MixedAssignment>
    <MixedOperand occurrences="4">
      <code>$address</code>
      <code>$agent_data_bytes</code>
      <code>$agent_data_bytes</code>
      <code>$key_type</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="6">
      <code>$packet</code>
      <code>$packet</code>
      <code>unpack('N', $data)</code>
      <code>unpack('N', $this-&gt;readBytes(4))</code>
      <code>unpack('N', $this-&gt;readBytes(4))</code>
      <code>unpack('a*', $agent_reply_data)</code>
    </PossiblyFalseArgument>
    <PossiblyFalsePropertyAssignmentValue occurrences="1">
      <code>fsockopen('unix://' . $address, 0, $errno, $errstr)</code>
    </PossiblyFalsePropertyAssignmentValue>
    <PossiblyUnusedMethod occurrences="1">
      <code>startSSHForwarding</code>
    </PossiblyUnusedMethod>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>Agent</code>
    </PossiblyUnusedReturnValue>
    <UnusedVariable occurrences="1">
      <code>$comment</code>
    </UnusedVariable>
  </file>
  <file src="../phpseclib/System/SSH/Agent/Identity.php">
    <MixedArgument occurrences="2">
      <code>$length</code>
      <code>$signature_blob</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$length</code>
    </MixedAssignment>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="1">
      <code>self::$curveAliases[$this-&gt;key-&gt;getCurve()]</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="2">
      <code>$signature_blob</code>
      <code>$signature_blob</code>
    </MixedReturnStatement>
    <PossiblyFalseArgument occurrences="1">
      <code>unpack('N', $this-&gt;readBytes(4))</code>
    </PossiblyFalseArgument>
    <PossiblyInvalidArrayOffset occurrences="1">
      <code>self::$curveAliases[$this-&gt;key-&gt;getCurve()]</code>
    </PossiblyInvalidArrayOffset>
    <PossiblyUnusedMethod occurrences="4">
      <code>getCurve</code>
      <code>withHash</code>
      <code>withPadding</code>
      <code>withSignatureFormat</code>
    </PossiblyUnusedMethod>
    <PropertyNotSetInConstructor occurrences="2">
      <code>$key</code>
      <code>$key_blob</code>
    </PropertyNotSetInConstructor>
    <UnusedVariable occurrences="1">
      <code>$type</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Functional/Net/SFTPLargeFileTest.php">
    <PropertyNotSetInConstructor occurrences="3">
      <code>SFTPLargeFileTest</code>
      <code>SFTPLargeFileTest</code>
      <code>SFTPLargeFileTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SFTPLargeFileTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Functional/Net/SFTPStreamTest.php">
    <InvalidArgument occurrences="1">
      <code>$read</code>
    </InvalidArgument>
    <InvalidScalarArgument occurrences="1">
      <code>$this-&gt;sftp-&gt;pwd()</code>
    </InvalidScalarArgument>
    <MissingParamType occurrences="1">
      <code>$suffix</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$suffix</code>
    </MixedArgument>
    <PossiblyFalseArgument occurrences="5">
      <code>$dirs</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
      <code>$this-&gt;sftp-&gt;nlist()</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="3">
      <code>SFTPStreamTest</code>
      <code>SFTPStreamTest</code>
      <code>SFTPStreamTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SFTPStreamTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Functional/Net/SFTPTestCase.php">
    <MissingPropertyType occurrences="1">
      <code>$scratchDir</code>
    </MissingPropertyType>
    <MixedArgument occurrences="1">
      <code>$this-&gt;scratchDir</code>
    </MixedArgument>
    <RedundantConditionGivenDocblockType occurrences="2">
      <code>$this-&gt;sftp</code>
      <code>$this-&gt;sftp</code>
    </RedundantConditionGivenDocblockType>
  </file>
  <file src="../tests/Functional/Net/SFTPUserStoryTest.php">
    <InvalidScalarArgument occurrences="3">
      <code>SORT_ASC</code>
      <code>SORT_DESC</code>
      <code>SORT_DESC</code>
    </InvalidScalarArgument>
    <MissingParamType occurrences="1">
      <code>$length</code>
    </MissingParamType>
    <MissingPropertyType occurrences="3">
      <code>$buffer</code>
      <code>$exampleData</code>
      <code>$exampleDataLength</code>
    </MissingPropertyType>
    <MissingReturnType occurrences="34">
      <code>demoCallback</code>
      <code>testChDirOnFile</code>
      <code>testChDirScratch</code>
      <code>testChDirUpHome</code>
      <code>testChModOnFile</code>
      <code>testDeleteEmptyDir</code>
      <code>testDeleteRecursiveScratch</code>
      <code>testExecNlist</code>
      <code>testFileExistsIsFileIsDirDir</code>
      <code>testFileExistsIsFileIsDirFile</code>
      <code>testFileExistsIsFileIsDirFileNonexistent</code>
      <code>testLinkFile</code>
      <code>testMkDirScratch</code>
      <code>testPasswordLogin</code>
      <code>testPutSizeGetFile</code>
      <code>testPutSizeGetFileCallback</code>
      <code>testPwdHome</code>
      <code>testRawlistDisabledStatCache</code>
      <code>testReadableWritable</code>
      <code>testReadlink</code>
      <code>testResourceXfer</code>
      <code>testRmDirScratch</code>
      <code>testRmDirScratchNonexistent</code>
      <code>testSortOrder</code>
      <code>testStatLstatCache</code>
      <code>testStatOnCWD</code>
      <code>testStatOnDir</code>
      <code>testStatVsLstat</code>
      <code>testStatcacheFix</code>
      <code>testSymlink</code>
      <code>testTouch</code>
      <code>testTruncate</code>
      <code>testTruncateLargeFile</code>
      <code>testUploadOffsets</code>
    </MissingReturnType>
    <MixedArgument occurrences="9">
      <code>$file</code>
      <code>$length</code>
      <code>$sftp::SOURCE_CALLBACK</code>
      <code>$stat['gid']</code>
      <code>$stat['uid']</code>
      <code>self::$buffer</code>
      <code>self::$exampleData</code>
      <code>self::$exampleData</code>
      <code>self::$exampleDataLength - 100</code>
    </MixedArgument>
    <MixedAssignment occurrences="4">
      <code>$cur_size</code>
      <code>$file</code>
      <code>$last_size</code>
      <code>self::$buffer</code>
    </MixedAssignment>
    <MixedOperand occurrences="3">
      <code>self::$exampleData</code>
      <code>self::$exampleDataLength</code>
      <code>self::$exampleDataLength</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="3">
      <code>$fp</code>
      <code>$fp</code>
      <code>$fp</code>
    </PossiblyFalseArgument>
    <PossiblyFalseIterator occurrences="1">
      <code>$files</code>
    </PossiblyFalseIterator>
    <PossiblyInvalidArgument occurrences="4">
      <code>$pwd</code>
      <code>$pwd</code>
      <code>$sftp-&gt;pwd()</code>
      <code>$sftp-&gt;pwd()</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="14">
      <code>$stat2['gid']</code>
      <code>$stat2['uid']</code>
      <code>$stat['gid']</code>
      <code>$stat['gid']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['uid']</code>
      <code>$stat['uid']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyUndefinedStringArrayOffset occurrences="14">
      <code>$stat2['gid']</code>
      <code>$stat2['uid']</code>
      <code>$stat['gid']</code>
      <code>$stat['gid']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['type']</code>
      <code>$stat['uid']</code>
      <code>$stat['uid']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>SFTPUserStoryTest</code>
      <code>SFTPUserStoryTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SFTPUserStoryTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Functional/Net/SFTPWrongServerTest.php">
    <PropertyNotSetInConstructor occurrences="2">
      <code>SFTPWrongServerTest</code>
      <code>SFTPWrongServerTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SFTPWrongServerTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Functional/Net/SSH2AgentTest.php">
    <MissingParamType occurrences="1">
      <code>$args</code>
    </MissingParamType>
    <MissingReturnType occurrences="1">
      <code>testAgentForward</code>
    </MissingReturnType>
    <MixedArgument occurrences="2">
      <code>$ssh-&gt;exec("ssh " . $username . "@" . $hostname . ' \'whoami\'')</code>
      <code>$ssh-&gt;exec('whoami')</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$args['ssh']</code>
      <code>$args['ssh-agent']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="2">
      <code>$agent</code>
      <code>$ssh</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>exec</code>
      <code>exec</code>
      <code>startSSHForwarding</code>
    </MixedMethodCall>
    <PropertyNotSetInConstructor occurrences="2">
      <code>SSH2AgentTest</code>
      <code>SSH2AgentTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SSH2AgentTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Functional/Net/SSH2Test.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'stdClass'</code>
    </ArgumentTypeCoercion>
    <DeprecatedMethod occurrences="1">
      <code>setMethods</code>
    </DeprecatedMethod>
    <InvalidArgument occurrences="1">
      <code>[$callbackObject, 'callbackMethod']</code>
    </InvalidArgument>
    <PossiblyFalseArgument occurrences="1">
      <code>$ssh-&gt;getServerIdentification()</code>
    </PossiblyFalseArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$matches[1]</code>
      <code>$matches[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>SSH2Test</code>
      <code>SSH2Test</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SSH2Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/PhpseclibFunctionalTestCase.php">
    <MissingParamType occurrences="2">
      <code>$variable</code>
      <code>$variable</code>
    </MissingParamType>
    <MissingReturnType occurrences="1">
      <code>_getEnv</code>
    </MissingReturnType>
    <MixedInferredReturnType occurrences="1">
      <code>string</code>
    </MixedInferredReturnType>
    <MixedOperand occurrences="1">
      <code>$variable</code>
    </MixedOperand>
    <MixedReturnStatement occurrences="1">
      <code>$this-&gt;_getEnv($variable)</code>
    </MixedReturnStatement>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>null</code>
    </PossiblyUnusedReturnValue>
  </file>
  <file src="../tests/PhpseclibTestCase.php">
    <DeprecatedMethod occurrences="1">
      <code>parent::assertRegExp($pattern, $string, $message)</code>
    </DeprecatedMethod>
    <FalsableReturnStatement occurrences="1">
      <code>$filename</code>
    </FalsableReturnStatement>
    <InvalidArgument occurrences="2">
      <code>$haystack</code>
      <code>$haystack</code>
    </InvalidArgument>
    <InvalidFalsableReturnType occurrences="1">
      <code>string</code>
    </InvalidFalsableReturnType>
    <MissingParamType occurrences="10">
      <code>$actual</code>
      <code>$actual</code>
      <code>$actual</code>
      <code>$actual</code>
      <code>$expected</code>
      <code>$func</code>
      <code>$obj</code>
      <code>$obj</code>
      <code>$params</code>
      <code>$var</code>
    </MissingParamType>
    <MissingPropertyType occurrences="1">
      <code>$tempFilesToUnlinkOnTearDown</code>
    </MissingPropertyType>
    <MissingReturnType occurrences="2">
      <code>callFunc</code>
      <code>getVar</code>
    </MissingReturnType>
    <MixedArgument occurrences="10">
      <code>$expected</code>
      <code>$expected</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$func</code>
      <code>$obj</code>
      <code>$obj</code>
      <code>$params</code>
      <code>$value</code>
      <code>$var</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$this-&gt;tempFilesToUnlinkOnTearDown[$filename]</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="1">
      <code>$this-&gt;tempFilesToUnlinkOnTearDown[]</code>
    </MixedArrayAssignment>
    <MixedArrayOffset occurrences="1">
      <code>$this-&gt;tempFilesToUnlinkOnTearDown[$filename]</code>
    </MixedArrayOffset>
    <MixedAssignment occurrences="2">
      <code>$filename</code>
      <code>$value</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="5">
      <code>$filename</code>
      <code>$filename</code>
      <code>$filename</code>
      <code>$fp</code>
      <code>$fp</code>
    </PossiblyFalseArgument>
    <PossiblyUnusedReturnValue occurrences="1">
      <code>null</code>
    </PossiblyUnusedReturnValue>
  </file>
  <file src="../tests/PsalmBaselineTest.php">
    <PossiblyFalseArgument occurrences="1">
      <code>$baseline</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PsalmBaselineTest</code>
      <code>PsalmBaselineTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>PsalmBaselineTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/AES/EvalTest.php">
    <PropertyNotSetInConstructor occurrences="2">
      <code>EvalTest</code>
      <code>EvalTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>EvalTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/AES/OpenSSLTest.php">
    <PropertyNotSetInConstructor occurrences="2">
      <code>OpenSSLTest</code>
      <code>OpenSSLTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>OpenSSLTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/AES/PurePHPTest.php">
    <PropertyNotSetInConstructor occurrences="2">
      <code>PurePHPTest</code>
      <code>PurePHPTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>PurePHPTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/AES/TestCase.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'LengthException'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="11">
      <code>$aes</code>
      <code>$iv</code>
      <code>$key</code>
      <code>$mode</code>
      <code>$mode</code>
      <code>$mode</code>
      <code>$op</code>
      <code>$op</code>
      <code>$plaintext</code>
      <code>$test</code>
      <code>$test</code>
    </MissingParamType>
    <MissingPropertyType occurrences="1">
      <code>$engine</code>
    </MissingPropertyType>
    <MixedArgument occurrences="22">
      <code>$c1</code>
      <code>$c1</code>
      <code>$iv</code>
      <code>$key</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$mode</code>
      <code>$mode</code>
      <code>$mode</code>
      <code>$plaintext</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
      <code>$this-&gt;engine</code>
    </MixedArgument>
    <MixedAssignment occurrences="8">
      <code>$c1</code>
      <code>$c1</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$len</code>
      <code>$output</code>
      <code>$output</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="1">
      <code>getEngine</code>
    </MixedMethodCall>
    <MixedOperand occurrences="3">
      <code>$output</code>
      <code>$output</code>
      <code>$this-&gt;engine</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="32">
      <code>pack('H*', '00000000000000000000000000000000' . '00000000000000000000000000000000')</code>
      <code>pack('H*', '00000000000000000000000000000000')</code>
      <code>pack('H*', '00000000000000000000000000000000')</code>
      <code>pack('H*', '00000000000000000000000000000000')</code>
      <code>pack('H*', '00000000000000000000000000000000')</code>
      <code>pack('H*', '000000000000000000000000000000000000000000000000')</code>
      <code>pack('H*', '00d596e2c8189b2592fac358e7396ad2')</code>
      <code>pack('H*', '014730f80ac625fe84f026c60bfd547d')</code>
      <code>pack('H*', '0457bdb4a6712986688349a29eb82535')</code>
      <code>pack('H*', '0457bdb4a6712986688349a29eb82535')</code>
      <code>pack('H*', '0b24af36193ce4665f2825d7b4749c98')</code>
      <code>pack('H*', '1b077a6af4b7f98229de786d7516b639')</code>
      <code>pack('H*', '26aa49dcfe7629a8901a69a9914e6dfd')</code>
      <code>pack('H*', '2b7e151628aed2a6abf7158809cf4f3c762e7160')</code>
      <code>pack('H*', '2b7e151628aed2a6abf7158809cf4f3c762e7160')</code>
      <code>pack('H*', '3243f6a8885a308d313198a2e0370734')</code>
      <code>pack('H*', '3243f6a8885a308d313198a2e0370734')</code>
      <code>pack('H*', '51719783d3185a535bd75adc65071ce1')</code>
      <code>pack('H*', '58c8e00b2631686d54eab84b91f0aca1')</code>
      <code>pack('H*', '6a118a874519e64e9963798a503f1d35')</code>
      <code>pack('H*', '761c1fe41a18acf20d241650611d90f1')</code>
      <code>pack('H*', '8a560769d605868ad80d819bdba03771')</code>
      <code>pack('H*', '91fbef2d15a97816060bee1feaa49afe')</code>
      <code>pack('H*', '941a4773058224e1ef66d10e0a6ee782')</code>
      <code>pack('H*', '96ab5c2ff612d9dfaae8c31f30c42168')</code>
      <code>pack('H*', '9798c4640bad75c7c3227db910174e72')</code>
      <code>pack('H*', '9aa234ea7c750a8109a0f32d768b964e')</code>
      <code>pack('H*', '9c2d8842e5f48f57648205d39a239af1')</code>
      <code>pack('H*', 'b26aeb1874e47ca8358ff22378f09144')</code>
      <code>pack('H*', 'bff52510095f518ecca60af4205444bb')</code>
      <code>pack('H*', 'cb9fceec81286ca3e989bd979b0cb284')</code>
      <code>pack('H*', 'f34481ec3cc627bacd5dc3fb08f273e6')</code>
    </PossiblyFalseArgument>
    <PossiblyUnusedMethod occurrences="17">
      <code>continuousBufferBatteryCombosWithoutSingleCombos</code>
      <code>continuousBufferCombos</code>
      <code>testContinuousBuffer</code>
      <code>testContinuousBufferBattery</code>
      <code>testECBDecrypt</code>
      <code>testEncryptDecryptWithContinuousBuffer</code>
      <code>testGFSBox128</code>
      <code>testGFSBox192</code>
      <code>testGFSBox256</code>
      <code>testGetKeyLengthDefault</code>
      <code>testGetKeyLengthWith192BitKey</code>
      <code>testKeyPaddingAES</code>
      <code>testKeyPaddingRijndael</code>
      <code>testNoKey</code>
      <code>testNonContinuousBufferBattery</code>
      <code>testSetKeyLengthWithLargerKey</code>
      <code>testSetKeyLengthWithSmallerKey</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../tests/Unit/Crypt/BlowfishTest.php">
    <MissingParamType occurrences="4">
      <code>$engine</code>
      <code>$expected</code>
      <code>$key</code>
      <code>$plaintext</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$engine</code>
      <code>$key</code>
      <code>$plaintext</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>BlowfishTest</code>
      <code>BlowfishTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>BlowfishTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/ChaCha20Test.php">
    <MixedAssignment occurrences="3">
      <code>$actual</code>
      <code>$result</code>
      <code>$result</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="5">
      <code>$aad</code>
      <code>$key</code>
      <code>$nonce</code>
      <code>$nonce</code>
      <code>$nonce</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>ChaCha20Test</code>
      <code>ChaCha20Test</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>ChaCha20Test</code>
    </UnusedClass>
    <UnusedVariable occurrences="1">
      <code>$result</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Unit/Crypt/DHTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>$ourPriv</code>
    </ArgumentTypeCoercion>
    <ImplicitToStringCast occurrences="2">
      <code>$theirPub</code>
      <code>$theirPublic</code>
    </ImplicitToStringCast>
    <MixedArgument occurrences="13">
      <code>$alicePublic</code>
      <code>$alicePublic</code>
      <code>$alicePublic-&gt;toString('MontgomeryPublic')</code>
      <code>$alicePublic-&gt;toString('MontgomeryPublic')</code>
      <code>$bobPublic</code>
      <code>$bobPublic</code>
      <code>$bobPublic-&gt;toString('MontgomeryPublic')</code>
      <code>$bobPublic-&gt;toString('MontgomeryPublic')</code>
      <code>$key</code>
      <code>$key</code>
      <code>$secrets[$i]</code>
      <code>$theirPub</code>
      <code>$theirPublic</code>
    </MixedArgument>
    <MixedAssignment occurrences="11">
      <code>$alicePublic</code>
      <code>$alicePublic</code>
      <code>$bobPublic</code>
      <code>$bobPublic</code>
      <code>$key</code>
      <code>$key</code>
      <code>$ourEphemeralPublic</code>
      <code>$secrets[$i]</code>
      <code>$secrets[$i]</code>
      <code>$theirPub</code>
      <code>$theirPublic</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="5">
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="1">
      <code>$ourEphemeralPublic-&gt;toString('MontgomeryPublic')</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="4">
      <code>pack('H*', '5dab087e624a8a4b79e17f8b83800ee66f3bb1292618b6fd1c2f8b27ff88e0eb')</code>
      <code>pack('H*', '77076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c2a')</code>
    </PossiblyFalseArgument>
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$secrets[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>DHTest</code>
      <code>DHTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="4">
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>DHTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/DSA/CreateKeyTest.php">
    <InvalidArgument occurrences="2">
      <code>160</code>
      <code>512</code>
    </InvalidArgument>
    <MissingParamType occurrences="1">
      <code>$params</code>
    </MissingParamType>
    <MissingReturnType occurrences="1">
      <code>testCreateParameters</code>
    </MissingReturnType>
    <MixedArgument occurrences="1">
      <code>$params</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>CreateKeyTest</code>
      <code>CreateKeyTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>CreateKeyTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/DSA/LoadDSAKeyTest.php">
    <MixedAssignment occurrences="1">
      <code>$sig</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </MixedMethodCall>
    <PossiblyNullArgument occurrences="2">
      <code>preg_replace('#\s#', '', $key)</code>
      <code>preg_replace('#\s#', '', $pkcs8)</code>
    </PossiblyNullArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>LoadDSAKeyTest</code>
      <code>LoadDSAKeyTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="2">
      <code>sign</code>
      <code>verify</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>LoadDSAKeyTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/DSA/SignatureTest.php">
    <MixedAssignment occurrences="13">
      <code>$dsa</code>
      <code>$dsa</code>
      <code>$dsa</code>
      <code>$dsa</code>
      <code>$dsa</code>
      <code>$dsa</code>
      <code>$dsa</code>
      <code>$public</code>
      <code>$public</code>
      <code>$signature</code>
      <code>$signature</code>
      <code>$signature1</code>
      <code>$signature2</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="19">
      <code>getPublicKey</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>withHash</code>
      <code>withHash</code>
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
    </MixedMethodCall>
    <PropertyNotSetInConstructor occurrences="2">
      <code>SignatureTest</code>
      <code>SignatureTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="4">
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>SignatureTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/EC/CurveTest.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$class</code>
      <code>'phpseclib3\Crypt\EC\Formats\Keys\PKCS8'</code>
    </ArgumentTypeCoercion>
    <InvalidStringClass occurrences="2">
      <code>new $class()</code>
      <code>new $class()</code>
    </InvalidStringClass>
    <MissingParamType occurrences="6">
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
    </MissingParamType>
    <MixedArgument occurrences="19">
      <code>$name</code>
      <code>$name</code>
      <code>$name</code>
      <code>$sig = $privateKey-&gt;sign("\x03")</code>
      <code>$sig = $privateKey-&gt;sign("\x03")</code>
      <code>$sig = $privateKey-&gt;sign("\x72")</code>
      <code>$sig = $privateKey-&gt;sign("\xaf\x82")</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign($message)</code>
      <code>$sig = $privateKey-&gt;sign('')</code>
      <code>$sig = $privateKey-&gt;sign('')</code>
    </MixedArgument>
    <MixedAssignment occurrences="34">
      <code>$QA</code>
      <code>$curve</code>
      <code>$dA</code>
      <code>$oid</code>
      <code>$privateKey</code>
      <code>$public</code>
      <code>$publicKey</code>
      <code>$publickey</code>
      <code>$publickey</code>
      <code>$publickey</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$signature</code>
      <code>$signature1</code>
      <code>$signature1</code>
      <code>$signature2</code>
      <code>$signature2</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="16">
      <code>createRandomMultiplier</code>
      <code>getBasePoint</code>
      <code>getBasePoint</code>
      <code>multiplyPoint</code>
      <code>sign</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verifyPoint</code>
      <code>verifyPoint</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$name</code>
      <code>$name</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="22">
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="16">
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
    </PossiblyFalseOperand>
    <PropertyNotSetInConstructor occurrences="2">
      <code>CurveTest</code>
      <code>CurveTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="39">
      <code>getPublicKey</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>withContext</code>
      <code>withContext</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>CurveTest</code>
    </UnusedClass>
    <UnusedForeachValue occurrences="1">
      <code>$oid</code>
    </UnusedForeachValue>
  </file>
  <file src="../tests/Unit/Crypt/EC/Ed448PrivateKey.php">
    <MissingParamType occurrences="1">
      <code>$key</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$components['dA']</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$components['dA']</code>
      <code>$components['secret']</code>
    </MixedAssignment>
    <PossiblyUndefinedStringArrayOffset occurrences="2">
      <code>$arr['dA']</code>
      <code>$arr['secret']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PossiblyUnusedMethod occurrences="1">
      <code>load</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../tests/Unit/Crypt/EC/Ed448PublicKey.php">
    <MissingParamType occurrences="1">
      <code>$key</code>
    </MissingParamType>
    <PossiblyUnusedMethod occurrences="1">
      <code>load</code>
    </PossiblyUnusedMethod>
  </file>
  <file src="../tests/Unit/Crypt/EC/KeyTest.php">
    <ArgumentTypeCoercion occurrences="2">
      <code>$key-&gt;toString('XML')</code>
      <code>'RangeException'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="3">
      <code>$actual</code>
      <code>$expected</code>
      <code>$message</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$actual</code>
      <code>$expected</code>
      <code>$message</code>
    </MixedArgument>
    <MixedAssignment occurrences="5">
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig</code>
      <code>$sig2</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="5">
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>sign</code>
      <code>verify</code>
    </MixedMethodCall>
    <PossiblyFalseArgument occurrences="1">
      <code>$raw</code>
    </PossiblyFalseArgument>
    <PossiblyNullOperand occurrences="2">
      <code>$keyWithoutWS</code>
      <code>$keyWithoutWS</code>
    </PossiblyNullOperand>
    <PropertyNotSetInConstructor occurrences="2">
      <code>KeyTest</code>
      <code>KeyTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="38">
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getCurve</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>sign</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>withSignatureFormat</code>
      <code>withSignatureFormat</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>KeyTest</code>
    </UnusedClass>
    <UnusedVariable occurrences="1">
      <code>$private</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Unit/Crypt/GCMTest.php">
    <MissingParamType occurrences="14">
      <code>$aad</code>
      <code>$aad</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$engine</code>
      <code>$engine</code>
      <code>$key</code>
      <code>$key</code>
      <code>$nonce</code>
      <code>$nonce</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$tag</code>
      <code>$tag</code>
    </MissingParamType>
    <MixedArgument occurrences="14">
      <code>$aad</code>
      <code>$aad</code>
      <code>$ciphertext</code>
      <code>$ciphertext</code>
      <code>$engine</code>
      <code>$engine</code>
      <code>$key</code>
      <code>$key</code>
      <code>$nonce</code>
      <code>$nonce</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$tag</code>
      <code>$tag</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>GCMTest</code>
      <code>GCMTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>GCMTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/HashTest.php">
    <MissingParamType occurrences="27">
      <code>$algo</code>
      <code>$algorithm</code>
      <code>$error</code>
      <code>$expected</code>
      <code>$expected</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$length</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$tag</code>
    </MissingParamType>
    <MixedArgument occurrences="16">
      <code>$algo</code>
      <code>$algorithm</code>
      <code>$error</code>
      <code>$expected</code>
      <code>$expected</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
      <code>$key</code>
      <code>$key</code>
      <code>$message</code>
      <code>$message</code>
      <code>$message</code>
      <code>$result</code>
      <code>$result</code>
    </MixedArgument>
    <MixedOperand occurrences="3">
      <code>$hash</code>
      <code>$hash</code>
      <code>$hash</code>
    </MixedOperand>
    <PropertyNotSetInConstructor occurrences="2">
      <code>HashTest</code>
      <code>HashTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>HashTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/RC2Test.php">
    <MissingParamType occurrences="5">
      <code>$ciphertext</code>
      <code>$engine</code>
      <code>$key</code>
      <code>$keyLen</code>
      <code>$plaintext</code>
    </MissingParamType>
    <MissingPropertyType occurrences="1">
      <code>$engines</code>
    </MissingPropertyType>
    <MixedArgument occurrences="2">
      <code>$engine</code>
      <code>$keyLen</code>
    </MixedArgument>
    <MixedAssignment occurrences="1">
      <code>$engine</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="3">
      <code>pack('H*', $ciphertext)</code>
      <code>pack('H*', $key)</code>
      <code>pack('H*', $plaintext)</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>RC2Test</code>
      <code>RC2Test</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>RC2Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/RC4Test.php">
    <MissingParamType occurrences="4">
      <code>$engine</code>
      <code>$expected</code>
      <code>$key</code>
      <code>$offset</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$engine</code>
      <code>$key</code>
      <code>$offset + 16</code>
    </MixedArgument>
    <MixedOperand occurrences="1">
      <code>$offset</code>
    </MixedOperand>
    <PropertyNotSetInConstructor occurrences="2">
      <code>RC4Test</code>
      <code>RC4Test</code>
    </PropertyNotSetInConstructor>
    <TooManyArguments occurrences="2">
      <code>new RC4(RC4::MODE_CTR)</code>
      <code>new RC4(RC4::MODE_CTR)</code>
    </TooManyArguments>
    <UnusedClass occurrences="1">
      <code>RC4Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/RSA/CreateKeyTest.php">
    <MissingParamType occurrences="1">
      <code>$args</code>
    </MissingParamType>
    <MixedArgument occurrences="3">
      <code>$r['primes']</code>
      <code>$r['primes']</code>
      <code>$rsa-&gt;getPublicKey()-&gt;toString('PKCS1')</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="2">
      <code>$privatekey</code>
      <code>$publickey</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="6">
      <code>$actual</code>
      <code>$ciphertext</code>
      <code>$plaintext</code>
      <code>$prime</code>
      <code>$signature</code>
      <code>[$publickey, $privatekey]</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="4">
      <code>decrypt</code>
      <code>encrypt</code>
      <code>getLength</code>
      <code>toString</code>
    </MixedMethodCall>
    <PossiblyUndefinedStringArrayOffset occurrences="3">
      <code>$r['primes']</code>
      <code>$r['primes']</code>
      <code>PKCS8::extractEncryptionAlgorithm($key)['algorithm']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>CreateKeyTest</code>
      <code>CreateKeyTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="3">
      <code>getPublicKey</code>
      <code>sign</code>
      <code>verify</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>CreateKeyTest</code>
    </UnusedClass>
    <UnusedVariable occurrences="1">
      <code>$i</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Unit/Crypt/RSA/LoadKeyTest.php">
    <InvalidCast occurrences="1">
      <code>$key</code>
    </InvalidCast>
    <MissingParamType occurrences="2">
      <code>$key</code>
      <code>$pass</code>
    </MissingParamType>
    <MixedArgument occurrences="7">
      <code>$key</code>
      <code>$key</code>
      <code>$pass</code>
      <code>$r['meta']['algorithm']</code>
      <code>$r['meta']['cipher']</code>
      <code>$r['meta']['prf']</code>
      <code>$rsa-&gt;sign('zzzz')</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="12">
      <code>$key['d']</code>
      <code>$key['e']</code>
      <code>$key['n']</code>
      <code>$key['primes']</code>
      <code>$key['primes']</code>
      <code>$r2['meta']['algorithm']</code>
      <code>$r2['meta']['cipher']</code>
      <code>$r2['meta']['prf']</code>
      <code>$r['meta']['algorithm']</code>
      <code>$r['meta']['algorithm']</code>
      <code>$r['meta']['cipher']</code>
      <code>$r['meta']['prf']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="6">
      <code>$key</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa2</code>
      <code>$sig</code>
      <code>$sig</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="3">
      <code>sign</code>
      <code>toString</code>
      <code>withPadding</code>
    </MixedMethodCall>
    <PossiblyFalseArgument occurrences="3">
      <code>$key</code>
      <code>$raw</code>
      <code>hex2bin($key)</code>
    </PossiblyFalseArgument>
    <PossiblyInvalidArgument occurrences="1">
      <code>$ciphertext</code>
    </PossiblyInvalidArgument>
    <PossiblyInvalidArrayAccess occurrences="1">
      <code>$raw['comment']</code>
    </PossiblyInvalidArrayAccess>
    <PossiblyNullArgument occurrences="5">
      <code>$key</code>
      <code>$key</code>
      <code>$orig</code>
      <code>preg_replace('#\s#', '', $key)</code>
      <code>preg_replace('#\s#', '', $newkey)</code>
    </PossiblyNullArgument>
    <PossiblyNullOperand occurrences="1">
      <code>$keyWithoutWS</code>
    </PossiblyNullOperand>
    <PossiblyUndefinedStringArrayOffset occurrences="13">
      <code>$r2['MGFHash']</code>
      <code>$r2['hash']</code>
      <code>$r2['meta']</code>
      <code>$r2['meta']</code>
      <code>$r2['meta']</code>
      <code>$r2['saltLength']</code>
      <code>$r['MGFHash']</code>
      <code>$r['hash']</code>
      <code>$r['meta']</code>
      <code>$r['meta']['algorithm']</code>
      <code>$r['meta']['prf']</code>
      <code>$r['saltLength']</code>
      <code>$raw['comment']</code>
    </PossiblyUndefinedStringArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>LoadKeyTest</code>
      <code>LoadKeyTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="9">
      <code>asPrivateKey</code>
      <code>sign</code>
      <code>sign</code>
      <code>verify</code>
      <code>verify</code>
      <code>withMGFHash</code>
      <code>withPassword</code>
      <code>withPassword</code>
      <code>withPassword</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>LoadKeyTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/RSA/ModeTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'LengthException'</code>
    </ArgumentTypeCoercion>
    <MixedArgument occurrences="1">
      <code>$rsa-&gt;decrypt($result)</code>
    </MixedArgument>
    <MixedAssignment occurrences="12">
      <code>$ciphertext</code>
      <code>$result</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
      <code>$rsa</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="25">
      <code>decrypt</code>
      <code>decrypt</code>
      <code>encrypt</code>
      <code>encrypt</code>
      <code>getHash</code>
      <code>getHash</code>
      <code>getMGFHash</code>
      <code>getMGFHash</code>
      <code>getPublicKey</code>
      <code>getSaltLength</code>
      <code>getSaltLength</code>
      <code>sign</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>verify</code>
      <code>withHash</code>
      <code>withHash</code>
      <code>withMGFHash</code>
      <code>withMGFHash</code>
      <code>withMGFHash</code>
      <code>withMGFHash</code>
      <code>withPadding</code>
      <code>withSaltLength</code>
    </MixedMethodCall>
    <PossiblyFalseArgument occurrences="2">
      <code>base64_decode('158753FF2AF4D1E5BBAB574D5AE6B54D')</code>
      <code>base64_decode('272435F22706FA96DE26E980D22DFF67')</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>ModeTest</code>
      <code>ModeTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="12">
      <code>decrypt</code>
      <code>encrypt</code>
      <code>getPublicKey</code>
      <code>withLabel</code>
      <code>withLabel</code>
      <code>withMGFHash</code>
      <code>withPadding</code>
      <code>withPadding</code>
      <code>withPadding</code>
      <code>withSaltLength</code>
      <code>withSaltLength</code>
      <code>withSaltLength</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>ModeTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/RandomTest.php">
    <MissingParamType occurrences="2">
      <code>$length</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$length</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>RandomTest</code>
      <code>RandomTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>RandomTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/Salsa20Test.php">
    <MissingParamType occurrences="4">
      <code>$engine</code>
      <code>$expected</code>
      <code>$iv</code>
      <code>$key</code>
    </MissingParamType>
    <MixedArgument occurrences="2">
      <code>$engine</code>
      <code>$key</code>
    </MixedArgument>
    <PossiblyFalseArgument occurrences="2">
      <code>pack('H*', $iv)</code>
      <code>pack('H*', $key)</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>Salsa20Test</code>
      <code>Salsa20Test</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>Salsa20Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/TripleDESTest.php">
    <MissingParamType occurrences="9">
      <code>$engine</code>
      <code>$engine</code>
      <code>$expected</code>
      <code>$expected</code>
      <code>$iv</code>
      <code>$key</code>
      <code>$key</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
    </MissingParamType>
    <MissingPropertyType occurrences="1">
      <code>$engines</code>
    </MissingPropertyType>
    <MixedArgument occurrences="8">
      <code>$engine</code>
      <code>$engine</code>
      <code>$engine</code>
      <code>$iv</code>
      <code>$key</code>
      <code>$key</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$engine</code>
      <code>$engine</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="1">
      <code>base64_decode($key)</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>TripleDESTest</code>
      <code>TripleDESTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>TripleDESTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Crypt/TwofishTest.php">
    <PossiblyFalseArgument occurrences="9">
      <code>$key</code>
      <code>$key</code>
      <code>$key</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
      <code>$plaintext</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>TwofishTest</code>
      <code>TwofishTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>TwofishTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/File/ANSITest.php">
    <PossiblyUndefinedIntArrayOffset occurrences="1">
      <code>$lines[22]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>ANSITest</code>
      <code>ANSITest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>ANSITest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/File/ASN1Test.php">
    <MixedArgument occurrences="7">
      <code>$a[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content'][1]['content'][0]['content']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="4">
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
    </MixedArrayAccess>
    <PossiblyFalseArgument occurrences="17">
      <code>$a</code>
      <code>$data</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$em</code>
      <code>$orig</code>
      <code>base64_decode($str)</code>
      <code>base64_decode($str)</code>
      <code>base64_decode($str)</code>
      <code>base64_decode('MBaAFJtUo7c00HsI5EPZ4bkICfkOY2Pv')</code>
      <code>file_get_contents(dirname(__FILE__) . '/ASN1/FE.pdf.p7m')</code>
    </PossiblyFalseArgument>
    <PossiblyFalseOperand occurrences="1">
      <code>base64_decode('MD6gJQYKKwYBBAGCNxQCA6AXDBVvZmZpY2VAY2VydGRpZ2l0YWwucm+BFW9mZmljZUBjZXJ0ZGlnaXRhbC5ybw==')</code>
    </PossiblyFalseOperand>
    <PossiblyNullArgument occurrences="7">
      <code>$a[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content']</code>
      <code>$decoded[0]['content'][1]['content'][0]['content']</code>
    </PossiblyNullArgument>
    <PossiblyNullArrayAccess occurrences="8">
      <code>$a[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </PossiblyNullArrayAccess>
    <PossiblyUndefinedIntArrayOffset occurrences="8">
      <code>$a[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
      <code>$decoded[0]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>ASN1Test</code>
      <code>ASN1Test</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>ASN1Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/File/X509/CRLTest.php">
    <InvalidArgument occurrences="1">
      <code>$CAPubKey</code>
    </InvalidArgument>
    <MixedArgument occurrences="4">
      <code>$r['signatureAlgorithm']</code>
      <code>$result</code>
      <code>$x509-&gt;signCRL($CAIssuer, $x509)</code>
      <code>$x509-&gt;signCRL($CAIssuer, new X509())</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$r['signatureAlgorithm']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="3">
      <code>$crl</code>
      <code>$r</code>
      <code>$result</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="2">
      <code>$CA</code>
      <code>$test</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>CRLTest</code>
      <code>CRLTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>CRLTest</code>
    </UnusedClass>
    <UnusedVariable occurrences="1">
      <code>$crl</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Unit/File/X509/CSRTest.php">
    <MixedArgument occurrences="3">
      <code>$rsa</code>
      <code>$x509-&gt;signCSR()</code>
      <code>$x509-&gt;signCSR()</code>
    </MixedArgument>
    <MixedAssignment occurrences="4">
      <code>$csr</code>
      <code>$csr</code>
      <code>$rsa</code>
      <code>$spkac</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="5">
      <code>getPadding</code>
      <code>getPadding</code>
      <code>getPadding</code>
      <code>getPadding</code>
      <code>withHash</code>
    </MixedMethodCall>
    <MixedOperand occurrences="4">
      <code>$x509-&gt;getPublicKey()-&gt;getPadding()</code>
      <code>$x509-&gt;getPublicKey()-&gt;getPadding()</code>
      <code>$x509-&gt;getPublicKey()-&gt;getPadding()</code>
      <code>$x509-&gt;getPublicKey()-&gt;getPadding()</code>
    </MixedOperand>
    <PossiblyFalseArgument occurrences="2">
      <code>$csr</code>
      <code>$x509-&gt;saveCSR($x509-&gt;signCSR(), X509::FORMAT_DER)</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>CSRTest</code>
      <code>CSRTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="1">
      <code>withPadding</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>CSRTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/File/X509/SPKACTest.php">
    <InvalidArgument occurrences="2">
      <code>$privatekey</code>
      <code>$privatekey</code>
    </InvalidArgument>
    <MixedArgument occurrences="3">
      <code>$spkac</code>
      <code>$spkac</code>
      <code>$spkac</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="1">
      <code>$spkac['publicKeyAndChallenge']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="1">
      <code>$spkac['publicKeyAndChallenge']</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="6">
      <code>$pubKey</code>
      <code>$spkac</code>
      <code>$spkac</code>
      <code>$spkac</code>
      <code>$spkac</code>
      <code>$spkac</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="1">
      <code>$x509-&gt;saveSPKAC($spkac)</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>SPKACTest</code>
      <code>SPKACTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SPKACTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/File/X509/X509ExtensionTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'phpseclib3\Math\BigInteger'</code>
    </ArgumentTypeCoercion>
    <InvalidArgument occurrences="1">
      <code>$publicKey</code>
    </InvalidArgument>
    <MixedArgument occurrences="3">
      <code>$authority-&gt;sign($issuer, $subject)</code>
      <code>$result</code>
      <code>$subjectKey</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="9">
      <code>$customExtensionDecodedData['list']</code>
      <code>$customExtensionDecodedData['name']</code>
      <code>$customExtensionDecodedData['num']</code>
      <code>$customExtensionDecodedData['num']</code>
      <code>$customExtensionDecodedData['toggle']</code>
      <code>$decodedData['tbsCertificate']</code>
      <code>$extension['extnId']</code>
      <code>$extension['extnValue']</code>
      <code>$loader-&gt;loadX509($cert)['tbsCertificate']</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="5">
      <code>$customExtensionDecodedData</code>
      <code>$decodedData</code>
      <code>$extension</code>
      <code>$result</code>
      <code>$subjectKey</code>
    </MixedAssignment>
    <PossiblyFalseArgument occurrences="2">
      <code>$cert</code>
      <code>$certificate</code>
    </PossiblyFalseArgument>
    <PossiblyNullArrayAccess occurrences="5">
      <code>$customExtensionDecodedData['list']</code>
      <code>$customExtensionDecodedData['name']</code>
      <code>$customExtensionDecodedData['num']</code>
      <code>$customExtensionDecodedData['num']</code>
      <code>$customExtensionDecodedData['toggle']</code>
    </PossiblyNullArrayAccess>
    <PropertyNotSetInConstructor occurrences="2">
      <code>X509ExtensionTest</code>
      <code>X509ExtensionTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>X509ExtensionTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/File/X509/X509Test.php">
    <InvalidArgument occurrences="5">
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$private</code>
      <code>$privatekey</code>
    </InvalidArgument>
    <MixedArgument occurrences="27">
      <code>$cakey</code>
      <code>$cert</code>
      <code>$cert['signatureAlgorithm']</code>
      <code>$cert['tbsCertificate']['signature']</code>
      <code>$cert['tbsCertificate']['subjectPublicKeyInfo']['algorithm']</code>
      <code>$crt</code>
      <code>$decoded</code>
      <code>$newcert-&gt;sign($ca, $oldcert)</code>
      <code>$privKey</code>
      <code>$private</code>
      <code>$private-&gt;getPublicKey()</code>
      <code>$pubKey</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$publickey</code>
      <code>$r</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['tbsCertificate']['signature']</code>
      <code>$r['tbsCertificate']['subjectPublicKeyInfo']['algorithm']</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result['tbsCertificate']['extensions']</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="37">
      <code>$cert['signatureAlgorithm']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$cert['tbsCertificate']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['signatureAlgorithm']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$r['tbsCertificate']</code>
      <code>$result['tbsCertificate']</code>
    </MixedArrayAccess>
    <MixedArrayAssignment occurrences="1">
      <code>$cert['tbsCertificate']</code>
    </MixedArrayAssignment>
    <MixedAssignment occurrences="38">
      <code>$authorityKeyIdentifier</code>
      <code>$authorityKeyIdentifier</code>
      <code>$cakey</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$cert</code>
      <code>$crt</code>
      <code>$decoded</code>
      <code>$privKey</code>
      <code>$private</code>
      <code>$pubKey</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$public</code>
      <code>$publickey</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
    </MixedAssignment>
    <MixedMethodCall occurrences="5">
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>withHash</code>
      <code>withHash</code>
      <code>withHash</code>
    </MixedMethodCall>
    <PossiblyFalseArgument occurrences="10">
      <code>$a</code>
      <code>$cert</code>
      <code>$newcert-&gt;saveX509($newcert-&gt;sign($ca, $oldcert))</code>
      <code>$r</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$result</code>
      <code>$x509-&gt;saveX509($cert)</code>
      <code>$x509-&gt;saveX509($decoded)</code>
    </PossiblyFalseArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>X509Test</code>
      <code>X509Test</code>
    </PropertyNotSetInConstructor>
    <UndefinedMethod occurrences="8">
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>getPublicKey</code>
      <code>withPadding</code>
      <code>withPadding</code>
      <code>withPadding</code>
    </UndefinedMethod>
    <UnusedClass occurrences="1">
      <code>X509Test</code>
    </UnusedClass>
    <UnusedVariable occurrences="1">
      <code>$cert</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Unit/Math/BigInteger/BCMathTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'DefaultEngine'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$base</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>BCMathTest</code>
      <code>BCMathTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedClass occurrences="1">
      <code>'DefaultEngine'</code>
    </UndefinedClass>
    <UnusedClass occurrences="1">
      <code>BCMathTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Math/BigInteger/DefaultTest.php">
    <MissingParamType occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>DefaultTest</code>
      <code>DefaultTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>DefaultTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Math/BigInteger/GMPTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'DefaultEngine'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$base</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>GMPTest</code>
      <code>GMPTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedClass occurrences="1">
      <code>'DefaultEngine'</code>
    </UndefinedClass>
    <UnusedClass occurrences="1">
      <code>GMPTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Math/BigInteger/PHP32Test.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'DefaultEngine'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$base</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PHP32Test</code>
      <code>PHP32Test</code>
    </PropertyNotSetInConstructor>
    <UndefinedClass occurrences="1">
      <code>'DefaultEngine'</code>
    </UndefinedClass>
    <UnusedClass occurrences="1">
      <code>PHP32Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Math/BigInteger/PHP64OpenSSLTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'OpenSSL'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$base</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PHP64OpenSSLTest</code>
      <code>PHP64OpenSSLTest</code>
    </PropertyNotSetInConstructor>
    <UndefinedClass occurrences="1">
      <code>'OpenSSL'</code>
    </UndefinedClass>
    <UnusedClass occurrences="1">
      <code>PHP64OpenSSLTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Math/BigInteger/PHP64Test.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'DefaultEngine'</code>
    </ArgumentTypeCoercion>
    <MissingParamType occurrences="2">
      <code>$base</code>
      <code>$x</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$base</code>
    </MixedArgument>
    <PropertyNotSetInConstructor occurrences="2">
      <code>PHP64Test</code>
      <code>PHP64Test</code>
    </PropertyNotSetInConstructor>
    <UndefinedClass occurrences="1">
      <code>'DefaultEngine'</code>
    </UndefinedClass>
    <UnusedClass occurrences="1">
      <code>PHP64Test</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Math/BigInteger/TestCase.php">
    <MixedArgument occurrences="1">
      <code>$r</code>
    </MixedArgument>
    <MixedArrayAccess occurrences="11">
      <code>$arr['gcd']</code>
      <code>$arr['x']</code>
      <code>$arr['y']</code>
      <code>$q</code>
      <code>$q</code>
      <code>$q</code>
      <code>$q</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
      <code>$r</code>
    </MixedArrayAccess>
    <MixedAssignment occurrences="115">
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$a</code>
      <code>$alicePrivate</code>
      <code>$alicePublic</code>
      <code>$aliceShared</code>
      <code>$arr</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$b</code>
      <code>$bigInteger</code>
      <code>$bigInteger</code>
      <code>$bigInteger</code>
      <code>$bigInteger</code>
      <code>$bigInteger</code>
      <code>$bigInteger</code>
      <code>$bobPrivate</code>
      <code>$bobPublic</code>
      <code>$bobShared</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$c</code>
      <code>$class</code>
      <code>$class</code>
      <code>$class</code>
      <code>$class</code>
      <code>$d</code>
      <code>$d</code>
      <code>$d</code>
      <code>$e</code>
      <code>$generator</code>
      <code>$max</code>
      <code>$max</code>
      <code>$max</code>
      <code>$min</code>
      <code>$min</code>
      <code>$min</code>
      <code>$n</code>
      <code>$n</code>
      <code>$num</code>
      <code>$prime</code>
      <code>$prime</code>
      <code>$r</code>
      <code>$rand1</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$temp</code>
      <code>$three</code>
      <code>$two</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x</code>
      <code>$x2</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$y</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z</code>
      <code>$z</code>
      <code>[$q, $r]</code>
      <code>[$q, $r]</code>
      <code>[$q, $r]</code>
      <code>[$q, $r]</code>
    </MixedAssignment>
    <MixedClone occurrences="2">
      <code>clone $a</code>
      <code>clone $x</code>
    </MixedClone>
    <MixedMethodCall occurrences="109">
      <code>$class::max($max, $min)</code>
      <code>$class::max($min, $max)</code>
      <code>$class::min($max, $min)</code>
      <code>$class::min($min, $max)</code>
      <code>$class::randomPrime(128)</code>
      <code>$class::randomRange($min, $max)</code>
      <code>abs</code>
      <code>add</code>
      <code>add</code>
      <code>bitwise_AND</code>
      <code>bitwise_LeftShift</code>
      <code>bitwise_NOT</code>
      <code>bitwise_OR</code>
      <code>bitwise_OR</code>
      <code>bitwise_OR</code>
      <code>bitwise_RightShift</code>
      <code>bitwise_RightShift</code>
      <code>bitwise_RightShift</code>
      <code>bitwise_XOR</code>
      <code>bitwise_not</code>
      <code>bitwise_xor</code>
      <code>bitwise_xor</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>compare</code>
      <code>divide</code>
      <code>divide</code>
      <code>divide</code>
      <code>divide</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>equals</code>
      <code>extendedGCD</code>
      <code>gcd</code>
      <code>getLength</code>
      <code>getPrecision</code>
      <code>getPrecision</code>
      <code>getPrecision</code>
      <code>getPrecision</code>
      <code>modInverse</code>
      <code>modPow</code>
      <code>modPow</code>
      <code>modPow</code>
      <code>modPow</code>
      <code>modPow</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>multiply</code>
      <code>pow</code>
      <code>pow</code>
      <code>powMod</code>
      <code>root</code>
      <code>root</code>
      <code>setPrecision</code>
      <code>setPrecision</code>
      <code>subtract</code>
      <code>toBits</code>
      <code>toBits</code>
      <code>toBits</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toBytes</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toHex</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
      <code>toString</code>
    </MixedMethodCall>
    <MixedOperand occurrences="2">
      <code>$a-&gt;toString()</code>
      <code>$b-&gt;toString()</code>
    </MixedOperand>
    <PossiblyUnusedMethod occurrences="41">
      <code>test48ToHex</code>
      <code>testAbs</code>
      <code>testAdd</code>
      <code>testBitwiseAND</code>
      <code>testBitwiseLeftShift</code>
      <code>testBitwiseNOT</code>
      <code>testBitwiseOR</code>
      <code>testBitwiseRightShift</code>
      <code>testBitwiseXOR</code>
      <code>testClone</code>
      <code>testCompare</code>
      <code>testConstructorBase10</code>
      <code>testConstructorBase16</code>
      <code>testConstructorBase2</code>
      <code>testConstructorBase256</code>
      <code>testDebugInfo</code>
      <code>testDiffieHellmanKeyAgreement</code>
      <code>testDivide</code>
      <code>testEquals</code>
      <code>testExtendedGCD</code>
      <code>testGCD</code>
      <code>testMax</code>
      <code>testMin</code>
      <code>testModInverse</code>
      <code>testModPow</code>
      <code>testMultiply</code>
      <code>testNegativePrecision</code>
      <code>testPow</code>
      <code>testPrecision</code>
      <code>testRandomPrime</code>
      <code>testRandomTwoArgument</code>
      <code>testRoot</code>
      <code>testSerializable</code>
      <code>testSlidingWindow</code>
      <code>testSubtract</code>
      <code>testToBits</code>
      <code>testToBytes</code>
      <code>testToBytesTwosCompliment</code>
      <code>testToHex</code>
      <code>testZeroBase10</code>
      <code>testZeros</code>
    </PossiblyUnusedMethod>
    <UndefinedMethod occurrences="102">
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>getInstance</code>
      <code>static::getStaticClass()</code>
      <code>static::getStaticClass()</code>
      <code>static::getStaticClass()</code>
      <code>static::getStaticClass()</code>
    </UndefinedMethod>
    <UnusedVariable occurrences="1">
      <code>$q</code>
    </UnusedVariable>
  </file>
  <file src="../tests/Unit/Math/BigIntegerTest.php">
    <InvalidArgument occurrences="2">
      <code>$engine[0]</code>
      <code>$engine[1]</code>
    </InvalidArgument>
    <InvalidCast occurrences="1">
      <code>$engine[0]</code>
    </InvalidCast>
    <PossiblyUndefinedIntArrayOffset occurrences="2">
      <code>$engine[0]</code>
      <code>$engine[1]</code>
    </PossiblyUndefinedIntArrayOffset>
    <PropertyNotSetInConstructor occurrences="2">
      <code>BigIntegerTest</code>
      <code>BigIntegerTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>BigIntegerTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Net/SFTPStreamUnitTest.php">
    <PropertyNotSetInConstructor occurrences="2">
      <code>SFTPStreamUnitTest</code>
      <code>SFTPStreamUnitTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SFTPStreamUnitTest</code>
    </UnusedClass>
  </file>
  <file src="../tests/Unit/Net/SSH2UnitTest.php">
    <ArgumentTypeCoercion occurrences="1">
      <code>'phpseclib3\Net\SSH2'</code>
    </ArgumentTypeCoercion>
    <DeprecatedMethod occurrences="1">
      <code>setMethods</code>
    </DeprecatedMethod>
    <InvalidReturnStatement occurrences="1"/>
    <InvalidReturnType occurrences="1">
      <code>SSH2</code>
    </InvalidReturnType>
    <MissingParamType occurrences="1">
      <code>$expected</code>
    </MissingParamType>
    <MixedArgument occurrences="1">
      <code>$identifier</code>
    </MixedArgument>
    <MixedAssignment occurrences="2">
      <code>$identifier</code>
      <code>$result</code>
    </MixedAssignment>
    <PropertyNotSetInConstructor occurrences="2">
      <code>SSH2UnitTest</code>
      <code>SSH2UnitTest</code>
    </PropertyNotSetInConstructor>
    <UnusedClass occurrences="1">
      <code>SSH2UnitTest</code>
    </UnusedClass>
  </file>
</files>