var JSON;JSON||(JSON={});
(function(){function a(a){return 10>a?"0"+a:a}function b(a){g.lastIndex=0;return g.test(a)?'"'+a.replace(g,function(a){var b=m[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function d(a,e){var g,m,u,v,w=h,x,y=e[a];y&&"object"===typeof y&&"function"===typeof y.toJSON&&(y=y.toJSON(a));"function"===typeof n&&(y=n.call(e,a,y));switch(typeof y){case "string":return b(y);case "number":return isFinite(y)?""+y:"null";case "boolean":case "null":return""+y;
case "object":if(!y)return"null";h+=k;x=[];if("[object Array]"===Object.prototype.toString.apply(y)){v=y.length;for(g=0;g<v;g+=1)x[g]=d(g,y)||"null";u=0===x.length?"[]":h?"[\n"+h+x.join(",\n"+h)+"\n"+w+"]":"["+x.join(",")+"]";h=w;return u}if(n&&"object"===typeof n){v=n.length;for(g=0;g<v;g+=1)"string"===typeof n[g]&&(m=n[g],(u=d(m,y))&&x.push(b(m)+(h?": ":":")+u))}else for(m in y)Object.prototype.hasOwnProperty.call(y,m)&&(u=d(m,y))&&x.push(b(m)+(h?": ":":")+u);u=0===x.length?"{}":h?"{\n"+h+x.join(",\n"+
h)+"\n"+w+"}":"{"+x.join(",")+"}";h=w;return u}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
g=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,h,k,m={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},n;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,e){var g;k=h="";if("number"===typeof e)for(g=0;g<e;g+=1)k+=" ";else"string"===typeof e&&(k=e);if((n=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return d("",
{"":a})});"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function d(a,e){var g,h,k=a[e];if(k&&"object"===typeof k)for(g in k)Object.prototype.hasOwnProperty.call(k,g)&&(h=d(k,g),void 0!==h?k[g]=h:delete k[g]);return b.call(a,e,k)}var g,a=""+a;e.lastIndex=0;e.test(a)&&(a=a.replace(e,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return g=eval("("+a+")"),"function"===typeof b?d({"":g},""):g;throw new SyntaxError("JSON.parse");})})();