YUI.add("datasource-cache",function(n,e){var a=function(){};function s(e){var a=e&&e.cache?e.cache:n.Cache,a=n.Base.create("dataSourceCache",a,[n.Plugin.Base,n.Plugin.DataSourceCacheExtension]),e=new a(e);return a.NS="tmpClass",e}n.mix(a,{NS:"cache",NAME:"dataSourceCacheExtension"}),a.prototype={initializer:function(e){this.doBefore("_defRequestFn",this._beforeDefRequestFn),this.doBefore("_defResponseFn",this._beforeDefResponseFn)},_beforeDefRequestFn:function(e){var a=this.retrieve(e.request)||null,e=e.details[0];if(a&&a.response)return e.cached=a.cached,e.response=a.response,e.data=a.data,this.get("host").fire("response",e),new n.Do.Halt("DataSourceCache extension halted _defRequestFn")},_beforeDefResponseFn:function(e){e.response&&!e.cached&&this.add(e.request,e.response)}},n.namespace("Plugin").DataSourceCacheExtension=a,n.mix(s,{NS:"cache",NAME:"dataSourceCache"}),n.namespace("Plugin").DataSourceCache=s},"patched-v3.18.3",{requires:["datasource-local","plugin","cache-base"]});