/**
* Combined, minified redistributable GNU ease.js file.
*
* Copyright (C) 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
* @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
*/
var easejs={};
(function(C){var n={},k=function(c){var f=c.replace(/^\.?\/|[^/]*?\/\.\.\/|\.js$/,""),f=n[f];if(void 0===f)throw"[ease.js] Undefined module: "+c;return f.exports};(function(c){var f={"public":!0,"protected":!0,"private":!0,"static":!0,"abstract":!0,"const":!0,virtual:!0,override:!0,proxy:!0,weak:!0};(c.exports={}).parseKeywords=function(a){var c=a,e=[],b={};if(1!==(e=(""+a).split(/\s+/)).length)for(var c=e.pop(),a=e.length,d="";a--;){d=e[a];if(!f[d])throw Error("Unexpected keyword for '"+c+"': "+
d);b[d]=!0}return{name:c,keywords:b}}})(n.prop_parser={},".");(function(c,f){function a(b){throw b;}function g(b,a,e){for(var d=e.length;d--;)null===e[d].match(/^[a-z_][a-z0-9_]*$/i)&&b(SyntaxError("Member "+a+" contains invalid parameter '"+e[d]+"'"))}function e(){return h?function(b,a,e){Object.defineProperty(b,a,{value:e,enumerable:!1,writable:!1,configurable:!1})}:function(b,a,e){b[a]=e}}var b=c.exports={},d=k(f+"/prop_parser").parseKeywords,h;a:{if("function"===typeof Object.defineProperty)try{Object.defineProperty({},
"x",{});h=!0;break a}catch(o){}h=!1}b.freeze="function"===typeof Object.freeze?Object.freeze:function(){};b.definePropertyFallback=function(a){if(void 0===a)return!h;h=!a;b.defineSecureProp=e();return b};b.defineSecureProp=e();b.clone=function v(b,a){a=!!a;if(b instanceof Array){if(!a)return b.slice(0);for(var e=[],d=0,c=b.length;d"}:function(){return"#"})}var e=null,c=this;d.toString=a?function(){return a}:function(){return"(Class)"};return d};i.prototype.createAbstractCtor=function(a){var b=this,d=function(){if(!b._extending)throw Error("Abstract class "+(a||"(anonymous)")+
" cannot be instantiated");};d.toString=a?function(){return a}:function(){return"(AbstractClass)"};return d};i.prototype._attachPropInit=function(a,b,d,e,c){var f=this;l.defineSecureProp(a,"__initProps",function(e){var e=!!e,m=a.___$$parent$$,m=m&&m.__initProps;"function"===typeof m&&m.call(this,!0);m=f._visFactory.createPropProxy(this,this.___$$vis$$,b["public"]);m=this.___$$vis$$[c]=f._visFactory.setup(m,b,d);e||l.defineSecureProp(m,"__inst",this)})};i.getMethodInstance=function(a,b){var d=a.___$$vis$$;
return a.__iid&&d?d[b]:null}})(n.ClassBuilder={},".");(function(c){var f=c.exports={};c.exports=f=function(a){if(!(this instanceof f))return new c.exports(a);this._factory=a};f.prototype.wrapMethod=function(a,c,e,b,d,f){return this._factory(a,c,e,b,d,f)}})(n.MethodWrapperFactory={},".");(function(c){(c.exports={}).standard={wrapOverride:function(c,a,g,e){return function(){var b=e(this,g)||this,d=void 0,h=b.__super;b.__super=a;d=c.apply(b,arguments);b.__super=h;return d===b?this:d}},wrapNew:function(c,
a,g,e){return function(){var a=e(this,g)||this,d=void 0,d=c.apply(a,arguments);return d===a?this:d}},wrapProxy:function(c,a,g,e,b,d){var h=d&&d["static"],a=function(){var a=e(this,g)||this,d=void 0,a=h?a.$(c):a[c];if(!(null!==a&&"object"===typeof a&&"function"===typeof a[b]))throw TypeError("Unable to proxy "+b+"() call to '"+c+"'; '"+c+"' is undefined or '"+b+"' is not a function.");d=a[b].apply(a,arguments);return d===a?this:d};a.__length=NaN;return a}}})(n.MethodWrappers={},".");(function(c,f){function a(a){return function(){return this.___$$super$$.prototype[a].apply(this.___$$pmo$$,
arguments)}}function g(a,b,d){if(b["private"])return(b["public"]||b["protected"])&&e(d),a["private"];if(b["protected"])return(b["public"]||b["private"])&&e(d),a["protected"];(b["private"]||b["protected"])&&e(d);return a["public"]}function e(a){throw TypeError("Only one access modifier may be used for definition of '"+a+"'");}function b(a,d,e){for(var c=o.length,f=null;c--;)if(f=h.getPropertyDescriptor(a[o[c]],d,!0))return{get:f.get,set:f.set,member:f.value};return void 0!==e?(a=e.___$$methods$$,c=
e.___$$props$$,e=((e.prototype||{}).___$$parent$$||{}).constructor,a&&b(a,d,e)||c&&b(c,d,e)||null):null}var d=c.exports={},h=k(f+"/util");k(f+"/warn");var o=["public","protected","private"];c.exports=function(a,b,d,e){if(!(this instanceof c.exports))return new c.exports(a,b,d,e);this._wrapMethod=a;this._wrapOverride=b;this._wrapProxy=d;this._validate=e};d=c.exports.prototype;d.initMembers=function(a,b,d){return{"public":a||{},"protected":b||{},"private":d||{}}};d.buildMethod=function(d,e,c,f,j,h,
q,r,i){var l=(r=(e=b(d,c,r))?e.member:null)&&r.___$$keywords$$,d=g(d,j,c);this._validate.validateMethod(c,f,j,e,l,i);if(j.proxy&&(!r||!j.weak))d[c]=this._createProxy(f,h,q,c,j);else if(r){if(j.weak&&!l["abstract"])return!1;if(j.override||l["abstract"])i=j["abstract"]?a(c):r,d[c]=this._overrideMethod(i,f,h,q);else throw Error("Method hiding not yet implemented (we should never get here; bug).");}else d[c]=j["abstract"]||j["private"]?f:this._overrideMethod(null,f,h,q);d[c].___$$keywords$$=j;return!0};
d.buildProp=function(a,d,e,c,f,h){h=(d=b(a,e,h))?d.member:null;this._validate.validateProperty(e,c,f,d,h?h[1]:null);g(a,f,e)[e]=[c,f]};d.buildGetterSetter=function(a,d,e,c,f,h,q,r,i){d=b(a,e,i);this._validate.validateGetterSetter(e,{},h,d,d&&d.get?d.get.___$$keywords$$:null);if(c)c=this._overrideMethod(null,c,q,r),c.___$$keywords$$=h;Object.defineProperty(g(a,h,e),e,{get:c,set:f?this._overrideMethod(null,f,q,r):f,enumerable:!0,configurable:!1})};d._createProxy=function(a,b,d,e,c){return this._wrapProxy.wrapMethod(a,
null,d,b,e,c)};d._overrideMethod=function(a,b,d,e){var c=null,c=(a?this._wrapOverride:this._wrapMethod).wrapMethod(b,a,e,d||function(){});h.defineSecureProp(c,"__length",b.__length||b.length);return c};d._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0};d.end=function(a){this._validate&&this._validate.end(a)}})(n.MemberBuilder={},".");(function(c){var f=c.exports={};c.exports=f=function(a){if(!(this instanceof c.exports))return new c.exports(a);this._warningHandler=a||function(){}};
f.prototype._initState=function(a){if(a.__vready)return a;a.warn={};a.__vready=!0;return a};f.prototype.end=function(a){for(var c in a.warn){var e=a.warn[c],b;for(b in e)this._warningHandler(e[b])}a.__vready=!1};f.prototype.validateMethod=function(a,c,e,b,d,f){this._initState(f);var o=b?b.member:null;if(e["abstract"]&&e["private"])throw TypeError("Method '"+a+"' cannot be both private and abstract");if(e["const"])throw TypeError("Cannot declare method '"+a+"' as constant; keyword is redundant");if(e.virtual&&
e["static"])throw TypeError("Cannot declare static method '"+a+"' as virtual");if(b&&(b.get||b.set))throw TypeError("Cannot override getter/setter '"+a+"' with method");if(e.proxy){if("string"!==typeof c)throw TypeError("Cannot declare proxy method '"+a+"'; string value expected");if(e["abstract"])throw TypeError("Proxy method '"+a+"' cannot be abstract");}if(o){if(d["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"!==typeof o)throw TypeError("Cannot override property '"+
a+"' with method");if(e.override&&!d.virtual){if(!e["abstract"])throw TypeError("Cannot override non-virtual method '"+a+"'");if(!d["abstract"])throw TypeError("Cannot perform abstract override on non-abstract method '"+a+"'");}if(e["abstract"]&&!e.weak&&!d["abstract"])throw TypeError("Cannot override concrete method '"+a+"' with abstract method");b=void 0===o.__length?o.length:o.__length;c=void 0===c.__length?c.length:c.__length;e.proxy&&(c=NaN);e.weak&&!d["abstract"]&&(o=b,b=c,c=o);if(c]"}:function(){return"[object Interface]"}}c.exports={};var n=k(f+"/util"),x=k(f+"/MethodWrapperFactory"),v=k(f+"/MethodWrappers").standard,
t=k(f+"/MemberBuilder")(x(v.wrapNew),x(v.wrapOverride),x(v.wrapProxy),k(f+"/MemberBuilderValidator")());k(f+"/class");c.exports=function(a,b){var c=null;switch(typeof a){case "object":c=g.apply(null,arguments);break;case "string":c=e.apply(null,arguments);break;default:throw TypeError("Expecting anonymous interface definition or named interface definition");}return c};c.exports.extend=function(){return p.apply(this,arguments)};c.exports.isInterface=function(b){b=b||{};return b.prototype instanceof
a?!0:!1};var p=function(c){function e(a){return function(){if(!c)throw Error("Interface "+(a?a+" ":"")+" cannot be instantiated");}}return function(){c=!0;var f=arguments,g=f.length,i=(0