//>>builtdefine(["dojo/_base/array","dojo/_base/lang","dojo/has"],function(h,l,f){functionq(a,b,n){vard;a&&l.isFunction(a.watch)?d=a.watch(b,function(b,a,g){r(a,g)||n(g,a)}):console.log("Attempt to observe non-stateful "+a+" with "+b+". Observation not happening.");return{remove:function(){d&&d.remove()}}}functionk(a){returnh.map(a,function(b){returnb.each?h.map(b.target,function(a){returna.get?a.get(b.targetProp):a[b.targetProp]}):b.target.get?b.target.get(b.targetProp):b.target[b.targetProp]})}functionp(a){for(varb=null;b=a.shift();)b.remove()}f.add("object-is-api",l.isFunction(Object.is));varm=Array.prototype,r=f("object-is-api")?Object.is:function(a,b){returna===b&&(0!==a||1/a===1/b)||a!==a&&b!==b};returnfunction(a,b,n){functiond(g){vard,e;try{d=n.apply(a,g),e=!0}catch(c){console.error("Error during computed property callback: "+(c&&c.stack||c))}e&&(l.isFunction(a.set)?a.set(b,d):a[b]=d)}if(null==a)throwError("Computed property cannot be applied to null.");if("*"===b)throwError("Wildcard property cannot be used for computed properties.");vare=m.slice.call(arguments,3),f=h.map(e,function(a,b){functionf(b){returnq(b,a.targetProp,function(){d(k(e))})}if("*"===a.targetProp)throwError("Wildcard property cannot be used for computed properties.");if(a.each){varc,g=h.map(a.target,f);a.target&&l.isFunction(a.target.watchElements)?c=a.target.watchElements(function(a,b,c){p(m.splice.apply(g,[a,b.length].concat(h.map(c,f))));d(k(e))}):console.log("Attempt to observe non-stateful-array "+a.target+". Observation not happening.");return{remove:function(){c&&c.remove();p(g)}}}returnq(a.target,a.targetProp,function(a){varc=[];m.push.apply(c,k(e.slice(0,b)));c.push(a);m.push.apply(c,k(e.slice(b+1)));d(c)})});d(k(e));return{remove:function(){p(f)}}}});