!function(E,O,w,k){"use strict";O=void 0!==O&&O.Math==Math?O:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),E.fn.tab=function(r){var l,d=E.isFunction(this)?E(O):E(this),u=d.selector||"",b=(new Date).getTime(),g=[],f=r,F="string"==typeof f,S=[].slice.call(arguments,1),j=!1;return d.each(function(){var h,o,p,m,v,y,T=E.isPlainObject(r)?E.extend(!0,{},E.fn.tab.settings,r):E.extend({},E.fn.tab.settings),L=T.className,x=T.metadata,t=T.selector,A=T.error,e="."+T.namespace,a="module-"+T.namespace,P=E(this),n={},C=!0,i=0,s=this,c=P.data(a);v={initialize:function(){v.debug("Initializing tab menu item",P),v.fix.callbacks(),v.determineTabs(),v.debug("Determining tabs",T.context,o),T.auto&&v.set.auto(),v.bind.events(),T.history&&!j&&(v.initializeHistory(),j=!0),v.instantiate()},instantiate:function(){v.verbose("Storing instance of module",v),c=v,P.data(a,v)},destroy:function(){v.debug("Destroying tabs",P),P.removeData(a).off(e)},bind:{events:function(){E.isWindow(s)||(v.debug("Attaching tab activation events to element",P),P.on("click"+e,v.event.click))}},determineTabs:function(){var e;"parent"===T.context?(0