JAL-1807 still testing
[jalviewjs.git] / bin / javajs / util / PT.js
index 2bfe06d..b20715c 100644 (file)
-Clazz.declarePackage ("javajs.util");
-Clazz.load (null, "javajs.util.PT", ["java.lang.Boolean", "$.Double", "$.Float", "$.Number", "java.util.Map", "javajs.api.JSONEncodable", "javajs.util.AU", "$.DF", "$.Lst", "$.M34", "$.M4", "$.SB"], function () {
-c$ = Clazz.declareType (javajs.util, "PT");
-c$.parseInt = Clazz.defineMethod (c$, "parseInt", 
-function (str) {
-return javajs.util.PT.parseIntNext (str,  Clazz.newIntArray (-1, [0]));
-}, "~S");
-c$.parseIntNext = Clazz.defineMethod (c$, "parseIntNext", 
-function (str, next) {
-var cch = str.length;
-if (next[0] < 0 || next[0] >= cch) return -2147483648;
-return javajs.util.PT.parseIntChecked (str, cch, next);
-}, "~S,~A");
-c$.parseIntChecked = Clazz.defineMethod (c$, "parseIntChecked", 
-function (str, ichMax, next) {
-var digitSeen = false;
-var value = 0;
-var ich = next[0];
-if (ich < 0) return -2147483648;
-var ch;
-while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;
-
-var negative = false;
-if (ich < ichMax && str.charCodeAt (ich) == 45) {
-negative = true;
-++ich;
-}while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {
-value = value * 10 + (ch - 48);
-digitSeen = true;
-++ich;
-}
-if (!digitSeen) value = -2147483648;
- else if (negative) value = -value;
-next[0] = ich;
-return value;
-}, "~S,~N,~A");
-c$.isWhiteSpace = Clazz.defineMethod (c$, "isWhiteSpace", 
-function (str, ich) {
-var ch;
-return (ich >= 0 && ((ch = str.charAt (ich)) == ' ' || ch == '\t' || ch == '\n'));
-}, "~S,~N");
-c$.parseFloatChecked = Clazz.defineMethod (c$, "parseFloatChecked", 
-function (str, ichMax, next, isStrict) {
-var digitSeen = false;
-var ich = next[0];
-if (isStrict && str.indexOf ('\n') != str.lastIndexOf ('\n')) return NaN;
-while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;
-
-var negative = false;
-if (ich < ichMax && str.charAt (ich) == '-') {
-++ich;
-negative = true;
-}var ch = 0;
-var ival = 0;
-var ival2 = 0;
-while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {
-ival = (ival * 10) + (ch - 48) * 1;
-++ich;
-digitSeen = true;
-}
-var isDecimal = false;
-var iscale = 0;
-var nzero = (ival == 0 ? -1 : 0);
-if (ch == 46) {
-isDecimal = true;
-while (++ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {
-digitSeen = true;
-if (nzero < 0) {
-if (ch == 48) {
-nzero--;
-continue;
-}nzero = -nzero;
-}if (iscale < javajs.util.PT.decimalScale.length) {
-ival2 = (ival2 * 10) + (ch - 48) * 1;
-iscale++;
-}}
-}var value;
-if (!digitSeen) {
-value = NaN;
-} else if (ival2 > 0) {
-value = ival2 * javajs.util.PT.decimalScale[iscale - 1];
-if (nzero > 1) {
-if (nzero - 2 < javajs.util.PT.decimalScale.length) {
-value *= javajs.util.PT.decimalScale[nzero - 2];
-} else {
-value *= Math.pow (10, 1 - nzero);
-}} else {
-value += ival;
-}} else {
-value = ival;
-}var isExponent = false;
-if (ich < ichMax && (ch == 69 || ch == 101 || ch == 68)) {
-isExponent = true;
-if (++ich >= ichMax) return NaN;
-ch = str.charCodeAt (ich);
-if ((ch == 43) && (++ich >= ichMax)) return NaN;
-next[0] = ich;
-var exponent = javajs.util.PT.parseIntChecked (str, ichMax, next);
-if (exponent == -2147483648) return NaN;
-if (exponent > 0 && exponent <= javajs.util.PT.tensScale.length) value *= javajs.util.PT.tensScale[exponent - 1];
- else if (exponent < 0 && -exponent <= javajs.util.PT.decimalScale.length) value *= javajs.util.PT.decimalScale[-exponent - 1];
- else if (exponent != 0) value *= Math.pow (10, exponent);
-} else {
-next[0] = ich;
-}if (negative) value = -value;
-if (value == Infinity) value = 3.4028235E38;
-return (!isStrict || (!isExponent || isDecimal) && javajs.util.PT.checkTrailingText (str, next[0], ichMax) ? value : NaN);
-}, "~S,~N,~A,~B");
-c$.checkTrailingText = Clazz.defineMethod (c$, "checkTrailingText", 
-function (str, ich, ichMax) {
-var ch;
-while (ich < ichMax && (javajs.util.PT.isWhitespace (ch = str.charAt (ich)) || ch == ';')) ++ich;
-
-return (ich == ichMax);
-}, "~S,~N,~N");
-c$.parseFloatArray = Clazz.defineMethod (c$, "parseFloatArray", 
-function (str) {
-return javajs.util.PT.parseFloatArrayNext (str,  Clazz.newIntArray (1, 0), null, null, null);
-}, "~S");
-c$.parseFloatArrayInfested = Clazz.defineMethod (c$, "parseFloatArrayInfested", 
-function (tokens, data) {
-var len = data.length;
-var nTokens = tokens.length;
-var n = 0;
-var max = 0;
-for (var i = 0; i >= 0 && i < len && n < nTokens; i++) {
-var f;
-while (Float.isNaN (f = javajs.util.PT.parseFloat (tokens[n++])) && n < nTokens) {
-}
-if (!Float.isNaN (f)) data[(max = i)] = f;
-if (n == nTokens) break;
-}
-return max + 1;
-}, "~A,~A");
-c$.parseFloatArrayNext = Clazz.defineMethod (c$, "parseFloatArrayNext", 
-function (str, next, f, strStart, strEnd) {
-var n = 0;
-var pt = next[0];
-if (pt >= 0) {
-if (strStart != null) {
-var p = str.indexOf (strStart, pt);
-if (p >= 0) next[0] = p + strStart.length;
-}str = str.substring (next[0]);
-pt = (strEnd == null ? -1 : str.indexOf (strEnd));
-if (pt < 0) pt = str.length;
- else str = str.substring (0, pt);
-next[0] += pt + 1;
-var tokens = javajs.util.PT.getTokens (str);
-if (f == null) f =  Clazz.newFloatArray (tokens.length, 0);
-n = javajs.util.PT.parseFloatArrayInfested (tokens, f);
-}if (f == null) return  Clazz.newFloatArray (0, 0);
-for (var i = n; i < f.length; i++) f[i] = NaN;
-
-return f;
-}, "~S,~A,~A,~S,~S");
-c$.parseFloatRange = Clazz.defineMethod (c$, "parseFloatRange", 
-function (str, ichMax, next) {
-var cch = str.length;
-if (ichMax > cch) ichMax = cch;
-if (next[0] < 0 || next[0] >= ichMax) return NaN;
-return javajs.util.PT.parseFloatChecked (str, ichMax, next, false);
-}, "~S,~N,~A");
-c$.parseFloatNext = Clazz.defineMethod (c$, "parseFloatNext", 
-function (str, next) {
-var cch = (str == null ? -1 : str.length);
-return (next[0] < 0 || next[0] >= cch ? NaN : javajs.util.PT.parseFloatChecked (str, cch, next, false));
-}, "~S,~A");
-c$.parseFloatStrict = Clazz.defineMethod (c$, "parseFloatStrict", 
-function (str) {
-var cch = str.length;
-if (cch == 0) return NaN;
-return javajs.util.PT.parseFloatChecked (str, cch,  Clazz.newIntArray (-1, [0]), true);
-}, "~S");
-c$.parseFloat = Clazz.defineMethod (c$, "parseFloat", 
-function (str) {
-return javajs.util.PT.parseFloatNext (str,  Clazz.newIntArray (-1, [0]));
-}, "~S");
-c$.parseIntRadix = Clazz.defineMethod (c$, "parseIntRadix", 
-function (s, i) {
-{
-return Integer.parseIntRadix(s, i);
-}}, "~S,~N");
-c$.getTokens = Clazz.defineMethod (c$, "getTokens", 
-function (line) {
-return javajs.util.PT.getTokensAt (line, 0);
-}, "~S");
-c$.parseToken = Clazz.defineMethod (c$, "parseToken", 
-function (str) {
-return javajs.util.PT.parseTokenNext (str,  Clazz.newIntArray (-1, [0]));
-}, "~S");
-c$.parseTrimmed = Clazz.defineMethod (c$, "parseTrimmed", 
-function (str) {
-return javajs.util.PT.parseTrimmedRange (str, 0, str.length);
-}, "~S");
-c$.parseTrimmedAt = Clazz.defineMethod (c$, "parseTrimmedAt", 
-function (str, ichStart) {
-return javajs.util.PT.parseTrimmedRange (str, ichStart, str.length);
-}, "~S,~N");
-c$.parseTrimmedRange = Clazz.defineMethod (c$, "parseTrimmedRange", 
-function (str, ichStart, ichMax) {
-var cch = str.length;
-if (ichMax < cch) cch = ichMax;
-if (cch < ichStart) return "";
-return javajs.util.PT.parseTrimmedChecked (str, ichStart, cch);
-}, "~S,~N,~N");
-c$.getTokensAt = Clazz.defineMethod (c$, "getTokensAt", 
-function (line, ich) {
-if (line == null) return null;
-var cchLine = line.length;
-if (ich < 0 || ich > cchLine) return null;
-var tokenCount = javajs.util.PT.countTokens (line, ich);
-var tokens =  new Array (tokenCount);
-var next =  Clazz.newIntArray (1, 0);
-next[0] = ich;
-for (var i = 0; i < tokenCount; ++i) tokens[i] = javajs.util.PT.parseTokenChecked (line, cchLine, next);
-
-return tokens;
-}, "~S,~N");
-c$.countChar = Clazz.defineMethod (c$, "countChar", 
-function (line, c) {
-var tokenCount = 0;
-var pt = -1;
-while ((pt = line.indexOf (c, pt + 1)) >= 0) tokenCount++;
-
-return tokenCount;
-}, "~S,~S");
-c$.countTokens = Clazz.defineMethod (c$, "countTokens", 
-function (line, ich) {
-var tokenCount = 0;
-if (line != null) {
-var ichMax = line.length;
-while (true) {
-while (ich < ichMax && javajs.util.PT.isWhiteSpace (line, ich)) ++ich;
-
-if (ich == ichMax) break;
-++tokenCount;
-do {
-++ich;
-} while (ich < ichMax && !javajs.util.PT.isWhiteSpace (line, ich));
-}
-}return tokenCount;
-}, "~S,~N");
-c$.parseTokenNext = Clazz.defineMethod (c$, "parseTokenNext", 
-function (str, next) {
-var cch = str.length;
-return (next[0] < 0 || next[0] >= cch ? null : javajs.util.PT.parseTokenChecked (str, cch, next));
-}, "~S,~A");
-c$.parseTokenRange = Clazz.defineMethod (c$, "parseTokenRange", 
-function (str, ichMax, next) {
-var cch = str.length;
-if (ichMax > cch) ichMax = cch;
-return (next[0] < 0 || next[0] >= ichMax ? null : javajs.util.PT.parseTokenChecked (str, ichMax, next));
-}, "~S,~N,~A");
-c$.parseTokenChecked = Clazz.defineMethod (c$, "parseTokenChecked", 
-function (str, ichMax, next) {
-var ich = next[0];
-while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;
-
-var ichNonWhite = ich;
-while (ich < ichMax && !javajs.util.PT.isWhiteSpace (str, ich)) ++ich;
-
-next[0] = ich;
-return (ichNonWhite == ich ? null : str.substring (ichNonWhite, ich));
-}, "~S,~N,~A");
-c$.parseTrimmedChecked = Clazz.defineMethod (c$, "parseTrimmedChecked", 
-function (str, ich, ichMax) {
-while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;
-
-var ichLast = ichMax - 1;
-while (ichLast >= ich && javajs.util.PT.isWhiteSpace (str, ichLast)) --ichLast;
-
-return (ichLast < ich ? "" : str.substring (ich, ichLast + 1));
-}, "~S,~N,~N");
-c$.dVal = Clazz.defineMethod (c$, "dVal", 
-function (s) {
-{
-if(s==null)
-throw new NumberFormatException("null");
-var d=parseFloat(s);
-if(isNaN(d))
-throw new NumberFormatException("Not a Number : "+s);
-return d
-}}, "~S");
-c$.fVal = Clazz.defineMethod (c$, "fVal", 
-function (s) {
-{
-return this.dVal(s);
-}}, "~S");
-c$.parseIntRange = Clazz.defineMethod (c$, "parseIntRange", 
-function (str, ichMax, next) {
-var cch = str.length;
-if (ichMax > cch) ichMax = cch;
-return (next[0] < 0 || next[0] >= ichMax ? -2147483648 : javajs.util.PT.parseIntChecked (str, ichMax, next));
-}, "~S,~N,~A");
-c$.parseFloatArrayData = Clazz.defineMethod (c$, "parseFloatArrayData", 
-function (tokens, data) {
-javajs.util.PT.parseFloatArrayDataN (tokens, data, data.length);
-}, "~A,~A");
-c$.parseFloatArrayDataN = Clazz.defineMethod (c$, "parseFloatArrayDataN", 
-function (tokens, data, nData) {
-for (var i = nData; --i >= 0; ) data[i] = (i >= tokens.length ? NaN : javajs.util.PT.parseFloat (tokens[i]));
-
-}, "~A,~A,~N");
-c$.split = Clazz.defineMethod (c$, "split", 
-function (text, run) {
-if (text.length == 0) return  new Array (0);
-var n = 1;
-var i = text.indexOf (run);
-var lines;
-var runLen = run.length;
-if (i < 0 || runLen == 0) {
-lines =  new Array (1);
-lines[0] = text;
-return lines;
-}var len = text.length - runLen;
-for (; i >= 0 && i < len; n++) i = text.indexOf (run, i + runLen);
-
-lines =  new Array (n);
-i = 0;
-var ipt = 0;
-var pt = 0;
-for (; (ipt = text.indexOf (run, i)) >= 0 && pt + 1 < n; ) {
-lines[pt++] = text.substring (i, ipt);
-i = ipt + runLen;
-}
-if (text.indexOf (run, len) != len) len += runLen;
-lines[pt] = text.substring (i, len);
-return lines;
-}, "~S,~S");
-c$.getQuotedStringAt = Clazz.defineMethod (c$, "getQuotedStringAt", 
-function (line, ipt0) {
-var next =  Clazz.newIntArray (-1, [ipt0]);
-return javajs.util.PT.getQuotedStringNext (line, next);
-}, "~S,~N");
-c$.getQuotedStringNext = Clazz.defineMethod (c$, "getQuotedStringNext", 
-function (line, next) {
-var i = next[0];
-if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return "";
-var pt = i + 1;
-var len = line.length;
-while (++i < len && line.charAt (i) != '"') if (line.charAt (i) == '\\') i++;
-
-next[0] = i + 1;
-return line.substring (pt, i);
-}, "~S,~A");
-c$.getCSVString = Clazz.defineMethod (c$, "getCSVString", 
-function (line, next) {
-var i = next[1];
-if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return null;
-var pt = next[0] = i;
-var len = line.length;
-var escaped = false;
-var haveEscape = false;
-while (++i < len && (line.charAt (i) != '"' || (escaped = (i + 1 < len && line.charAt (i + 1) == '"')))) if (escaped) {
-escaped = false;
-haveEscape = true;
-i++;
-}
-if (i >= len) {
-next[1] = -1;
-return null;
-}next[1] = i + 1;
-var s = line.substring (pt + 1, i);
-return (haveEscape ? javajs.util.PT.rep (javajs.util.PT.rep (s, "\"\"", "\0"), "\0", "\"") : s);
-}, "~S,~A");
-c$.isOneOf = Clazz.defineMethod (c$, "isOneOf", 
-function (key, semiList) {
-if (semiList.length == 0) return false;
-if (semiList.charAt (0) != ';') semiList = ";" + semiList + ";";
-return key.indexOf (";") < 0 && semiList.indexOf (';' + key + ';') >= 0;
-}, "~S,~S");
-c$.getQuotedAttribute = Clazz.defineMethod (c$, "getQuotedAttribute", 
-function (info, name) {
-var i = info.indexOf (name + "=");
-return (i < 0 ? null : javajs.util.PT.getQuotedStringAt (info, i));
-}, "~S,~S");
-c$.approx = Clazz.defineMethod (c$, "approx", 
-function (f, n) {
-return Math.round (f * n) / n;
-}, "~N,~N");
-c$.rep = Clazz.defineMethod (c$, "rep", 
-function (str, strFrom, strTo) {
-if (str == null || strFrom.length == 0 || str.indexOf (strFrom) < 0) return str;
-var isOnce = (strTo.indexOf (strFrom) >= 0);
-do {
-str = str.$replace (strFrom, strTo);
-} while (!isOnce && str.indexOf (strFrom) >= 0);
-return str;
-}, "~S,~S,~S");
-c$.formatF = Clazz.defineMethod (c$, "formatF", 
-function (value, width, precision, alignLeft, zeroPad) {
-return javajs.util.PT.formatS (javajs.util.DF.formatDecimal (value, precision), width, 0, alignLeft, zeroPad);
-}, "~N,~N,~N,~B,~B");
-c$.formatD = Clazz.defineMethod (c$, "formatD", 
-function (value, width, precision, alignLeft, zeroPad, allowOverflow) {
-return javajs.util.PT.formatS (javajs.util.DF.formatDecimal (value, -1 - precision), width, 0, alignLeft, zeroPad);
-}, "~N,~N,~N,~B,~B,~B");
-c$.formatS = Clazz.defineMethod (c$, "formatS", 
-function (value, width, precision, alignLeft, zeroPad) {
-if (value == null) return "";
-var len = value.length;
-if (precision != 2147483647 && precision > 0 && precision < len) value = value.substring (0, precision);
- else if (precision < 0 && len + precision >= 0) value = value.substring (len + precision + 1);
-var padLength = width - value.length;
-if (padLength <= 0) return value;
-var isNeg = (zeroPad && !alignLeft && value.charAt (0) == '-');
-var padChar = (zeroPad ? '0' : ' ');
-var padChar0 = (isNeg ? '-' : padChar);
-var sb =  new javajs.util.SB ();
-if (alignLeft) sb.append (value);
-sb.appendC (padChar0);
-for (var i = padLength; --i > 0; ) sb.appendC (padChar);
-
-if (!alignLeft) sb.append (isNeg ? padChar + value.substring (1) : value);
-return sb.toString ();
-}, "~S,~N,~N,~B,~B");
-c$.replaceWithCharacter = Clazz.defineMethod (c$, "replaceWithCharacter", 
-function (str, strFrom, chTo) {
-if (str == null) return null;
-for (var i = strFrom.length; --i >= 0; ) str = str.$replace (strFrom.charAt (i), chTo);
-
-return str;
-}, "~S,~S,~S");
-c$.replaceAllCharacters = Clazz.defineMethod (c$, "replaceAllCharacters", 
-function (str, strFrom, strTo) {
-for (var i = strFrom.length; --i >= 0; ) {
-var chFrom = strFrom.substring (i, i + 1);
-str = javajs.util.PT.rep (str, chFrom, strTo);
-}
-return str;
-}, "~S,~S,~S");
-c$.trim = Clazz.defineMethod (c$, "trim", 
-function (str, chars) {
-if (str == null || str.length == 0) return str;
-if (chars.length == 0) return str.trim ();
-var len = str.length;
-var k = 0;
-while (k < len && chars.indexOf (str.charAt (k)) >= 0) k++;
-
-var m = str.length - 1;
-while (m > k && chars.indexOf (str.charAt (m)) >= 0) m--;
-
-return str.substring (k, m + 1);
-}, "~S,~S");
-c$.trimQuotes = Clazz.defineMethod (c$, "trimQuotes", 
-function (value) {
-return (value != null && value.length > 1 && value.startsWith ("\"") && value.endsWith ("\"") ? value.substring (1, value.length - 1) : value);
-}, "~S");
-c$.isNonStringPrimitive = Clazz.defineMethod (c$, "isNonStringPrimitive", 
-function (info) {
-return Clazz.instanceOf (info, Number) || Clazz.instanceOf (info, Boolean);
-}, "~O");
-c$.arrayGet = Clazz.defineMethod (c$, "arrayGet", 
-($fz = function (info, i) {
-{
-return info[i];
-}}, $fz.isPrivate = true, $fz), "~O,~N");
-c$.toJSON = Clazz.defineMethod (c$, "toJSON", 
-function (infoType, info) {
-if (info == null) return javajs.util.PT.packageJSON (infoType, null);
-if (javajs.util.PT.isNonStringPrimitive (info)) return javajs.util.PT.packageJSON (infoType, info.toString ());
-var s = null;
-var sb = null;
-while (true) {
-if (Clazz.instanceOf (info, String)) {
-s = info;
-{
-if (typeof s == "undefined") s = "null"
-}if (s.indexOf ("{\"") != 0) {
-s = javajs.util.PT.rep (s, "\"", "\\\"");
-s = javajs.util.PT.rep (s, "\n", "\\n");
-s = "\"" + s + "\"";
-}break;
-}if (Clazz.instanceOf (info, javajs.api.JSONEncodable)) {
-if ((s = (info).toJSON ()) == null) s = "null";
-break;
-}sb =  new javajs.util.SB ();
-if (Clazz.instanceOf (info, java.util.Map)) {
-sb.append ("{ ");
-var sep = "";
-for (var key, $key = (info).keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {
-sb.append (sep).append (javajs.util.PT.packageJSON (key, javajs.util.PT.toJSON (null, (info).get (key))));
-sep = ",";
-}
-sb.append (" }");
-break;
-}if (Clazz.instanceOf (info, javajs.util.Lst)) {
-sb.append ("[ ");
-var n = (info).size ();
-for (var i = 0; i < n; i++) {
-if (i > 0) sb.appendC (',');
-sb.append (javajs.util.PT.toJSON (null, (info).get (i)));
-}
-sb.append (" ]");
-break;
-}if (Clazz.instanceOf (info, javajs.util.M34)) {
-var len = (Clazz.instanceOf (info, javajs.util.M4) ? 4 : 3);
-var x =  Clazz.newFloatArray (len, 0);
-var m = info;
-sb.appendC ('[');
-for (var i = 0; i < len; i++) {
-if (i > 0) sb.appendC (',');
-m.getRow (i, x);
-sb.append (javajs.util.PT.toJSON (null, x));
-}
-sb.appendC (']');
-break;
-}s = javajs.util.PT.nonArrayString (info);
-if (s == null) {
-sb.append ("[");
-var n = javajs.util.AU.getLength (info);
-for (var i = 0; i < n; i++) {
-if (i > 0) sb.appendC (',');
-sb.append (javajs.util.PT.toJSON (null, javajs.util.PT.arrayGet (info, i)));
-}
-sb.append ("]");
-break;
-}info = info.toString ();
-}
-return javajs.util.PT.packageJSON (infoType, (s == null ? sb.toString () : s));
-}, "~S,~O");
-c$.nonArrayString = Clazz.defineMethod (c$, "nonArrayString", 
-function (x) {
-{
-var s = x.toString(); return (s.startsWith("[object") &&
-s.endsWith("Array]") ? null : s);
-}}, "~O");
-c$.byteArrayToJSON = Clazz.defineMethod (c$, "byteArrayToJSON", 
-function (data) {
-var sb =  new javajs.util.SB ();
-sb.append ("[");
-var n = data.length;
-for (var i = 0; i < n; i++) {
-if (i > 0) sb.appendC (',');
-sb.appendI (data[i] & 0xFF);
-}
-sb.append ("]");
-return sb.toString ();
-}, "~A");
-c$.packageJSON = Clazz.defineMethod (c$, "packageJSON", 
-function (infoType, info) {
-return (infoType == null ? info : "\"" + infoType + "\": " + info);
-}, "~S,~S");
-c$.escapeUrl = Clazz.defineMethod (c$, "escapeUrl", 
-function (url) {
-url = javajs.util.PT.rep (url, "\n", "");
-url = javajs.util.PT.rep (url, "%", "%25");
-url = javajs.util.PT.rep (url, "#", "%23");
-url = javajs.util.PT.rep (url, "[", "%5B");
-url = javajs.util.PT.rep (url, "]", "%5D");
-url = javajs.util.PT.rep (url, " ", "%20");
-return url;
-}, "~S");
-c$.esc = Clazz.defineMethod (c$, "esc", 
-function (str) {
-if (str == null || str.length == 0) return "\"\"";
-var haveEscape = false;
-var i = 0;
-for (; i < "\\\\\tt\rr\nn\"\"".length; i += 2) if (str.indexOf ("\\\\\tt\rr\nn\"\"".charAt (i)) >= 0) {
-haveEscape = true;
-break;
-}
-if (haveEscape) while (i < "\\\\\tt\rr\nn\"\"".length) {
-var pt = -1;
-var ch = "\\\\\tt\rr\nn\"\"".charAt (i++);
-var ch2 = "\\\\\tt\rr\nn\"\"".charAt (i++);
-var sb =  new javajs.util.SB ();
-var pt0 = 0;
-while ((pt = str.indexOf (ch, pt + 1)) >= 0) {
-sb.append (str.substring (pt0, pt)).appendC ('\\').appendC (ch2);
-pt0 = pt + 1;
-}
-sb.append (str.substring (pt0, str.length));
-str = sb.toString ();
-}
-return "\"" + javajs.util.PT.escUnicode (str) + "\"";
-}, "~S");
-c$.escUnicode = Clazz.defineMethod (c$, "escUnicode", 
-function (str) {
-for (var i = str.length; --i >= 0; ) if (str.charCodeAt (i) > 0x7F) {
-var s = "0000" + Integer.toHexString (str.charCodeAt (i));
-str = str.substring (0, i) + "\\u" + s.substring (s.length - 4) + str.substring (i + 1);
-}
-return str;
-}, "~S");
-c$.escF = Clazz.defineMethod (c$, "escF", 
-function (f) {
-var sf = "" + f;
-{
-if (sf.indexOf(".") < 0 && sf.indexOf("e") < 0)
-sf += ".0";
-}return sf;
-}, "~N");
-c$.join = Clazz.defineMethod (c$, "join", 
-function (s, c, i0) {
-if (s.length < i0) return null;
-var sb =  new javajs.util.SB ();
-sb.append (s[i0++]);
-for (var i = i0; i < s.length; i++) sb.appendC (c).append (s[i]);
-
-return sb.toString ();
-}, "~A,~S,~N");
-c$.isLike = Clazz.defineMethod (c$, "isLike", 
-function (a, b) {
-var areEqual = a.equals (b);
-if (areEqual) return true;
-var isStart = b.startsWith ("*");
-var isEnd = b.endsWith ("*");
-return (!isStart && !isEnd) ? areEqual : isStart && isEnd ? b.length == 1 || a.contains (b.substring (1, b.length - 1)) : isStart ? a.endsWith (b.substring (1)) : a.startsWith (b.substring (0, b.length - 1));
-}, "~S,~S");
-c$.getMapValueNoCase = Clazz.defineMethod (c$, "getMapValueNoCase", 
-function (h, key) {
-if ("this".equals (key)) return h;
-var val = h.get (key);
-if (val == null) for (var e, $e = h.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) if (e.getKey ().equalsIgnoreCase (key)) return e.getValue ();
-
-return val;
-}, "java.util.Map,~S");
-c$.clean = Clazz.defineMethod (c$, "clean", 
-function (s) {
-return javajs.util.PT.rep (javajs.util.PT.replaceAllCharacters (s, " \t\n\r", " "), "  ", " ").trim ();
-}, "~S");
-c$.fdup = Clazz.defineMethod (c$, "fdup", 
-function (f, pt, n) {
-var ch;
-var count = 0;
-for (var i = pt; --i >= 1; ) {
-if (javajs.util.PT.isDigit (ch = f.charAt (i))) continue;
-switch (ch) {
-case '.':
-if (count++ != 0) return f;
-continue;
-case '-':
-if (i != 1 && f.charAt (i - 1) != '.') return f;
-continue;
-default:
-return f;
-}
-}
-var s = f.substring (0, pt + 1);
-var sb =  new javajs.util.SB ();
-for (var i = 0; i < n; i++) sb.append (s);
-
-sb.append (f.substring (pt + 1));
-return sb.toString ();
-}, "~S,~N,~N");
-c$.formatString = Clazz.defineMethod (c$, "formatString", 
-function (strFormat, key, strT, floatT, doubleT, doOne) {
-if (strFormat == null) return null;
-if ("".equals (strFormat)) return "";
-var len = key.length;
-if (strFormat.indexOf ("%") < 0 || len == 0 || strFormat.indexOf (key) < 0) return strFormat;
-var strLabel = "";
-var ich;
-var ichPercent;
-var ichKey;
-for (ich = 0; (ichPercent = strFormat.indexOf ('%', ich)) >= 0 && (ichKey = strFormat.indexOf (key, ichPercent + 1)) >= 0; ) {
-if (ich != ichPercent) strLabel += strFormat.substring (ich, ichPercent);
-ich = ichPercent + 1;
-if (ichKey > ichPercent + 6) {
-strLabel += '%';
-continue;
-}try {
-var alignLeft = false;
-if (strFormat.charAt (ich) == '-') {
-alignLeft = true;
-++ich;
-}var zeroPad = false;
-if (strFormat.charAt (ich) == '0') {
-zeroPad = true;
-++ich;
-}var ch;
-var width = 0;
-while ((ch = strFormat.charAt (ich)) >= '0' && (ch <= '9')) {
-width = (10 * width) + (ch.charCodeAt (0) - 48);
-++ich;
-}
-var precision = 2147483647;
-var isExponential = false;
-if (strFormat.charAt (ich) == '.') {
-++ich;
-if ((ch = strFormat.charAt (ich)) == '-') {
-isExponential = true;
-++ich;
-}if ((ch = strFormat.charAt (ich)) >= '0' && ch <= '9') {
-precision = ch.charCodeAt (0) - 48;
-++ich;
-}if (isExponential) precision = -precision - (strT == null ? 1 : 0);
-}var st = strFormat.substring (ich, ich + len);
-if (!st.equals (key)) {
-ich = ichPercent + 1;
-strLabel += '%';
-continue;
-}ich += len;
-if (!Float.isNaN (floatT)) strLabel += javajs.util.PT.formatF (floatT, width, precision, alignLeft, zeroPad);
- else if (strT != null) strLabel += javajs.util.PT.formatS (strT, width, precision, alignLeft, zeroPad);
- else if (!Double.isNaN (doubleT)) strLabel += javajs.util.PT.formatD (doubleT, width, precision, alignLeft, zeroPad, true);
-if (doOne) break;
-} catch (ioobe) {
-if (Clazz.exceptionOf (ioobe, IndexOutOfBoundsException)) {
-ich = ichPercent;
-break;
-} else {
-throw ioobe;
-}
-}
-}
-strLabel += strFormat.substring (ich);
-return strLabel;
-}, "~S,~S,~S,~N,~N,~B");
-c$.formatStringS = Clazz.defineMethod (c$, "formatStringS", 
-function (strFormat, key, strT) {
-return javajs.util.PT.formatString (strFormat, key, strT, NaN, NaN, false);
-}, "~S,~S,~S");
-c$.formatStringF = Clazz.defineMethod (c$, "formatStringF", 
-function (strFormat, key, floatT) {
-return javajs.util.PT.formatString (strFormat, key, null, floatT, NaN, false);
-}, "~S,~S,~N");
-c$.formatStringI = Clazz.defineMethod (c$, "formatStringI", 
-function (strFormat, key, intT) {
-return javajs.util.PT.formatString (strFormat, key, "" + intT, NaN, NaN, false);
-}, "~S,~S,~N");
-c$.sprintf = Clazz.defineMethod (c$, "sprintf", 
-function (strFormat, list, values) {
-if (values == null) return strFormat;
-var n = list.length;
-if (n == values.length) try {
-for (var o = 0; o < n; o++) {
-if (values[o] == null) continue;
-switch (list.charAt (o)) {
-case 's':
-strFormat = javajs.util.PT.formatString (strFormat, "s", values[o], NaN, NaN, true);
-break;
-case 'f':
-strFormat = javajs.util.PT.formatString (strFormat, "f", null, (values[o]).floatValue (), NaN, true);
-break;
-case 'i':
-strFormat = javajs.util.PT.formatString (strFormat, "d", "" + values[o], NaN, NaN, true);
-strFormat = javajs.util.PT.formatString (strFormat, "i", "" + values[o], NaN, NaN, true);
-break;
-case 'd':
-strFormat = javajs.util.PT.formatString (strFormat, "e", null, NaN, (values[o]).doubleValue (), true);
-break;
-case 'p':
-var pVal = values[o];
-strFormat = javajs.util.PT.formatString (strFormat, "p", null, pVal.x, NaN, true);
-strFormat = javajs.util.PT.formatString (strFormat, "p", null, pVal.y, NaN, true);
-strFormat = javajs.util.PT.formatString (strFormat, "p", null, pVal.z, NaN, true);
-break;
-case 'q':
-var qVal = values[o];
-strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.x, NaN, true);
-strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.y, NaN, true);
-strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.z, NaN, true);
-strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.w, NaN, true);
-break;
-case 'S':
-var sVal = values[o];
-for (var i = 0; i < sVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "s", sVal[i], NaN, NaN, true);
-
-break;
-case 'F':
-var fVal = values[o];
-for (var i = 0; i < fVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "f", null, fVal[i], NaN, true);
-
-break;
-case 'I':
-var iVal = values[o];
-for (var i = 0; i < iVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "d", "" + iVal[i], NaN, NaN, true);
-
-for (var i = 0; i < iVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "i", "" + iVal[i], NaN, NaN, true);
-
-break;
-case 'D':
-var dVal = values[o];
-for (var i = 0; i < dVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "e", null, NaN, dVal[i], true);
-
-}
-}
-return javajs.util.PT.rep (strFormat, "%%", "%");
-} catch (e) {
-if (Clazz.exceptionOf (e, Exception)) {
-} else {
-throw e;
-}
-}
-System.out.println ("TextFormat.sprintf error " + list + " " + strFormat);
-return javajs.util.PT.rep (strFormat, "%", "?");
-}, "~S,~S,~A");
-c$.formatCheck = Clazz.defineMethod (c$, "formatCheck", 
-function (strFormat) {
-if (strFormat == null || strFormat.indexOf ('p') < 0 && strFormat.indexOf ('q') < 0) return strFormat;
-strFormat = javajs.util.PT.rep (strFormat, "%%", "\1");
-strFormat = javajs.util.PT.rep (strFormat, "%p", "%6.2p");
-strFormat = javajs.util.PT.rep (strFormat, "%q", "%6.2q");
-var format = javajs.util.PT.split (strFormat, "%");
-var sb =  new javajs.util.SB ();
-sb.append (format[0]);
-for (var i = 1; i < format.length; i++) {
-var f = "%" + format[i];
-var pt;
-if (f.length >= 3) {
-if ((pt = f.indexOf ('p')) >= 0) f = javajs.util.PT.fdup (f, pt, 3);
-if ((pt = f.indexOf ('q')) >= 0) f = javajs.util.PT.fdup (f, pt, 4);
-}sb.append (f);
-}
-return sb.toString ().$replace ('\1', '%');
-}, "~S");
-c$.leftJustify = Clazz.defineMethod (c$, "leftJustify", 
-function (s, s1, s2) {
-s.append (s2);
-var n = s1.length - s2.length;
-if (n > 0) s.append (s1.substring (0, n));
-}, "javajs.util.SB,~S,~S");
-c$.rightJustify = Clazz.defineMethod (c$, "rightJustify", 
-function (s, s1, s2) {
-var n = s1.length - s2.length;
-if (n > 0) s.append (s1.substring (0, n));
-s.append (s2);
-}, "javajs.util.SB,~S,~S");
-c$.safeTruncate = Clazz.defineMethod (c$, "safeTruncate", 
-function (f, n) {
-if (f > -0.001 && f < 0.001) f = 0;
-return (f + "         ").substring (0, n);
-}, "~N,~N");
-c$.isWild = Clazz.defineMethod (c$, "isWild", 
-function (s) {
-return s != null && (s.indexOf ("*") >= 0 || s.indexOf ("?") >= 0);
-}, "~S");
-c$.isMatch = Clazz.defineMethod (c$, "isMatch", 
-function (search, match, checkStar, allowInitialStar) {
-if (search.equals (match)) return true;
-var mLen = match.length;
-if (mLen == 0) return false;
-var isStar0 = (checkStar && allowInitialStar ? match.charAt (0) == '*' : false);
-if (mLen == 1 && isStar0) return true;
-var isStar1 = (checkStar && match.endsWith ("*"));
-var haveQ = (match.indexOf ('?') >= 0);
-if (!haveQ) {
-if (isStar0) return (isStar1 ? (mLen < 3 || search.indexOf (match.substring (1, mLen - 1)) >= 0) : search.endsWith (match.substring (1)));
- else if (isStar1) return search.startsWith (match.substring (0, mLen - 1));
-}var sLen = search.length;
-var qqqq = "????";
-var nq = 4;
-while (nq < sLen) {
-qqqq += qqqq;
-nq += 4;
-}
-if (checkStar) {
-if (isStar0) {
-match = qqqq + match.substring (1);
-mLen += nq - 1;
-}if (isStar1) {
-match = match.substring (0, mLen - 1) + qqqq;
-mLen += nq - 1;
-}}if (mLen < sLen) return false;
-var ich = 0;
-while (mLen > sLen) {
-if (allowInitialStar && match.charAt (ich) == '?') {
-++ich;
-} else if (match.charAt (ich + mLen - 1) != '?') {
-return false;
-}--mLen;
-}
-for (var i = sLen; --i >= 0; ) {
-var chm = match.charAt (ich + i);
-if (chm == '?') continue;
-var chs = search.charAt (i);
-if (chm != chs && (chm != '\1' || chs != '?')) return false;
-}
-return true;
-}, "~S,~S,~B,~B");
-c$.replaceQuotedStrings = Clazz.defineMethod (c$, "replaceQuotedStrings", 
-function (s, list, newList) {
-var n = list.size ();
-for (var i = 0; i < n; i++) {
-var name = list.get (i);
-var newName = newList.get (i);
-if (!newName.equals (name)) s = javajs.util.PT.rep (s, "\"" + name + "\"", "\"" + newName + "\"");
-}
-return s;
-}, "~S,javajs.util.Lst,javajs.util.Lst");
-c$.replaceStrings = Clazz.defineMethod (c$, "replaceStrings", 
-function (s, list, newList) {
-var n = list.size ();
-for (var i = 0; i < n; i++) {
-var name = list.get (i);
-var newName = newList.get (i);
-if (!newName.equals (name)) s = javajs.util.PT.rep (s, name, newName);
-}
-return s;
-}, "~S,javajs.util.Lst,javajs.util.Lst");
-c$.isDigit = Clazz.defineMethod (c$, "isDigit", 
-function (ch) {
-var c = (ch).charCodeAt (0);
-return (48 <= c && c <= 57);
-}, "~S");
-c$.isUpperCase = Clazz.defineMethod (c$, "isUpperCase", 
-function (ch) {
-var c = (ch).charCodeAt (0);
-return (65 <= c && c <= 90);
-}, "~S");
-c$.isLowerCase = Clazz.defineMethod (c$, "isLowerCase", 
-function (ch) {
-var c = (ch).charCodeAt (0);
-return (97 <= c && c <= 122);
-}, "~S");
-c$.isLetter = Clazz.defineMethod (c$, "isLetter", 
-function (ch) {
-var c = (ch).charCodeAt (0);
-return (65 <= c && c <= 90 || 97 <= c && c <= 122);
-}, "~S");
-c$.isLetterOrDigit = Clazz.defineMethod (c$, "isLetterOrDigit", 
-function (ch) {
-var c = (ch).charCodeAt (0);
-return (65 <= c && c <= 90 || 97 <= c && c <= 122 || 48 <= c && c <= 57);
-}, "~S");
-c$.isWhitespace = Clazz.defineMethod (c$, "isWhitespace", 
-function (ch) {
-var c = (ch).charCodeAt (0);
-return (c >= 0x1c && c <= 0x20 || c >= 0x9 && c <= 0xd);
-}, "~S");
-c$.fixPtFloats = Clazz.defineMethod (c$, "fixPtFloats", 
-function (pt, f) {
-pt.x = Math.round (pt.x * f) / f;
-pt.y = Math.round (pt.y * f) / f;
-pt.z = Math.round (pt.z * f) / f;
-}, "javajs.util.T3,~N");
-c$.fixDouble = Clazz.defineMethod (c$, "fixDouble", 
-function (d, f) {
-return Math.round (d * f) / f;
-}, "~N,~N");
-c$.parseFloatFraction = Clazz.defineMethod (c$, "parseFloatFraction", 
-function (s) {
-var pt = s.indexOf ("/");
-return (pt < 0 ? javajs.util.PT.parseFloat (s) : javajs.util.PT.parseFloat (s.substring (0, pt)) / javajs.util.PT.parseFloat (s.substring (pt + 1)));
-}, "~S");
-Clazz.defineStatics (c$,
-"tensScale",  Clazz.newFloatArray (-1, [10, 100, 1000, 10000, 100000, 1000000]),
-"decimalScale",  Clazz.newFloatArray (-1, [0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, 0.00000001, 0.000000001]),
-"FLOAT_MIN_SAFE", 2E-45,
-"escapable", "\\\\\tt\rr\nn\"\"",
-"FRACTIONAL_PRECISION", 100000,
-"CARTESIAN_PRECISION", 10000);
-});
+Clazz.declarePackage ("javajs.util");\r
+Clazz.load (null, "javajs.util.PT", ["java.lang.Boolean", "$.Double", "$.Float", "$.Number", "java.util.Map", "javajs.api.JSONEncodable", "javajs.util.AU", "$.DF", "$.Lst", "$.M34", "$.M4", "$.SB"], function () {\r
+c$ = Clazz.declareType (javajs.util, "PT");\r
+c$.parseInt = Clazz.defineMethod (c$, "parseInt", \r
+function (str) {\r
+return javajs.util.PT.parseIntNext (str,  Clazz.newIntArray (-1, [0]));\r
+}, "~S");\r
+c$.parseIntNext = Clazz.defineMethod (c$, "parseIntNext", \r
+function (str, next) {\r
+var cch = str.length;\r
+if (next[0] < 0 || next[0] >= cch) return -2147483648;\r
+return javajs.util.PT.parseIntChecked (str, cch, next);\r
+}, "~S,~A");\r
+c$.parseIntChecked = Clazz.defineMethod (c$, "parseIntChecked", \r
+function (str, ichMax, next) {\r
+var digitSeen = false;\r
+var value = 0;\r
+var ich = next[0];\r
+if (ich < 0) return -2147483648;\r
+var ch;\r
+while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;\r
+\r
+var negative = false;\r
+if (ich < ichMax && str.charCodeAt (ich) == 45) {\r
+negative = true;\r
+++ich;\r
+}while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {\r
+value = value * 10 + (ch - 48);\r
+digitSeen = true;\r
+++ich;\r
+}\r
+if (!digitSeen) value = -2147483648;\r
+ else if (negative) value = -value;\r
+next[0] = ich;\r
+return value;\r
+}, "~S,~N,~A");\r
+c$.isWhiteSpace = Clazz.defineMethod (c$, "isWhiteSpace", \r
+function (str, ich) {\r
+var ch;\r
+return (ich >= 0 && ((ch = str.charAt (ich)) == ' ' || ch == '\t' || ch == '\n'));\r
+}, "~S,~N");\r
+c$.parseFloatChecked = Clazz.defineMethod (c$, "parseFloatChecked", \r
+function (str, ichMax, next, isStrict) {\r
+var digitSeen = false;\r
+var ich = next[0];\r
+if (isStrict && str.indexOf ('\n') != str.lastIndexOf ('\n')) return NaN;\r
+while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;\r
+\r
+var negative = false;\r
+if (ich < ichMax && str.charAt (ich) == '-') {\r
+++ich;\r
+negative = true;\r
+}var ch = 0;\r
+var ival = 0;\r
+var ival2 = 0;\r
+while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {\r
+ival = (ival * 10) + (ch - 48) * 1;\r
+++ich;\r
+digitSeen = true;\r
+}\r
+var isDecimal = false;\r
+var iscale = 0;\r
+var nzero = (ival == 0 ? -1 : 0);\r
+if (ch == 46) {\r
+isDecimal = true;\r
+while (++ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {\r
+digitSeen = true;\r
+if (nzero < 0) {\r
+if (ch == 48) {\r
+nzero--;\r
+continue;\r
+}nzero = -nzero;\r
+}if (iscale < javajs.util.PT.decimalScale.length) {\r
+ival2 = (ival2 * 10) + (ch - 48) * 1;\r
+iscale++;\r
+}}\r
+}var value;\r
+if (!digitSeen) {\r
+value = NaN;\r
+} else if (ival2 > 0) {\r
+value = ival2 * javajs.util.PT.decimalScale[iscale - 1];\r
+if (nzero > 1) {\r
+if (nzero - 2 < javajs.util.PT.decimalScale.length) {\r
+value *= javajs.util.PT.decimalScale[nzero - 2];\r
+} else {\r
+value *= Math.pow (10, 1 - nzero);\r
+}} else {\r
+value += ival;\r
+}} else {\r
+value = ival;\r
+}var isExponent = false;\r
+if (ich < ichMax && (ch == 69 || ch == 101 || ch == 68)) {\r
+isExponent = true;\r
+if (++ich >= ichMax) return NaN;\r
+ch = str.charCodeAt (ich);\r
+if ((ch == 43) && (++ich >= ichMax)) return NaN;\r
+next[0] = ich;\r
+var exponent = javajs.util.PT.parseIntChecked (str, ichMax, next);\r
+if (exponent == -2147483648) return NaN;\r
+if (exponent > 0 && exponent <= javajs.util.PT.tensScale.length) value *= javajs.util.PT.tensScale[exponent - 1];\r
+ else if (exponent < 0 && -exponent <= javajs.util.PT.decimalScale.length) value *= javajs.util.PT.decimalScale[-exponent - 1];\r
+ else if (exponent != 0) value *= Math.pow (10, exponent);\r
+} else {\r
+next[0] = ich;\r
+}if (negative) value = -value;\r
+if (value == Infinity) value = 3.4028235E38;\r
+return (!isStrict || (!isExponent || isDecimal) && javajs.util.PT.checkTrailingText (str, next[0], ichMax) ? value : NaN);\r
+}, "~S,~N,~A,~B");\r
+c$.checkTrailingText = Clazz.defineMethod (c$, "checkTrailingText", \r
+function (str, ich, ichMax) {\r
+var ch;\r
+while (ich < ichMax && (javajs.util.PT.isWhitespace (ch = str.charAt (ich)) || ch == ';')) ++ich;\r
+\r
+return (ich == ichMax);\r
+}, "~S,~N,~N");\r
+c$.parseFloatArray = Clazz.defineMethod (c$, "parseFloatArray", \r
+function (str) {\r
+return javajs.util.PT.parseFloatArrayNext (str,  Clazz.newIntArray (1, 0), null, null, null);\r
+}, "~S");\r
+c$.parseFloatArrayInfested = Clazz.defineMethod (c$, "parseFloatArrayInfested", \r
+function (tokens, data) {\r
+var len = data.length;\r
+var nTokens = tokens.length;\r
+var n = 0;\r
+var max = 0;\r
+for (var i = 0; i >= 0 && i < len && n < nTokens; i++) {\r
+var f;\r
+while (Float.isNaN (f = javajs.util.PT.parseFloat (tokens[n++])) && n < nTokens) {\r
+}\r
+if (!Float.isNaN (f)) data[(max = i)] = f;\r
+if (n == nTokens) break;\r
+}\r
+return max + 1;\r
+}, "~A,~A");\r
+c$.parseFloatArrayNext = Clazz.defineMethod (c$, "parseFloatArrayNext", \r
+function (str, next, f, strStart, strEnd) {\r
+var n = 0;\r
+var pt = next[0];\r
+if (pt >= 0) {\r
+if (strStart != null) {\r
+var p = str.indexOf (strStart, pt);\r
+if (p >= 0) next[0] = p + strStart.length;\r
+}str = str.substring (next[0]);\r
+pt = (strEnd == null ? -1 : str.indexOf (strEnd));\r
+if (pt < 0) pt = str.length;\r
+ else str = str.substring (0, pt);\r
+next[0] += pt + 1;\r
+var tokens = javajs.util.PT.getTokens (str);\r
+if (f == null) f =  Clazz.newFloatArray (tokens.length, 0);\r
+n = javajs.util.PT.parseFloatArrayInfested (tokens, f);\r
+}if (f == null) return  Clazz.newFloatArray (0, 0);\r
+for (var i = n; i < f.length; i++) f[i] = NaN;\r
+\r
+return f;\r
+}, "~S,~A,~A,~S,~S");\r
+c$.parseFloatRange = Clazz.defineMethod (c$, "parseFloatRange", \r
+function (str, ichMax, next) {\r
+var cch = str.length;\r
+if (ichMax > cch) ichMax = cch;\r
+if (next[0] < 0 || next[0] >= ichMax) return NaN;\r
+return javajs.util.PT.parseFloatChecked (str, ichMax, next, false);\r
+}, "~S,~N,~A");\r
+c$.parseFloatNext = Clazz.defineMethod (c$, "parseFloatNext", \r
+function (str, next) {\r
+var cch = (str == null ? -1 : str.length);\r
+return (next[0] < 0 || next[0] >= cch ? NaN : javajs.util.PT.parseFloatChecked (str, cch, next, false));\r
+}, "~S,~A");\r
+c$.parseFloatStrict = Clazz.defineMethod (c$, "parseFloatStrict", \r
+function (str) {\r
+var cch = str.length;\r
+if (cch == 0) return NaN;\r
+return javajs.util.PT.parseFloatChecked (str, cch,  Clazz.newIntArray (-1, [0]), true);\r
+}, "~S");\r
+c$.parseFloat = Clazz.defineMethod (c$, "parseFloat", \r
+function (str) {\r
+return javajs.util.PT.parseFloatNext (str,  Clazz.newIntArray (-1, [0]));\r
+}, "~S");\r
+c$.parseIntRadix = Clazz.defineMethod (c$, "parseIntRadix", \r
+function (s, i) {\r
+{\r
+return Integer.parseIntRadix(s, i);\r
+}}, "~S,~N");\r
+c$.getTokens = Clazz.defineMethod (c$, "getTokens", \r
+function (line) {\r
+return javajs.util.PT.getTokensAt (line, 0);\r
+}, "~S");\r
+c$.parseToken = Clazz.defineMethod (c$, "parseToken", \r
+function (str) {\r
+return javajs.util.PT.parseTokenNext (str,  Clazz.newIntArray (-1, [0]));\r
+}, "~S");\r
+c$.parseTrimmed = Clazz.defineMethod (c$, "parseTrimmed", \r
+function (str) {\r
+return javajs.util.PT.parseTrimmedRange (str, 0, str.length);\r
+}, "~S");\r
+c$.parseTrimmedAt = Clazz.defineMethod (c$, "parseTrimmedAt", \r
+function (str, ichStart) {\r
+return javajs.util.PT.parseTrimmedRange (str, ichStart, str.length);\r
+}, "~S,~N");\r
+c$.parseTrimmedRange = Clazz.defineMethod (c$, "parseTrimmedRange", \r
+function (str, ichStart, ichMax) {\r
+var cch = str.length;\r
+if (ichMax < cch) cch = ichMax;\r
+if (cch < ichStart) return "";\r
+return javajs.util.PT.parseTrimmedChecked (str, ichStart, cch);\r
+}, "~S,~N,~N");\r
+c$.getTokensAt = Clazz.defineMethod (c$, "getTokensAt", \r
+function (line, ich) {\r
+if (line == null) return null;\r
+var cchLine = line.length;\r
+if (ich < 0 || ich > cchLine) return null;\r
+var tokenCount = javajs.util.PT.countTokens (line, ich);\r
+var tokens =  new Array (tokenCount);\r
+var next =  Clazz.newIntArray (1, 0);\r
+next[0] = ich;\r
+for (var i = 0; i < tokenCount; ++i) tokens[i] = javajs.util.PT.parseTokenChecked (line, cchLine, next);\r
+\r
+return tokens;\r
+}, "~S,~N");\r
+c$.countChar = Clazz.defineMethod (c$, "countChar", \r
+function (line, c) {\r
+var tokenCount = 0;\r
+var pt = -1;\r
+while ((pt = line.indexOf (c, pt + 1)) >= 0) tokenCount++;\r
+\r
+return tokenCount;\r
+}, "~S,~S");\r
+c$.countTokens = Clazz.defineMethod (c$, "countTokens", \r
+function (line, ich) {\r
+var tokenCount = 0;\r
+if (line != null) {\r
+var ichMax = line.length;\r
+while (true) {\r
+while (ich < ichMax && javajs.util.PT.isWhiteSpace (line, ich)) ++ich;\r
+\r
+if (ich == ichMax) break;\r
+++tokenCount;\r
+do {\r
+++ich;\r
+} while (ich < ichMax && !javajs.util.PT.isWhiteSpace (line, ich));\r
+}\r
+}return tokenCount;\r
+}, "~S,~N");\r
+c$.parseTokenNext = Clazz.defineMethod (c$, "parseTokenNext", \r
+function (str, next) {\r
+var cch = str.length;\r
+return (next[0] < 0 || next[0] >= cch ? null : javajs.util.PT.parseTokenChecked (str, cch, next));\r
+}, "~S,~A");\r
+c$.parseTokenRange = Clazz.defineMethod (c$, "parseTokenRange", \r
+function (str, ichMax, next) {\r
+var cch = str.length;\r
+if (ichMax > cch) ichMax = cch;\r
+return (next[0] < 0 || next[0] >= ichMax ? null : javajs.util.PT.parseTokenChecked (str, ichMax, next));\r
+}, "~S,~N,~A");\r
+c$.parseTokenChecked = Clazz.defineMethod (c$, "parseTokenChecked", \r
+function (str, ichMax, next) {\r
+var ich = next[0];\r
+while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;\r
+\r
+var ichNonWhite = ich;\r
+while (ich < ichMax && !javajs.util.PT.isWhiteSpace (str, ich)) ++ich;\r
+\r
+next[0] = ich;\r
+return (ichNonWhite == ich ? null : str.substring (ichNonWhite, ich));\r
+}, "~S,~N,~A");\r
+c$.parseTrimmedChecked = Clazz.defineMethod (c$, "parseTrimmedChecked", \r
+function (str, ich, ichMax) {\r
+while (ich < ichMax && javajs.util.PT.isWhiteSpace (str, ich)) ++ich;\r
+\r
+var ichLast = ichMax - 1;\r
+while (ichLast >= ich && javajs.util.PT.isWhiteSpace (str, ichLast)) --ichLast;\r
+\r
+return (ichLast < ich ? "" : str.substring (ich, ichLast + 1));\r
+}, "~S,~N,~N");\r
+c$.dVal = Clazz.defineMethod (c$, "dVal", \r
+function (s) {\r
+{\r
+if(s==null)\r
+throw new NumberFormatException("null");\r
+var d=parseFloat(s);\r
+if(isNaN(d))\r
+throw new NumberFormatException("Not a Number : "+s);\r
+return d\r
+}}, "~S");\r
+c$.fVal = Clazz.defineMethod (c$, "fVal", \r
+function (s) {\r
+{\r
+return this.dVal(s);\r
+}}, "~S");\r
+c$.parseIntRange = Clazz.defineMethod (c$, "parseIntRange", \r
+function (str, ichMax, next) {\r
+var cch = str.length;\r
+if (ichMax > cch) ichMax = cch;\r
+return (next[0] < 0 || next[0] >= ichMax ? -2147483648 : javajs.util.PT.parseIntChecked (str, ichMax, next));\r
+}, "~S,~N,~A");\r
+c$.parseFloatArrayData = Clazz.defineMethod (c$, "parseFloatArrayData", \r
+function (tokens, data) {\r
+javajs.util.PT.parseFloatArrayDataN (tokens, data, data.length);\r
+}, "~A,~A");\r
+c$.parseFloatArrayDataN = Clazz.defineMethod (c$, "parseFloatArrayDataN", \r
+function (tokens, data, nData) {\r
+for (var i = nData; --i >= 0; ) data[i] = (i >= tokens.length ? NaN : javajs.util.PT.parseFloat (tokens[i]));\r
+\r
+}, "~A,~A,~N");\r
+c$.split = Clazz.defineMethod (c$, "split", \r
+function (text, run) {\r
+if (text.length == 0) return  new Array (0);\r
+var n = 1;\r
+var i = text.indexOf (run);\r
+var lines;\r
+var runLen = run.length;\r
+if (i < 0 || runLen == 0) {\r
+lines =  new Array (1);\r
+lines[0] = text;\r
+return lines;\r
+}var len = text.length - runLen;\r
+for (; i >= 0 && i < len; n++) i = text.indexOf (run, i + runLen);\r
+\r
+lines =  new Array (n);\r
+i = 0;\r
+var ipt = 0;\r
+var pt = 0;\r
+for (; (ipt = text.indexOf (run, i)) >= 0 && pt + 1 < n; ) {\r
+lines[pt++] = text.substring (i, ipt);\r
+i = ipt + runLen;\r
+}\r
+if (text.indexOf (run, len) != len) len += runLen;\r
+lines[pt] = text.substring (i, len);\r
+return lines;\r
+}, "~S,~S");\r
+c$.getQuotedStringAt = Clazz.defineMethod (c$, "getQuotedStringAt", \r
+function (line, ipt0) {\r
+var next =  Clazz.newIntArray (-1, [ipt0]);\r
+return javajs.util.PT.getQuotedStringNext (line, next);\r
+}, "~S,~N");\r
+c$.getQuotedStringNext = Clazz.defineMethod (c$, "getQuotedStringNext", \r
+function (line, next) {\r
+var i = next[0];\r
+if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return "";\r
+var pt = i + 1;\r
+var len = line.length;\r
+while (++i < len && line.charAt (i) != '"') if (line.charAt (i) == '\\') i++;\r
+\r
+next[0] = i + 1;\r
+return line.substring (pt, i);\r
+}, "~S,~A");\r
+c$.getCSVString = Clazz.defineMethod (c$, "getCSVString", \r
+function (line, next) {\r
+var i = next[1];\r
+if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return null;\r
+var pt = next[0] = i;\r
+var len = line.length;\r
+var escaped = false;\r
+var haveEscape = false;\r
+while (++i < len && (line.charAt (i) != '"' || (escaped = (i + 1 < len && line.charAt (i + 1) == '"')))) if (escaped) {\r
+escaped = false;\r
+haveEscape = true;\r
+i++;\r
+}\r
+if (i >= len) {\r
+next[1] = -1;\r
+return null;\r
+}next[1] = i + 1;\r
+var s = line.substring (pt + 1, i);\r
+return (haveEscape ? javajs.util.PT.rep (javajs.util.PT.rep (s, "\"\"", "\0"), "\0", "\"") : s);\r
+}, "~S,~A");\r
+c$.isOneOf = Clazz.defineMethod (c$, "isOneOf", \r
+function (key, semiList) {\r
+if (semiList.length == 0) return false;\r
+if (semiList.charAt (0) != ';') semiList = ";" + semiList + ";";\r
+return key.indexOf (";") < 0 && semiList.indexOf (';' + key + ';') >= 0;\r
+}, "~S,~S");\r
+c$.getQuotedAttribute = Clazz.defineMethod (c$, "getQuotedAttribute", \r
+function (info, name) {\r
+var i = info.indexOf (name + "=");\r
+return (i < 0 ? null : javajs.util.PT.getQuotedStringAt (info, i));\r
+}, "~S,~S");\r
+c$.approx = Clazz.defineMethod (c$, "approx", \r
+function (f, n) {\r
+return Math.round (f * n) / n;\r
+}, "~N,~N");\r
+c$.rep = Clazz.defineMethod (c$, "rep", \r
+function (str, strFrom, strTo) {\r
+if (str == null || strFrom.length == 0 || str.indexOf (strFrom) < 0) return str;\r
+var isOnce = (strTo.indexOf (strFrom) >= 0);\r
+do {\r
+str = str.$replace (strFrom, strTo);\r
+} while (!isOnce && str.indexOf (strFrom) >= 0);\r
+return str;\r
+}, "~S,~S,~S");\r
+c$.formatF = Clazz.defineMethod (c$, "formatF", \r
+function (value, width, precision, alignLeft, zeroPad) {\r
+return javajs.util.PT.formatS (javajs.util.DF.formatDecimal (value, precision), width, 0, alignLeft, zeroPad);\r
+}, "~N,~N,~N,~B,~B");\r
+c$.formatD = Clazz.defineMethod (c$, "formatD", \r
+function (value, width, precision, alignLeft, zeroPad, allowOverflow) {\r
+return javajs.util.PT.formatS (javajs.util.DF.formatDecimal (value, -1 - precision), width, 0, alignLeft, zeroPad);\r
+}, "~N,~N,~N,~B,~B,~B");\r
+c$.formatS = Clazz.defineMethod (c$, "formatS", \r
+function (value, width, precision, alignLeft, zeroPad) {\r
+if (value == null) return "";\r
+var len = value.length;\r
+if (precision != 2147483647 && precision > 0 && precision < len) value = value.substring (0, precision);\r
+ else if (precision < 0 && len + precision >= 0) value = value.substring (len + precision + 1);\r
+var padLength = width - value.length;\r
+if (padLength <= 0) return value;\r
+var isNeg = (zeroPad && !alignLeft && value.charAt (0) == '-');\r
+var padChar = (zeroPad ? '0' : ' ');\r
+var padChar0 = (isNeg ? '-' : padChar);\r
+var sb =  new javajs.util.SB ();\r
+if (alignLeft) sb.append (value);\r
+sb.appendC (padChar0);\r
+for (var i = padLength; --i > 0; ) sb.appendC (padChar);\r
+\r
+if (!alignLeft) sb.append (isNeg ? padChar + value.substring (1) : value);\r
+return sb.toString ();\r
+}, "~S,~N,~N,~B,~B");\r
+c$.replaceWithCharacter = Clazz.defineMethod (c$, "replaceWithCharacter", \r
+function (str, strFrom, chTo) {\r
+if (str == null) return null;\r
+for (var i = strFrom.length; --i >= 0; ) str = str.$replace (strFrom.charAt (i), chTo);\r
+\r
+return str;\r
+}, "~S,~S,~S");\r
+c$.replaceAllCharacters = Clazz.defineMethod (c$, "replaceAllCharacters", \r
+function (str, strFrom, strTo) {\r
+for (var i = strFrom.length; --i >= 0; ) {\r
+var chFrom = strFrom.substring (i, i + 1);\r
+str = javajs.util.PT.rep (str, chFrom, strTo);\r
+}\r
+return str;\r
+}, "~S,~S,~S");\r
+c$.trim = Clazz.defineMethod (c$, "trim", \r
+function (str, chars) {\r
+if (str == null || str.length == 0) return str;\r
+if (chars.length == 0) return str.trim ();\r
+var len = str.length;\r
+var k = 0;\r
+while (k < len && chars.indexOf (str.charAt (k)) >= 0) k++;\r
+\r
+var m = str.length - 1;\r
+while (m > k && chars.indexOf (str.charAt (m)) >= 0) m--;\r
+\r
+return str.substring (k, m + 1);\r
+}, "~S,~S");\r
+c$.trimQuotes = Clazz.defineMethod (c$, "trimQuotes", \r
+function (value) {\r
+return (value != null && value.length > 1 && value.startsWith ("\"") && value.endsWith ("\"") ? value.substring (1, value.length - 1) : value);\r
+}, "~S");\r
+c$.isNonStringPrimitive = Clazz.defineMethod (c$, "isNonStringPrimitive", \r
+function (info) {\r
+return Clazz.instanceOf (info, Number) || Clazz.instanceOf (info, Boolean);\r
+}, "~O");\r
+c$.arrayGet = Clazz.defineMethod (c$, "arrayGet", \r
+($fz = function (info, i) {\r
+{\r
+return info[i];\r
+}}, $fz.isPrivate = true, $fz), "~O,~N");\r
+c$.toJSON = Clazz.defineMethod (c$, "toJSON", \r
+function (infoType, info) {\r
+if (info == null) return javajs.util.PT.packageJSON (infoType, null);\r
+if (javajs.util.PT.isNonStringPrimitive (info)) return javajs.util.PT.packageJSON (infoType, info.toString ());\r
+var s = null;\r
+var sb = null;\r
+while (true) {\r
+if (Clazz.instanceOf (info, String)) {\r
+s = info;\r
+{\r
+if (typeof s == "undefined") s = "null"\r
+}if (s.indexOf ("{\"") != 0) {\r
+s = javajs.util.PT.rep (s, "\"", "\\\"");\r
+s = javajs.util.PT.rep (s, "\n", "\\n");\r
+s = "\"" + s + "\"";\r
+}break;\r
+}if (Clazz.instanceOf (info, javajs.api.JSONEncodable)) {\r
+if ((s = (info).toJSON ()) == null) s = "null";\r
+break;\r
+}sb =  new javajs.util.SB ();\r
+if (Clazz.instanceOf (info, java.util.Map)) {\r
+sb.append ("{ ");\r
+var sep = "";\r
+for (var key, $key = (info).keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {\r
+sb.append (sep).append (javajs.util.PT.packageJSON (key, javajs.util.PT.toJSON (null, (info).get (key))));\r
+sep = ",";\r
+}\r
+sb.append (" }");\r
+break;\r
+}if (Clazz.instanceOf (info, javajs.util.Lst)) {\r
+sb.append ("[ ");\r
+var n = (info).size ();\r
+for (var i = 0; i < n; i++) {\r
+if (i > 0) sb.appendC (',');\r
+sb.append (javajs.util.PT.toJSON (null, (info).get (i)));\r
+}\r
+sb.append (" ]");\r
+break;\r
+}if (Clazz.instanceOf (info, javajs.util.M34)) {\r
+var len = (Clazz.instanceOf (info, javajs.util.M4) ? 4 : 3);\r
+var x =  Clazz.newFloatArray (len, 0);\r
+var m = info;\r
+sb.appendC ('[');\r
+for (var i = 0; i < len; i++) {\r
+if (i > 0) sb.appendC (',');\r
+m.getRow (i, x);\r
+sb.append (javajs.util.PT.toJSON (null, x));\r
+}\r
+sb.appendC (']');\r
+break;\r
+}s = javajs.util.PT.nonArrayString (info);\r
+if (s == null) {\r
+sb.append ("[");\r
+var n = javajs.util.AU.getLength (info);\r
+for (var i = 0; i < n; i++) {\r
+if (i > 0) sb.appendC (',');\r
+sb.append (javajs.util.PT.toJSON (null, javajs.util.PT.arrayGet (info, i)));\r
+}\r
+sb.append ("]");\r
+break;\r
+}info = info.toString ();\r
+}\r
+return javajs.util.PT.packageJSON (infoType, (s == null ? sb.toString () : s));\r
+}, "~S,~O");\r
+c$.nonArrayString = Clazz.defineMethod (c$, "nonArrayString", \r
+function (x) {\r
+{\r
+var s = x.toString(); return (s.startsWith("[object") &&\r
+s.endsWith("Array]") ? null : s);\r
+}}, "~O");\r
+c$.byteArrayToJSON = Clazz.defineMethod (c$, "byteArrayToJSON", \r
+function (data) {\r
+var sb =  new javajs.util.SB ();\r
+sb.append ("[");\r
+var n = data.length;\r
+for (var i = 0; i < n; i++) {\r
+if (i > 0) sb.appendC (',');\r
+sb.appendI (data[i] & 0xFF);\r
+}\r
+sb.append ("]");\r
+return sb.toString ();\r
+}, "~A");\r
+c$.packageJSON = Clazz.defineMethod (c$, "packageJSON", \r
+function (infoType, info) {\r
+return (infoType == null ? info : "\"" + infoType + "\": " + info);\r
+}, "~S,~S");\r
+c$.escapeUrl = Clazz.defineMethod (c$, "escapeUrl", \r
+function (url) {\r
+url = javajs.util.PT.rep (url, "\n", "");\r
+url = javajs.util.PT.rep (url, "%", "%25");\r
+url = javajs.util.PT.rep (url, "#", "%23");\r
+url = javajs.util.PT.rep (url, "[", "%5B");\r
+url = javajs.util.PT.rep (url, "]", "%5D");\r
+url = javajs.util.PT.rep (url, " ", "%20");\r
+return url;\r
+}, "~S");\r
+c$.esc = Clazz.defineMethod (c$, "esc", \r
+function (str) {\r
+if (str == null || str.length == 0) return "\"\"";\r
+var haveEscape = false;\r
+var i = 0;\r
+for (; i < "\\\\\tt\rr\nn\"\"".length; i += 2) if (str.indexOf ("\\\\\tt\rr\nn\"\"".charAt (i)) >= 0) {\r
+haveEscape = true;\r
+break;\r
+}\r
+if (haveEscape) while (i < "\\\\\tt\rr\nn\"\"".length) {\r
+var pt = -1;\r
+var ch = "\\\\\tt\rr\nn\"\"".charAt (i++);\r
+var ch2 = "\\\\\tt\rr\nn\"\"".charAt (i++);\r
+var sb =  new javajs.util.SB ();\r
+var pt0 = 0;\r
+while ((pt = str.indexOf (ch, pt + 1)) >= 0) {\r
+sb.append (str.substring (pt0, pt)).appendC ('\\').appendC (ch2);\r
+pt0 = pt + 1;\r
+}\r
+sb.append (str.substring (pt0, str.length));\r
+str = sb.toString ();\r
+}\r
+return "\"" + javajs.util.PT.escUnicode (str) + "\"";\r
+}, "~S");\r
+c$.escUnicode = Clazz.defineMethod (c$, "escUnicode", \r
+function (str) {\r
+for (var i = str.length; --i >= 0; ) if (str.charCodeAt (i) > 0x7F) {\r
+var s = "0000" + Integer.toHexString (str.charCodeAt (i));\r
+str = str.substring (0, i) + "\\u" + s.substring (s.length - 4) + str.substring (i + 1);\r
+}\r
+return str;\r
+}, "~S");\r
+c$.escF = Clazz.defineMethod (c$, "escF", \r
+function (f) {\r
+var sf = "" + f;\r
+{\r
+if (sf.indexOf(".") < 0 && sf.indexOf("e") < 0)\r
+sf += ".0";\r
+}return sf;\r
+}, "~N");\r
+c$.join = Clazz.defineMethod (c$, "join", \r
+function (s, c, i0) {\r
+if (s.length < i0) return null;\r
+var sb =  new javajs.util.SB ();\r
+sb.append (s[i0++]);\r
+for (var i = i0; i < s.length; i++) sb.appendC (c).append (s[i]);\r
+\r
+return sb.toString ();\r
+}, "~A,~S,~N");\r
+c$.isLike = Clazz.defineMethod (c$, "isLike", \r
+function (a, b) {\r
+var areEqual = a.equals (b);\r
+if (areEqual) return true;\r
+var isStart = b.startsWith ("*");\r
+var isEnd = b.endsWith ("*");\r
+return (!isStart && !isEnd) ? areEqual : isStart && isEnd ? b.length == 1 || a.contains (b.substring (1, b.length - 1)) : isStart ? a.endsWith (b.substring (1)) : a.startsWith (b.substring (0, b.length - 1));\r
+}, "~S,~S");\r
+c$.getMapValueNoCase = Clazz.defineMethod (c$, "getMapValueNoCase", \r
+function (h, key) {\r
+if ("this".equals (key)) return h;\r
+var val = h.get (key);\r
+if (val == null) for (var e, $e = h.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) if (e.getKey ().equalsIgnoreCase (key)) return e.getValue ();\r
+\r
+return val;\r
+}, "java.util.Map,~S");\r
+c$.clean = Clazz.defineMethod (c$, "clean", \r
+function (s) {\r
+return javajs.util.PT.rep (javajs.util.PT.replaceAllCharacters (s, " \t\n\r", " "), "  ", " ").trim ();\r
+}, "~S");\r
+c$.fdup = Clazz.defineMethod (c$, "fdup", \r
+function (f, pt, n) {\r
+var ch;\r
+var count = 0;\r
+for (var i = pt; --i >= 1; ) {\r
+if (javajs.util.PT.isDigit (ch = f.charAt (i))) continue;\r
+switch (ch) {\r
+case '.':\r
+if (count++ != 0) return f;\r
+continue;\r
+case '-':\r
+if (i != 1 && f.charAt (i - 1) != '.') return f;\r
+continue;\r
+default:\r
+return f;\r
+}\r
+}\r
+var s = f.substring (0, pt + 1);\r
+var sb =  new javajs.util.SB ();\r
+for (var i = 0; i < n; i++) sb.append (s);\r
+\r
+sb.append (f.substring (pt + 1));\r
+return sb.toString ();\r
+}, "~S,~N,~N");\r
+c$.formatString = Clazz.defineMethod (c$, "formatString", \r
+function (strFormat, key, strT, floatT, doubleT, doOne) {\r
+if (strFormat == null) return null;\r
+if ("".equals (strFormat)) return "";\r
+var len = key.length;\r
+if (strFormat.indexOf ("%") < 0 || len == 0 || strFormat.indexOf (key) < 0) return strFormat;\r
+var strLabel = "";\r
+var ich;\r
+var ichPercent;\r
+var ichKey;\r
+for (ich = 0; (ichPercent = strFormat.indexOf ('%', ich)) >= 0 && (ichKey = strFormat.indexOf (key, ichPercent + 1)) >= 0; ) {\r
+if (ich != ichPercent) strLabel += strFormat.substring (ich, ichPercent);\r
+ich = ichPercent + 1;\r
+if (ichKey > ichPercent + 6) {\r
+strLabel += '%';\r
+continue;\r
+}try {\r
+var alignLeft = false;\r
+if (strFormat.charAt (ich) == '-') {\r
+alignLeft = true;\r
+++ich;\r
+}var zeroPad = false;\r
+if (strFormat.charAt (ich) == '0') {\r
+zeroPad = true;\r
+++ich;\r
+}var ch;\r
+var width = 0;\r
+while ((ch = strFormat.charAt (ich)) >= '0' && (ch <= '9')) {\r
+width = (10 * width) + (ch.charCodeAt (0) - 48);\r
+++ich;\r
+}\r
+var precision = 2147483647;\r
+var isExponential = false;\r
+if (strFormat.charAt (ich) == '.') {\r
+++ich;\r
+if ((ch = strFormat.charAt (ich)) == '-') {\r
+isExponential = true;\r
+++ich;\r
+}if ((ch = strFormat.charAt (ich)) >= '0' && ch <= '9') {\r
+precision = ch.charCodeAt (0) - 48;\r
+++ich;\r
+}if (isExponential) precision = -precision - (strT == null ? 1 : 0);\r
+}var st = strFormat.substring (ich, ich + len);\r
+if (!st.equals (key)) {\r
+ich = ichPercent + 1;\r
+strLabel += '%';\r
+continue;\r
+}ich += len;\r
+if (!Float.isNaN (floatT)) strLabel += javajs.util.PT.formatF (floatT, width, precision, alignLeft, zeroPad);\r
+ else if (strT != null) strLabel += javajs.util.PT.formatS (strT, width, precision, alignLeft, zeroPad);\r
+ else if (!Double.isNaN (doubleT)) strLabel += javajs.util.PT.formatD (doubleT, width, precision, alignLeft, zeroPad, true);\r
+if (doOne) break;\r
+} catch (ioobe) {\r
+if (Clazz.exceptionOf (ioobe, IndexOutOfBoundsException)) {\r
+ich = ichPercent;\r
+break;\r
+} else {\r
+throw ioobe;\r
+}\r
+}\r
+}\r
+strLabel += strFormat.substring (ich);\r
+return strLabel;\r
+}, "~S,~S,~S,~N,~N,~B");\r
+c$.formatStringS = Clazz.defineMethod (c$, "formatStringS", \r
+function (strFormat, key, strT) {\r
+return javajs.util.PT.formatString (strFormat, key, strT, NaN, NaN, false);\r
+}, "~S,~S,~S");\r
+c$.formatStringF = Clazz.defineMethod (c$, "formatStringF", \r
+function (strFormat, key, floatT) {\r
+return javajs.util.PT.formatString (strFormat, key, null, floatT, NaN, false);\r
+}, "~S,~S,~N");\r
+c$.formatStringI = Clazz.defineMethod (c$, "formatStringI", \r
+function (strFormat, key, intT) {\r
+return javajs.util.PT.formatString (strFormat, key, "" + intT, NaN, NaN, false);\r
+}, "~S,~S,~N");\r
+c$.sprintf = Clazz.defineMethod (c$, "sprintf", \r
+function (strFormat, list, values) {\r
+if (values == null) return strFormat;\r
+var n = list.length;\r
+if (n == values.length) try {\r
+for (var o = 0; o < n; o++) {\r
+if (values[o] == null) continue;\r
+switch (list.charAt (o)) {\r
+case 's':\r
+strFormat = javajs.util.PT.formatString (strFormat, "s", values[o], NaN, NaN, true);\r
+break;\r
+case 'f':\r
+strFormat = javajs.util.PT.formatString (strFormat, "f", null, (values[o]).floatValue (), NaN, true);\r
+break;\r
+case 'i':\r
+strFormat = javajs.util.PT.formatString (strFormat, "d", "" + values[o], NaN, NaN, true);\r
+strFormat = javajs.util.PT.formatString (strFormat, "i", "" + values[o], NaN, NaN, true);\r
+break;\r
+case 'd':\r
+strFormat = javajs.util.PT.formatString (strFormat, "e", null, NaN, (values[o]).doubleValue (), true);\r
+break;\r
+case 'p':\r
+var pVal = values[o];\r
+strFormat = javajs.util.PT.formatString (strFormat, "p", null, pVal.x, NaN, true);\r
+strFormat = javajs.util.PT.formatString (strFormat, "p", null, pVal.y, NaN, true);\r
+strFormat = javajs.util.PT.formatString (strFormat, "p", null, pVal.z, NaN, true);\r
+break;\r
+case 'q':\r
+var qVal = values[o];\r
+strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.x, NaN, true);\r
+strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.y, NaN, true);\r
+strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.z, NaN, true);\r
+strFormat = javajs.util.PT.formatString (strFormat, "q", null, qVal.w, NaN, true);\r
+break;\r
+case 'S':\r
+var sVal = values[o];\r
+for (var i = 0; i < sVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "s", sVal[i], NaN, NaN, true);\r
+\r
+break;\r
+case 'F':\r
+var fVal = values[o];\r
+for (var i = 0; i < fVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "f", null, fVal[i], NaN, true);\r
+\r
+break;\r
+case 'I':\r
+var iVal = values[o];\r
+for (var i = 0; i < iVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "d", "" + iVal[i], NaN, NaN, true);\r
+\r
+for (var i = 0; i < iVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "i", "" + iVal[i], NaN, NaN, true);\r
+\r
+break;\r
+case 'D':\r
+var dVal = values[o];\r
+for (var i = 0; i < dVal.length; i++) strFormat = javajs.util.PT.formatString (strFormat, "e", null, NaN, dVal[i], true);\r
+\r
+}\r
+}\r
+return javajs.util.PT.rep (strFormat, "%%", "%");\r
+} catch (e) {\r
+if (Clazz.exceptionOf (e, Exception)) {\r
+} else {\r
+throw e;\r
+}\r
+}\r
+System.out.println ("TextFormat.sprintf error " + list + " " + strFormat);\r
+return javajs.util.PT.rep (strFormat, "%", "?");\r
+}, "~S,~S,~A");\r
+c$.formatCheck = Clazz.defineMethod (c$, "formatCheck", \r
+function (strFormat) {\r
+if (strFormat == null || strFormat.indexOf ('p') < 0 && strFormat.indexOf ('q') < 0) return strFormat;\r
+strFormat = javajs.util.PT.rep (strFormat, "%%", "\1");\r
+strFormat = javajs.util.PT.rep (strFormat, "%p", "%6.2p");\r
+strFormat = javajs.util.PT.rep (strFormat, "%q", "%6.2q");\r
+var format = javajs.util.PT.split (strFormat, "%");\r
+var sb =  new javajs.util.SB ();\r
+sb.append (format[0]);\r
+for (var i = 1; i < format.length; i++) {\r
+var f = "%" + format[i];\r
+var pt;\r
+if (f.length >= 3) {\r
+if ((pt = f.indexOf ('p')) >= 0) f = javajs.util.PT.fdup (f, pt, 3);\r
+if ((pt = f.indexOf ('q')) >= 0) f = javajs.util.PT.fdup (f, pt, 4);\r
+}sb.append (f);\r
+}\r
+return sb.toString ().$replace ('\1', '%');\r
+}, "~S");\r
+c$.leftJustify = Clazz.defineMethod (c$, "leftJustify", \r
+function (s, s1, s2) {\r
+s.append (s2);\r
+var n = s1.length - s2.length;\r
+if (n > 0) s.append (s1.substring (0, n));\r
+}, "javajs.util.SB,~S,~S");\r
+c$.rightJustify = Clazz.defineMethod (c$, "rightJustify", \r
+function (s, s1, s2) {\r
+var n = s1.length - s2.length;\r
+if (n > 0) s.append (s1.substring (0, n));\r
+s.append (s2);\r
+}, "javajs.util.SB,~S,~S");\r
+c$.safeTruncate = Clazz.defineMethod (c$, "safeTruncate", \r
+function (f, n) {\r
+if (f > -0.001 && f < 0.001) f = 0;\r
+return (f + "         ").substring (0, n);\r
+}, "~N,~N");\r
+c$.isWild = Clazz.defineMethod (c$, "isWild", \r
+function (s) {\r
+return s != null && (s.indexOf ("*") >= 0 || s.indexOf ("?") >= 0);\r
+}, "~S");\r
+c$.isMatch = Clazz.defineMethod (c$, "isMatch", \r
+function (search, match, checkStar, allowInitialStar) {\r
+if (search.equals (match)) return true;\r
+var mLen = match.length;\r
+if (mLen == 0) return false;\r
+var isStar0 = (checkStar && allowInitialStar ? match.charAt (0) == '*' : false);\r
+if (mLen == 1 && isStar0) return true;\r
+var isStar1 = (checkStar && match.endsWith ("*"));\r
+var haveQ = (match.indexOf ('?') >= 0);\r
+if (!haveQ) {\r
+if (isStar0) return (isStar1 ? (mLen < 3 || search.indexOf (match.substring (1, mLen - 1)) >= 0) : search.endsWith (match.substring (1)));\r
+ else if (isStar1) return search.startsWith (match.substring (0, mLen - 1));\r
+}var sLen = search.length;\r
+var qqqq = "????";\r
+var nq = 4;\r
+while (nq < sLen) {\r
+qqqq += qqqq;\r
+nq += 4;\r
+}\r
+if (checkStar) {\r
+if (isStar0) {\r
+match = qqqq + match.substring (1);\r
+mLen += nq - 1;\r
+}if (isStar1) {\r
+match = match.substring (0, mLen - 1) + qqqq;\r
+mLen += nq - 1;\r
+}}if (mLen < sLen) return false;\r
+var ich = 0;\r
+while (mLen > sLen) {\r
+if (allowInitialStar && match.charAt (ich) == '?') {\r
+++ich;\r
+} else if (match.charAt (ich + mLen - 1) != '?') {\r
+return false;\r
+}--mLen;\r
+}\r
+for (var i = sLen; --i >= 0; ) {\r
+var chm = match.charAt (ich + i);\r
+if (chm == '?') continue;\r
+var chs = search.charAt (i);\r
+if (chm != chs && (chm != '\1' || chs != '?')) return false;\r
+}\r
+return true;\r
+}, "~S,~S,~B,~B");\r
+c$.replaceQuotedStrings = Clazz.defineMethod (c$, "replaceQuotedStrings", \r
+function (s, list, newList) {\r
+var n = list.size ();\r
+for (var i = 0; i < n; i++) {\r
+var name = list.get (i);\r
+var newName = newList.get (i);\r
+if (!newName.equals (name)) s = javajs.util.PT.rep (s, "\"" + name + "\"", "\"" + newName + "\"");\r
+}\r
+return s;\r
+}, "~S,javajs.util.Lst,javajs.util.Lst");\r
+c$.replaceStrings = Clazz.defineMethod (c$, "replaceStrings", \r
+function (s, list, newList) {\r
+var n = list.size ();\r
+for (var i = 0; i < n; i++) {\r
+var name = list.get (i);\r
+var newName = newList.get (i);\r
+if (!newName.equals (name)) s = javajs.util.PT.rep (s, name, newName);\r
+}\r
+return s;\r
+}, "~S,javajs.util.Lst,javajs.util.Lst");\r
+c$.isDigit = Clazz.defineMethod (c$, "isDigit", \r
+function (ch) {\r
+var c = (ch).charCodeAt (0);\r
+return (48 <= c && c <= 57);\r
+}, "~S");\r
+c$.isUpperCase = Clazz.defineMethod (c$, "isUpperCase", \r
+function (ch) {\r
+var c = (ch).charCodeAt (0);\r
+return (65 <= c && c <= 90);\r
+}, "~S");\r
+c$.isLowerCase = Clazz.defineMethod (c$, "isLowerCase", \r
+function (ch) {\r
+var c = (ch).charCodeAt (0);\r
+return (97 <= c && c <= 122);\r
+}, "~S");\r
+c$.isLetter = Clazz.defineMethod (c$, "isLetter", \r
+function (ch) {\r
+var c = (ch).charCodeAt (0);\r
+return (65 <= c && c <= 90 || 97 <= c && c <= 122);\r
+}, "~S");\r
+c$.isLetterOrDigit = Clazz.defineMethod (c$, "isLetterOrDigit", \r
+function (ch) {\r
+var c = (ch).charCodeAt (0);\r
+return (65 <= c && c <= 90 || 97 <= c && c <= 122 || 48 <= c && c <= 57);\r
+}, "~S");\r
+c$.isWhitespace = Clazz.defineMethod (c$, "isWhitespace", \r
+function (ch) {\r
+var c = (ch).charCodeAt (0);\r
+return (c >= 0x1c && c <= 0x20 || c >= 0x9 && c <= 0xd);\r
+}, "~S");\r
+c$.fixPtFloats = Clazz.defineMethod (c$, "fixPtFloats", \r
+function (pt, f) {\r
+pt.x = Math.round (pt.x * f) / f;\r
+pt.y = Math.round (pt.y * f) / f;\r
+pt.z = Math.round (pt.z * f) / f;\r
+}, "javajs.util.T3,~N");\r
+c$.fixDouble = Clazz.defineMethod (c$, "fixDouble", \r
+function (d, f) {\r
+return Math.round (d * f) / f;\r
+}, "~N,~N");\r
+c$.parseFloatFraction = Clazz.defineMethod (c$, "parseFloatFraction", \r
+function (s) {\r
+var pt = s.indexOf ("/");\r
+return (pt < 0 ? javajs.util.PT.parseFloat (s) : javajs.util.PT.parseFloat (s.substring (0, pt)) / javajs.util.PT.parseFloat (s.substring (pt + 1)));\r
+}, "~S");\r
+Clazz.defineStatics (c$,\r
+"tensScale",  Clazz.newFloatArray (-1, [10, 100, 1000, 10000, 100000, 1000000]),\r
+"decimalScale",  Clazz.newFloatArray (-1, [0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, 0.00000001, 0.000000001]),\r
+"FLOAT_MIN_SAFE", 2E-45,\r
+"escapable", "\\\\\tt\rr\nn\"\"",\r
+"FRACTIONAL_PRECISION", 100000,\r
+"CARTESIAN_PRECISION", 10000);\r
+});\r