Array.prototype.______array='______array';var JSON={org:'http://www.JSON.org',copyright:'(c)2005 JSON.org',license:'http://www.crockford.com/JSON/license.html',stringify:function(a){var c,i,l,s='',v;switch(typeof a){case'object':if(a){if(a.______array=='______array'){for(i=0;i<a.length;++i){v=this.stringify(a[i]);if(s){s+=','}s+=v}return'['+s+']'}else if(typeof a.toString!='undefined'){for(i in a){v=a[i];if(typeof v!='undefined'&&typeof v!='function'){v=this.stringify(v);if(s){s+=','}s+=this.stringify(i)+':'+v}}return'{'+s+'}'}}return'null';case'number':return isFinite(a)?String(a):'null';case'string':l=a.length;s='"';for(i=0;i<l;i+=1){c=a.charAt(i);if(c>=' '){if(c=='\\'||c=='"'){s+='\\'}s+=c}else{switch(c){case'\b':s+='\\b';break;case'\f':s+='\\f';break;case'\n':s+='\\n';break;case'\r':s+='\\r';break;case'\t':s+='\\t';break;default:c=c.charCodeAt();s+='\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16)}}}return s+'"';case'boolean':return String(a);default:return'null'}},parse:function(b){var c=0;var d=' ';function e(m){throw{name:'JSONError',message:m,at:c-1,text:b}}function f(){d=b.charAt(c);c+=1;return d}function g(){while(d!=''&&d<=' '){f()}}function h(){var i,s='',t,u;if(d=='"'){outer:while(f()){if(d=='"'){f();return s}else if(d=='\\'){switch(f()){case'b':s+='\b';break;case'f':s+='\f';break;case'n':s+='\n';break;case'r':s+='\r';break;case't':s+='\t';break;case'u':u=0;for(i=0;i<4;i+=1){t=parseInt(f(),16);if(!isFinite(t)){break outer}u=u*16+t}s+=String.fromCharCode(u);break;default:s+=d}}else{s+=d}}}e("Bad string")}function j(){var a=[];if(d=='['){f();g();if(d==']'){f();return a}while(d){a.push(r());g();if(d==']'){f();return a}else if(d!=','){break}f();g()}}e("Bad array")}function l(){var k,o={};if(d=='{'){f();g();if(d=='}'){f();return o}while(d){k=h();g();if(d!=':'){break}f();o[k]=r();g();if(d=='}'){f();return o}else if(d!=','){break}f();g()}}e("Bad object")}function p(){var n='',v;if(d=='-'){n='-';f()}while(d>='0'&&d<='9'){n+=d;f()}if(d=='.'){n+='.';while(f()&&d>='0'&&d<='9'){n+=d}}if(d=='e'||d=='E'){n+='e';f();if(d=='-'||d=='+'){n+=d;f()}while(d>='0'&&d<='9'){n+=d;f()}}v=+n;if(!isFinite(v)){e("Bad number")}else{return v}}function q(){switch(d){case't':if(f()=='r'&&f()=='u'&&f()=='e'){f();return true}break;case'f':if(f()=='a'&&f()=='l'&&f()=='s'&&f()=='e'){f();return false}break;case'n':if(f()=='u'&&f()=='l'&&f()=='l'){f();return null}break}e("Syntax error")}function r(){g();switch(d){case'{':return l();case'[':return j();case'"':return h();case'-':return p();default:return d>='0'&&d<='9'?p():q()}}return r()}};
