You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2013/03/30 07:41:32 UTC
svn commit: r856582 [7/34] - in
/websites/production/commons/content/proper/commons-codec: ./ apidocs/
apidocs/org/apache/commons/codec/digest/
apidocs/src-html/org/apache/commons/codec/digest/ cobertura/
xref/org/apache/commons/codec/digest/
Modified: websites/production/commons/content/proper/commons-codec/cobertura/org.apache.commons.codec.binary.Base64.html
==============================================================================
--- websites/production/commons/content/proper/commons-codec/cobertura/org.apache.commons.codec.binary.Base64.html (original)
+++ websites/production/commons/content/proper/commons-codec/cobertura/org.apache.commons.codec.binary.Base64.html Sat Mar 30 06:41:30 2013
@@ -157,7 +157,7 @@
<td class="src"><pre class="src"> <span class="comment"> * @see <a href="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045 section 2.1</a></span></pre></td></tr>
<tr> <td class="numLine"> 70</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 71</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] CHUNK_SEPARATOR = {<span class="string">'\r'</span>, <span class="string">'\n'</span>};</pre></td></tr>
+<tr> <td class="numLineCover"> 71</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] CHUNK_SEPARATOR = {<span class="string">'\r'</span>, <span class="string">'\n'</span>};</pre></td></tr>
<tr> <td class="numLine"> 72</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 73</td> <td class="nbHits"> </td>
@@ -174,7 +174,7 @@
<td class="src"><pre class="src"> <span class="comment"> * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/</span></pre></td></tr>
<tr> <td class="numLine"> 79</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 80</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] STANDARD_ENCODE_TABLE = {</pre></td></tr>
+<tr> <td class="numLineCover"> 80</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] STANDARD_ENCODE_TABLE = {</pre></td></tr>
<tr> <td class="numLine"> 81</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">'A'</span>, <span class="string">'B'</span>, <span class="string">'C'</span>, <span class="string">'D'</span>, <span class="string">'E'</span>, <span class="string">'F'</span>, <span class="string">'G'</span>, <span class="string">'H'</span>, <span class="string">'I'</span>, <span class="string">'J'</span>, <span class="string">'K'</span>, <span class="string">'L'</span>, <span class="string">'M'</span>,</pre></td></tr>
<tr> <td class="numLine"> 82</td> <td class="nbHits"> </td>
@@ -199,7 +199,7 @@
<td class="src"><pre class="src"> <span class="comment"> * This table is only used when the Base64's mode is set to URL-SAFE.</span></pre></td></tr>
<tr> <td class="numLine"> 92</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 93</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] URL_SAFE_ENCODE_TABLE = {</pre></td></tr>
+<tr> <td class="numLineCover"> 93</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] URL_SAFE_ENCODE_TABLE = {</pre></td></tr>
<tr> <td class="numLine"> 94</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="string">'A'</span>, <span class="string">'B'</span>, <span class="string">'C'</span>, <span class="string">'D'</span>, <span class="string">'E'</span>, <span class="string">'F'</span>, <span class="string">'G'</span>, <span class="string">'H'</span>, <span class="string">'I'</span>, <span class="string">'J'</span>, <span class="string">'K'</span>, <span class="string">'L'</span>, <span class="string">'M'</span>,</pre></td></tr>
<tr> <td class="numLine"> 95</td> <td class="nbHits"> </td>
@@ -236,7 +236,7 @@
<td class="src"><pre class="src"> <span class="comment"> * http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/util/</span></pre></td></tr>
<tr> <td class="numLine"> 111</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] DECODE_TABLE = {</pre></td></tr>
+<tr> <td class="numLineCover"> 112</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] DECODE_TABLE = {</pre></td></tr>
<tr> <td class="numLine"> 113</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,</pre></td></tr>
<tr> <td class="numLine"> 114</td> <td class="nbHits"> </td>
@@ -291,7 +291,7 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 139</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// Only one decode table currently; keep for consistency with Base32 code</span></pre></td></tr>
-<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 33684</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] decodeTable = DECODE_TABLE;</pre></td></tr>
+<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 67368</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] decodeTable = DECODE_TABLE;</pre></td></tr>
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
@@ -350,8 +350,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> Base64() {</pre></td></tr>
-<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 1940</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 1940</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 3880</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 171</td> <td class="nbHitsCovered"> 3880</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 173</td> <td class="nbHits"> </td>
@@ -386,8 +386,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 188</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> Base64(<span class="keyword">final</span> <span class="keyword">boolean</span> urlSafe) {</pre></td></tr>
-<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 14704</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(MIME_CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe);</pre></td></tr>
-<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 14704</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 29408</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(MIME_CHUNK_SIZE, CHUNK_SEPARATOR, urlSafe);</pre></td></tr>
+<tr> <td class="numLineCover"> 190</td> <td class="nbHitsCovered"> 29408</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 191</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
@@ -430,8 +430,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> Base64(<span class="keyword">final</span> <span class="keyword">int</span> lineLength) {</pre></td></tr>
-<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 1944</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(lineLength, CHUNK_SEPARATOR);</pre></td></tr>
-<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 1944</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 3888</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(lineLength, CHUNK_SEPARATOR);</pre></td></tr>
+<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 3888</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 214</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
@@ -482,8 +482,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> Base64(<span class="keyword">final</span> <span class="keyword">int</span> lineLength, <span class="keyword">final</span> <span class="keyword">byte</span>[] lineSeparator) {</pre></td></tr>
-<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 15790</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(lineLength, lineSeparator, <span class="keyword">false</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 15782</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 31580</td> <td class="src"><pre class="src"> <span class="keyword">this</span>(lineLength, lineSeparator, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 31564</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
@@ -542,7 +542,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 269</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> Base64(<span class="keyword">final</span> <span class="keyword">int</span> lineLength, <span class="keyword">final</span> <span class="keyword">byte</span>[] lineSeparator, <span class="keyword">final</span> <span class="keyword">boolean</span> urlSafe) {</pre></td></tr>
-<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"><a title="Line 270: Conditional coverage 100% (2/2)."> 33684</a></td> <td class="src"><pre class="src"> <a title="Line 270: Conditional coverage 100% (2/2)."> <span class="keyword">super</span>(BYTES_PER_UNENCODED_BLOCK, BYTES_PER_ENCODED_BLOCK,</a></pre></td></tr>
+<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"><a title="Line 270: Conditional coverage 100% (2/2)."> 67368</a></td> <td class="src"><pre class="src"> <a title="Line 270: Conditional coverage 100% (2/2)."> <span class="keyword">super</span>(BYTES_PER_UNENCODED_BLOCK, BYTES_PER_ENCODED_BLOCK,</a></pre></td></tr>
<tr> <td class="numLine"> 271</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> lineLength,</pre></td></tr>
<tr> <td class="numLine"> 272</td> <td class="nbHits"> </td>
@@ -551,31 +551,31 @@
<td class="src"><pre class="src"> <span class="comment">// TODO could be simplified if there is no requirement to reject invalid line sep when length <=0</span></pre></td></tr>
<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// @see test case Base64Test.testConstructors()</span></pre></td></tr>
-<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"><a title="Line 275: Conditional coverage 100% (2/2)."> 33684</a></td> <td class="src"><pre class="src"> <a title="Line 275: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (lineSeparator != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"><a title="Line 276: Conditional coverage 100% (2/2)."> 33678</a></td> <td class="src"><pre class="src"> <a title="Line 276: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (containsAlphabetOrPad(lineSeparator)) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String sep = StringUtils.newStringUtf8(lineSeparator);</pre></td></tr>
-<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"lineSeparator must not contain base64 characters: ["</span> + sep + <span class="string">"]"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"><a title="Line 275: Conditional coverage 100% (2/2)."> 67368</a></td> <td class="src"><pre class="src"> <a title="Line 275: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (lineSeparator != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"><a title="Line 276: Conditional coverage 100% (2/2)."> 67356</a></td> <td class="src"><pre class="src"> <a title="Line 276: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (containsAlphabetOrPad(lineSeparator)) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">final</span> String sep = StringUtils.newStringUtf8(lineSeparator);</pre></td></tr>
+<tr> <td class="numLineCover"> 278</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalArgumentException(<span class="string">"lineSeparator must not contain base64 characters: ["</span> + sep + <span class="string">"]"</span>);</pre></td></tr>
<tr> <td class="numLine"> 279</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"><a title="Line 280: Conditional coverage 100% (2/2)."> 33670</a></td> <td class="src"><pre class="src"> <a title="Line 280: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (lineLength > 0){ <span class="comment">// null line-sep forces no chunking rather than throwing IAE</span></a></pre></td></tr>
-<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 15162</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length;</pre></td></tr>
-<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 15162</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lineSeparator = <span class="keyword">new</span> <span class="keyword">byte</span>[lineSeparator.length];</pre></td></tr>
-<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 15162</td> <td class="src"><pre class="src"> System.arraycopy(lineSeparator, 0, <span class="keyword">this</span>.lineSeparator, 0, lineSeparator.length);</pre></td></tr>
+<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"><a title="Line 280: Conditional coverage 100% (2/2)."> 67340</a></td> <td class="src"><pre class="src"> <a title="Line 280: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (lineLength > 0){ <span class="comment">// null line-sep forces no chunking rather than throwing IAE</span></a></pre></td></tr>
+<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 30324</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encodeSize = BYTES_PER_ENCODED_BLOCK + lineSeparator.length;</pre></td></tr>
+<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 30324</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lineSeparator = <span class="keyword">new</span> <span class="keyword">byte</span>[lineSeparator.length];</pre></td></tr>
+<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 30324</td> <td class="src"><pre class="src"> System.arraycopy(lineSeparator, 0, <span class="keyword">this</span>.lineSeparator, 0, lineSeparator.length);</pre></td></tr>
<tr> <td class="numLine"> 284</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 18508</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encodeSize = BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
-<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 18508</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lineSeparator = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 285</td> <td class="nbHitsCovered"> 37016</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encodeSize = BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
+<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 37016</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lineSeparator = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 287</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 288</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encodeSize = BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
-<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lineSeparator = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encodeSize = BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
+<tr> <td class="numLineCover"> 290</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.lineSeparator = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 291</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 33676</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.decodeSize = <span class="keyword">this</span>.encodeSize - 1;</pre></td></tr>
-<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"><a title="Line 293: Conditional coverage 100% (2/2)."> 33676</a></td> <td class="src"><pre class="src"> <a title="Line 293: Conditional coverage 100% (2/2)."> <span class="keyword">this</span>.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE;</a></pre></td></tr>
-<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 33676</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"> 67352</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.decodeSize = <span class="keyword">this</span>.encodeSize - 1;</pre></td></tr>
+<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"><a title="Line 293: Conditional coverage 100% (2/2)."> 67352</a></td> <td class="src"><pre class="src"> <a title="Line 293: Conditional coverage 100% (2/2)."> <span class="keyword">this</span>.encodeTable = urlSafe ? URL_SAFE_ENCODE_TABLE : STANDARD_ENCODE_TABLE;</a></pre></td></tr>
+<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 67352</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 296</td> <td class="nbHits"> </td>
@@ -592,7 +592,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 302</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">boolean</span> isUrlSafe() {</pre></td></tr>
-<tr> <td class="numLineCover"> 303</td> <td class="nbHitsCovered"><a title="Line 303: Conditional coverage 100% (2/2)."> 4</a></td> <td class="src"><pre class="src"> <a title="Line 303: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> <span class="keyword">this</span>.encodeTable == URL_SAFE_ENCODE_TABLE;</a></pre></td></tr>
+<tr> <td class="numLineCover"> 303</td> <td class="nbHitsCovered"><a title="Line 303: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 303: Conditional coverage 100% (2/2)."> <span class="keyword">return</span> <span class="keyword">this</span>.encodeTable == URL_SAFE_ENCODE_TABLE;</a></pre></td></tr>
<tr> <td class="numLine"> 304</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
@@ -643,39 +643,39 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 328</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">void</span> encode(<span class="keyword">final</span> <span class="keyword">byte</span>[] in, <span class="keyword">int</span> inPos, <span class="keyword">final</span> <span class="keyword">int</span> inAvail, <span class="keyword">final</span> Context context) {</pre></td></tr>
-<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"><a title="Line 329: Conditional coverage 100% (2/2)."> 206596</a></td> <td class="src"><pre class="src"> <a title="Line 329: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (context.eof) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 34106</td> <td class="src"><pre class="src"> <span class="keyword">return</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"><a title="Line 329: Conditional coverage 100% (2/2)."> 413192</a></td> <td class="src"><pre class="src"> <a title="Line 329: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (context.eof) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 68212</td> <td class="src"><pre class="src"> <span class="keyword">return</span>;</pre></td></tr>
<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 332</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// inAvail < 0 is how we're informed of EOF in the underlying data we're</span></pre></td></tr>
<tr> <td class="numLine"> 333</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// encoding.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"><a title="Line 334: Conditional coverage 100% (2/2)."> 172490</a></td> <td class="src"><pre class="src"> <a title="Line 334: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (inAvail < 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 17944</td> <td class="src"><pre class="src"> context.eof = <span class="keyword">true</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"><a title="Line 336: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 17944</a></td> <td class="src"><pre class="src"> <a title="Line 336: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (0 == context.modulus && lineLength == 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 5341</td> <td class="src"><pre class="src"> <span class="keyword">return</span>; <span class="comment">// no leftovers to process and not using chunking</span></pre></td></tr>
+<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"><a title="Line 334: Conditional coverage 100% (2/2)."> 344980</a></td> <td class="src"><pre class="src"> <a title="Line 334: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (inAvail < 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 35888</td> <td class="src"><pre class="src"> context.eof = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 336</td> <td class="nbHitsCovered"><a title="Line 336: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 35888</a></td> <td class="src"><pre class="src"> <a title="Line 336: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (0 == context.modulus && lineLength == 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 337</td> <td class="nbHitsCovered"> 10684</td> <td class="src"><pre class="src"> <span class="keyword">return</span>; <span class="comment">// no leftovers to process and not using chunking</span></pre></td></tr>
<tr> <td class="numLine"> 338</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 12603</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(encodeSize, context);</pre></td></tr>
-<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 12603</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> savedPos = context.pos;</pre></td></tr>
-<tr> <td class="numLineCover"> 341</td> <td class="nbHitsUncovered"><a title="Line 341: Conditional coverage 75% (3/4)."> 12603</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 341: Conditional coverage 75% (3/4)."> <span class="keyword">switch</span> (context.modulus) { <span class="comment">// 0-2</span></a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 25204</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(encodeSize, context);</pre></td></tr>
+<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 25204</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> savedPos = context.pos;</pre></td></tr>
+<tr> <td class="numLineCover"> 341</td> <td class="nbHitsUncovered"><a title="Line 341: Conditional coverage 75% (3/4)."> 25204</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 341: Conditional coverage 75% (3/4)."> <span class="keyword">switch</span> (context.modulus) { <span class="comment">// 0-2</span></a></span></pre></td></tr>
<tr> <td class="numLine"> 342</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">case</span> 0 : <span class="comment">// nothing to do here</span></pre></td></tr>
-<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 372</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 744</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine"> 344</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">case</span> 1 : <span class="comment">// 8 bits = 6 + 2</span></pre></td></tr>
<tr> <td class="numLine"> 345</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// top 6 bits:</span></pre></td></tr>
-<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 6242</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 2) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 346</td> <td class="nbHitsCovered"> 12484</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 2) & MASK_6BITS];</pre></td></tr>
<tr> <td class="numLine"> 347</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// remaining 2:</span></pre></td></tr>
-<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 6242</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 4) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 12484</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 4) & MASK_6BITS];</pre></td></tr>
<tr> <td class="numLine"> 349</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// URL-SAFE skips the padding to further reduce size.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2)."> 6242</a></td> <td class="src"><pre class="src"> <a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (encodeTable == STANDARD_ENCODE_TABLE) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 6132</td> <td class="src"><pre class="src"> buffer[context.pos++] = PAD;</pre></td></tr>
-<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 6132</td> <td class="src"><pre class="src"> buffer[context.pos++] = PAD;</pre></td></tr>
+<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2)."> 12484</a></td> <td class="src"><pre class="src"> <a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (encodeTable == STANDARD_ENCODE_TABLE) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 12264</td> <td class="src"><pre class="src"> buffer[context.pos++] = PAD;</pre></td></tr>
+<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 12264</td> <td class="src"><pre class="src"> buffer[context.pos++] = PAD;</pre></td></tr>
<tr> <td class="numLine"> 353</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 354</td> <td class="nbHits"> </td>
@@ -684,13 +684,13 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 356</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">case</span> 2 : <span class="comment">// 16 bits = 6 + 6 + 4</span></pre></td></tr>
-<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 5989</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 10) & MASK_6BITS];</pre></td></tr>
-<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 5989</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 4) & MASK_6BITS];</pre></td></tr>
-<tr> <td class="numLineCover"> 359</td> <td class="nbHitsCovered"> 5989</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 2) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 11976</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 10) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 358</td> <td class="nbHitsCovered"> 11976</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 4) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 359</td> <td class="nbHitsCovered"> 11976</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea << 2) & MASK_6BITS];</pre></td></tr>
<tr> <td class="numLine"> 360</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// URL-SAFE skips the padding to further reduce size.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"><a title="Line 361: Conditional coverage 100% (2/2)."> 5989</a></td> <td class="src"><pre class="src"> <a title="Line 361: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (encodeTable == STANDARD_ENCODE_TABLE) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 362</td> <td class="nbHitsCovered"> 5887</td> <td class="src"><pre class="src"> buffer[context.pos++] = PAD;</pre></td></tr>
+<tr> <td class="numLineCover"> 361</td> <td class="nbHitsCovered"><a title="Line 361: Conditional coverage 100% (2/2)."> 11976</a></td> <td class="src"><pre class="src"> <a title="Line 361: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (encodeTable == STANDARD_ENCODE_TABLE) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 362</td> <td class="nbHitsCovered"> 11772</td> <td class="src"><pre class="src"> buffer[context.pos++] = PAD;</pre></td></tr>
<tr> <td class="numLine"> 363</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 364</td> <td class="nbHits"> </td>
@@ -700,34 +700,34 @@
<tr> <td class="numLineCover"> 366</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException(<span class="string">"Impossible modulus "</span>+context.modulus);</span></pre></td></tr>
<tr> <td class="numLine"> 367</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 12603</td> <td class="src"><pre class="src"> context.currentLinePos += context.pos - savedPos; <span class="comment">// keep track of current line position</span></pre></td></tr>
+<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 25204</td> <td class="src"><pre class="src"> context.currentLinePos += context.pos - savedPos; <span class="comment">// keep track of current line position</span></pre></td></tr>
<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// if currentPos == 0 we are at the start of a line, so don't add CRLF</span></pre></td></tr>
-<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"><a title="Line 370: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 12603</a></td> <td class="src"><pre class="src"> <a title="Line 370: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (lineLength > 0 && context.currentLinePos > 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 371</td> <td class="nbHitsCovered"> 802</td> <td class="src"><pre class="src"> System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);</pre></td></tr>
-<tr> <td class="numLineCover"> 372</td> <td class="nbHitsCovered"> 802</td> <td class="src"><pre class="src"> context.pos += lineSeparator.length;</pre></td></tr>
+<tr> <td class="numLineCover"> 370</td> <td class="nbHitsCovered"><a title="Line 370: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 25204</a></td> <td class="src"><pre class="src"> <a title="Line 370: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (lineLength > 0 && context.currentLinePos > 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 371</td> <td class="nbHitsCovered"> 1604</td> <td class="src"><pre class="src"> System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);</pre></td></tr>
+<tr> <td class="numLineCover"> 372</td> <td class="nbHitsCovered"> 1604</td> <td class="src"><pre class="src"> context.pos += lineSeparator.length;</pre></td></tr>
<tr> <td class="numLine"> 373</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 374</td> <td class="nbHitsCovered"> 12603</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 375</td> <td class="nbHitsCovered"><a title="Line 375: Conditional coverage 100% (2/2)."> 1582022</a></td> <td class="src"><pre class="src"> <a title="Line 375: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < inAvail; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 376</td> <td class="nbHitsCovered"> 1427476</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(encodeSize, context);</pre></td></tr>
-<tr> <td class="numLineCover"> 377</td> <td class="nbHitsCovered"> 1427476</td> <td class="src"><pre class="src"> context.modulus = (context.modulus+1) % BYTES_PER_UNENCODED_BLOCK;</pre></td></tr>
-<tr> <td class="numLineCover"> 378</td> <td class="nbHitsCovered"> 1427476</td> <td class="src"><pre class="src"> <span class="keyword">int</span> b = in[inPos++];</pre></td></tr>
-<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"><a title="Line 379: Conditional coverage 100% (2/2)."> 1427476</a></td> <td class="src"><pre class="src"> <a title="Line 379: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (b < 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 708902</td> <td class="src"><pre class="src"> b += 256;</pre></td></tr>
+<tr> <td class="numLineCover"> 374</td> <td class="nbHitsCovered"> 25204</td> <td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
+<tr> <td class="numLineCover"> 375</td> <td class="nbHitsCovered"><a title="Line 375: Conditional coverage 100% (2/2)."> 3156114</a></td> <td class="src"><pre class="src"> <a title="Line 375: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < inAvail; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 376</td> <td class="nbHitsCovered"> 2847022</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(encodeSize, context);</pre></td></tr>
+<tr> <td class="numLineCover"> 377</td> <td class="nbHitsCovered"> 2847022</td> <td class="src"><pre class="src"> context.modulus = (context.modulus+1) % BYTES_PER_UNENCODED_BLOCK;</pre></td></tr>
+<tr> <td class="numLineCover"> 378</td> <td class="nbHitsCovered"> 2847022</td> <td class="src"><pre class="src"> <span class="keyword">int</span> b = in[inPos++];</pre></td></tr>
+<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"><a title="Line 379: Conditional coverage 100% (2/2)."> 2847022</a></td> <td class="src"><pre class="src"> <a title="Line 379: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (b < 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 1414954</td> <td class="src"><pre class="src"> b += 256;</pre></td></tr>
<tr> <td class="numLine"> 381</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 1427476</td> <td class="src"><pre class="src"> context.ibitWorkArea = (context.ibitWorkArea << 8) + b; <span class="comment">// BITS_PER_BYTE</span></pre></td></tr>
-<tr> <td class="numLineCover"> 383</td> <td class="nbHitsCovered"><a title="Line 383: Conditional coverage 100% (2/2)."> 1427476</a></td> <td class="src"><pre class="src"> <a title="Line 383: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (0 == context.modulus) { <span class="comment">// 3 bytes = 24 bits = 4 * 6 bits to extract</span></a></pre></td></tr>
-<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"> 469752</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 18) & MASK_6BITS];</pre></td></tr>
-<tr> <td class="numLineCover"> 385</td> <td class="nbHitsCovered"> 469752</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 12) & MASK_6BITS];</pre></td></tr>
-<tr> <td class="numLineCover"> 386</td> <td class="nbHitsCovered"> 469752</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 6) & MASK_6BITS];</pre></td></tr>
-<tr> <td class="numLineCover"> 387</td> <td class="nbHitsCovered"> 469752</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[context.ibitWorkArea & MASK_6BITS];</pre></td></tr>
-<tr> <td class="numLineCover"> 388</td> <td class="nbHitsCovered"> 469752</td> <td class="src"><pre class="src"> context.currentLinePos += BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
-<tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"><a title="Line 389: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 469752</a></td> <td class="src"><pre class="src"> <a title="Line 389: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (lineLength > 0 && lineLength <= context.currentLinePos) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 2272</td> <td class="src"><pre class="src"> System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);</pre></td></tr>
-<tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 2272</td> <td class="src"><pre class="src"> context.pos += lineSeparator.length;</pre></td></tr>
-<tr> <td class="numLineCover"> 392</td> <td class="nbHitsCovered"> 2272</td> <td class="src"><pre class="src"> context.currentLinePos = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 2847022</td> <td class="src"><pre class="src"> context.ibitWorkArea = (context.ibitWorkArea << 8) + b; <span class="comment">// BITS_PER_BYTE</span></pre></td></tr>
+<tr> <td class="numLineCover"> 383</td> <td class="nbHitsCovered"><a title="Line 383: Conditional coverage 100% (2/2)."> 2847022</a></td> <td class="src"><pre class="src"> <a title="Line 383: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (0 == context.modulus) { <span class="comment">// 3 bytes = 24 bits = 4 * 6 bits to extract</span></a></pre></td></tr>
+<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"> 936862</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 18) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 385</td> <td class="nbHitsCovered"> 936862</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 12) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 386</td> <td class="nbHitsCovered"> 936862</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[(context.ibitWorkArea >> 6) & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 387</td> <td class="nbHitsCovered"> 936862</td> <td class="src"><pre class="src"> buffer[context.pos++] = encodeTable[context.ibitWorkArea & MASK_6BITS];</pre></td></tr>
+<tr> <td class="numLineCover"> 388</td> <td class="nbHitsCovered"> 936862</td> <td class="src"><pre class="src"> context.currentLinePos += BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
+<tr> <td class="numLineCover"> 389</td> <td class="nbHitsCovered"><a title="Line 389: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 936862</a></td> <td class="src"><pre class="src"> <a title="Line 389: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (lineLength > 0 && lineLength <= context.currentLinePos) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 390</td> <td class="nbHitsCovered"> 4544</td> <td class="src"><pre class="src"> System.arraycopy(lineSeparator, 0, buffer, context.pos, lineSeparator.length);</pre></td></tr>
+<tr> <td class="numLineCover"> 391</td> <td class="nbHitsCovered"> 4544</td> <td class="src"><pre class="src"> context.pos += lineSeparator.length;</pre></td></tr>
+<tr> <td class="numLineCover"> 392</td> <td class="nbHitsCovered"> 4544</td> <td class="src"><pre class="src"> context.currentLinePos = 0;</pre></td></tr>
<tr> <td class="numLine"> 393</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 394</td> <td class="nbHits"> </td>
@@ -736,7 +736,7 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 396</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"> 167149</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 397</td> <td class="nbHitsCovered"> 334296</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 398</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 399</td> <td class="nbHits"> </td>
@@ -793,33 +793,33 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 425</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">void</span> decode(<span class="keyword">final</span> <span class="keyword">byte</span>[] in, <span class="keyword">int</span> inPos, <span class="keyword">final</span> <span class="keyword">int</span> inAvail, <span class="keyword">final</span> Context context) {</pre></td></tr>
-<tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"><a title="Line 426: Conditional coverage 100% (2/2)."> 227040</a></td> <td class="src"><pre class="src"> <a title="Line 426: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (context.eof) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 40727</td> <td class="src"><pre class="src"> <span class="keyword">return</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"><a title="Line 426: Conditional coverage 100% (2/2)."> 454080</a></td> <td class="src"><pre class="src"> <a title="Line 426: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (context.eof) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 81452</td> <td class="src"><pre class="src"> <span class="keyword">return</span>;</pre></td></tr>
<tr> <td class="numLine"> 428</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"><a title="Line 429: Conditional coverage 100% (2/2)."> 186313</a></td> <td class="src"><pre class="src"> <a title="Line 429: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (inAvail < 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 430</td> <td class="nbHitsCovered"> 5397</td> <td class="src"><pre class="src"> context.eof = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"><a title="Line 429: Conditional coverage 100% (2/2)."> 372628</a></td> <td class="src"><pre class="src"> <a title="Line 429: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (inAvail < 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 430</td> <td class="nbHitsCovered"> 10796</td> <td class="src"><pre class="src"> context.eof = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 431</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 432</td> <td class="nbHitsCovered"><a title="Line 432: Conditional coverage 100% (2/2)."> 2005252</a></td> <td class="src"><pre class="src"> <a title="Line 432: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < inAvail; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 433</td> <td class="nbHitsCovered"> 1829980</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(decodeSize, context);</pre></td></tr>
-<tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 1829980</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span> b = in[inPos++];</pre></td></tr>
-<tr> <td class="numLineCover"> 435</td> <td class="nbHitsCovered"><a title="Line 435: Conditional coverage 100% (2/2)."> 1829980</a></td> <td class="src"><pre class="src"> <a title="Line 435: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (b == PAD) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 432</td> <td class="nbHitsCovered"><a title="Line 432: Conditional coverage 100% (2/2)."> 3999932</a></td> <td class="src"><pre class="src"> <a title="Line 432: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < inAvail; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 433</td> <td class="nbHitsCovered"> 3649384</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(decodeSize, context);</pre></td></tr>
+<tr> <td class="numLineCover"> 434</td> <td class="nbHitsCovered"> 3649384</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span> b = in[inPos++];</pre></td></tr>
+<tr> <td class="numLineCover"> 435</td> <td class="nbHitsCovered"><a title="Line 435: Conditional coverage 100% (2/2)."> 3649384</a></td> <td class="src"><pre class="src"> <a title="Line 435: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (b == PAD) {</a></pre></td></tr>
<tr> <td class="numLine"> 436</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// We're done.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"> 11041</td> <td class="src"><pre class="src"> context.eof = <span class="keyword">true</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 438</td> <td class="nbHitsCovered"> 11041</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 437</td> <td class="nbHitsCovered"> 22080</td> <td class="src"><pre class="src"> context.eof = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 438</td> <td class="nbHitsCovered"> 22080</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine"> 439</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"><a title="Line 440: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 1818939</a></td> <td class="src"><pre class="src"> <a title="Line 440: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (b >= 0 && b < DECODE_TABLE.length) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"> 1818911</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> result = DECODE_TABLE[b];</pre></td></tr>
-<tr> <td class="numLineCover"> 442</td> <td class="nbHitsCovered"><a title="Line 442: Conditional coverage 100% (2/2)."> 1818911</a></td> <td class="src"><pre class="src"> <a title="Line 442: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (result >= 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 443</td> <td class="nbHitsCovered"> 1814321</td> <td class="src"><pre class="src"> context.modulus = (context.modulus+1) % BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
-<tr> <td class="numLineCover"> 444</td> <td class="nbHitsCovered"> 1814321</td> <td class="src"><pre class="src"> context.ibitWorkArea = (context.ibitWorkArea << BITS_PER_ENCODED_BYTE) + result;</pre></td></tr>
-<tr> <td class="numLineCover"> 445</td> <td class="nbHitsCovered"><a title="Line 445: Conditional coverage 100% (2/2)."> 1814321</a></td> <td class="src"><pre class="src"> <a title="Line 445: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (context.modulus == 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 446</td> <td class="nbHitsCovered"> 446536</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea >> 16) & MASK_8BITS);</pre></td></tr>
-<tr> <td class="numLineCover"> 447</td> <td class="nbHitsCovered"> 446536</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea >> 8) & MASK_8BITS);</pre></td></tr>
-<tr> <td class="numLineCover"> 448</td> <td class="nbHitsCovered"> 446536</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) (context.ibitWorkArea & MASK_8BITS);</pre></td></tr>
+<tr> <td class="numLineCover"> 440</td> <td class="nbHitsCovered"><a title="Line 440: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 3627304</a></td> <td class="src"><pre class="src"> <a title="Line 440: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (b >= 0 && b < DECODE_TABLE.length) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 441</td> <td class="nbHitsCovered"> 3627248</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">int</span> result = DECODE_TABLE[b];</pre></td></tr>
+<tr> <td class="numLineCover"> 442</td> <td class="nbHitsCovered"><a title="Line 442: Conditional coverage 100% (2/2)."> 3627248</a></td> <td class="src"><pre class="src"> <a title="Line 442: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (result >= 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 443</td> <td class="nbHitsCovered"> 3618068</td> <td class="src"><pre class="src"> context.modulus = (context.modulus+1) % BYTES_PER_ENCODED_BLOCK;</pre></td></tr>
+<tr> <td class="numLineCover"> 444</td> <td class="nbHitsCovered"> 3618068</td> <td class="src"><pre class="src"> context.ibitWorkArea = (context.ibitWorkArea << BITS_PER_ENCODED_BYTE) + result;</pre></td></tr>
+<tr> <td class="numLineCover"> 445</td> <td class="nbHitsCovered"><a title="Line 445: Conditional coverage 100% (2/2)."> 3618068</a></td> <td class="src"><pre class="src"> <a title="Line 445: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (context.modulus == 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 446</td> <td class="nbHitsCovered"> 890430</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea >> 16) & MASK_8BITS);</pre></td></tr>
+<tr> <td class="numLineCover"> 447</td> <td class="nbHitsCovered"> 890430</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea >> 8) & MASK_8BITS);</pre></td></tr>
+<tr> <td class="numLineCover"> 448</td> <td class="nbHitsCovered"> 890430</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) (context.ibitWorkArea & MASK_8BITS);</pre></td></tr>
<tr> <td class="numLine"> 449</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 450</td> <td class="nbHits"> </td>
@@ -838,15 +838,15 @@
<td class="src"><pre class="src"> <span class="comment">// EOF (-1) and first time '=' character is encountered in stream.</span></pre></td></tr>
<tr> <td class="numLine"> 457</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// This approach makes the '=' padding characters completely optional.</span></pre></td></tr>
-<tr> <td class="numLineCover"> 458</td> <td class="nbHitsCovered"><a title="Line 458: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 186313</a></td> <td class="src"><pre class="src"> <a title="Line 458: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (context.eof && context.modulus != 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 459</td> <td class="nbHitsCovered"> 11241</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(decodeSize, context);</pre></td></tr>
+<tr> <td class="numLineCover"> 458</td> <td class="nbHitsCovered"><a title="Line 458: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 372628</a></td> <td class="src"><pre class="src"> <a title="Line 458: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (context.eof && context.modulus != 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 459</td> <td class="nbHitsCovered"> 22480</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] buffer = ensureBufferSize(decodeSize, context);</pre></td></tr>
<tr> <td class="numLine"> 460</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 461</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// We have some spare bits remaining</span></pre></td></tr>
<tr> <td class="numLine"> 462</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// Output all whole multiples of 8 bits and ignore the rest</span></pre></td></tr>
-<tr> <td class="numLineCover"> 463</td> <td class="nbHitsUncovered"><a title="Line 463: Conditional coverage 50% (2/4)."> 11241</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 463: Conditional coverage 50% (2/4)."> <span class="keyword">switch</span> (context.modulus) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 463</td> <td class="nbHitsUncovered"><a title="Line 463: Conditional coverage 50% (2/4)."> 22480</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 463: Conditional coverage 50% (2/4)."> <span class="keyword">switch</span> (context.modulus) {</a></span></pre></td></tr>
<tr> <td class="numLine"> 464</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// case 0 : // impossible, as excluded above</span></pre></td></tr>
<tr> <td class="numLine"> 465</td> <td class="nbHits"> </td>
@@ -856,15 +856,15 @@
<tr> <td class="numLineCover"> 467</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">break</span>;</span></pre></td></tr>
<tr> <td class="numLine"> 468</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">case</span> 2 : <span class="comment">// 12 bits = 8 + 4</span></pre></td></tr>
-<tr> <td class="numLineCover"> 469</td> <td class="nbHitsCovered"> 5546</td> <td class="src"><pre class="src"> context.ibitWorkArea = context.ibitWorkArea >> 4; <span class="comment">// dump the extra 4 bits</span></pre></td></tr>
-<tr> <td class="numLineCover"> 470</td> <td class="nbHitsCovered"> 5546</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea) & MASK_8BITS);</pre></td></tr>
-<tr> <td class="numLineCover"> 471</td> <td class="nbHitsCovered"> 5546</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 469</td> <td class="nbHitsCovered"> 11092</td> <td class="src"><pre class="src"> context.ibitWorkArea = context.ibitWorkArea >> 4; <span class="comment">// dump the extra 4 bits</span></pre></td></tr>
+<tr> <td class="numLineCover"> 470</td> <td class="nbHitsCovered"> 11092</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea) & MASK_8BITS);</pre></td></tr>
+<tr> <td class="numLineCover"> 471</td> <td class="nbHitsCovered"> 11092</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine"> 472</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">case</span> 3 : <span class="comment">// 18 bits = 8 + 8 + 2</span></pre></td></tr>
-<tr> <td class="numLineCover"> 473</td> <td class="nbHitsCovered"> 5695</td> <td class="src"><pre class="src"> context.ibitWorkArea = context.ibitWorkArea >> 2; <span class="comment">// dump 2 bits</span></pre></td></tr>
-<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 5695</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea >> 8) & MASK_8BITS);</pre></td></tr>
-<tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 5695</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea) & MASK_8BITS);</pre></td></tr>
-<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"> 5695</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 473</td> <td class="nbHitsCovered"> 11388</td> <td class="src"><pre class="src"> context.ibitWorkArea = context.ibitWorkArea >> 2; <span class="comment">// dump 2 bits</span></pre></td></tr>
+<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"> 11388</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea >> 8) & MASK_8BITS);</pre></td></tr>
+<tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 11388</td> <td class="src"><pre class="src"> buffer[context.pos++] = (<span class="keyword">byte</span>) ((context.ibitWorkArea) & MASK_8BITS);</pre></td></tr>
+<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"> 11388</td> <td class="src"><pre class="src"> <span class="keyword">break</span>;</pre></td></tr>
<tr> <td class="numLine"> 477</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">default</span>:</pre></td></tr>
<tr> <td class="numLineCover"> 478</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IllegalStateException(<span class="string">"Impossible modulus "</span>+context.modulus);</span></pre></td></tr>
@@ -872,7 +872,7 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 480</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 481</td> <td class="nbHitsCovered"> 186313</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 481</td> <td class="nbHitsCovered"> 372628</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 482</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 483</td> <td class="nbHits"> </td>
@@ -922,7 +922,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 506</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> isBase64(<span class="keyword">final</span> <span class="keyword">byte</span> octet) {</pre></td></tr>
-<tr> <td class="numLineCover"> 507</td> <td class="nbHitsCovered"><a title="Line 507: Conditional coverage 100% (8/8) [each condition: 100%, 100%, 100%, 100%]."> 53888</a></td> <td class="src"><pre class="src"> <a title="Line 507: Conditional coverage 100% (8/8) [each condition: 100%, 100%, 100%, 100%]."> <span class="keyword">return</span> octet == PAD_DEFAULT || (octet >= 0 && octet < DECODE_TABLE.length && DECODE_TABLE[octet] != -1);</a></pre></td></tr>
+<tr> <td class="numLineCover"> 507</td> <td class="nbHitsCovered"><a title="Line 507: Conditional coverage 100% (8/8) [each condition: 100%, 100%, 100%, 100%]."> 97200</a></td> <td class="src"><pre class="src"> <a title="Line 507: Conditional coverage 100% (8/8) [each condition: 100%, 100%, 100%, 100%]."> <span class="keyword">return</span> octet == PAD_DEFAULT || (octet >= 0 && octet < DECODE_TABLE.length && DECODE_TABLE[octet] != -1);</a></pre></td></tr>
<tr> <td class="numLine"> 508</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 509</td> <td class="nbHits"> </td>
@@ -949,7 +949,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 520</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> isBase64(<span class="keyword">final</span> String base64) {</pre></td></tr>
-<tr> <td class="numLineCover"> 521</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">return</span> isBase64(StringUtils.getBytesUtf8(base64));</pre></td></tr>
+<tr> <td class="numLineCover"> 521</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">return</span> isBase64(StringUtils.getBytesUtf8(base64));</pre></td></tr>
<tr> <td class="numLine"> 522</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 523</td> <td class="nbHits"> </td>
@@ -976,14 +976,14 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 534</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">boolean</span> isBase64(<span class="keyword">final</span> <span class="keyword">byte</span>[] arrayOctet) {</pre></td></tr>
-<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"><a title="Line 535: Conditional coverage 100% (2/2)."> 53934</a></td> <td class="src"><pre class="src"> <a title="Line 535: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < arrayOctet.length; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 536</td> <td class="nbHitsCovered"><a title="Line 536: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 53888</a></td> <td class="src"><pre class="src"> <a title="Line 536: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (!isBase64(arrayOctet[i]) && !isWhiteSpace(arrayOctet[i])) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 535</td> <td class="nbHitsCovered"><a title="Line 535: Conditional coverage 100% (2/2)."> 97292</a></td> <td class="src"><pre class="src"> <a title="Line 535: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < arrayOctet.length; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 536</td> <td class="nbHitsCovered"><a title="Line 536: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> 97200</a></td> <td class="src"><pre class="src"> <a title="Line 536: Conditional coverage 100% (4/4) [each condition: 100%, 100%]."> <span class="keyword">if</span> (!isBase64(arrayOctet[i]) && !isWhiteSpace(arrayOctet[i])) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 537</td> <td class="nbHitsCovered"> 40</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 538</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 539</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 540</td> <td class="nbHitsCovered"> 44</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 540</td> <td class="nbHitsCovered"> 88</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 541</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 542</td> <td class="nbHits"> </td>
@@ -1004,7 +1004,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 550</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">byte</span>[] encodeBase64(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData) {</pre></td></tr>
-<tr> <td class="numLineCover"> 551</td> <td class="nbHitsCovered"> 2842</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 551</td> <td class="nbHitsCovered"> 5684</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, <span class="keyword">false</span>);</pre></td></tr>
<tr> <td class="numLine"> 552</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 553</td> <td class="nbHits"> </td>
@@ -1033,7 +1033,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 565</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> String encodeBase64String(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData) {</pre></td></tr>
-<tr> <td class="numLineCover"> 566</td> <td class="nbHitsCovered"> 50</td> <td class="src"><pre class="src"> <span class="keyword">return</span> StringUtils.newStringUtf8(encodeBase64(binaryData, <span class="keyword">false</span>));</pre></td></tr>
+<tr> <td class="numLineCover"> 566</td> <td class="nbHitsCovered"> 100</td> <td class="src"><pre class="src"> <span class="keyword">return</span> StringUtils.newStringUtf8(encodeBase64(binaryData, <span class="keyword">false</span>));</pre></td></tr>
<tr> <td class="numLine"> 567</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 568</td> <td class="nbHits"> </td>
@@ -1058,7 +1058,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 578</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">byte</span>[] encodeBase64URLSafe(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData) {</pre></td></tr>
-<tr> <td class="numLineCover"> 579</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, <span class="keyword">false</span>, <span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 579</td> <td class="nbHitsCovered"> 620</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, <span class="keyword">false</span>, <span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLine"> 580</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 581</td> <td class="nbHits"> </td>
@@ -1083,7 +1083,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 591</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> String encodeBase64URLSafeString(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData) {</pre></td></tr>
-<tr> <td class="numLineCover"> 592</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">return</span> StringUtils.newStringUtf8(encodeBase64(binaryData, <span class="keyword">false</span>, <span class="keyword">true</span>));</pre></td></tr>
+<tr> <td class="numLineCover"> 592</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">return</span> StringUtils.newStringUtf8(encodeBase64(binaryData, <span class="keyword">false</span>, <span class="keyword">true</span>));</pre></td></tr>
<tr> <td class="numLine"> 593</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 594</td> <td class="nbHits"> </td>
@@ -1104,7 +1104,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 602</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">byte</span>[] encodeBase64Chunked(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData) {</pre></td></tr>
-<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 534</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, <span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 1068</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, <span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLine"> 604</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 605</td> <td class="nbHits"> </td>
@@ -1133,7 +1133,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 617</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">byte</span>[] encodeBase64(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData, <span class="keyword">final</span> <span class="keyword">boolean</span> isChunked) {</pre></td></tr>
-<tr> <td class="numLineCover"> 618</td> <td class="nbHitsCovered"> 3436</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, isChunked, <span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 618</td> <td class="nbHitsCovered"> 6872</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, isChunked, <span class="keyword">false</span>);</pre></td></tr>
<tr> <td class="numLine"> 619</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 620</td> <td class="nbHits"> </td>
@@ -1170,7 +1170,7 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 636</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">byte</span>[] encodeBase64(<span class="keyword">final</span> <span class="keyword">byte</span>[] binaryData, <span class="keyword">final</span> <span class="keyword">boolean</span> isChunked, <span class="keyword">final</span> <span class="keyword">boolean</span> urlSafe) {</pre></td></tr>
-<tr> <td class="numLineCover"> 637</td> <td class="nbHitsCovered"> 3748</td> <td class="src"><pre class="src"> <span class="keyword">return</span> encodeBase64(binaryData, isChunked, urlSafe, Integer.MAX_VALUE);</pre></td></tr>
[... 149 lines stripped ...]