Array.prototype.filter||(Array.prototype.filter=function(fun){"use strict";if(null==this)throw new TypeError;var t=Object(this),len=t.length>>>0;if("function"!=typeof fun)throw new TypeError;for(var res=[],thisp=arguments[1],i=0;i<len;i++)if(i in t){var val=t[i];fun.call(thisp,val,i,t)&&res.push(val)}return res});