Clazz.declarePackage ("JS"); Clazz.load (["javajs.api.JSONEncodable", "JS.T", "JU.P3"], "JS.SV", ["java.lang.Boolean", "$.Float", "java.util.Arrays", "$.Collections", "$.Hashtable", "$.Map", "JU.AU", "$.BArray", "$.BS", "$.Base64", "$.Lst", "$.M3", "$.M34", "$.M4", "$.Measure", "$.P4", "$.PT", "$.Quat", "$.SB", "$.T3", "$.V3", "JM.BondSet", "JS.ScriptContext", "JU.BSUtil", "$.Escape", "JV.Viewer"], function () { c$ = Clazz.decorateAsClass (function () { this.index = 2147483647; this.myName = null; if (!Clazz.isClassDefined ("JS.SV.Sort")) { JS.SV.$SV$Sort$ (); } Clazz.instantialize (this, arguments); }, JS, "SV", JS.T, javajs.api.JSONEncodable); c$.newV = Clazz.defineMethod (c$, "newV", function (tok, value) { var sv = new JS.SV (); sv.tok = tok; sv.value = value; return sv; }, "~N,~O"); c$.newI = Clazz.defineMethod (c$, "newI", function (i) { var sv = new JS.SV (); sv.tok = 2; sv.intValue = i; return sv; }, "~N"); c$.newF = Clazz.defineMethod (c$, "newF", function (f) { var sv = new JS.SV (); sv.tok = 3; sv.value = Float.$valueOf (f); return sv; }, "~N"); c$.newS = Clazz.defineMethod (c$, "newS", function (s) { return JS.SV.newV (4, s); }, "~S"); c$.newT = Clazz.defineMethod (c$, "newT", function (x) { return JS.SV.newSV (x.tok, x.intValue, x.value); }, "JS.T"); c$.newSV = Clazz.defineMethod (c$, "newSV", function (tok, intValue, value) { var sv = JS.SV.newV (tok, value); sv.intValue = intValue; return sv; }, "~N,~N,~O"); Clazz.defineMethod (c$, "setv", function (v) { this.index = v.index; this.intValue = v.intValue; this.tok = v.tok; this.value = v.value; return this; }, "JS.SV"); c$.sizeOf = Clazz.defineMethod (c$, "sizeOf", function (x) { switch (x == null ? 0 : x.tok) { case 10: return JS.SV.bsSelectToken (x).cardinality (); case 1073742335: case 1073742334: return -1; case 2: return -2; case 3: return -4; case 8: return -8; case 9: return -16; case 11: return -32; case 12: return -64; case 15: return (x.value).data.length; case 4: return (x.value).length; case 7: return x.intValue == 2147483647 ? (x).getList ().size () : JS.SV.sizeOf (JS.SV.selectItemTok (x, -2147483648)); case 6: return (x.value).size (); case 14: return (x.value).getFullMap ().size (); default: return 0; } }, "JS.T"); c$.isVariableType = Clazz.defineMethod (c$, "isVariableType", function (x) { return (Clazz.instanceOf (x, JS.SV) || Clazz.instanceOf (x, Boolean) || Clazz.instanceOf (x, Integer) || Clazz.instanceOf (x, Float) || Clazz.instanceOf (x, String) || Clazz.instanceOf (x, JU.T3) || Clazz.instanceOf (x, JU.BS) || Clazz.instanceOf (x, JU.P4) || Clazz.instanceOf (x, JU.Quat) || Clazz.instanceOf (x, JU.M34) || Clazz.instanceOf (x, java.util.Map) || Clazz.instanceOf (x, JU.Lst) || Clazz.instanceOf (x, JU.BArray) || Clazz.instanceOf (x, JS.ScriptContext) || JS.SV.isArray (x)); }, "~O"); c$.isArray = Clazz.defineMethod (c$, "isArray", function (x) { { return Clazz.instanceOf(x, Array); }}, "~O"); c$.getVariable = Clazz.defineMethod (c$, "getVariable", function (x) { if (x == null) return JS.SV.newS (""); if (Clazz.instanceOf (x, JS.SV)) return x; if (Clazz.instanceOf (x, Boolean)) return JS.SV.getBoolean ((x).booleanValue ()); if (Clazz.instanceOf (x, Integer)) return JS.SV.newI ((x).intValue ()); if (Clazz.instanceOf (x, Float)) return JS.SV.newV (3, x); if (Clazz.instanceOf (x, String)) { x = JS.SV.unescapePointOrBitsetAsVariable (x); if (Clazz.instanceOf (x, JS.SV)) return x; return JS.SV.newV (4, x); }if (Clazz.instanceOf (x, JU.P3)) return JS.SV.newV (8, x); if (Clazz.instanceOf (x, JU.V3)) return JS.SV.newV (8, JU.P3.newP (x)); if (Clazz.instanceOf (x, JU.BS)) return JS.SV.newV (10, x); if (Clazz.instanceOf (x, JU.P4)) return JS.SV.newV (9, x); if (Clazz.instanceOf (x, JU.Quat)) return JS.SV.newV (9, (x).toPoint4f ()); if (Clazz.instanceOf (x, JU.M34)) return JS.SV.newV (Clazz.instanceOf (x, JU.M4) ? 12 : 11, x); if (Clazz.instanceOf (x, java.util.Map)) return JS.SV.getVariableMap (x); if (Clazz.instanceOf (x, JU.Lst)) return JS.SV.getVariableList (x); if (Clazz.instanceOf (x, JU.BArray)) return JS.SV.newV (15, x); if (Clazz.instanceOf (x, JS.ScriptContext)) return JS.SV.newV (14, x); if (JS.SV.isASV (x)) return JS.SV.getVariableAV (x); if (JU.AU.isAI (x)) return JS.SV.getVariableAI (x); if (JU.AU.isAB (x)) return JS.SV.getVariableAB (x); if (JU.AU.isAF (x)) return JS.SV.getVariableAF (x); if (JU.AU.isAD (x)) return JS.SV.getVariableAD (x); if (JU.AU.isAS (x)) return JS.SV.getVariableAS (x); if (JU.AU.isAP (x)) return JS.SV.getVariableAP (x); if (JU.AU.isAII (x)) return JS.SV.getVariableAII (x); if (JU.AU.isAFF (x)) return JS.SV.getVariableAFF (x); if (JU.AU.isASS (x)) return JS.SV.getVariableASS (x); if (JU.AU.isADD (x)) return JS.SV.getVariableADD (x); if (JU.AU.isAFloat (x)) return JS.SV.newV (13, x); return JS.SV.newJSVar (x); }, "~O"); c$.isASV = Clazz.defineMethod (c$, "isASV", function (x) { if (!JV.Viewer.isSwingJS) { { return x && x[0] && x[0].__CLASS_NAME__ == "JS.SV"; }}return Clazz.instanceOf (x, Array); }, "~O"); c$.newJSVar = Clazz.defineMethod (c$, "newJSVar", function (x) { var itype; var itest; var inum; var array; var keys; { switch(x.BYTES_PER_ELEMENT ? Array : x.constructor) { case Boolean: itype = 0; itest = x; break; case Number: itype = 1; inum = x; break; case Array: itype = 2; array = x; break; case Object: itype = 3; array = x; keys = Object.keys(x); break; } }switch (itype) { case 0: return (itest ? JS.SV.vT : JS.SV.vF); case 1: return (inum > 2147483647 || inum != Math.floor (inum) ? JS.SV.newF (inum) : JS.SV.newI (Clazz.floatToInt (inum))); case 2: var v = new JU.Lst (); for (var i = 0, n = array.length; i < n; i++) v.addLast (JS.SV.newJSVar (array[i])); return JS.SV.getVariableList (v); case 3: var map = new java.util.Hashtable (); for (var i = keys.length; --i >= 0; ) { var o = null; { o = array[keys[i]]; }map.put (keys[i], JS.SV.newJSVar (o)); } return JS.SV.getVariableMap (map); } return JS.SV.newS (x.toString ()); }, "~O"); c$.getVariableMap = Clazz.defineMethod (c$, "getVariableMap", function (x) { var ht = x; var o = null; for (var oo, $oo = ht.values ().iterator (); $oo.hasNext () && ((oo = $oo.next ()) || true);) { o = oo; break; } if (!(Clazz.instanceOf (o, JS.SV))) { var x2 = new java.util.Hashtable (); for (var entry, $entry = ht.entrySet ().iterator (); $entry.hasNext () && ((entry = $entry.next ()) || true);) x2.put (entry.getKey (), JS.SV.getVariable (entry.getValue ())); x = x2; }return JS.SV.newV (6, x); }, "java.util.Map"); c$.getVariableList = Clazz.defineMethod (c$, "getVariableList", function (v) { var len = v.size (); if (len > 0 && Clazz.instanceOf (v.get (0), JS.SV)) return JS.SV.newV (7, v); var objects = new JU.Lst (); for (var i = 0; i < len; i++) objects.addLast (JS.SV.getVariable (v.get (i))); return JS.SV.newV (7, objects); }, "JU.Lst"); c$.getVariableAV = Clazz.defineMethod (c$, "getVariableAV", function (v) { var objects = new JU.Lst (); for (var i = 0; i < v.length; i++) objects.addLast (v[i]); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAD = Clazz.defineMethod (c$, "getVariableAD", function (f) { var objects = new JU.Lst (); for (var i = 0; i < f.length; i++) objects.addLast (JS.SV.newV (3, Float.$valueOf (f[i]))); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAO = Clazz.defineMethod (c$, "getVariableAO", function (o) { var objects = new JU.Lst (); for (var i = 0; i < o.length; i++) objects.addLast (JS.SV.getVariable (o[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAS = Clazz.defineMethod (c$, "getVariableAS", function (s) { var objects = new JU.Lst (); for (var i = 0; i < s.length; i++) objects.addLast (JS.SV.newV (4, s[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAP = Clazz.defineMethod (c$, "getVariableAP", function (p) { var objects = new JU.Lst (); for (var i = 0; i < p.length; i++) objects.addLast (JS.SV.newV (8, p[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAFF = Clazz.defineMethod (c$, "getVariableAFF", function (fx) { var objects = new JU.Lst (); for (var i = 0; i < fx.length; i++) objects.addLast (JS.SV.getVariableAF (fx[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableADD = Clazz.defineMethod (c$, "getVariableADD", function (fx) { var objects = new JU.Lst (); for (var i = 0; i < fx.length; i++) objects.addLast (JS.SV.getVariableAD (fx[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableASS = Clazz.defineMethod (c$, "getVariableASS", function (fx) { var objects = new JU.Lst (); for (var i = 0; i < fx.length; i++) objects.addLast (JS.SV.getVariableAS (fx[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAII = Clazz.defineMethod (c$, "getVariableAII", function (ix) { var objects = new JU.Lst (); for (var i = 0; i < ix.length; i++) objects.addLast (JS.SV.getVariableAI (ix[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAF = Clazz.defineMethod (c$, "getVariableAF", function (f) { var objects = new JU.Lst (); for (var i = 0; i < f.length; i++) objects.addLast (JS.SV.newV (3, Float.$valueOf (f[i]))); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAI = Clazz.defineMethod (c$, "getVariableAI", function (ix) { var objects = new JU.Lst (); for (var i = 0; i < ix.length; i++) objects.addLast (JS.SV.newI (ix[i])); return JS.SV.newV (7, objects); }, "~A"); c$.getVariableAB = Clazz.defineMethod (c$, "getVariableAB", function (ix) { var objects = new JU.Lst (); for (var i = 0; i < ix.length; i++) objects.addLast (JS.SV.newI (ix[i])); return JS.SV.newV (7, objects); }, "~A"); Clazz.defineMethod (c$, "setName", function (name) { this.myName = name; return this; }, "~S"); Clazz.defineMethod (c$, "canIncrement", function () { switch (this.tok) { case 2: case 3: return true; default: return false; } }); Clazz.defineMethod (c$, "increment", function (n) { switch (this.tok) { case 2: this.intValue += n; return true; case 3: this.value = Float.$valueOf ((this.value).floatValue () + n); return true; default: return false; } }, "~N"); Clazz.defineMethod (c$, "asBoolean", function () { return JS.SV.bValue (this); }); Clazz.defineMethod (c$, "asInt", function () { return JS.SV.iValue (this); }); Clazz.defineMethod (c$, "asFloat", function () { return JS.SV.fValue (this); }); Clazz.defineMethod (c$, "asString", function () { return JS.SV.sValue (this); }); c$.oValue = Clazz.defineMethod (c$, "oValue", function (xx) { if (!(Clazz.instanceOf (xx, JS.SV))) return xx; var x = xx; switch (x.tok) { case 1073742335: return Boolean.TRUE; case 0: case 1073742334: return Boolean.FALSE; case 2: return Integer.$valueOf (x.intValue); case 10: case 1275068418: return JS.SV.selectItemVar (x).value; default: return x.value; } }, "~O"); c$.nValue = Clazz.defineMethod (c$, "nValue", function (x) { var iValue; switch (x == null ? 0 : x.tok) { case 3: return x.value; case 2: iValue = x.intValue; break; case 4: if ((x.value).indexOf (".") >= 0) return Float.$valueOf (JS.SV.toFloat (x.value)); iValue = Clazz.floatToInt (JS.SV.toFloat (x.value)); break; case 8: return Float.$valueOf ((x.value).length ()); default: iValue = 0; } return Integer.$valueOf (iValue); }, "JS.T"); c$.bValue = Clazz.defineMethod (c$, "bValue", function (x) { switch (x == null ? 0 : x.tok) { case 1073742335: case 14: return true; case 1073742334: return false; case 2: return x.intValue != 0; case 3: case 4: case 7: return JS.SV.fValue (x) != 0; case 10: case 15: return JS.SV.iValue (x) != 0; case 8: case 9: case 11: case 12: return Math.abs (JS.SV.fValue (x)) > 0.0001; case 6: return !(x).getMap ().isEmpty (); default: return false; } }, "JS.T"); c$.iValue = Clazz.defineMethod (c$, "iValue", function (x) { switch (x == null ? 0 : x.tok) { case 1073742335: return 1; case 1073742334: return 0; case 2: return x.intValue; case 3: case 7: case 4: return Clazz.floatToInt (JS.SV.fValue (x)); case 10: return JS.SV.bsSelectToken (x).cardinality (); case 15: return (x.value).data.length; default: return 0; } }, "JS.T"); c$.fValue = Clazz.defineMethod (c$, "fValue", function (x) { switch (x == null ? 0 : x.tok) { case 1073742335: return 1; case 1073742334: return 0; case 2: return x.intValue; case 3: return (x.value).floatValue (); case 7: var i = x.intValue; if (i == 2147483647) return (x).getList ().size (); case 4: return JS.SV.toFloat (JS.SV.sValue (x)); case 10: case 15: return JS.SV.iValue (x); case 8: return (x.value).length (); case 9: return JU.Measure.distanceToPlane (x.value, JS.SV.pt0); case 11: var pt = new JU.P3 (); (x.value).rotate (pt); return pt.length (); case 12: var pt1 = new JU.P3 (); (x.value).rotTrans (pt1); return pt1.length (); default: return 0; } }, "JS.T"); c$.sValue = Clazz.defineMethod (c$, "sValue", function (x) { if (x == null) return ""; var i; var sb; switch (x.tok) { case 1073742335: return "true"; case 1073742334: return "false"; case 2: return "" + x.intValue; case 10: var bs = JS.SV.bsSelectToken (x); return (Clazz.instanceOf (x.value, JM.BondSet) ? JU.Escape.eBond (bs) : JU.Escape.eBS (bs)); case 7: var sv = (x).getList (); i = x.intValue; if (i <= 0) i = sv.size () - i; if (i != 2147483647) return (i < 1 || i > sv.size () ? "" : JS.SV.sValue (sv.get (i - 1))); case 6: case 14: if (Clazz.instanceOf (x.value, String)) return x.value; sb = new JU.SB (); JS.SV.sValueArray (sb, x, "", "", false, true, true, 2147483647, false); return JU.PT.rep (sb.toString (), "\n\0", " "); case 4: var s = x.value; i = x.intValue; if (i <= 0) i = s.length - i; if (i == 2147483647) return s; if (i < 1 || i > s.length) return ""; return "" + s.charAt (i - 1); case 8: return JU.Escape.eP (x.value); case 9: return JU.Escape.eP4 (x.value); case 11: case 12: return JU.Escape.e (x.value); default: return x.value.toString (); } }, "JS.T"); c$.sValueArray = Clazz.defineMethod (c$, "sValueArray", function (sb, vx, path, tabs, isEscaped, isRaw, addValues, maxLevels, skipEmpty) { switch (vx.tok) { case 6: case 14: case 7: var thiskey = ";" + vx.hashCode () + ";"; if (path.indexOf (thiskey) >= 0) { sb.append (isEscaped ? (vx.tok == 7 ? "[ ]" : "{ }") : (vx.tok == 7 ? "" : "\0") + "\"<" + (vx.myName == null ? "circular reference" : vx.myName) + ">\""); break; }path += thiskey; if (vx.tok == 7) { if (!addValues) return; if (!isRaw) sb.append (isEscaped ? "[ " : tabs + "[\n"); var sx = vx.getList (); for (var i = 0; i < sx.size (); i++) { if (isEscaped && i > 0) sb.append (","); var sv = sx.get (i); JS.SV.sValueArray (sb, sv, path, tabs + " ", isEscaped, tabs.length == 0 && !isEscaped && JS.SV.isRawType (sv.tok), addValues, maxLevels, skipEmpty); if (!isEscaped) sb.append ("\n"); } if (!isRaw) sb.append (isEscaped ? " ]" : tabs + "]"); } else if (--maxLevels >= 0) { var ht = (vx.tok == 14 ? (vx.value).getFullMap () : vx.getMap ()); JS.SV.sValueAddKeys (sb, path, ht, tabs, isEscaped, addValues, maxLevels, skipEmpty); }break; default: if (!addValues) return; if (!isRaw && !isEscaped) sb.append (tabs); sb.append (isEscaped ? vx.escape () : JS.SV.sValue (vx)); } }, "JU.SB,JS.SV,~S,~S,~B,~B,~B,~N,~B"); c$.sValueAddKeys = Clazz.defineMethod (c$, "sValueAddKeys", function (sb, path, ht, tabs, isEscaped, addValues, maxLevels, skipEmpty) { if (maxLevels < 0) return; var keyset = ht.keySet (); var keys = ht.keySet ().toArray ( new Array (keyset.size ())); java.util.Arrays.sort (keys); if (isEscaped) { sb.append ("{ "); var sep = ""; for (var i = 0; i < keys.length; i++) { var key = keys[i]; var val = ht.get (key); if (skipEmpty && (val.tok == 7 && val.getList ().size () == 0 || val.tok == 6 && val.getMap ().isEmpty ())) continue; if (addValues) sb.append (sep).append (JU.PT.esc (key)).append (":"); else sb.appendC (' ').append (key); JS.SV.sValueArray (sb, val, path, tabs + " ", true, false, addValues, maxLevels, skipEmpty); sep = ","; } sb.append (" }"); if (!addValues) sb.append ("\n"); return; }sb.append (tabs).append ("{\n"); tabs += " "; for (var i = 0; i < keys.length; i++) { sb.append (tabs); var key = keys[i]; sb.append (JU.PT.esc (key)).append (" :"); var sb2 = new JU.SB (); if (!(Clazz.instanceOf (ht.get (key), JS.SV))) ht.put (key, JS.SV.getVariable (ht.get (key))); var v = ht.get (key); isEscaped = JS.SV.isRawType (v.tok); JS.SV.sValueArray (sb2, v, path, tabs, isEscaped, false, addValues, maxLevels, skipEmpty); var value = sb2.toString (); if (isEscaped && addValues) sb.append (" "); else sb.append ("\n"); sb.append (value).append ("\n"); } sb.append (tabs.substring (1)).append ("}"); }, "JU.SB,~S,java.util.Map,~S,~B,~B,~N,~B"); c$.isRawType = Clazz.defineMethod (c$, "isRawType", function (tok) { switch (tok) { case 4: case 3: case 2: case 8: case 9: case 10: case 15: case 1073742335: case 1073742334: return true; } return false; }, "~N"); c$.ptValue = Clazz.defineMethod (c$, "ptValue", function (x) { switch (x.tok) { case 8: return x.value; case 4: var o = JU.Escape.uP (x.value); if (Clazz.instanceOf (o, JU.P3)) return o; } return null; }, "JS.SV"); c$.pt4Value = Clazz.defineMethod (c$, "pt4Value", function (x) { switch (x.tok) { case 9: return x.value; case 4: var o = JU.Escape.uP (x.value); if (!(Clazz.instanceOf (o, JU.P4))) break; return o; } return null; }, "JS.SV"); c$.toFloat = Clazz.defineMethod (c$, "toFloat", function (s) { return (s.equalsIgnoreCase ("true") ? 1 : s.length == 0 || s.equalsIgnoreCase ("false") ? 0 : JU.PT.parseFloatStrict (JU.PT.trim (s, " \t\n"))); }, "~S"); c$.concatList = Clazz.defineMethod (c$, "concatList", function (x1, x2, asNew) { var v1 = x1.getList (); var v2 = x2.getList (); if (!asNew) { if (v2 == null) v1.addLast (JS.SV.newT (x2)); else for (var i = 0; i < v2.size (); i++) v1.addLast (v2.get (i)); return x1; }var vlist = new JU.Lst (); if (v1 == null) vlist.addLast (x1); else for (var i = 0; i < v1.size (); i++) vlist.addLast (v1.get (i)); if (v2 == null) vlist.addLast (x2); else for (var i = 0; i < v2.size (); i++) vlist.addLast (v2.get (i)); return JS.SV.getVariableList (vlist); }, "JS.SV,JS.SV,~B"); c$.bsSelectToken = Clazz.defineMethod (c$, "bsSelectToken", function (x) { return JS.SV.selectItemTok (x, -2147483648).value; }, "JS.T"); c$.bsSelectRange = Clazz.defineMethod (c$, "bsSelectRange", function (x, n) { x = JS.SV.selectItemTok (x, -2147483648); x = JS.SV.selectItemTok (x, (n <= 0 ? n : 1)); x = JS.SV.selectItemTok (x, (n <= 0 ? 2147483646 : n)); return x.value; }, "JS.T,~N"); c$.selectItemVar = Clazz.defineMethod (c$, "selectItemVar", function ($var) { return ($var.index != 2147483647 || ($var.tok == 7 || $var.tok == 15) && $var.intValue == 2147483647 ? $var : JS.SV.selectItemTok ($var, -2147483648)); }, "JS.SV"); c$.selectItemTok = Clazz.defineMethod (c$, "selectItemTok", function (tokenIn, i2) { switch (tokenIn.tok) { case 11: case 12: case 10: case 7: case 15: case 4: break; default: return ((Clazz.instanceOf (tokenIn, JS.SV)) && (tokenIn).myName != null ? JS.SV.newI (0).setv (tokenIn) : tokenIn); } var bs = null; var s = null; var i1 = tokenIn.intValue; var isOne = (i2 == -2147483648); if (i1 == 2147483647) { return JS.SV.newSV (tokenIn.tok, (isOne ? i1 : i2), tokenIn.value); }var len = 0; var isInputSelected = (Clazz.instanceOf (tokenIn, JS.SV) && (tokenIn).index != 2147483647); var tokenOut = JS.SV.newSV (tokenIn.tok, 2147483647, null); switch (tokenIn.tok) { case 10: if (Clazz.instanceOf (tokenIn.value, JM.BondSet)) { bs = JM.BondSet.newBS (tokenIn.value, (tokenIn.value).associatedAtoms); len = bs.cardinality (); } else { bs = JU.BSUtil.copy (tokenIn.value); len = (isInputSelected ? 1 : bs.cardinality ()); }break; case 15: len = (((tokenIn).value)).data.length; break; case 7: len = (tokenIn).getList ().size (); break; case 4: s = tokenIn.value; len = s.length; break; case 11: len = -3; break; case 12: len = -4; break; } if (len < 0) { len = -len; if (i1 > 0 && Math.abs (i1) > len) { var col = i1 % 10; var row = Clazz.doubleToInt ((i1 - col) / 10); if (col > 0 && col <= len && row <= len) { if (tokenIn.tok == 11) return JS.SV.newV (3, Float.$valueOf ((tokenIn.value).getElement (row - 1, col - 1))); return JS.SV.newV (3, Float.$valueOf ((tokenIn.value).getElement (row - 1, col - 1))); }return JS.SV.newV (4, ""); }if (Math.abs (i1) > len) return JS.SV.newV (4, ""); var data = Clazz.newFloatArray (len, 0); if (len == 3) { if (i1 < 0) (tokenIn.value).getColumn (-1 - i1, data); else (tokenIn.value).getRow (i1 - 1, data); } else { if (i1 < 0) (tokenIn.value).getColumn (-1 - i1, data); else (tokenIn.value).getRow (i1 - 1, data); }if (isOne) return JS.SV.getVariableAF (data); if (i2 < 1 || i2 > len) return JS.SV.newV (4, ""); return JS.SV.newV (3, Float.$valueOf (data[i2 - 1])); }if (i1 <= 0) i1 = len + i1; if (!isOne) { if (i1 < 1) i1 = 1; if (i2 == 0) i2 = len; else if (i2 < 0) i2 = len + i2; if (i2 < i1) i2 = i1; }switch (tokenIn.tok) { case 10: tokenOut.value = bs; if (isInputSelected) { if (i1 > 1) bs.clearAll (); break; }if (isOne) { if (i1 == len) { i2 = bs.length () - 1; } else if (i1 == 1) { i2 = bs.nextSetBit (0); }if (i2 >= -1) { bs.clearAll (); if (i2 >= 0) bs.set (i2); break; }i2 = i1; }var n = 0; for (var j = bs.nextSetBit (0); j >= 0; j = bs.nextSetBit (j + 1)) if (++n < i1 || n > i2) bs.clear (j); break; case 4: tokenOut.value = (--i1 < 0 || i1 >= len ? "" : isOne ? s.substring (i1, i1 + 1) : s.substring (i1, Math.min (i2, len))); break; case 7: if (--i1 < 0 || i1 >= len) return JS.SV.newV (4, ""); if (isOne) return (tokenIn).getList ().get (i1); var o2 = new JU.Lst (); var o1 = (tokenIn).getList (); var nn = Math.min (i2, len) - i1; for (var i = 0; i < nn; i++) o2.addLast (JS.SV.newT (o1.get (i + i1))); tokenOut.value = o2; break; case 15: if (--i1 < 0 || i1 >= len) return JS.SV.newV (4, ""); var data = (((tokenIn).value)).data; if (isOne) return JS.SV.newI (data[i1]); var b = Clazz.newByteArray (Math.min (i2, len) - i1, 0); for (var i = b.length; --i >= 0; ) b[i] = data[i1 + i]; tokenOut.value = new JU.BArray (b); break; } return tokenOut; }, "JS.T,~N"); Clazz.defineMethod (c$, "setSelectedValue", function (pt1, pt2, $var) { if (pt1 == 2147483647) return; var len; switch (this.tok) { case 11: case 12: len = (this.tok == 11 ? 3 : 4); if (pt2 != 2147483647) { var col = pt2; var row = pt1; if (col > 0 && col <= len && row <= len) { if (this.tok == 11) (this.value).setElement (row - 1, col - 1, JS.SV.fValue ($var)); else (this.value).setElement (row - 1, col - 1, JS.SV.fValue ($var)); return; }}if (pt1 != 0 && Math.abs (pt1) <= len && $var.tok == 7) { var sv = $var.getList (); if (sv.size () == len) { var data = Clazz.newFloatArray (len, 0); for (var i = 0; i < len; i++) data[i] = JS.SV.fValue (sv.get (i)); if (pt1 > 0) { if (this.tok == 11) (this.value).setRowA (pt1 - 1, data); else (this.value).setRowA (pt1 - 1, data); } else { if (this.tok == 11) (this.value).setColumnA (-1 - pt1, data); else (this.value).setColumnA (-1 - pt1, data); }break; }}break; case 4: var str = this.value; var pt = str.length; if (pt1 <= 0) pt1 = pt + pt1; if (--pt1 < 0) pt1 = 0; while (pt1 >= str.length) str += " "; if (pt2 == 2147483647) { pt2 = pt1; } else { if (--pt2 < 0) pt2 = pt + pt2; while (pt2 >= str.length) str += " "; }if (pt2 >= pt1) this.value = str.substring (0, pt1) + JS.SV.sValue ($var) + str.substring (++pt2); this.intValue = this.index = 2147483647; break; case 7: var v = this.value; len = v.size (); if (pt1 <= 0) pt1 = len + pt1; if (--pt1 < 0) pt1 = 0; if (len <= pt1) for (var i = len; i <= pt1; i++) v.addLast (JS.SV.newV (4, "")); v.set (pt1, $var); break; } }, "~N,~N,JS.SV"); Clazz.defineMethod (c$, "escape", function () { switch (this.tok) { case 4: return JU.PT.esc (this.value); case 11: case 12: return JU.PT.toJSON (null, this.value); case 7: case 6: case 14: var sb = new JU.SB (); JS.SV.sValueArray (sb, this, "", "", true, false, true, 2147483647, false); return sb.toString (); default: return JS.SV.sValue (this); } }); c$.unescapePointOrBitsetAsVariable = Clazz.defineMethod (c$, "unescapePointOrBitsetAsVariable", function (o) { if (o == null) return o; var v = null; var s = null; if (Clazz.instanceOf (o, JS.SV)) { var sv = o; switch (sv.tok) { case 8: case 9: case 11: case 12: case 10: v = sv.value; break; case 4: s = sv.value; break; default: s = JS.SV.sValue (sv); break; } } else if (Clazz.instanceOf (o, String)) { s = o; }if (s != null && s.length == 0) return s; if (v == null) v = JU.Escape.uABsM (s); if (Clazz.instanceOf (v, JU.P3)) return (JS.SV.newV (8, v)); if (Clazz.instanceOf (v, JU.P4)) return JS.SV.newV (9, v); if (Clazz.instanceOf (v, JU.BS)) { if (s != null && s.indexOf ("[{") == 0) v = JM.BondSet.newBS (v, null); return JS.SV.newV (10, v); }if (Clazz.instanceOf (v, JU.M34)) return (JS.SV.newV (Clazz.instanceOf (v, JU.M3) ? 11 : 12, v)); return o; }, "~O"); c$.getBoolean = Clazz.defineMethod (c$, "getBoolean", function (value) { return JS.SV.newT (value ? JS.SV.vT : JS.SV.vF); }, "~B"); c$.sprintf = Clazz.defineMethod (c$, "sprintf", function (strFormat, $var) { if ($var == null) return strFormat; var isArray = ($var.tok == 7); var vd = (strFormat.indexOf ("d") >= 0 || strFormat.indexOf ("i") >= 0 ? Clazz.newIntArray (1, 0) : null); var vf = (strFormat.indexOf ("f") >= 0 ? Clazz.newFloatArray (1, 0) : null); var ve = (strFormat.indexOf ("e") >= 0 ? Clazz.newDoubleArray (1, 0) : null); var getS = (strFormat.indexOf ("s") >= 0); var getP = (strFormat.indexOf ("p") >= 0 && (isArray || $var.tok == 8)); var getQ = (strFormat.indexOf ("q") >= 0 && (isArray || $var.tok == 9)); var of = Clazz.newArray (-1, [vd, vf, ve, null, null, null]); if (!isArray) return JS.SV.sprintf (strFormat, $var, of, vd, vf, ve, getS, getP, getQ); var sv = $var.getList (); var list2 = new Array (sv.size ()); for (var i = 0; i < list2.length; i++) list2[i] = JS.SV.sprintf (strFormat, sv.get (i), of, vd, vf, ve, getS, getP, getQ); return list2; }, "~S,JS.SV"); c$.sprintf = Clazz.defineMethod (c$, "sprintf", function (strFormat, $var, of, vd, vf, ve, getS, getP, getQ) { if ($var.tok == 6) { var pt = strFormat.indexOf ("["); if (pt >= 0) { var pt1; $var = $var.getMap ().get (strFormat.substring (pt + 1, pt1 = strFormat.indexOf ("]"))); strFormat = strFormat.substring (0, pt) + strFormat.substring (pt1 + 1); }}if (vd != null) vd[0] = JS.SV.iValue ($var); if (vf != null) vf[0] = JS.SV.fValue ($var); if (ve != null) ve[0] = JS.SV.fValue ($var); if (getS) of[3] = JS.SV.sValue ($var); if (getP) of[4] = $var.value; if (getQ) of[5] = $var.value; return JU.PT.sprintf (strFormat, "IFDspq", of); }, "~S,JS.SV,~A,~A,~A,~A,~B,~B,~B"); c$.getFormatType = Clazz.defineMethod (c$, "getFormatType", function (format) { return (format.indexOf (";") >= 0 ? -1 : ";json;base64;bytearray;array;".indexOf (";" + format.toLowerCase () + ";")); }, "~S"); c$.format = Clazz.defineMethod (c$, "format", function (args, pt) { switch (args.length) { case 0: return ""; case 1: return JS.SV.sValue (args[0]); case 2: if (pt == 2147483647) pt = JS.SV.getFormatType (args[0].asString ()); switch (pt) { case 0: var name = args[1].myName; args[1].myName = null; var o = args[1].toJSON (); args[1].myName = name; return o; case 5: case 12: case 22: var bytes; switch (args[1].tok) { case 15: bytes = JU.AU.arrayCopyByte ((args[1].value).data, -1); break; case 7: var l = args[1].getList (); if (pt == 22) { var l1 = new JU.Lst (); for (var i = l.size (); --i >= 0; ) l1.addLast (l.get (i)); return l1; }bytes = Clazz.newByteArray (l.size (), 0); for (var i = bytes.length; --i >= 0; ) bytes[i] = l.get (i).asInt (); break; default: var s = args[1].asString (); if (s.startsWith (";base64,")) { if (pt == 5) return s; bytes = JU.Base64.decodeBase64 (s); } else { bytes = s.getBytes (); }} return (pt == 22 ? JS.SV.getVariable (bytes) : pt == 12 ? new JU.BArray (bytes) : ";base64," + JU.Base64.getBase64 (bytes).toString ()); } } var format = JU.PT.split (JU.PT.rep (JS.SV.sValue (args[0]), "%%", "\1"), "%"); if (format.length == 0) return ""; var sb = new JU.SB (); sb.append (format[0]); for (var i = 1; i < format.length; i++) { var ret = JS.SV.sprintf (JU.PT.formatCheck ("%" + format[i]), (args[1].tok == 6 ? args[1] : args[1].tok == 7 ? args[1].getList ().get (i - 1) : i < args.length ? args[i] : null)); if (JU.AU.isAS (ret)) { var list = ret; for (var j = 0; j < list.length; j++) sb.append (list[j]).append ("\n"); continue; }sb.append (ret); } return sb.toString (); }, "~A,~N"); c$.getBitSet = Clazz.defineMethod (c$, "getBitSet", function (x, allowNull) { switch (x.tok) { case 10: return (x.index == 2147483647 ? JS.SV.selectItemTok (x, -2147483648) : x).value; case 7: return JS.SV.unEscapeBitSetArray (x.getList (), allowNull); default: return (allowNull ? null : new JU.BS ()); } }, "JS.SV,~B"); c$.unEscapeBitSetArray = Clazz.defineMethod (c$, "unEscapeBitSetArray", function (x, allowNull) { var bs = new JU.BS (); for (var i = 0; i < x.size (); i++) { var v = x.get (i); if (v.tok == 2 && v.intValue >= 0) { bs.set (v.intValue); } else if (v.tok == 7) { var bs2 = JS.SV.unEscapeBitSetArray (v.getList (), true); if (bs2 == null) return (allowNull ? null : new JU.BS ()); bs.or (bs2); } else if (!JS.SV.unEscapeBitSet (v, bs)) { return (allowNull ? null : new JU.BS ()); }} return bs; }, "JU.Lst,~B"); c$.areEqual = Clazz.defineMethod (c$, "areEqual", function (x1, x2) { if (x1 == null || x2 == null) return false; if (x1.tok == x2.tok) { switch (x1.tok) { case 4: return (x1.value).equalsIgnoreCase (x2.value); case 10: case 15: case 6: case 7: case 14: return x1.equals (x2); case 8: return ((x1.value).distance (x2.value) < 0.000001); case 9: return ((x1.value).distance4 (x2.value) < 0.000001); case 11: return (x1.value).equals (x2.value); case 12: return (x1.value).equals (x2.value); } }return (Math.abs (JS.SV.fValue (x1) - JS.SV.fValue (x2)) < 0.000001); }, "JS.SV,JS.SV"); c$.isLike = Clazz.defineMethod (c$, "isLike", function (x1, x2) { return (x1 != null && x2 != null && x1.tok == 4 && x2.tok == 4 && JU.PT.isLike (x1.value, x2.value)); }, "JS.SV,JS.SV"); Clazz.defineMethod (c$, "sortOrReverse", function (arrayPt) { var x = this.getList (); if (x != null && x.size () > 1) { if (arrayPt == -2147483648) { var n = x.size (); for (var i = 0; i < n; i++) { var v = x.get (i); x.set (i, x.get (--n)); x.set (n, v); } } else { java.util.Collections.sort (this.getList (), Clazz.innerTypeInstance (JS.SV.Sort, this, null, --arrayPt, null)); }}return this; }, "~N"); Clazz.defineMethod (c$, "pushPop", function (mapKey, value) { if (mapKey == null) { var m = this.getMap (); if (m == null) { var x = this.getList (); if (value == null || x == null) { return (x == null || x.size () == 0 ? JS.SV.newS ("") : x.removeItemAt (x.size () - 1)); }x.addLast (JS.SV.newI (0).setv (value)); } else { if (value == null) { m.clear (); } else { var m1 = value.getMap (); if (m1 != null) m.putAll (m1); }}} else { var m = this.getMap (); if (value == null) { var v = null; if (m == null) { var lst = this.getList (); var len = lst.size (); var i = JS.SV.iValue (mapKey) - 1; if (i < 0) i += len; if (i >= 0 && i < len) { v = lst.removeItemAt (i); }} else { v = m.remove (mapKey.asString ()); }return (v == null ? JS.SV.newS ("") : v); }if (m != null) { m.put (mapKey.asString (), JS.SV.newI (0).setv (value)); }}return this; }, "JS.SV,JS.SV"); c$.unEscapeBitSet = Clazz.defineMethod (c$, "unEscapeBitSet", function (x, bs) { switch (x.tok) { case 4: var bs1 = JU.BS.unescape (x.value); if (bs1 == null) return false; bs.or (bs1); return true; case 10: bs.or (x.value); return true; } return false; }, "JS.SV,JU.BS"); c$.strListValue = Clazz.defineMethod (c$, "strListValue", function (x) { if (x.tok != 7) return Clazz.newArray (-1, [JS.SV.sValue (x)]); var sv = (x).getList (); var list = new Array (sv.size ()); for (var i = sv.size (); --i >= 0; ) list[i] = JS.SV.sValue (sv.get (i)); return list; }, "JS.T"); c$.flistValue = Clazz.defineMethod (c$, "flistValue", function (x, nMin) { if (x.tok != 7) return Clazz.newFloatArray (-1, [JS.SV.fValue (x)]); var sv = (x).getList (); var list; list = Clazz.newFloatArray (Math.max (nMin, sv.size ()), 0); if (nMin == 0) nMin = list.length; for (var i = Math.min (sv.size (), nMin); --i >= 0; ) list[i] = JS.SV.fValue (sv.get (i)); return list; }, "JS.T,~N"); Clazz.defineMethod (c$, "toArray", function () { var dim; var o2; var m3 = null; var m4 = null; switch (this.tok) { case 11: m3 = this.value; dim = 3; break; case 12: m4 = this.value; dim = 4; break; case 7: return this; default: o2 = new JU.Lst (); o2.addLast (this); return JS.SV.newV (7, o2); } o2 = new JU.Lst (); for (var i = 0; i < dim; i++) { var a = Clazz.newFloatArray (dim, 0); if (m3 == null) m4.getRow (i, a); else m3.getRow (i, a); o2.addLast (JS.SV.getVariableAF (a)); } return JS.SV.newV (7, o2); }); Clazz.defineMethod (c$, "mapValue", function (key) { switch (this.tok) { case 6: return (this.value).get (key); case 14: var sc = (this.value); return (key.equals ("_path") ? JS.SV.newS (sc.contextPath) : sc.getVariable (key)); } return null; }, "~S"); Clazz.defineMethod (c$, "getList", function () { return (this.tok == 7 ? this.value : null); }); c$.isScalar = Clazz.defineMethod (c$, "isScalar", function (x) { switch (x.tok) { case 7: return false; case 4: return ((x.value).indexOf ("\n") < 0); default: return true; } }, "JS.SV"); Clazz.overrideMethod (c$, "toJSON", function () { switch (this.tok) { case 1073742335: case 1073742334: case 2: case 3: return JS.SV.sValue (this); case 15: return JU.PT.byteArrayToJSON ((this.value).data); case 14: return JU.PT.toJSON (null, (this.value).getFullMap ()); case 7: case 6: if (this.myName != null) { this.myName = null; return (this.tok == 6 ? "{ }" : "[ ]"); }this.myName = "x"; var s = JU.PT.toJSON (null, this.value); this.myName = null; return s; default: return JU.PT.toJSON (null, this.value); } }); Clazz.defineMethod (c$, "mapGet", function (key) { return this.getMap ().get (key); }, "~S"); Clazz.defineMethod (c$, "mapPut", function (key, v) { this.getMap ().put (key, v); }, "~S,JS.SV"); Clazz.defineMethod (c$, "getMap", function () { switch (this.tok) { case 6: return this.value; case 14: return (this.value).vars; } return null; }); Clazz.defineMethod (c$, "getMapKeys", function (nLevels, skipEmpty) { if (this.tok != 6) return ""; var sb = new JU.SB (); JS.SV.sValueArray (sb, this, "", "", true, false, false, nLevels + 1, skipEmpty); return sb.toString (); }, "~N,~B"); Clazz.overrideMethod (c$, "toString", function () { return this.toString2 () + "[" + this.myName + " index =" + this.index + " intValue=" + this.intValue + "]"; }); Clazz.defineMethod (c$, "getKeys", function (isAll) { switch (this.tok) { case 6: case 14: case 7: break; default: return null; } var keys = new JU.Lst (); this.getKeyList (isAll, keys, ""); var skeys = keys.toArray ( new Array (keys.size ())); java.util.Arrays.sort (skeys); return skeys; }, "~B"); Clazz.defineMethod (c$, "getKeyList", function (isAll, keys, prefix) { var map = this.getMap (); if (map == null) { if (isAll) { var lst; var n; if ((lst = this.getList ()) != null && (n = lst.size ()) > 0) lst.get (n - 1).getKeyList (true, keys, prefix + "." + n + "."); }return; }for (var e, $e = map.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) { var k = e.getKey (); if (isAll && (k.length == 0 || !JU.PT.isLetter (k.charAt (0)))) { if (prefix.endsWith (".")) prefix = prefix.substring (0, prefix.length - 1); k = "[" + JU.PT.esc (k) + "]"; }keys.addLast (prefix + k); if (isAll) e.getValue ().getKeyList (true, keys, prefix + k + "."); } }, "~B,JU.Lst,~S"); c$.deepCopy = Clazz.defineMethod (c$, "deepCopy", function (v, isHash, isDeep) { if (isHash) { var vold = v; var vnew = new java.util.Hashtable (); for (var e, $e = vold.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) { var v1 = e.getValue (); vnew.put (e.getKey (), isDeep ? JS.SV.deepCopySV (v1) : v1); } return vnew; }var vold2 = v; var vnew2 = new JU.Lst (); for (var i = 0, n = vold2.size (); i < n; i++) { var vm = vold2.get (i); vnew2.addLast (isDeep ? JS.SV.deepCopySV (vm) : vm); } return vnew2; }, "~O,~B,~B"); c$.deepCopySV = Clazz.defineMethod (c$, "deepCopySV", function (vm) { switch (vm.tok) { case 6: case 7: if ("\r".equals (vm.myName)) { vm.myName = null; vm = JS.SV.newV (vm.tok, (vm.tok == 6 ? new java.util.Hashtable () : new JU.Lst ())); } else { var name0 = vm.myName; vm.myName = "\r"; var vm0 = vm; vm = JS.SV.newV (vm.tok, JS.SV.deepCopy (vm.value, vm.tok == 6, true)); vm0.myName = name0; }break; } return vm; }, "JS.SV"); Clazz.defineMethod (c$, "sortMapArray", function (key) { var lst = this.getList (); if (lst != null) { java.util.Collections.sort (this.getList (), Clazz.innerTypeInstance (JS.SV.Sort, this, null, 0, key)); }return this; }, "~S"); c$.safeJSON = Clazz.defineMethod (c$, "safeJSON", function (key, property) { return "{" + (Clazz.instanceOf (property, JS.SV) ? JU.PT.esc (key) + " : " + JS.SV.format ( Clazz.newArray (-1, [null, property]), 0) : JU.PT.toJSON (key, property)) + "}"; }, "~S,~O"); c$.$SV$Sort$ = function () { Clazz.pu$h(self.c$); c$ = Clazz.decorateAsClass (function () { Clazz.prepareCallback (this, arguments); this.arrayPt = 0; this.myKey = null; Clazz.instantialize (this, arguments); }, JS.SV, "Sort", null, java.util.Comparator); Clazz.makeConstructor (c$, function (a, b) { this.arrayPt = a; this.myKey = b; }, "~N,~S"); Clazz.overrideMethod (c$, "compare", function (a, b) { if (a.tok != b.tok) { if (a.tok == 3 || a.tok == 2 || b.tok == 3 || b.tok == 2) { var c = JS.SV.fValue (a); var d = JS.SV.fValue (b); return (c < d ? -1 : c > d ? 1 : 0); }if (a.tok == 4 || b.tok == 4) return JS.SV.sValue (a).compareTo (JS.SV.sValue (b)); }switch (a.tok) { case 4: return JS.SV.sValue (a).compareTo (JS.SV.sValue (b)); case 7: var c = a.getList (); var d = b.getList (); if (c.size () != d.size ()) return (c.size () < d.size () ? -1 : 1); var e = this.arrayPt; if (e < 0) e += c.size (); if (e < 0 || e >= c.size ()) return 0; return this.compare (c.get (e), d.get (e)); case 6: if (this.myKey != null) { return this.compare (a.getMap ().get (this.myKey), b.getMap ().get (this.myKey)); }default: var f = JS.SV.fValue (a); var g = JS.SV.fValue (b); return (f < g ? -1 : f > g ? 1 : 0); } }, "JS.SV,JS.SV"); c$ = Clazz.p0p (); }; c$.vT = c$.prototype.vT = JS.SV.newSV (1073742335, 1, "true"); c$.vF = c$.prototype.vF = JS.SV.newSV (1073742334, 0, "false"); c$.pt0 = c$.prototype.pt0 = new JU.P3 (); });