var has=Object.prototype.hasOwnProperty,prefix="~";function Events(){}Object.create&&(Events.prototype=Object.create(null),(new Events).__proto__||(prefix=!1));function EE(a,c,d){this.fn=a;this.context=c;this.once=d||!1}function EventEmitter(){this._events=new Events;this._eventsCount=0} EventEmitter.prototype.eventNames=function(){var a=[],c,d;if(0===this._eventsCount)return a;for(d in c=this._events)has.call(c,d)&&a.push(prefix?d.slice(1):d);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(c)):a};EventEmitter.prototype.listeners=function(a,c){var d=this._events[prefix?prefix+a:a];if(c)return!!d;if(!d)return[];if(d.fn)return[d.fn];for(var g=0,f=d.length,h=Array(f);g