var number="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)";var oneChar='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))';var string='(?:"'+oneChar+'*")';var jsonToken=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+number+"|"+string+")","g");var escapeSequence=new RegExp("\\\\(?:([^u])|u(.{4}))","g");var escapes={'"':'"',"/":"/","\\":"\\",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"};function unescapeOne(a,b,c){return b?escapes[b]:String.fromCharCode(parseInt(c,16))}var EMPTY_STRING=new String("");var SLASH="\\";var firstTokenCtors={"{":Object,"[":Array};var hop=Object.hasOwnProperty;function jsonParse(h,d){var c=h.match(jsonToken);var l;var j=c[0];if("{"===j){l={}}else{if("["===j){l=[]}else{throw new Error(j)}}var g;var e=[l];for(var b=1,a=c.length;b<a;++b){j=c[b];var k;switch(j.charCodeAt(0)){default:k=e[0];k[g||k.length]=+(j);g=void 0;break;case 34:j=j.substring(1,j.length-1);if(j.indexOf(SLASH)!==-1){j=j.replace(escapeSequence,unescapeOne)}k=e[0];if(!g){if(k instanceof Array){g=k.length}else{g=j||EMPTY_STRING;break}}k[g]=j;g=void 0;break;case 91:k=e[0];e.unshift(k[g||k.length]=[]);g=void 0;break;case 93:e.shift();break;case 102:k=e[0];k[g||k.length]=false;g=void 0;break;case 110:k=e[0];k[g||k.length]=null;g=void 0;break;case 116:k=e[0];k[g||k.length]=true;g=void 0;break;case 123:k=e[0];e.unshift(k[g||k.length]={});g=void 0;break;case 125:e.shift();break}}if(e.length){throw new Error()}if(d){var f=function(r,q){var s=r[q];if(s&&typeof s==="object"){var m=null;for(var o in s){if(hop.call(s,o)&&s!==r){var n=f(s,o);if(n!==void 0){s[o]=n}else{if(!m){m=[]}m.push(o)}}}if(m){for(var p=m.length;--p>=0;){delete s[m[p]]}}}return d.call(r,q,s)};l=f({"":l},"")}return l};
