if(!Object.prototype.toJSONString){Array.prototype.toJSONString=function(){var B=[],D,A=this.length,C;for(D=0;D<A;D+=1){C=this[D];switch(typeof C){case"object":if(C){if(typeof C.toJSONString==="function"){B.push(C.toJSONString())}}else{B.push("null")}break;case"string":case"number":case"boolean":B.push(C.toJSONString())}}return"["+B.join(",")+"]"};Boolean.prototype.toJSONString=function(){return String(this)};Date.prototype.toJSONString=function(){function A(B){return B<10?"0"+B:B}return'"'+this.getFullYear()+"-"+A(this.getMonth()+1)+"-"+A(this.getDate())+"T"+A(this.getHours())+":"+A(this.getMinutes())+":"+A(this.getSeconds())+'"'};Number.prototype.toJSONString=function(){return isFinite(this)?String(this):"null"};Object.prototype.toJSONString=function(){var A=[],C,B;for(C in this){if(this.hasOwnProperty(C)){B=this[C];switch(typeof B){case"object":if(B){if(typeof B.toJSONString==="function"){A.push(C.toJSONString()+":"+B.toJSONString())}}else{A.push(C.toJSONString()+":null")}break;case"string":case"number":case"boolean":A.push(C.toJSONString()+":"+B.toJSONString())}}}return"{"+A.join(",")+"}"};(function(s){var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};s.parseJSON=function(filter){var j;function walk(k,v){var i;if(v&&typeof v==="object"){for(i in v){if(v.hasOwnProperty(i)){v[i]=walk(i,v[i])}}}return filter(k,v)}if(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]+$/.test(this.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){j=eval("("+this+")");if(typeof filter==="function"){j=walk("",j)}return j}throw new SyntaxError("parseJSON")};s.toJSONString=function(){if(/["\\\x00-\x1f]/.test(this)){return'"'+this.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+this+'"'}})(String.prototype)};