YUI.add("oop",function(h,t){var l=h.Lang,a=h.Array,u=Object.prototype,s="_~yuim~_",d=u.hasOwnProperty,b=u.toString;function c(t,r,n,e,c){if(t&&t[c]&&t!==h)return t[c].call(t,r,n);switch(a.test(t)){case 1:return a[c](t,r,n);case 2:return a[c](h.Array(t,0,!0),r,n);default:return h.Object[c](t,r,n,e)}}h.augment=function(t,c,n,r,a){var e,u,i,o,l,s=t.prototype,f=s&&c,p=c.prototype,y=s||t;return a=a?h.Array(a):[],f&&(u={},i={},o={},e=function(t,r){!n&&r in s||("[object Function]"===b.call(t)?(o[r]=t,u[r]=i[r]=function(){return l(this,t,arguments)}):u[r]=t)},l=function(t,r,n){for(var e in o)d.call(o,e)&&t[e]===i[e]&&(t[e]=o[e]);return c.apply(t,a),r.apply(t,n)},r?h.Array.each(r,function(t){t in p&&e(p[t],t)}):h.Object.each(p,e,null,!0)),h.mix(y,u||p,n,r),f||c.apply(y,a),t},h.aggregate=function(t,r,n,e){return h.mix(t,r,n,e,0,!0)},h.extend=function(t,r,n,e){r&&t||h.error("extend failed, verify dependencies");var c=r.prototype,a=h.Object(c);return((t.prototype=a).constructor=t).superclass=c,r!=Object&&c.constructor==u.constructor&&(c.constructor=r),n&&h.mix(a,n,!0),e&&h.mix(t,e,!0),t},h.each=function(t,r,n,e){return c(t,r,n,e,"each")},h.some=function(t,r,n,e){return c(t,r,n,e,"some")},h.clone=function(n,e,c,a,u,t){var r,i,o;if(!l.isObject(n)||h.instanceOf(n,YUI)||n.addEventListener||n.attachEvent)return n;switch(i=t||{},l.type(n)){case"date":return new Date(n);case"regexp":case"function":return n;case"array":r=[];break;default:if(n[s])return i[n[s]];o=h.guid(),r=e?{}:h.Object(n),n[s]=o,i[o]=n}return h.each(n,function(t,r){!r&&0!==r||c&&!1===c.call(a||this,t,r,this,n)||r!==s&&"prototype"!=r&&(this[r]=h.clone(t,e,c,a,u||n,i))},r),t||(h.Object.each(i,function(t,r){if(t[s])try{delete t[s]}catch(n){t[s]=null}},this),i=null),r},h.bind=function(n,e){var c=2<arguments.length?h.Array(arguments,2,!0):null;return function(){var t=l.isString(n)?e[n]:n,r=c?c.concat(h.Array(arguments,0,!0)):arguments;return t.apply(e||t,r)}},h.rbind=function(n,e){var c=2<arguments.length?h.Array(arguments,2,!0):null;return function(){var t=l.isString(n)?e[n]:n,r=c?h.Array(arguments,0,!0).concat(c):arguments;return t.apply(e||t,r)}}},"patched-v3.18.3",{requires:["yui-base"]});