//>>built
define("dojox/mvc/equals",["dojo/_base/array","dojo/_base/lang","dojo/Stateful","./StatefulArray"],function(_1,_2,_3,_4){var _5={getType:function(v){return _2.isArray(v)?"array":_2.isFunction((v||{}).getTime)?"date":v!=null&&({}.toString.call(v)=="[object Object]"||_2.isFunction((v||{}).set)&&_2.isFunction((v||{}).watch))?"object":"value";},equalsArray:function(_6,_7){for(var i=0,l=Math.max(_6.length,_7.length);i<l;i++){if(!_8(_6[i],_7[i])){return false;}}return true;},equalsDate:function(_9,_a){return _9.getTime()==_a.getTime();},equalsObject:function(_b,_c){var _d=_2.mixin({},_b,_c);for(var s in _d){if(!(s in _3.prototype)&&s!="_watchCallbacks"&&!_8(_b[s],_c[s])){return false;}}return true;},equalsValue:function(_e,_f){return _e===_f;}};var _8=function(dst,src,_10){var _11=_10||_8,_12=[_11.getType(dst),_11.getType(src)];return _12[0]!=_12[1]?false:_11["equals"+_12[0].replace(/^[a-z]/,function(c){return c.toUpperCase();})](dst,src);};return _2.setObject("dojox.mvc.equals",_2.mixin(_8,_5));});