YUI.add("base-core",function(n,t){var h=n.Object,e=n.Lang,y="initializer",a=Object.prototype.constructor,u="destructor",s=n.AttributeCore,_=function(t,s,i){for(var r in s)i[r]&&(t[r]=s[r]);return t};function i(t){this._BaseInvoked||(this._BaseInvoked=!0,this._initBase(t))}i._ATTR_CFG=s._ATTR_CFG.concat("cloneDefaultValue"),i._NON_ATTRS_CFG=["plugins"],i.NAME="baseCore",i.ATTRS={initialized:{readOnly:!0,value:!1},destroyed:{readOnly:!0,value:!1}},i.modifyAttrs=function(t,s){var i,r,e;if("function"!=typeof t&&(s=t,t=this),i=t.ATTRS||(t.ATTRS={}),s)for(e in t._CACHED_CLASS_DATA=null,s)s.hasOwnProperty(e)&&(r=i[e]||(i[e]={}),n.mix(r,s[e],!0))},i.prototype={_initBase:function(t){n.stamp(this),this._initAttribute(t);var s=n.Plugin&&n.Plugin.Host;this._initPlugins&&s&&s.call(this),!1!==this._lazyAddAttrs&&(this._lazyAddAttrs=!0),this.name=this.constructor.NAME,this.init.apply(this,arguments)},_initAttribute:function(){s.call(this)},init:function(t){return this._baseInit(t),this},_baseInit:function(t){this._initHierarchy(t),this._initPlugins&&this._initPlugins(t),this._set("initialized",!0)},destroy:function(){return this._baseDestroy(),this},_baseDestroy:function(){this._destroyPlugins&&this._destroyPlugins(),this._destroyHierarchy(),this._set("destroyed",!0)},_getClasses:function(){return this._classes||this._initHierarchyData(),this._classes},_getAttrCfgs:function(){return this._attrs||this._initHierarchyData(),this._attrs},_getInstanceAttrCfgs:function(t){var s,i,r,e,n,a,o={},l=t._subAttrs,u=this._attrCfgHash();for(n in t)if(t.hasOwnProperty(n)&&"_subAttrs"!==n&&(a=t[n],(a=(s=o[n]=_({},a,u)).value)&&"object"==typeof a&&this._cloneDefaultValue(n,s),l)&&l.hasOwnProperty(n))for(e in r=t._subAttrs[n])(i=r[e]).path&&h.setValue(s.value,i.path,i.value);return o},_filterAdHocAttrs:function(t,s){var i,r,e=this._nonAttrs;if(s)for(r in i={},s)t[r]||e[r]||!s.hasOwnProperty(r)||(i[r]={value:s[r]});return i},_initHierarchyData:function(){var t,s,i,r,e,n=this.constructor,a=n._CACHED_CLASS_DATA,o=!n._ATTR_CFG_HASH,l={},u=[],h=[],_=n;if(!a){for(;_;){if((u[u.length]=_).ATTRS&&(h[h.length]=_.ATTRS),o&&(r=r||{},i=_._ATTR_CFG))for(t=0,s=i.length;t<s;t+=1)r[i[t]]=!0;if(e=_._NON_ATTRS_CFG)for(t=0,s=e.length;t<s;t++)l[e[t]]=!0;_=_.superclass?_.superclass.constructor:null}o&&(n._ATTR_CFG_HASH=r),a=n._CACHED_CLASS_DATA={classes:u,nonAttrs:l,attrs:this._aggregateAttrs(h)}}this._classes=a.classes,this._attrs=a.attrs,this._nonAttrs=a.nonAttrs},_attrCfgHash:function(){return this.constructor._ATTR_CFG_HASH},_cloneDefaultValue:function(t,s){var i=s.value,r=s.cloneDefaultValue;"deep"===r||!0===r?s.value=n.clone(i):"shallow"===r?s.value=n.merge(i):r!==undefined||a!==i.constructor&&!e.isArray(i)||(s.value=n.clone(i))},_aggregateAttrs:function(t){var s,i,r,e,n,a,o,l=this._attrCfgHash(),u={};if(t)for(a=t.length-1;0<=a;--a)for(s in i=t[a])i.hasOwnProperty(s)&&(e=_({},i[s],l),n=null,o=u[s=-1!==s.indexOf(".")?(n=s.split(".")).shift():s],n&&o&&o.value?((r=(r=u._subAttrs)||(u._subAttrs={}))[s]||(r[s]={}),r[s][n.join(".")]={value:e.value,path:n}):n||(o?(o.valueFn&&"value"in e&&(o.valueFn=null),_(o,e,l)):u[s]=e));return u},_initHierarchy:function(t){for(var s,i,r,e,n,a,o,l,u,h=this._lazyAddAttrs,_=[],c=this._getClasses(),A=this._getAttrCfgs(),f=c.length-1;0<=f;f--)if(i=(s=c[f]).prototype,l=s._yuibuild&&s._yuibuild.exts,i.hasOwnProperty(y)&&(_[_.length]=i.initializer),l)for(n=0,a=l.length;n<a;n++)(o=l[n]).apply(this,arguments),(o=o.prototype).hasOwnProperty(y)&&(_[_.length]=o.initializer);for(u=this._getInstanceAttrCfgs(A),this._preAddAttrs&&this._preAddAttrs(u,t,h),this._allowAdHocAttrs&&this.addAttrs(this._filterAdHocAttrs(A,t),t,h),this.addAttrs(u,t,h),r=0,e=_.length;r<e;r++)_[r].apply(this,arguments)},_destroyHierarchy:function(){for(var t,s,i,r,e,n,a=this._getClasses(),o=0,l=a.length;o<l;o++){if(s=(t=a[o]).prototype,e=t._yuibuild&&t._yuibuild.exts)for(i=0,r=e.length;i<r;i++)(n=e[i].prototype).hasOwnProperty(u)&&n.destructor.apply(this,arguments);s.hasOwnProperty(u)&&s.destructor.apply(this,arguments)}},toString:function(){return this.name+"["+n.stamp(this,!0)+"]"}},n.mix(i,s,!1,null,1),n.BaseCore=i.prototype.constructor=i},"patched-v3.18.7",{requires:["attribute-core"]});