(function(d){function h(a){return a<10?"0"+a:a}Date.prototype.toJSON=function(){return this.getUTCFullYear()+"-"+h(this.getUTCMonth())+"-"+h(this.getUTCDate())};var i=/["\\\x00-\x1f\x7f-\x9f]/g,j={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};d.quoteString=function(a){if(i.test(a))return'"'+a.replace(i,function(c){var b=j[c];if(typeof b==="string")return b;b=c.charCodeAt();return"\\u00"+Math.floor(b/16).toString(16)+(b%16).toString(16)})+'"';return'"'+a+'"'};
d.toJSON=function(a,c){var b=typeof a;if(b=="undefined")return"undefined";else if(b=="number"||b=="boolean")return a+"";else if(a===null)return"null";if(b=="string")return d.quoteString(a);if(b=="object"&&typeof a.toJSON=="function")return a.toJSON(c);if(b!="function"&&typeof a.length=="number"){var e=[];for(var f in a)e.push(d.toJSON(a[f],c));return c?"["+e.join(",")+"]":"["+e.join(", ")+"]"}if(b=="function")throw new TypeError("Unable to convert object of type 'function' to json.");e=[];for(var g in a){b=
typeof g;if(b=="number")b='"'+g+'"';else if(b=="string")b=d.quoteString(g);else continue;f=d.toJSON(a[g],c);if(typeof f=="string")c?e.push(b+":"+f):e.push(b+": "+f)}return"{"+e.join(", ")+"}"};d.compactJSON=function(a){return d.toJSON(a,true)};d.evalJSON=function(a){return eval("("+a+")")};d.secureEvalJSON=function(a){var c=a;c=c.replace(/\\["\\\/bfnrtu]/g,"@");c=c.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");c=c.replace(/(?:^|:|,)(?:\s*\[)+/g,"");if(/^[\],:{}\s]*$/.test(c))return eval("("+
a+")");else throw new SyntaxError("Error parsing JSON, source is not valid.");}})(jQuery);
