json_parse=function(){var D,B,A={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},M,K=function(N){throw {name:"SyntaxError",message:N,at:D,text:M}},G=function(N){if(N&&N!==B){K("Expected '"+N+"' instead of '"+B+"'")}B=M.charAt(D);D+=1;return B},F=function(){var O,N="";if(B==="-"){N="-";G("-")}while(B>="0"&&B<="9"){N+=B;G()}if(B==="."){N+=".";while(G()&&B>="0"&&B<="9"){N+=B}}if(B==="e"||B==="E"){N+=B;G();if(B==="-"||B==="+"){N+=B;G()}while(B>="0"&&B<="9"){N+=B;G()}}O=+N;if(isNaN(O)){K("Bad number")}else{return O}},H=function(){var Q,P,O="",N;if(B==='"'){while(G()){if(B==='"'){G();return O}else{if(B==="\\"){G();if(B==="u"){N=0;for(P=0;P<4;P+=1){Q=parseInt(G(),16);if(!isFinite(Q)){break}N=N*16+Q}O+=String.fromCharCode(N)}else{if(typeof A[B]==="string"){O+=A[B]}else{break}}}else{O+=B}}}}K("Bad string")},J=function(){while(B&&B<=" "){G()}},C=function(){switch(B){case"t":G("t");G("r");G("u");G("e");return true;case"f":G("f");G("a");G("l");G("s");G("e");return false;case"n":G("n");G("u");G("l");G("l");return null}K("Unexpected '"+B+"'")},L,I=function(){var N=[];if(B==="["){G("[");J();if(B==="]"){G("]");return N}while(B){N.push(L());J();if(B==="]"){G("]");return N}G(",");J()}}K("Bad array")},E=function(){var O,N={};if(B==="{"){G("{");J();if(B==="}"){G("}");return N}while(B){O=H();J();G(":");N[O]=L();J();if(B==="}"){G("}");return N}G(",");J()}}K("Bad object")};L=function(){J();switch(B){case"{":return E();case"[":return I();case'"':return H();case"-":return F();default:return B>="0"&&B<="9"?F():C()}};return function(Q,O){var N;M=Q;D=0;B=" ";N=L();J();if(B){K("Syntax error")}return typeof O==="function"?function P(U,T){var S,R,V=U[T];if(V&&typeof V==="object"){for(S in V){if(Object.hasOwnProperty.call(V,S)){R=P(V,S);if(R!==undefined){V[S]=R}else{delete V[S]}}}}return O.call(U,T,V)}({"":N},""):N}}();