/*
	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/


if(!this.JSON){this.JSON={};}(function(){function f(n){return n<10?"0"+n:n;};if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(_3){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(_4){return this.valueOf();};}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,_6=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,_7,_8,_9={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"},_a;function _b(_c){_6.lastIndex=0;return _6.test(_c)?"\""+_c.replace(_6,function(a){var c=_9[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);})+"\"":"\""+_c+"\"";};function _f(key,_11){var i,k,v,_15,_16=_7,_17,_18=_11[key];if(_18&&typeof _18==="object"&&typeof _18.toJSON==="function"){_18=_18.toJSON(key);}if(typeof _a==="function"){_18=_a.call(_11,key,_18);}switch(typeof _18){case "string":return _b(_18);case "number":return isFinite(_18)?String(_18):"null";case "boolean":case "null":return String(_18);case "object":if(!_18){return "null";}_7+=_8;_17=[];if(Object.prototype.toString.apply(_18)==="[object Array]"){_15=_18.length;for(i=0;i<_15;i+=1){_17[i]=_f(i,_18)||"null";}v=_17.length===0?"[]":_7?"[\n"+_7+_17.join(",\n"+_7)+"\n"+_16+"]":"["+_17.join(",")+"]";_7=_16;return v;}if(_a&&typeof _a==="object"){_15=_a.length;for(i=0;i<_15;i+=1){k=_a[i];if(typeof k==="string"){v=_f(k,_18);if(v){_17.push(_b(k)+(_7?": ":":")+v);}}}}else{for(k in _18){if(Object.hasOwnProperty.call(_18,k)){v=_f(k,_18);if(v){_17.push(_b(k)+(_7?": ":":")+v);}}}}v=_17.length===0?"{}":_7?"{\n"+_7+_17.join(",\n"+_7)+"\n"+_16+"}":"{"+_17.join(",")+"}";_7=_16;return v;}};if(typeof JSON.stringify!=="function"){JSON.stringify=function(_19,_1a,_1b){var i;_7="";_8="";if(typeof _1b==="number"){for(i=0;i<_1b;i+=1){_8+=" ";}}else{if(typeof _1b==="string"){_8=_1b;}}_a=_1a;if(_1a&&typeof _1a!=="function"&&(typeof _1a!=="object"||typeof _1a.length!=="number")){throw new Error("JSON.stringify");}return _f("",{"":_19});};}if(typeof JSON.parse!=="function"){JSON.parse=function(_1d,_1e){var j;function _20(_21,key){var k,v,_25=_21[key];if(_25&&typeof _25==="object"){for(k in _25){if(Object.hasOwnProperty.call(_25,k)){v=_20(_25,k);if(v!==undefined){_25[k]=v;}else{delete _25[k];}}}}return _1e.call(_21,key,_25);};_1d=String(_1d);cx.lastIndex=0;if(cx.test(_1d)){_1d=_1d.replace(cx,function(a){return "\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(_1d.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+_1d+")");return typeof _1e==="function"?_20({"":j},""):j;}throw new SyntaxError("JSON.parse");};}}());
