Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/frame-summary.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/frame-summary.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/frame-summary.html
 Tue May 21 03:58:58 2019
@@ -16,8 +16,8 @@
 <table class="report" id="packageResults">
 <thead><tr>  <td class="heading">Package</td>  <td class="heading"># 
Classes</td>  <td class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return false;">Line Coverage</a></td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return 
false;">Complexity</a></td></tr></thead>
 <tbody>
-  <tr><td><b>All Packages</b></td><td class="value">9</td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">77%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:77px"><span 
class="text">226/292</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">52%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:52px"><span 
class="text">76/146</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.2333333333333334;</span>2.233</td></tr>
-  <tr><td><a href="frame-summary-org.apache.fulcrum.jce.crypto.html" 
onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.fulcrum.jce.crypto.html"'>org.apache.fulcrum.jce.crypto</a></td><td
 class="value">9</td><td><table cellpadding="0px" cellspacing="0px" 
class="percentgraph"><tr class="percentgraph"><td align="right" 
class="percentgraph" width="40">77%</td><td class="percentgraph"><div 
class="percentgraph"><div class="greenbar" style="width:77px"><span 
class="text">226/292</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">52%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:52px"><span 
class="text">76/146</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.2333333333333334;</span>2.233</td></tr>
+  <tr><td><b>All Packages</b></td><td class="value">9</td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">76%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:76px"><span 
class="text">209/275</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">50%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:50px"><span 
class="text">66/130</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.4237288135593222;</span>2.424</td></tr>
+  <tr><td><a href="frame-summary-org.apache.fulcrum.jce.crypto.html" 
onclick='parent.sourceFileList.location.href="frame-sourcefiles-org.apache.fulcrum.jce.crypto.html"'>org.apache.fulcrum.jce.crypto</a></td><td
 class="value">9</td><td><table cellpadding="0px" cellspacing="0px" 
class="percentgraph"><tr class="percentgraph"><td align="right" 
class="percentgraph" width="40">76%</td><td class="percentgraph"><div 
class="percentgraph"><div class="greenbar" style="width:76px"><span 
class="text">209/275</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">50%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:50px"><span 
class="text">66/130</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">2.4237288135593222;</span>2.424</td></tr>
 </tbody>
 </table>
 <script type="text/javascript">
@@ -25,6 +25,6 @@ var packageTable = new SortableTable(doc
     ["String", "Number", "Percentage", "Percentage", "FormattedNumber"]);
 packageTable.sort(0);
 </script>
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 1.9 on 
3/29/09 11:46 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.1.1 on 
5/20/19 11:58 PM.</div>
 </body>
-</html>
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/help.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/help.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/help.html
 Tue May 21 03:58:58 2019
@@ -1,31 +1,31 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
-
-<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-<link title="Style" type="text/css" rel="stylesheet" href="css/main.css"/>
-<title>Coverage Report - Help</title>
-</head>
-
-<body>
-
-<dl>
-
-<dt>Line Coverage</dt>
-<dd>The percent of lines executed by this test run.</dd>
-
-<dt>Branch Coverage</dt>
-<dd>The percent of branches executed by this test run.</dd>
-
-<dt>Complexity</dt>
-<dd>Average McCabe's cyclomatic code complexity for all methods.  This is 
basically a count of the number of different code paths in a method 
(incremented by 1 for each if statement, while loop, etc.)</dd>
-
-<dt>N/A</dt>
-<dd>Line coverage and branch coverage will appear as "Not Applicable" when 
Cobertura can not find line number information in the .class file.  This 
happens for stub and skeleton classes, interfaces, or when the class was not 
compiled with "debug=true."</dd>
-
-</dl>
-
-</body>
-
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<link title="Style" type="text/css" rel="stylesheet" href="css/main.css"/>
+<title>Coverage Report - Help</title>
+</head>
+
+<body>
+
+<dl>
+
+<dt>Line Coverage</dt>
+<dd>The percent of lines executed by this test run.</dd>
+
+<dt>Branch Coverage</dt>
+<dd>The percent of branches executed by this test run.</dd>
+
+<dt>Complexity</dt>
+<dd>Average McCabe's cyclomatic code complexity for all methods.  This is 
basically a count of the number of different code paths in a method 
(incremented by 1 for each if statement, while loop, etc.)</dd>
+
+<dt>N/A</dt>
+<dd>Line coverage and branch coverage will appear as "Not Applicable" when 
Cobertura can not find line number information in the .class file.  This 
happens for stub and skeleton classes, interfaces, or when the class was not 
compiled with "debug=true."</dd>
+
+</dl>
+
+</body>
+
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/index.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/index.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/index.html
 Tue May 21 03:58:58 2019
@@ -1,25 +1,25 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";>
-
-<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-<title>Coverage Report</title>
-</head>
-
-<frameset cols="20%,80%">
-       <frameset rows="30%,70%">
-               <frame src="frame-packages.html" name="packageList" title="All 
Packages"/>
-               <frame src="frame-sourcefiles.html" name="sourceFileList" 
title="All classes and interfaces (except non-static nested types)"/>
-       </frameset>
-       <frame src="frame-summary.html" name="summary" title="Package, class 
and interface descriptions" scrolling="yes"/>
-
-       <noframes>
-               <body>
-                       <p>This document is designed to be viewed using the 
frames feature. If you see this message, you are using a frame-incapable web 
client.</p>
-                       <p><a href="frame-summary.html">Click here to view a 
non-frame version.</a></p>
-               </body>
-       </noframes>
-</frameset>
-
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<title>Coverage Report</title>
+</head>
+
+<frameset cols="20%,80%">
+       <frameset rows="30%,70%">
+               <frame src="frame-packages.html" name="packageList" title="All 
Packages"/>
+               <frame src="frame-sourcefiles.html" name="sourceFileList" 
title="All classes and interfaces (except non-static nested types)"/>
+       </frameset>
+       <frame src="frame-summary.html" name="summary" title="Package, class 
and interface descriptions" scrolling="yes"/>
+
+       <noframes>
+               <body>
+                       <p>This document is designed to be viewed using the 
frames feature. If you see this message, you are using a frame-incapable web 
client.</p>
+                       <p><a href="frame-summary.html">Click here to view a 
non-frame version.</a></p>
+               </body>
+       </noframes>
+</frameset>
+
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/customsorttypes.js
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/customsorttypes.js
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/customsorttypes.js
 Tue May 21 03:58:58 2019
@@ -62,4 +62,4 @@ function formattedNumberSortType( s )
        return ret;
 }
 
-SortableTable.prototype.addSortType( "FormattedNumber", 
formattedNumberSortType );
+SortableTable.prototype.addSortType( "FormattedNumber", 
formattedNumberSortType );
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/popup.js
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/popup.js
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/popup.js
 Tue May 21 03:58:58 2019
@@ -1,8 +1,8 @@
-var newwindow;
-function popupwindow(url)
-{
-       
newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
-       if (window.focus) {
-               newwindow.focus()
-       }
-}
+var newwindow;
+function popupwindow(url)
+{
+       
newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes');
+       if (window.focus) {
+               newwindow.focus()
+       }
+}
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/sortabletable.js
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/sortabletable.js
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/sortabletable.js
 Tue May 21 03:58:58 2019
@@ -1,455 +1,455 @@
-
-/*----------------------------------------------------------------------------\
-|                            Sortable Table 1.12                              |
-|-----------------------------------------------------------------------------|
-|                         Created by Erik Arvidsson                           |
-|                  (http://webfx.eae.net/contact.html#erik)                   |
-|                      For WebFX (http://webfx.eae.net/)                      |
-|-----------------------------------------------------------------------------|
-| A DOM 1 based script that allows an ordinary HTML table to be sortable.     |
-|-----------------------------------------------------------------------------|
-|                  Copyright (c) 1998 - 2004 Erik Arvidsson                   |
-|-----------------------------------------------------------------------------|
-| This software is provided "as is", without warranty of any kind, express or |
-| implied, including  but not limited  to the warranties of  merchantability, |
-| fitness for a particular purpose and noninfringement. In no event shall the |
-| authors or  copyright  holders be  liable for any claim,  damages or  other |
-| liability, whether  in an  action of  contract, tort  or otherwise, arising |
-| from,  out of  or in  connection with  the software or  the  use  or  other |
-| dealings in the software.                                                   |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| This  software is  available under the  three different licenses  mentioned |
-| below.  To use this software you must chose, and qualify, for one of those. |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| The WebFX Non-Commercial License          http://webfx.eae.net/license.html |
-| Permits  anyone the right to use the  software in a  non-commercial context |
-| free of charge.                                                             |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| The WebFX Commercial license           http://webfx.eae.net/commercial.html |
-| Permits the  license holder the right to use  the software in a  commercial |
-| context. Such license must be specifically obtained, however it's valid for |
-| any number of  implementations of the licensed software.                    |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| GPL - The GNU General Public License    http://www.gnu.org/licenses/gpl.txt |
-| Permits anyone the right to use and modify the software without limitations |
-| as long as proper  credits are given  and the original  and modified source |
-| code are included. Requires  that the final product, software derivate from |
-| the original  source or any  software  utilizing a GPL  component, such  as |
-| this, is also licensed under the GPL license.                               |
-|-----------------------------------------------------------------------------|
-| 2003-01-10 | First version                                                  |
-| 2003-01-19 | Minor changes to the date parsing                              |
-| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator)               |
-| 2003-02-01 | Sloppy typo like error fixed in getInnerText                   |
-| 2003-07-04 | Added workaround for IE cellIndex bug.                         |
-| 2003-11-09 | The bDescending argument to sort was not correctly working     |
-|            | Using onclick DOM0 event if no support for addEventListener    |
-|            | or attachEvent                                                 |
-| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot     |
-|            | easier to add new, custom sort types.                          |
-| 2004-01-27 | Switch to use descending = false as the default sort order.    |
-|            | Change defaultDescending to suit your needs.                   |
-| 2004-03-14 | Improved sort type None look and feel a bit                    |
-| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you    |
-|            | can use another tHead or no tHead, and you can chose some      |
-|            | other tBody.                                                   |
-|-----------------------------------------------------------------------------|
-| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
-\----------------------------------------------------------------------------*/
-
-
-function SortableTable(oTable, oSortTypes) {
-
-       this.sortTypes = oSortTypes || [];
-
-       this.sortColumn = null;
-       this.descending = null;
-
-       var oThis = this;
-       this._headerOnclick = function (e) {
-               oThis.headerOnclick(e);
-       };
-
-       if (oTable) {
-               this.setTable( oTable );
-               this.document = oTable.ownerDocument || oTable.document;
-       }
-       else {
-               this.document = document;
-       }
-
-
-       // only IE needs this
-       var win = this.document.defaultView || this.document.parentWindow;
-       this._onunload = function () {
-               oThis.destroy();
-       };
-       if (win && typeof win.attachEvent != "undefined") {
-               win.attachEvent("onunload", this._onunload);
-       }
-}
-
-SortableTable.gecko = navigator.product == "Gecko";
-SortableTable.msie = /msie/i.test(navigator.userAgent);
-// Mozilla is faster when doing the DOM manipulations on
-// an orphaned element. MSIE is not
-SortableTable.removeBeforeSort = SortableTable.gecko;
-
-SortableTable.prototype.onsort = function () {};
-
-// default sort order. true -> descending, false -> ascending
-SortableTable.prototype.defaultDescending = false;
-
-// shared between all instances. This is intentional to allow external files
-// to modify the prototype
-SortableTable.prototype._sortTypeInfo = {};
-
-SortableTable.prototype.setTable = function (oTable) {
-       if ( this.tHead )
-               this.uninitHeader();
-       this.element = oTable;
-       this.setTHead( oTable.tHead );
-       this.setTBody( oTable.tBodies[0] );
-};
-
-SortableTable.prototype.setTHead = function (oTHead) {
-       if (this.tHead && this.tHead != oTHead )
-               this.uninitHeader();
-       this.tHead = oTHead;
-       this.initHeader( this.sortTypes );
-};
-
-SortableTable.prototype.setTBody = function (oTBody) {
-       this.tBody = oTBody;
-};
-
-SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
-       if ( this.tHead )
-               this.uninitHeader();
-       this.sortTypes = oSortTypes || [];
-       if ( this.tHead )
-               this.initHeader( this.sortTypes );
-};
-
-// adds arrow containers and events
-// also binds sort type to the header cells so that reordering columns does
-// not break the sort types
-SortableTable.prototype.initHeader = function (oSortTypes) {
-       if (!this.tHead) return;
-       var cells = this.tHead.rows[0].cells;
-       var doc = this.tHead.ownerDocument || this.tHead.document;
-       this.sortTypes = oSortTypes || [];
-       var l = cells.length;
-       var img, c;
-       for (var i = 0; i < l; i++) {
-               c = cells[i];
-               if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
-                       img = doc.createElement("IMG");
-                       img.src = "images/blank.png";
-                       c.appendChild(img);
-                       if (this.sortTypes[i] != null)
-                               c._sortType = this.sortTypes[i];
-                       if (typeof c.addEventListener != "undefined")
-                               c.addEventListener("click", 
this._headerOnclick, false);
-                       else if (typeof c.attachEvent != "undefined")
-                               c.attachEvent("onclick", this._headerOnclick);
-                       else
-                               c.onclick = this._headerOnclick;
-               }
-               else
-               {
-                       c.setAttribute( "_sortType", oSortTypes[i] );
-                       c._sortType = "None";
-               }
-       }
-       this.updateHeaderArrows();
-};
-
-// remove arrows and events
-SortableTable.prototype.uninitHeader = function () {
-       if (!this.tHead) return;
-       var cells = this.tHead.rows[0].cells;
-       var l = cells.length;
-       var c;
-       for (var i = 0; i < l; i++) {
-               c = cells[i];
-               if (c._sortType != null && c._sortType != "None") {
-                       c.removeChild(c.lastChild);
-                       if (typeof c.removeEventListener != "undefined")
-                               c.removeEventListener("click", 
this._headerOnclick, false);
-                       else if (typeof c.detachEvent != "undefined")
-                               c.detachEvent("onclick", this._headerOnclick);
-                       c._sortType = null;
-                       c.removeAttribute( "_sortType" );
-               }
-       }
-};
-
-SortableTable.prototype.updateHeaderArrows = function () {
-       if (!this.tHead) return;
-       var cells = this.tHead.rows[0].cells;
-       var l = cells.length;
-       var img;
-       for (var i = 0; i < l; i++) {
-               if (cells[i]._sortType != null && cells[i]._sortType != "None") 
{
-                       img = cells[i].lastChild;
-                       if (i == this.sortColumn)
-                               img.className = "sort-arrow " + 
(this.descending ? "descending" : "ascending");
-                       else
-                               img.className = "sort-arrow";
-               }
-       }
-};
-
-SortableTable.prototype.headerOnclick = function (e) {
-       // find TD element
-       var el = e.target || e.srcElement;
-       while (el.tagName != "TD")
-               el = el.parentNode;
-
-       this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : 
el.cellIndex);
-};
-
-// IE returns wrong cellIndex when columns are hidden
-SortableTable.getCellIndex = function (oTd) {
-       var cells = oTd.parentNode.childNodes
-       var l = cells.length;
-       var i;
-       for (i = 0; cells[i] != oTd && i < l; i++)
-               ;
-       return i;
-};
-
-SortableTable.prototype.getSortType = function (nColumn) {
-       return this.sortTypes[nColumn] || "String";
-};
-
-// only nColumn is required
-// if bDescending is left out the old value is taken into account
-// if sSortType is left out the sort type is found from the sortTypes array
-
-SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
-       if (!this.tBody) return;
-       if (sSortType == null)
-               sSortType = this.getSortType(nColumn);
-
-       // exit if None
-       if (sSortType == "None")
-               return;
-
-       if (bDescending == null) {
-               if (this.sortColumn != nColumn)
-                       this.descending = this.defaultDescending;
-               else
-                       this.descending = !this.descending;
-       }
-       else
-               this.descending = bDescending;
-
-       this.sortColumn = nColumn;
-
-       if (typeof this.onbeforesort == "function")
-               this.onbeforesort();
-
-       var f = this.getSortFunction(sSortType, nColumn);
-       var a = this.getCache(sSortType, nColumn);
-       var tBody = this.tBody;
-
-       a.sort(f);
-
-       if (this.descending)
-               a.reverse();
-
-       if (SortableTable.removeBeforeSort) {
-               // remove from doc
-               var nextSibling = tBody.nextSibling;
-               var p = tBody.parentNode;
-               p.removeChild(tBody);
-       }
-
-       // insert in the new order
-       var l = a.length;
-       for (var i = 0; i < l; i++)
-               tBody.appendChild(a[i].element);
-
-       if (SortableTable.removeBeforeSort) {
-               // insert into doc
-               p.insertBefore(tBody, nextSibling);
-       }
-
-       this.updateHeaderArrows();
-
-       this.destroyCache(a);
-
-       if (typeof this.onsort == "function")
-               this.onsort();
-};
-
-SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) 
{
-       var oThis = this;
-       this._asyncsort = function () {
-               oThis.sort(nColumn, bDescending, sSortType);
-       };
-       window.setTimeout(this._asyncsort, 1);
-};
-
-SortableTable.prototype.getCache = function (sType, nColumn) {
-       if (!this.tBody) return [];
-       var rows = this.tBody.rows;
-       var l = rows.length;
-       var a = new Array(l);
-       var r;
-       for (var i = 0; i < l; i++) {
-               r = rows[i];
-               a[i] = {
-                       value:          this.getRowValue(r, sType, nColumn),
-                       element:        r
-               };
-       };
-       return a;
-};
-
-SortableTable.prototype.destroyCache = function (oArray) {
-       var l = oArray.length;
-       for (var i = 0; i < l; i++) {
-               oArray[i].value = null;
-               oArray[i].element = null;
-               oArray[i] = null;
-       }
-};
-
-SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
-       // if we have defined a custom getRowValue use that
-       if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
-               return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
-
-       var s;
-       var c = oRow.cells[nColumn];
-       if (typeof c.innerText != "undefined")
-               s = c.innerText;
-       else
-               s = SortableTable.getInnerText(c);
-       return this.getValueFromString(s, sType);
-};
-
-SortableTable.getInnerText = function (oNode) {
-       var s = "";
-       var cs = oNode.childNodes;
-       var l = cs.length;
-       for (var i = 0; i < l; i++) {
-               switch (cs[i].nodeType) {
-                       case 1: //ELEMENT_NODE
-                               s += SortableTable.getInnerText(cs[i]);
-                               break;
-                       case 3: //TEXT_NODE
-                               s += cs[i].nodeValue;
-                               break;
-               }
-       }
-       return s;
-};
-
-SortableTable.prototype.getValueFromString = function (sText, sType) {
-       if (this._sortTypeInfo[sType])
-               return this._sortTypeInfo[sType].getValueFromString( sText );
-       return sText;
-       /*
-       switch (sType) {
-               case "Number":
-                       return Number(sText);
-               case "CaseInsensitiveString":
-                       return sText.toUpperCase();
-               case "Date":
-                       var parts = sText.split("-");
-                       var d = new Date(0);
-                       d.setFullYear(parts[0]);
-                       d.setDate(parts[2]);
-                       d.setMonth(parts[1] - 1);
-                       return d.valueOf();
-       }
-       return sText;
-       */
-       };
-
-SortableTable.prototype.getSortFunction = function (sType, nColumn) {
-       if (this._sortTypeInfo[sType])
-               return this._sortTypeInfo[sType].compare;
-       return SortableTable.basicCompare;
-};
-
-SortableTable.prototype.destroy = function () {
-       this.uninitHeader();
-       var win = this.document.parentWindow;
-       if (win && typeof win.detachEvent != "undefined") {     // only IE 
needs this
-               win.detachEvent("onunload", this._onunload);
-       }
-       this._onunload = null;
-       this.element = null;
-       this.tHead = null;
-       this.tBody = null;
-       this.document = null;
-       this._headerOnclick = null;
-       this.sortTypes = null;
-       this._asyncsort = null;
-       this.onsort = null;
-};
-
-// Adds a sort type to all instance of SortableTable
-// sType : String - the identifier of the sort type
-// fGetValueFromString : function ( s : string ) : T - A function that takes a
-//    string and casts it to a desired format. If left out the string is just
-//    returned
-// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
-//    compare function. Takes two values and compares them. If left out less 
than,
-//    <, compare is used
-// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A 
function
-//    that takes the row and the column index and returns the value used to 
compare.
-//    If left out then the innerText is first taken for the cell and then the
-//    fGetValueFromString is used to convert that string the desired value and 
type
-
-SortableTable.prototype.addSortType = function (sType, fGetValueFromString, 
fCompareFunction, fGetRowValue) {
-       this._sortTypeInfo[sType] = {
-               type:                           sType,
-               getValueFromString:     fGetValueFromString || 
SortableTable.idFunction,
-               compare:                        fCompareFunction || 
SortableTable.basicCompare,
-               getRowValue:            fGetRowValue
-       };
-};
-
-// this removes the sort type from all instances of SortableTable
-SortableTable.prototype.removeSortType = function (sType) {
-       delete this._sortTypeInfo[sType];
-};
-
-SortableTable.basicCompare = function compare(n1, n2) {
-       if (n1.value < n2.value)
-               return -1;
-       if (n2.value < n1.value)
-               return 1;
-       return 0;
-};
-
-SortableTable.idFunction = function (x) {
-       return x;
-};
-
-SortableTable.toUpperCase = function (s) {
-       return s.toUpperCase();
-};
-
-SortableTable.toDate = function (s) {
-       var parts = s.split("-");
-       var d = new Date(0);
-       d.setFullYear(parts[0]);
-       d.setDate(parts[2]);
-       d.setMonth(parts[1] - 1);
-       return d.valueOf();
-};
-
-
-// add sort types
-SortableTable.prototype.addSortType("Number", Number);
-SortableTable.prototype.addSortType("CaseInsensitiveString", 
SortableTable.toUpperCase);
-SortableTable.prototype.addSortType("Date", SortableTable.toDate);
-SortableTable.prototype.addSortType("String");
-// None is a special case
+
+/*----------------------------------------------------------------------------\
+|                            Sortable Table 1.12                              |
+|-----------------------------------------------------------------------------|
+|                         Created by Erik Arvidsson                           |
+|                  (http://webfx.eae.net/contact.html#erik)                   |
+|                      For WebFX (http://webfx.eae.net/)                      |
+|-----------------------------------------------------------------------------|
+| A DOM 1 based script that allows an ordinary HTML table to be sortable.     |
+|-----------------------------------------------------------------------------|
+|                  Copyright (c) 1998 - 2004 Erik Arvidsson                   |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including  but not limited  to the warranties of  merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or  copyright  holders be  liable for any claim,  damages or  other |
+| liability, whether  in an  action of  contract, tort  or otherwise, arising |
+| from,  out of  or in  connection with  the software or  the  use  or  other |
+| dealings in the software.                                                   |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This  software is  available under the  three different licenses  mentioned |
+| below.  To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License          http://webfx.eae.net/license.html |
+| Permits  anyone the right to use the  software in a  non-commercial context |
+| free of charge.                                                             |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license           http://webfx.eae.net/commercial.html |
+| Permits the  license holder the right to use  the software in a  commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of  implementations of the licensed software.                    |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License    http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper  credits are given  and the original  and modified source |
+| code are included. Requires  that the final product, software derivate from |
+| the original  source or any  software  utilizing a GPL  component, such  as |
+| this, is also licensed under the GPL license.                               |
+|-----------------------------------------------------------------------------|
+| 2003-01-10 | First version                                                  |
+| 2003-01-19 | Minor changes to the date parsing                              |
+| 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator)               |
+| 2003-02-01 | Sloppy typo like error fixed in getInnerText                   |
+| 2003-07-04 | Added workaround for IE cellIndex bug.                         |
+| 2003-11-09 | The bDescending argument to sort was not correctly working     |
+|            | Using onclick DOM0 event if no support for addEventListener    |
+|            | or attachEvent                                                 |
+| 2004-01-13 | Adding addSortType and removeSortType which makes it a lot     |
+|            | easier to add new, custom sort types.                          |
+| 2004-01-27 | Switch to use descending = false as the default sort order.    |
+|            | Change defaultDescending to suit your needs.                   |
+| 2004-03-14 | Improved sort type None look and feel a bit                    |
+| 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you    |
+|            | can use another tHead or no tHead, and you can chose some      |
+|            | other tBody.                                                   |
+|-----------------------------------------------------------------------------|
+| Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 |
+\----------------------------------------------------------------------------*/
+
+
+function SortableTable(oTable, oSortTypes) {
+
+       this.sortTypes = oSortTypes || [];
+
+       this.sortColumn = null;
+       this.descending = null;
+
+       var oThis = this;
+       this._headerOnclick = function (e) {
+               oThis.headerOnclick(e);
+       };
+
+       if (oTable) {
+               this.setTable( oTable );
+               this.document = oTable.ownerDocument || oTable.document;
+       }
+       else {
+               this.document = document;
+       }
+
+
+       // only IE needs this
+       var win = this.document.defaultView || this.document.parentWindow;
+       this._onunload = function () {
+               oThis.destroy();
+       };
+       if (win && typeof win.attachEvent != "undefined") {
+               win.attachEvent("onunload", this._onunload);
+       }
+}
+
+SortableTable.gecko = navigator.product == "Gecko";
+SortableTable.msie = /msie/i.test(navigator.userAgent);
+// Mozilla is faster when doing the DOM manipulations on
+// an orphaned element. MSIE is not
+SortableTable.removeBeforeSort = SortableTable.gecko;
+
+SortableTable.prototype.onsort = function () {};
+
+// default sort order. true -> descending, false -> ascending
+SortableTable.prototype.defaultDescending = false;
+
+// shared between all instances. This is intentional to allow external files
+// to modify the prototype
+SortableTable.prototype._sortTypeInfo = {};
+
+SortableTable.prototype.setTable = function (oTable) {
+       if ( this.tHead )
+               this.uninitHeader();
+       this.element = oTable;
+       this.setTHead( oTable.tHead );
+       this.setTBody( oTable.tBodies[0] );
+};
+
+SortableTable.prototype.setTHead = function (oTHead) {
+       if (this.tHead && this.tHead != oTHead )
+               this.uninitHeader();
+       this.tHead = oTHead;
+       this.initHeader( this.sortTypes );
+};
+
+SortableTable.prototype.setTBody = function (oTBody) {
+       this.tBody = oTBody;
+};
+
+SortableTable.prototype.setSortTypes = function ( oSortTypes ) {
+       if ( this.tHead )
+               this.uninitHeader();
+       this.sortTypes = oSortTypes || [];
+       if ( this.tHead )
+               this.initHeader( this.sortTypes );
+};
+
+// adds arrow containers and events
+// also binds sort type to the header cells so that reordering columns does
+// not break the sort types
+SortableTable.prototype.initHeader = function (oSortTypes) {
+       if (!this.tHead) return;
+       var cells = this.tHead.rows[0].cells;
+       var doc = this.tHead.ownerDocument || this.tHead.document;
+       this.sortTypes = oSortTypes || [];
+       var l = cells.length;
+       var img, c;
+       for (var i = 0; i < l; i++) {
+               c = cells[i];
+               if (this.sortTypes[i] != null && this.sortTypes[i] != "None") {
+                       img = doc.createElement("IMG");
+                       img.src = "images/blank.png";
+                       c.appendChild(img);
+                       if (this.sortTypes[i] != null)
+                               c._sortType = this.sortTypes[i];
+                       if (typeof c.addEventListener != "undefined")
+                               c.addEventListener("click", 
this._headerOnclick, false);
+                       else if (typeof c.attachEvent != "undefined")
+                               c.attachEvent("onclick", this._headerOnclick);
+                       else
+                               c.onclick = this._headerOnclick;
+               }
+               else
+               {
+                       c.setAttribute( "_sortType", oSortTypes[i] );
+                       c._sortType = "None";
+               }
+       }
+       this.updateHeaderArrows();
+};
+
+// remove arrows and events
+SortableTable.prototype.uninitHeader = function () {
+       if (!this.tHead) return;
+       var cells = this.tHead.rows[0].cells;
+       var l = cells.length;
+       var c;
+       for (var i = 0; i < l; i++) {
+               c = cells[i];
+               if (c._sortType != null && c._sortType != "None") {
+                       c.removeChild(c.lastChild);
+                       if (typeof c.removeEventListener != "undefined")
+                               c.removeEventListener("click", 
this._headerOnclick, false);
+                       else if (typeof c.detachEvent != "undefined")
+                               c.detachEvent("onclick", this._headerOnclick);
+                       c._sortType = null;
+                       c.removeAttribute( "_sortType" );
+               }
+       }
+};
+
+SortableTable.prototype.updateHeaderArrows = function () {
+       if (!this.tHead) return;
+       var cells = this.tHead.rows[0].cells;
+       var l = cells.length;
+       var img;
+       for (var i = 0; i < l; i++) {
+               if (cells[i]._sortType != null && cells[i]._sortType != "None") 
{
+                       img = cells[i].lastChild;
+                       if (i == this.sortColumn)
+                               img.className = "sort-arrow " + 
(this.descending ? "descending" : "ascending");
+                       else
+                               img.className = "sort-arrow";
+               }
+       }
+};
+
+SortableTable.prototype.headerOnclick = function (e) {
+       // find TD element
+       var el = e.target || e.srcElement;
+       while (el.tagName != "TD")
+               el = el.parentNode;
+
+       this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : 
el.cellIndex);
+};
+
+// IE returns wrong cellIndex when columns are hidden
+SortableTable.getCellIndex = function (oTd) {
+       var cells = oTd.parentNode.childNodes
+       var l = cells.length;
+       var i;
+       for (i = 0; cells[i] != oTd && i < l; i++)
+               ;
+       return i;
+};
+
+SortableTable.prototype.getSortType = function (nColumn) {
+       return this.sortTypes[nColumn] || "String";
+};
+
+// only nColumn is required
+// if bDescending is left out the old value is taken into account
+// if sSortType is left out the sort type is found from the sortTypes array
+
+SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) {
+       if (!this.tBody) return;
+       if (sSortType == null)
+               sSortType = this.getSortType(nColumn);
+
+       // exit if None
+       if (sSortType == "None")
+               return;
+
+       if (bDescending == null) {
+               if (this.sortColumn != nColumn)
+                       this.descending = this.defaultDescending;
+               else
+                       this.descending = !this.descending;
+       }
+       else
+               this.descending = bDescending;
+
+       this.sortColumn = nColumn;
+
+       if (typeof this.onbeforesort == "function")
+               this.onbeforesort();
+
+       var f = this.getSortFunction(sSortType, nColumn);
+       var a = this.getCache(sSortType, nColumn);
+       var tBody = this.tBody;
+
+       a.sort(f);
+
+       if (this.descending)
+               a.reverse();
+
+       if (SortableTable.removeBeforeSort) {
+               // remove from doc
+               var nextSibling = tBody.nextSibling;
+               var p = tBody.parentNode;
+               p.removeChild(tBody);
+       }
+
+       // insert in the new order
+       var l = a.length;
+       for (var i = 0; i < l; i++)
+               tBody.appendChild(a[i].element);
+
+       if (SortableTable.removeBeforeSort) {
+               // insert into doc
+               p.insertBefore(tBody, nextSibling);
+       }
+
+       this.updateHeaderArrows();
+
+       this.destroyCache(a);
+
+       if (typeof this.onsort == "function")
+               this.onsort();
+};
+
+SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) 
{
+       var oThis = this;
+       this._asyncsort = function () {
+               oThis.sort(nColumn, bDescending, sSortType);
+       };
+       window.setTimeout(this._asyncsort, 1);
+};
+
+SortableTable.prototype.getCache = function (sType, nColumn) {
+       if (!this.tBody) return [];
+       var rows = this.tBody.rows;
+       var l = rows.length;
+       var a = new Array(l);
+       var r;
+       for (var i = 0; i < l; i++) {
+               r = rows[i];
+               a[i] = {
+                       value:          this.getRowValue(r, sType, nColumn),
+                       element:        r
+               };
+       };
+       return a;
+};
+
+SortableTable.prototype.destroyCache = function (oArray) {
+       var l = oArray.length;
+       for (var i = 0; i < l; i++) {
+               oArray[i].value = null;
+               oArray[i].element = null;
+               oArray[i] = null;
+       }
+};
+
+SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) {
+       // if we have defined a custom getRowValue use that
+       if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue)
+               return this._sortTypeInfo[sType].getRowValue(oRow, nColumn);
+
+       var s;
+       var c = oRow.cells[nColumn];
+       if (typeof c.innerText != "undefined")
+               s = c.innerText;
+       else
+               s = SortableTable.getInnerText(c);
+       return this.getValueFromString(s, sType);
+};
+
+SortableTable.getInnerText = function (oNode) {
+       var s = "";
+       var cs = oNode.childNodes;
+       var l = cs.length;
+       for (var i = 0; i < l; i++) {
+               switch (cs[i].nodeType) {
+                       case 1: //ELEMENT_NODE
+                               s += SortableTable.getInnerText(cs[i]);
+                               break;
+                       case 3: //TEXT_NODE
+                               s += cs[i].nodeValue;
+                               break;
+               }
+       }
+       return s;
+};
+
+SortableTable.prototype.getValueFromString = function (sText, sType) {
+       if (this._sortTypeInfo[sType])
+               return this._sortTypeInfo[sType].getValueFromString( sText );
+       return sText;
+       /*
+       switch (sType) {
+               case "Number":
+                       return Number(sText);
+               case "CaseInsensitiveString":
+                       return sText.toUpperCase();
+               case "Date":
+                       var parts = sText.split("-");
+                       var d = new Date(0);
+                       d.setFullYear(parts[0]);
+                       d.setDate(parts[2]);
+                       d.setMonth(parts[1] - 1);
+                       return d.valueOf();
+       }
+       return sText;
+       */
+       };
+
+SortableTable.prototype.getSortFunction = function (sType, nColumn) {
+       if (this._sortTypeInfo[sType])
+               return this._sortTypeInfo[sType].compare;
+       return SortableTable.basicCompare;
+};
+
+SortableTable.prototype.destroy = function () {
+       this.uninitHeader();
+       var win = this.document.parentWindow;
+       if (win && typeof win.detachEvent != "undefined") {     // only IE 
needs this
+               win.detachEvent("onunload", this._onunload);
+       }
+       this._onunload = null;
+       this.element = null;
+       this.tHead = null;
+       this.tBody = null;
+       this.document = null;
+       this._headerOnclick = null;
+       this.sortTypes = null;
+       this._asyncsort = null;
+       this.onsort = null;
+};
+
+// Adds a sort type to all instance of SortableTable
+// sType : String - the identifier of the sort type
+// fGetValueFromString : function ( s : string ) : T - A function that takes a
+//    string and casts it to a desired format. If left out the string is just
+//    returned
+// fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort
+//    compare function. Takes two values and compares them. If left out less 
than,
+//    <, compare is used
+// fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A 
function
+//    that takes the row and the column index and returns the value used to 
compare.
+//    If left out then the innerText is first taken for the cell and then the
+//    fGetValueFromString is used to convert that string the desired value and 
type
+
+SortableTable.prototype.addSortType = function (sType, fGetValueFromString, 
fCompareFunction, fGetRowValue) {
+       this._sortTypeInfo[sType] = {
+               type:                           sType,
+               getValueFromString:     fGetValueFromString || 
SortableTable.idFunction,
+               compare:                        fCompareFunction || 
SortableTable.basicCompare,
+               getRowValue:            fGetRowValue
+       };
+};
+
+// this removes the sort type from all instances of SortableTable
+SortableTable.prototype.removeSortType = function (sType) {
+       delete this._sortTypeInfo[sType];
+};
+
+SortableTable.basicCompare = function compare(n1, n2) {
+       if (n1.value < n2.value)
+               return -1;
+       if (n2.value < n1.value)
+               return 1;
+       return 0;
+};
+
+SortableTable.idFunction = function (x) {
+       return x;
+};
+
+SortableTable.toUpperCase = function (s) {
+       return s.toUpperCase();
+};
+
+SortableTable.toDate = function (s) {
+       var parts = s.split("-");
+       var d = new Date(0);
+       d.setFullYear(parts[0]);
+       d.setDate(parts[2]);
+       d.setMonth(parts[1] - 1);
+       return d.valueOf();
+};
+
+
+// add sort types
+SortableTable.prototype.addSortType("Number", Number);
+SortableTable.prototype.addSortType("CaseInsensitiveString", 
SortableTable.toUpperCase);
+SortableTable.prototype.addSortType("Date", SortableTable.toDate);
+SortableTable.prototype.addSortType("String");
+// None is a special case
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/stringbuilder.js
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/stringbuilder.js
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/js/stringbuilder.js
 Tue May 21 03:58:58 2019
@@ -1,79 +1,79 @@
-/*----------------------------------------------------------------------------\
-|                             String Builder 1.02                             |
-|-----------------------------------------------------------------------------|
-|                         Created by Erik Arvidsson                           |
-|                  (http://webfx.eae.net/contact.html#erik)                   |
-|                      For WebFX (http://webfx.eae.net/)                      |
-|-----------------------------------------------------------------------------|
-| A class that allows more efficient building of strings than concatenation.  |
-|-----------------------------------------------------------------------------|
-|                  Copyright (c) 1999 - 2002 Erik Arvidsson                   |
-|-----------------------------------------------------------------------------|
-| This software is provided "as is", without warranty of any kind, express or |
-| implied, including  but not limited  to the warranties of  merchantability, |
-| fitness for a particular purpose and noninfringement. In no event shall the |
-| authors or  copyright  holders be  liable for any claim,  damages or  other |
-| liability, whether  in an  action of  contract, tort  or otherwise, arising |
-| from,  out of  or in  connection with  the software or  the  use  or  other |
-| dealings in the software.                                                   |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| This  software is  available under the  three different licenses  mentioned |
-| below.  To use this software you must chose, and qualify, for one of those. |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| The WebFX Non-Commercial License          http://webfx.eae.net/license.html |
-| Permits  anyone the right to use the  software in a  non-commercial context |
-| free of charge.                                                             |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| The WebFX Commercial license           http://webfx.eae.net/commercial.html |
-| Permits the  license holder the right to use  the software in a  commercial |
-| context. Such license must be specifically obtained, however it's valid for |
-| any number of  implementations of the licensed software.                    |
-| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
-| GPL - The GNU General Public License    http://www.gnu.org/licenses/gpl.txt |
-| Permits anyone the right to use and modify the software without limitations |
-| as long as proper  credits are given  and the original  and modified source |
-| code are included. Requires  that the final product, software derivate from |
-| the original  source or any  software  utilizing a GPL  component, such  as |
-| this, is also licensed under the GPL license.                               |
-|-----------------------------------------------------------------------------|
-| 2000-10-02 | First version                                                  |
-| 2000-10-05 | Added a cache of the string so that it does not need to be     |
-|            | regenerated every time in toString                             |
-| 2002-10-03 | Added minor improvement in the toString method                 |
-|-----------------------------------------------------------------------------|
-| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
-\----------------------------------------------------------------------------*/
 function StringBuilder(sString) {
-       
-       // public
-       this.length = 0;
-       
-       this.append = function (sString) {
-               // append argument
-               this.length += (this._parts[this._current++] = 
String(sString)).length;
-               
-               // reset cache
-               this._string = null;
-               return this;
-       };
-       
-       this.toString = function () {
-               if (this._string != null)
-                       return this._string;
-               
-               var s = this._parts.join("");
-               this._parts = [s];
-               this._current = 1;
-               this.length = s.length;
-               
-               return this._string = s;
-       };
-
-       // private
-       this._current   = 0;
-       this._parts             = [];
-       this._string    = null; // used to cache the string
-       
-       // init
-       if (sString != null)
-               this.append(sString);
-}
+/*----------------------------------------------------------------------------\
+|                             String Builder 1.02                             |
+|-----------------------------------------------------------------------------|
+|                         Created by Erik Arvidsson                           |
+|                  (http://webfx.eae.net/contact.html#erik)                   |
+|                      For WebFX (http://webfx.eae.net/)                      |
+|-----------------------------------------------------------------------------|
+| A class that allows more efficient building of strings than concatenation.  |
+|-----------------------------------------------------------------------------|
+|                  Copyright (c) 1999 - 2002 Erik Arvidsson                   |
+|-----------------------------------------------------------------------------|
+| This software is provided "as is", without warranty of any kind, express or |
+| implied, including  but not limited  to the warranties of  merchantability, |
+| fitness for a particular purpose and noninfringement. In no event shall the |
+| authors or  copyright  holders be  liable for any claim,  damages or  other |
+| liability, whether  in an  action of  contract, tort  or otherwise, arising |
+| from,  out of  or in  connection with  the software or  the  use  or  other |
+| dealings in the software.                                                   |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| This  software is  available under the  three different licenses  mentioned |
+| below.  To use this software you must chose, and qualify, for one of those. |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Non-Commercial License          http://webfx.eae.net/license.html |
+| Permits  anyone the right to use the  software in a  non-commercial context |
+| free of charge.                                                             |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| The WebFX Commercial license           http://webfx.eae.net/commercial.html |
+| Permits the  license holder the right to use  the software in a  commercial |
+| context. Such license must be specifically obtained, however it's valid for |
+| any number of  implementations of the licensed software.                    |
+| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
+| GPL - The GNU General Public License    http://www.gnu.org/licenses/gpl.txt |
+| Permits anyone the right to use and modify the software without limitations |
+| as long as proper  credits are given  and the original  and modified source |
+| code are included. Requires  that the final product, software derivate from |
+| the original  source or any  software  utilizing a GPL  component, such  as |
+| this, is also licensed under the GPL license.                               |
+|-----------------------------------------------------------------------------|
+| 2000-10-02 | First version                                                  |
+| 2000-10-05 | Added a cache of the string so that it does not need to be     |
+|            | regenerated every time in toString                             |
+| 2002-10-03 | Added minor improvement in the toString method                 |
+|-----------------------------------------------------------------------------|
+| Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 |
+\----------------------------------------------------------------------------*/
 function StringBuilder(sString) {
+       
+       // public
+       this.length = 0;
+       
+       this.append = function (sString) {
+               // append argument
+               this.length += (this._parts[this._current++] = 
String(sString)).length;
+               
+               // reset cache
+               this._string = null;
+               return this;
+       };
+       
+       this.toString = function () {
+               if (this._string != null)
+                       return this._string;
+               
+               var s = this._parts.join("");
+               this._parts = [s];
+               this._current = 1;
+               this.length = s.length;
+               
+               return this._string = s;
+       };
+
+       // private
+       this._current   = 0;
+       this._parts             = [];
+       this._string    = null; // used to cache the string
+       
+       // init
+       if (sString != null)
+               this.append(sString);
+}
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoParameters.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoParameters.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoParameters.html
 Tue May 21 03:58:58 2019
@@ -103,6 +103,6 @@
   <td class="src"><pre class="src">&nbsp;}</pre></td></tr>
 </table>
 
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 1.9 on 
3/29/09 11:46 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.1.1 on 
5/20/19 11:58 PM.</div>
 </body>
-</html>
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoStreamFactory.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoStreamFactory.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoStreamFactory.html
 Tue May 21 03:58:58 2019
@@ -291,6 +291,6 @@
   <td class="src"><pre class="src">&nbsp;}</pre></td></tr>
 </table>
 
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 1.9 on 
3/29/09 11:46 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.1.1 on 
5/20/19 11:58 PM.</div>
 </body>
-</html>
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoStreamFactoryImpl.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoStreamFactoryImpl.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoStreamFactoryImpl.html
 Tue May 21 03:58:58 2019
@@ -12,7 +12,7 @@
 <div class="separator">&nbsp;</div>
 <table class="report">
 <thead><tr>  <td class="heading">Classes in this File</td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return false;">Line Coverage</a></td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return 
false;">Complexity</a></td></tr></thead>
-  <tr><td><a 
href="org.apache.fulcrum.jce.crypto.CryptoStreamFactoryImpl.html">CryptoStreamFactoryImpl</a></td><td><table
 cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">50%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:50px"><span 
class="text">30/60</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">21%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:21px"><span 
class="text">3/14</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">1.3888888888888888;</span>1.389</td></tr>
+  <tr><td><a 
href="org.apache.fulcrum.jce.crypto.CryptoStreamFactoryImpl.html">CryptoStreamFactoryImpl</a></td><td><table
 cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">48%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:48px"><span 
class="text">30/62</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">21%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:21px"><span 
class="text">3/14</span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">1.3888888888888888;</span>1.389</td></tr>
 
 </table>
 <div class="separator">&nbsp;</div>
@@ -378,8 +378,7 @@
 <tr>  <td class="numLineCover">&nbsp;198</td>  <td 
class="nbHitsUncovered">&nbsp;0</td>  <td class="src"><pre class="src"><span 
class="srcUncovered">&nbsp;        <span class="keyword">return</span> <span 
class="keyword">this</span>.getSmartInputStream(</span></pre></td></tr>
 <tr>  <td class="numLine">&nbsp;199</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            is,</pre></td></tr>
-<tr>  <td class="numLine">&nbsp;200</td>  <td class="nbHits">&nbsp;</td>
-  <td class="src"><pre class="src">&nbsp;            
PasswordFactory.create()</pre></td></tr>
+<tr>  <td class="numLineCover">&nbsp;200</td>  <td 
class="nbHitsUncovered">&nbsp;0</td>  <td class="src"><pre class="src"><span 
class="srcUncovered">&nbsp;            
PasswordFactory.create()</span></pre></td></tr>
 <tr>  <td class="numLine">&nbsp;201</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            );</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;202</td>  <td class="nbHits">&nbsp;</td>
@@ -403,8 +402,7 @@
 <tr>  <td class="numLine">&nbsp;211</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;</pre></td></tr>
 <tr>  <td class="numLineCover">&nbsp;212</td>  <td 
class="nbHitsUncovered">&nbsp;0</td>  <td class="src"><pre class="src"><span 
class="srcUncovered">&nbsp;        result = <span class="keyword">new</span> 
SmartDecryptingInputStream(</span></pre></td></tr>
-<tr>  <td class="numLine">&nbsp;213</td>  <td class="nbHits">&nbsp;</td>
-  <td class="src"><pre class="src">&nbsp;            
getInstance(),</pre></td></tr>
+<tr>  <td class="numLineCover">&nbsp;213</td>  <td 
class="nbHitsUncovered">&nbsp;0</td>  <td class="src"><pre class="src"><span 
class="srcUncovered">&nbsp;            getInstance(),</span></pre></td></tr>
 <tr>  <td class="numLine">&nbsp;214</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            is,</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;215</td>  <td class="nbHits">&nbsp;</td>
@@ -611,6 +609,6 @@
   <td class="src"><pre class="src">&nbsp;}</pre></td></tr>
 </table>
 
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 1.9 on 
3/29/09 11:46 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.1.1 on 
5/20/19 11:58 PM.</div>
 </body>
-</html>
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoUtil.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoUtil.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/cobertura/org.apache.fulcrum.jce.crypto.CryptoUtil.html
 Tue May 21 03:58:58 2019
@@ -12,7 +12,7 @@
 <div class="separator">&nbsp;</div>
 <table class="report">
 <thead><tr>  <td class="heading">Classes in this File</td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return false;">Line Coverage</a></td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td>  <td 
class="heading"><a class="dfn" href="help.html" 
onclick="popupwindow('help.html'); return 
false;">Complexity</a></td></tr></thead>
-  <tr><td><a 
href="org.apache.fulcrum.jce.crypto.CryptoUtil.html">CryptoUtil</a></td><td><table
 cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">96%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:96px"><span 
class="text">25/26</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" width="40"><a 
class="dfn" href="help.html" onclick="popupwindow('help.html'); return 
false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div 
class="na" style="width:100px"><span class="text"><a class="dfn" 
href="help.html" onclick="popupwindow('help.html'); return 
false;">N/A</a></span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">1.0;</span>1</td></tr>
+  <tr><td><a 
href="org.apache.fulcrum.jce.crypto.CryptoUtil.html">CryptoUtil</a></td><td><table
 cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" 
width="40">96%</td><td class="percentgraph"><div class="percentgraph"><div 
class="greenbar" style="width:96px"><span 
class="text">29/30</span></div></div></td></tr></table></td><td><table 
cellpadding="0px" cellspacing="0px" class="percentgraph"><tr 
class="percentgraph"><td align="right" class="percentgraph" width="40"><a 
class="dfn" href="help.html" onclick="popupwindow('help.html'); return 
false;">N/A</a></td><td class="percentgraph"><div class="percentgraph"><div 
class="na" style="width:100px"><span class="text"><a class="dfn" 
href="help.html" onclick="popupwindow('help.html'); return 
false;">N/A</a></span></div></div></td></tr></table></td><td 
class="value"><span class="hidden">1.0;</span>1</td></tr>
 
 </table>
 <div class="separator">&nbsp;</div>
@@ -123,8 +123,7 @@
 <tr>  <td class="numLine">&nbsp;53</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;    {</pre></td></tr>
 <tr>  <td class="numLineCover">&nbsp;54</td>  <td 
class="nbHitsCovered">&nbsp;17</td>  <td class="src"><pre class="src">&nbsp;    
    CryptoUtil.encrypt(</pre></td></tr>
-<tr>  <td class="numLine">&nbsp;55</td>  <td class="nbHits">&nbsp;</td>
-  <td class="src"><pre class="src">&nbsp;            
CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
+<tr>  <td class="numLineCover">&nbsp;55</td>  <td 
class="nbHitsCovered">&nbsp;17</td>  <td class="src"><pre class="src">&nbsp;    
        CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;56</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            source,</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;57</td>  <td class="nbHits">&nbsp;</td>
@@ -198,8 +197,7 @@
 <tr>  <td class="numLine">&nbsp;94</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;    {</pre></td></tr>
 <tr>  <td class="numLineCover">&nbsp;95</td>  <td 
class="nbHitsCovered">&nbsp;10</td>  <td class="src"><pre class="src">&nbsp;    
    CryptoUtil.decrypt(</pre></td></tr>
-<tr>  <td class="numLine">&nbsp;96</td>  <td class="nbHits">&nbsp;</td>
-  <td class="src"><pre class="src">&nbsp;            
CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
+<tr>  <td class="numLineCover">&nbsp;96</td>  <td 
class="nbHitsCovered">&nbsp;10</td>  <td class="src"><pre class="src">&nbsp;    
        CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;97</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            source,</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;98</td>  <td class="nbHits">&nbsp;</td>
@@ -273,8 +271,7 @@
 <tr>  <td class="numLine">&nbsp;135</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;    {</pre></td></tr>
 <tr>  <td class="numLineCover">&nbsp;136</td>  <td 
class="nbHitsCovered">&nbsp;4</td>  <td class="src"><pre class="src">&nbsp;     
   <span class="keyword">return</span> CryptoUtil.encryptString(</pre></td></tr>
-<tr>  <td class="numLine">&nbsp;137</td>  <td class="nbHits">&nbsp;</td>
-  <td class="src"><pre class="src">&nbsp;            
CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
+<tr>  <td class="numLineCover">&nbsp;137</td>  <td 
class="nbHitsCovered">&nbsp;4</td>  <td class="src"><pre class="src">&nbsp;     
       CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;138</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            plainText,</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;139</td>  <td class="nbHits">&nbsp;</td>
@@ -347,8 +344,7 @@
 <tr>  <td class="numLine">&nbsp;174</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;    {</pre></td></tr>
 <tr>  <td class="numLineCover">&nbsp;175</td>  <td 
class="nbHitsCovered">&nbsp;4</td>  <td class="src"><pre class="src">&nbsp;     
   <span class="keyword">return</span> CryptoUtil.decryptString(</pre></td></tr>
-<tr>  <td class="numLine">&nbsp;176</td>  <td class="nbHits">&nbsp;</td>
-  <td class="src"><pre class="src">&nbsp;            
CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
+<tr>  <td class="numLineCover">&nbsp;176</td>  <td 
class="nbHitsCovered">&nbsp;4</td>  <td class="src"><pre class="src">&nbsp;     
       CryptoUtil.getCryptoStreamFactory(),</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;177</td>  <td class="nbHits">&nbsp;</td>
   <td class="src"><pre class="src">&nbsp;            
cipherText,</pre></td></tr>
 <tr>  <td class="numLine">&nbsp;178</td>  <td class="nbHits">&nbsp;</td>
@@ -443,6 +439,6 @@
   <td class="src"><pre class="src">&nbsp;}</pre></td></tr>
 </table>
 
-<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 1.9 on 
3/29/09 11:46 PM.</div>
+<div class="footer">Report generated by <a 
href="http://cobertura.sourceforge.net/"; target="_top">Cobertura</a> 2.1.1 on 
5/20/19 11:58 PM.</div>
 </body>
-</html>
+</html>
\ No newline at end of file


Reply via email to