<commit_before>//code that displays an outline jstruct in javascript

var outlineBrowserData = {
	version: "0.40",
	serialNum: 0
	}

function renderOutlineBrowser (outline, flMarkdown, urlPermalink, permalinkString, flExpanded) {
	function stringLower (s) {
		if (s === undefined) { //1/26/15 by DW
			return ("");
			}
		s = s.toString (); //1/26/15 by DW
		return (s.toLowerCase ());
		}
	function isAlpha (ch) {
		return (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')));
		}
	function isNumeric (ch) {
		return ((ch >= '0') && (ch <= '9'));
		}
	function stripMarkup (s) { //5/24/14 by DW
		if ((s === undefined) || (s == null) || (s.length == 0)) {
			return ("");
			}
		return (s.replace (/(<([^>]+)>)/ig, ""));
		}
	function innerCaseName (text) { //8/12/14 by DW
		var s = "", ch, flNextUpper = false;
		text = stripMarkup (text); 
		for (var i = 0; i < text.length; i++) {
			ch = text [i];
			if (isAlpha (ch) || isNumeric (ch)) { 
				if (flNextUpper) {
					ch = ch.toUpperCase ();
					flNextUpper = false;
					}
				else {
					ch = ch.toLowerCase ();
					}
				s += ch;
				}
			else {
				if (ch == ' ') { 
					flNextUpper = true;
					}
				}
			}
		return (s);
		}
	function filledString (ch, ct) { //6/4/14 by DW
		var s = "";
		for (var i = 0; i < ct; i++) {
			s += ch;
			}
		return (s);
		}
	function getBoolean (val) { //12/5/13 by DW
		switch (typeof (val)) {
			case "string":
				if (val.toLowerCase () == "true") {
					return (true);
					}
				break;
			case "boolean":
				return (val);
			case "number":
				if (val == 1) {
					return (true);
					}
				break;
			}
		return (false);
		}
	function beginsWith (s, possibleBeginning, flUnicase) { 
		if (s.length == 0) { //1/1/14 by DW
			return (false);
			}
		if (flUnicase === undefined) {
			flUnicase = true;
			}
		if (flUnicase) {
			for (var i = 0; i < possibleBeginning.length; i++) {
				if (stringLower (s [i]) != stringLower (possibleBeginning [i])) {
					return (false);
					}
				}
			}
		else {
			for (var i = 0; i < possibleBeginning.length; i++) {
				if (s [i] != possibleBeginning [i]) {
					return (false);
					}
				}
			}
		return (true);
		}
	function debugNode (theNode) {
		var attstext = "";
		for (var x in theNode) {
			if ((x != "subs") && (x != "parent") && (x != "created")) {
				if (attstext.length > 0) {
					attstext +=  ", ";
					}
				attstext += x + "=" + theNode [x];
				}
			}
		return (attstext);
		}
	function getNodeType (theNode) {
		if (theNode.type == "include") {
			return (theNode.includetype); //this allows include nodes to have types
			}
		else {
			return (theNode.type);
			}
		}
	function getNameAtt (theNode) {
		var nameatt = theNode.name;
		if (nameatt === undefined) {
			nameatt = innerCaseName (theNode.text);
			}
		return (nameatt);
		}
	function typeIsDoc (theNode) {
		var type = getNodeType (theNode);
		return ((type !== undefined) && (type != "include") && (type != "link") && (type != "tweet"));
		}
	function ecOutline (idnum) { 
		var c = document.getElementById ("idOutlineWedge" + idnum), idUL = "#idOutlineLevel" + idnum;
		if (c.className == "fa fa-caret-down") {
			c.className = "fa fa-caret-right";
			c.style.color = "black";
			$(idUL).slideUp (75);
			}
		else {
			c.className = "fa fa-caret-down";
			c.style.color = "silver";
			$(idUL).slideDown (75);
			}
		}
	function getIcon (idnum, flcollapsed) {
		var wedgedir, color;<commit_msg>v0.41<commit_after>//code that displays an outline jstruct in javascript

var outlineBrowserData = {
	version: "0.41",
	serialNum: 0
	}

function ecOutline (idnum) { 
	var c = document.getElementById ("idOutlineWedge" + idnum), idUL = "#idOutlineLevel" + idnum;
	if (c.className == "fa fa-caret-down") {
		c.className = "fa fa-caret-right";
		c.style.color = "black";
		$(idUL).slideUp (75);
		}
	else {
		c.className = "fa fa-caret-down";
		c.style.color = "silver";
		$(idUL).slideDown (75);
		}
	}
function renderOutlineBrowser (outline, flMarkdown, urlPermalink, permalinkString, flExpanded) {
	function stringLower (s) {
		if (s === undefined) { //1/26/15 by DW
			return ("");
			}
		s = s.toString (); //1/26/15 by DW
		return (s.toLowerCase ());
		}
	function isAlpha (ch) {
		return (((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')));
		}
	function isNumeric (ch) {
		return ((ch >= '0') && (ch <= '9'));
		}
	function stripMarkup (s) { //5/24/14 by DW
		if ((s === undefined) || (s == null) || (s.length == 0)) {
			return ("");
			}
		return (s.replace (/(<([^>]+)>)/ig, ""));
		}
	function innerCaseName (text) { //8/12/14 by DW
		var s = "", ch, flNextUpper = false;
		text = stripMarkup (text); 
		for (var i = 0; i < text.length; i++) {
			ch = text [i];
			if (isAlpha (ch) || isNumeric (ch)) { 
				if (flNextUpper) {
					ch = ch.toUpperCase ();
					flNextUpper = false;
					}
				else {
					ch = ch.toLowerCase ();
					}
				s += ch;
				}
			else {
				if (ch == ' ') { 
					flNextUpper = true;
					}
				}
			}
		return (s);
		}
	function filledString (ch, ct) { //6/4/14 by DW
		var s = "";
		for (var i = 0; i < ct; i++) {
			s += ch;
			}
		return (s);
		}
	function getBoolean (val) { //12/5/13 by DW
		switch (typeof (val)) {
			case "string":
				if (val.toLowerCase () == "true") {
					return (true);
					}
				break;
			case "boolean":
				return (val);
			case "number":
				if (val == 1) {
					return (true);
					}
				break;
			}
		return (false);
		}
	function beginsWith (s, possibleBeginning, flUnicase) { 
		if (s.length == 0) { //1/1/14 by DW
			return (false);
			}
		if (flUnicase === undefined) {
			flUnicase = true;
			}
		if (flUnicase) {
			for (var i = 0; i < possibleBeginning.length; i++) {
				if (stringLower (s [i]) != stringLower (possibleBeginning [i])) {
					return (false);
					}
				}
			}
		else {
			for (var i = 0; i < possibleBeginning.length; i++) {
				if (s [i] != possibleBeginning [i]) {
					return (false);
					}
				}
			}
		return (true);
		}
	function debugNode (theNode) {
		var attstext = "";
		for (var x in theNode) {
			if ((x != "subs") && (x != "parent") && (x != "created")) {
				if (attstext.length > 0) {
					attstext +=  ", ";
					}
				attstext += x + "=" + theNode [x];
				}
			}
		return (attstext);
		}
	function getNodeType (theNode) {
		if (theNode.type == "include") {
			return (theNode.includetype); //this allows include nodes to have types
			}
		else {
			return (theNode.type);
			}
		}
	function getNameAtt (theNode) {
		var nameatt = theNode.name;
		if (nameatt === undefined) {
			nameatt = innerCaseName (theNode.text);
			}
		return (nameatt);
		}
	function typeIsDoc (theNode) {
		var type = getNodeType (theNode);
		return ((type !== undefined) && (type != "include") && (type != "link") && (type != "tweet"));
		}
	function getIcon (idnum, flcollapsed) {
		var wedgedir, color;
{'fraction_non_alphanumeric': 0.19180687637161667, 'fraction_numerical': 0.015362106803218726, 'mean_word_length': 2.5182707153885744, 'pattern_counts': {'":': 6, '<': 19, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4964980', 'n_tokens_mistral': 3150, 'n_tokens_neox': 2601, 'n_words': 675}