function escapeJSONChar(b){if(b=='"'||b=="\\"){return"\\"+b}else{if(b=="\b"){return"\\b"}else{if(b=="\f"){return"\\f"}else{if(b=="\n"){return"\\n"}else{if(b=="\r"){return"\\r"}else{if(b=="\t"){return"\\t"}}}}}}var a=b.charCodeAt(0).toString(16);if(a.length==1){return"\\u000"+a}else{if(a.length==2){return"\\u00"+a}else{if(a.length==3){return"\\u0"+a}else{return"\\u"+a}}}}function escapeJSONString(b){var d=b.split("");for(var a=0;a<d.length;a++){var e=d[a];if(e=='"'||e=="\\"||e.charCodeAt(0)<32||e.charCodeAt(0)>=128){d[a]=escapeJSONChar(d[a])}}return'"'+d.join("")+'"'}function toJSON(c){if(c==null){return"null"}else{if(c.constructor==String){return escapeJSONString(c)}else{if(c.constructor==Number){return c.toString()}else{if(c.constructor==Boolean){return c.toString()}else{if(c.constructor==Date){return'{javaClass: "java.util.Date", time: '+c.valueOf()/1000+"}"}else{if(c.constructor==Array){var a=[];for(var b=0;b<c.length;b++){a.push(toJSON(c[b]))}return"["+a.join(", ")+"]"}else{var a=[];for(attr in c){if(c[attr]==null){a.push('"'+attr+'": null')}else{if(typeof c[attr]=="function"){}else{a.push(escapeJSONString(attr)+": "+toJSON(c[attr]))}}}return"{"+a.join(", ")+"}"}}}}}}};
