/**
* Combined, minified redistributable GNU ease.js file.
* <http://www.gnu.org/software/easejs/>
* 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<c;d++)e.push(v(b[d],a));return e}if("function"!==typeof b&&b instanceof Object){e={};d=Object.prototype.hasOwnProperty;for(c in b)d.call(b,c)&&(e[c]=a?v(b[c]):b[c]);return e}return b};
b.copyTo=function(a,e,d){var d=!!d,c;if(!(a instanceof Object)||!(e instanceof Object))throw TypeError("Must provide both source and destination objects");if(h)for(var f in e)c=Object.getOwnPropertyDescriptor(e,f),c.get||c.set?Object.defineProperty(a,f,c):a[f]=d?b.clone(e[f],!0):e[f];else for(f in e)a[f]=d?b.clone(e[f],!0):e[f];return a};b.propParse=function(e,c,f){var j=function(){},o=c.each||void 0,q=c.property||j,r=c.method||j,j=c.getset||j,i=c.keywordParser||d,l=c._throw||a,A=Object.prototype.hasOwnProperty,
s={},m="",s={},w=null,u=!1,z=!1,B;for(B in e)if(A.call(e,B)){if(h)m=Object.getOwnPropertyDescriptor(e,B),u=m.get,z=m.set;w="function"===typeof u?void 0:e[B];s=i(B)||{};m=s.name||B;s=s.keywords||{};if(c.assumeAbstract||s["abstract"]&&!s.override)s["abstract"]=!0,w instanceof Array||l(TypeError("Missing parameter list for abstract method: "+m)),g(l,m,w),w=b.createAbstractMethod.apply(this,w);o&&o.call(f,m,w,s);u||z?j.call(f,m,u,z,s):"function"===typeof w||s.proxy?r.call(f,m,w,b.isAbstractMethod(w),
s):q.call(f,m,w,s)}};b.createAbstractMethod=function(a){for(var e=[],d=arguments.length;d--;)e[d]=arguments[d];d=function(){throw Error("Cannot call abstract method");};b.defineSecureProp(d,"abstractFlag",!0);b.defineSecureProp(d,"definition",e);b.defineSecureProp(d,"__length",arguments.length);return d};b.isAbstractMethod=function(b){return"function"===typeof b&&!0===b.abstractFlag?!0:!1};b.arrayShrink=function(b){for(var a=[],e=0,d=b.length;e<d;e++){var c=b[e];void 0!==c&&a.push(c)}return a};b.getOwnPropertyDescriptor=
h&&Object.getOwnPropertyDescriptor||function(b,a){return!Object.prototype.hasOwnProperty.call(b,a)?void 0:{get:void 0,set:void 0,writable:!0,enumerable:!0,configurable:!0,value:b[a]}};b.getPrototypeOf=Object.getPrototypeOf||function(){};b.getPropertyDescriptor=function(a,e,d){var d=!!d,c=b.getOwnPropertyDescriptor(a,e),a=b.getPrototypeOf(a);return!c&&a&&(!d||b.getPrototypeOf(a))?b.getPropertyDescriptor(a,e,d):c};b.defineSecureProp(b.getPropertyDescriptor,"canTraverse",Object.getPrototypeOf?!0:!1)})(n.util=
{},".");(function(c){var c=c.exports={},f=null,a="undefined"!==typeof console?console:void 0,g=c.Warning=function(a){if(!(this instanceof g))return new g(a);if(!(a instanceof Error))throw TypeError("Must provide exception to wrap");Error.prototype.constructor.call(this,a.message);this.message=a.message;this.name="Warning";this._error=a;this.stack=a.stack&&a.stack.replace(/^.*?\n+/,this.name+": "+this.message+"\n")};g.prototype=Error();g.prototype.constructor=g;g.prototype.name="Warning";g.prototype.getError=
function(){return this._error};c.handlers={log:function(e){var b;a&&(b=a.warn||a.log)&&b.call(a,"Warning: "+e.message)},throwError:function(a){throw a.getError();},dismiss:function(){}};c.setHandler=function(a){f=a};c.handle=function(a){f(a)};c.setConsole=function(e){a=e};f=c.handlers.log})(n.warn={},".");(function(c,f){function a(a,b,d){b=this.defs;if(!0===u[a])throw Error(a+" is reserved");if(m.call(b,a)&&!d.weak&&!b[a].weak)throw Error("Cannot redefine method '"+a+"' in same declaration");b[a]=
d}function g(a,b,d){this._cb._memberBuilder.buildProp(h(d)?this.static_members.props:this.prop_init,null,a,b,d,this.base)}function e(a,b,d,e){var c=h(e)?this.static_members.methods:this.members,f=h(e)?this.staticInstLookup:i.getMethodInstance;this._cb._memberBuilder.buildGetterSetter(c,null,a,b,d,e,f,this.class_id,this.base)}function b(a,b,d,e){var c=h(e),f=c?this.static_members.methods:this.members,c=c?this.staticInstLookup:i.getMethodInstance;if(!0===z[a]&&(e["protected"]||e["private"]))throw TypeError(a+
" must be public");this._cb._memberBuilder.buildMethod(f,null,a,b,e,c,this.class_id,this.base,this.state)&&(d?(this.abstract_methods[a]=!0,this.abstract_methods.__length++):m.call(this.abstract_methods,a)&&!1===d&&(delete this.abstract_methods[a],this.abstract_methods.__length--),e.virtual&&(this.virtual_members[a]=!0))}function d(a,b,d,e){if(a.___$$abstract$$){if(!e&&0===d.__length)throw TypeError("Class "+(b||"(anonymous)")+" was declared as abstract, but contains no abstract members");}else if(0<
d.__length)if(e)a.___$$abstract$$=!0;else throw TypeError("Class "+(b||"(anonymous)")+" contains abstract members and must therefore be declared abstract");}function h(a){return a["static"]||a["const"]?!0:!1}function o(a){var b=this,d=function(){};d.prototype=a;d=new d;a.___$$svis$$=d;d.$=function(){b._spropInternal=!0;var d=a.$.apply(a,arguments);b._spropInternal=!1;return d}}function x(a,b,d,e){var c=b.methods,f=b.props,q=this;(b=d.___$$sinit$$)&&b(a,!0);if(!e)a.___$$sprops$$=f,l.defineSecureProp(a,
"$",function(b,e){var c=!1,j=this.___$$sprops$$?this:a,D=j!==a,c=m.call(f["public"],b)&&"public";!c&&q._spropInternal&&(c=m.call(f["protected"],b)&&"protected"||!D&&m.call(f["private"],b)&&"private");if(!1===c)return(d.__cid&&d.$||i.ClassBase.$).apply(j,arguments);c=f[c][b];if(1<arguments.length){if(c[1]["const"])throw TypeError("Cannot modify constant property '"+b+"'");c[0]=e;return j}return c[0]});l.copyTo(a,c["public"],!0);l.copyTo(a.___$$svis$$,c["protected"],!0);e||l.copyTo(a.___$$svis$$,c["private"],
!0)}function v(a,b){var d=b.__cid?i.getMeta(b):void 0;a.___$$meta$$=d?l.clone(d,!0):{implemented:[]};return a.prototype.___$$meta$$=a.___$$meta$$}function t(a,b){l.defineSecureProp(a,"__iid",b)}function p(a){var b=function(){};b.prototype=a;a.___$$vis$$=new b}function j(a){var b=function(b){return c.exports.isInstanceOf(b,a)};l.defineSecureProp(a,"isInstanceOf",b);l.defineSecureProp(a,"isA",b)}function y(a,b){var d=0<b.__length?!0:!1;l.defineSecureProp(a,"isAbstract",function(){return d})}function q(a,
b){l.defineSecureProp(a,"__cid",b);l.defineSecureProp(a.prototype,"__cid",b)}function r(a,b){a.___$$final$$=!!b.___$$final$$;a.___$$abstract$$=!!b.___$$abstract$$;b.___$$final$$=b.___$$abstract$$=void 0}var i=c.exports={},l=k(f+"/util"),A=k(f+"/warn"),s=A.Warning,m=Object.prototype.hasOwnProperty,w=!1===Object.prototype.propertyIsEnumerable.call({toString:function(){}},"toString")?!0:!1,u={__initProps:!0,constructor:!0},z={__construct:!0,toString:!0,__toString:!0};c.exports=i=function(a,b){if(!(this instanceof
i))return new c.exports(a,b);this._memberBuilder=a;this._visFactory=b;this._instanceId=this._classId=0;this._spropInternal=this._extending=!1};i.ClassBase=function(){};l.defineSecureProp(i.ClassBase,"__cid",0);i.ClassBase.$=function(a,b){if(void 0!==b)throw ReferenceError("Cannot set value of undeclared static property '"+a+"'");};i.getReservedMembers=function(){return l.clone(u,!0)};i.getForcedPublicMethods=function(){return l.clone(z,!0)};i.getMeta=function(a){return a.___$$meta$$||{}};i.isInstanceOf=
function(a,b){var d,e;if(!a||!b)return!1;if("function"===typeof a&&b instanceof a)return!0;if(!b.__cid||!(d=i.getMeta(b)))return!1;d=d.implemented;for(e=d.length;e--;)if(d[e]===a)return!0;return!1};i.prototype.build=function(a,b){this._extending=!0;var e=arguments,c=e.length,f=(0<c?e[c-1]:0)||{},m=(1<c?e[c-2]:0)||i.ClassBase,j=this._getBase(m),e="",u=!1,g=this._memberBuilder.initMembers(),t=this._memberBuilder.initMembers(j),z={methods:this._memberBuilder.initMembers(),props:this._memberBuilder.initMembers()},
c=l.clone(i.getMeta(m).abstractMethods)||{__length:0};virtual_members=l.clone(i.getMeta(m).virtualMembers)||{};if(!0===m.___$$final$$)throw Error("Cannot extend final class "+(m.___$$meta$$.name||"(anonymous)"));(e=f.__name)&&delete f.__name;void 0!==(u=f.___$$auto$abstract$$)&&delete f.___$$auto$abstract$$;if(w&&f.toString!==Object.prototype.toString)f.__toString=f.toString;this._classId++;try{this.buildMembers(f,this._classId,m,g,{all:t,"abstract":c,"static":z,virtual:virtual_members},function(){return h.___$$svis$$})}catch(p){if(p instanceof
s)A.handle(p);else throw p;}j.___$$parent$$=m.prototype;var h=this.createCtor(e,c,t);o(h);var k=function(a,b){x(a,z,m,b)};k(h,!1);this._attachPropInit(j,g,t,h,this._classId);h.prototype=j;h.prototype.constructor=h;h.___$$props$$=g;h.___$$methods$$=t;h.___$$sinit$$=k;r(h,f);d(h,e,c,u);l.defineSecureProp(j,"__self",h.___$$svis$$);f=v(h,m);f.abstractMethods=c;f.virtualMembers=virtual_members;f.name=e;y(h,c);q(h,this._classId);this._extending=!1;return h};i.prototype._getBase=function(a){switch(typeof a){case "function":return new a;
case "object":return a}throw TypeError("Must extend from Class, constructor or object");};i.prototype.buildMembers=function(d,c,f,m,q,j){var u={_cb:this,prop_init:m,class_id:c,base:f,staticInstLookup:j,defs:{},state:{},members:q.all,abstract_methods:q["abstract"],static_members:q["static"],virtual_members:q.virtual},i={each:a,property:g,getset:e,method:b};if(d.___$$parser$$){var x=d.___$$parser$$;delete d.___$$parser$$;c=function(a,b){i[a]=function(){for(var d=[],e=arguments.length;e--;)d[e]=arguments[e];
d.push(b);x[a].apply(u,d)}};x.each&&c("each",i.each);x.property&&c("property",i.property);x.getset&&c("getset",i.getset);x.method&&c("method",i.method)}l.propParse(d,i,u);this._memberBuilder.end(u.state)};i.prototype.createCtor=function(a,b,d){return 0===b.__length?this.createConcreteCtor(a,d):this.createAbstractCtor(a)};i.prototype.createConcreteCtor=function(a,b){function d(){if(!(this instanceof d))return e=arguments,new d;p(this);this.__initProps();if(!c._extending&&(t(this,++c._instanceId),"function"===
typeof this.___$$tctor$$&&this.___$$tctor$$.call(this),"function"===typeof this.__construct&&this.__construct.apply(this,e||arguments),e=null,j(this),!m.call(b["public"],"toString")))this.toString=b["public"].__toString||(a?function(){return"#<"+a+">"}:function(){return"#<anonymous>"})}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<b)throw TypeError("Declaration of method '"+
a+"' must be compatible with that of its supertype");if(this._getVisibilityValue(d)<this._getVisibilityValue(e))throw TypeError("Cannot de-escalate visibility of method '"+a+"'");if(!e.override&&!d["abstract"]&&!e.weak)throw TypeError("Attempting to override method '"+a+"' without 'override' keyword");e.weak&&d.override&&delete (f.warn[a]||{}).no}else if(e.override)(f.warn[a]=f.warn[a]||{}).no=Error("Method '"+a+"' using 'override' keyword without super method")};f.prototype.validateProperty=function(a,
c,e,b,d){if(c=b?b.member:null){if(d["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if("function"===typeof c)throw new TypeError("Cannot override method '"+a+"' with property");if(this._getVisibilityValue(d)<this._getVisibilityValue(e))throw TypeError("Cannot de-escalate visibility of property '"+a+"'");}if(b&&(b.get||b.set))throw TypeError("Cannot override getter/setter '"+a+"' with property");if(e["abstract"])throw TypeError("Property '"+a+"' cannot be declared as abstract");
if(e["static"]&&e["const"])throw TypeError("Static keyword cannot be used with const for property '"+a+"'");if(e.virtual)throw TypeError("Cannot declare property '"+a+"' as virtual");};f.prototype.validateGetterSetter=function(a,c,e,b,d){c=b?b.member:null;b=b&&(b.get||b.set)?!0:!1;if(e["abstract"])throw TypeError("Cannot declare getter/setter '"+a+"' as abstract");if(e["const"])throw TypeError("Cannot declare const getter/setter '"+a+"'");if(e.virtual&&e["static"])throw TypeError("Cannot declare static method '"+
a+"' as virtual");if(c||b){if(d&&d["private"])throw TypeError("Private member name '"+a+"' conflicts with supertype");if(!b)throw TypeError("Cannot override method or property '"+a+"' with getter/setter");if(!d||!d.virtual)throw TypeError("Cannot override non-virtual getter/setter '"+a+"'");if(!e.override)throw TypeError("Attempting to override getter/setter '"+a+"' without 'override' keyword");if(this._getVisibilityValue(d||{})<this._getVisibilityValue(e))throw TypeError("Cannot de-escalate visibility of getter/setter '"+
a+"'");}else e.override&&this._warningHandler(Error("Getter/setter '"+a+"' using 'override' keyword without super getter/setter"))};f.prototype._getVisibilityValue=function(a){return a["protected"]?1:a["private"]?2:0}})(n.MemberBuilderValidator={},".");(function(c,f){var a=c.exports={},g=k(f+"/util");c.exports=a=function(){if(!(this instanceof a))return new c.exports};a.prototype.setup=function(a,b,d){var c=this._createPrivateLayer(a,b);this._doSetup(a,b["public"]);this._doSetup(a,b["protected"],
d["protected"],!0);this._doSetup(c,b["private"],d["private"]);return c};a.prototype._createPrivateLayer=function(a,b){var d=function(){};d.prototype=a;d=new d;this.createPropProxy(a,d,b["protected"]);return d};a.prototype._doSetup=function(a,b,d,c){var f=Array.prototype.hasOwnProperty;if(void 0!==d)for(var k in d)if(f.call(d,k)){var n=a[k],t=n&&n.___$$keywords$$;if(!c||void 0===n||t["private"]||t["protected"])a[k]=d[k]}for(var p in b)f.call(b,p)&&(a[p]=g.clone(b[p][0]))};a.prototype.createPropProxy=
function(a,b,d){var c=Object.prototype.hasOwnProperty,f;for(f in d)c.call(d,f)&&function(d){b[d]=void 0;Object.defineProperty(b,d,{set:function(b){a[d]=b},get:function(){return a[d]},enumerable:!0})}.call(null,f);return b}})(n.VisibilityObjectFactory={},".");(function(c,f){var a=c.exports={};c.exports=a=function(){if(!(this instanceof a))return new c.exports};a.prototype=k(f+"/VisibilityObjectFactory")();a.prototype._createPrivateLayer=function(a){return a};a.prototype.createPropProxy=function(a){return a}})(n.FallbackVisibilityObjectFactory=
{},".");(function(c,f){var a=c.exports={},g=k(f+"/util"),e=k(f+"/VisibilityObjectFactory"),b=k(f+"/FallbackVisibilityObjectFactory");a.fromEnvironment=function(){return g.definePropertyFallback()?b():e()}})(n.VisibilityObjectFactoryFactory={},".");(function(c,f){function a(a){if(1<arguments.length)throw Error("Expecting one argument for anonymous Class definition; "+arguments.length+" given.");return o(a)}function g(a,b){if(2<arguments.length)throw Error("Expecting at most two arguments for definition of named Class '"+
a+"'; "+arguments.length+" given.");if(void 0===b)return e(a);if("object"!==typeof b)throw TypeError("Unexpected value for definition of named Class '"+a+"'; object expected");b.__name=a;return o(b)}function e(a){return{extend:function(){for(var b=[],d=arguments.length;d--;)b[d]=arguments[d];b[b.length-1].__name=a;return o.apply(null,b)},implement:function(){for(var d=[],c=arguments.length;c--;)d[c]=arguments[c];return b(null,d,a)},use:function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];
return d(A,a)}}}function b(a,b,c){var e={extend:function(){var d=arguments.length,e=arguments[d-1],f=1<d?arguments[d-2]:null;if(2<d)throw Error("Expecting no more than two arguments for extend()");if(a&&f)throw Error("Cannot override parent "+a.toString()+" with "+f.toString()+" via extend()");if(c)e.__name=c;b.push(a||f||o({}));return o.call(null,s.apply(this,b),e)},use:function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(function(){return e.__createBase()},a)},__createBase:function(){return e.extend({})}};
return e}function d(a,b,c){var e=function(){if(!c)throw TypeError("Cannot instantiate incomplete class definition; did you forget to call `extend'?");return h(a(),b).apply(null,arguments)};e.extend=function(){var d=arguments.length,c=arguments[d-1],d=1<d?arguments[d-2]:null,e=a();return o.call(null,h(e||d,b),c)};e.use=function(){for(var a=[],b=arguments.length;b--;)a[b]=arguments[b];return d(function(){return e.__createBase()},a,c)};e.__createBase=function(){return e.extend({})};return e}function h(a,
b){for(var d={___$$auto$abstract$$:!0},c=[],e=0,f=b.length;e<f;e++)b[e].__mixin(d,c,a||j.ClassBase);d=o.call(null,a,d);c=j.getMeta(d).implemented;e=0;for(f=b.length;e<f;e++)c.push(b[e]),b[e].__mixinImpl(c);return d}function o(a,b){for(var d=[],c=arguments.length;c--;)d[c]=arguments[c];d=l.build.apply(l,d);n(d);v(d);t(d);p.freeze(d);return d}function n(a){p.defineSecureProp(a,"extend",function(a){return o(this,a)})}function v(a){p.defineSecureProp(a,"implement",function(){for(var d=[],c=arguments.length;c--;)d[c]=
arguments[c];return b(a,d)})}function t(a){p.defineSecureProp(a,"use",function(){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return d(function(){return a},b,!0)})}c.exports={};var p=k(f+"/util"),j=k(f+"/ClassBuilder"),y=k(f+"/warn"),q=y.Warning,r=k(f+"/MethodWrapperFactory"),i=k(f+"/MethodWrappers").standard,l=j(k(f+"/MemberBuilder")(r(i.wrapNew),r(i.wrapOverride),r(i.wrapProxy),k(f+"/MemberBuilderValidator")(function(a){y.handle(q(a))})),k(f+"/VisibilityObjectFactoryFactory").fromEnvironment()),
A=function(){return null};c.exports=function(b,d){for(var c=typeof b,e=null,e=[],f=arguments.length;f--;)e[f]=arguments[f];switch(c){case "object":e=a.apply(null,e);break;case "string":e=g.apply(null,e);break;default:throw TypeError("Expecting anonymous class definition or named class definition");}return e};c.exports.extend=o;c.exports.implement=function(a){return b(null,Array.prototype.slice.call(arguments))};c.exports.use=function(a){for(var b=[],c=arguments.length;c--;)b[c]=arguments[c];return d(A,
b)};c.exports.isClass=function(a){a=a||{};return a.prototype instanceof j.ClassBase?!0:!1};c.exports.isClassInstance=function(a){a=a||{};return a instanceof j.ClassBase?!0:!1};c.exports.isInstanceOf=j.isInstanceOf;c.exports.isA=c.exports.isInstanceOf;var s=function(a,b){for(var d=arguments.length,e={},f=arguments[d-1],q=null,i=[],r=!1,l=0;l<d-1;l++)q=arguments[l],p.propParse(q.prototype,{method:function(a,b){e["abstract "+a]=b.definition;r=!0}}),i.push(q);if(r)e.___$$abstract$$=!0;d=c.exports.extend(f,
e);j.getMeta(d).implemented=i;return d}})(n["class"]={},".");(function(c,f){function a(a){if("object"===typeof a)a.___$$abstract$$=!0}function g(b){var c=b.extend,e=b.implement,f=b.use;e&&(b.implement=function(){return g(e.apply(this,arguments))});f&&(b.use=function(){return g(f.apply(this,arguments))});b.extend=function(){a(arguments[arguments.length-1]);return c.apply(this,arguments)};b.__createBase=function(){return c({___$$auto$abstract$$:!0})};return b}var e=c.exports={},b=k(f+"/class");c.exports=
e=function(){a(arguments[arguments.length-1]);var d=b.apply(this,arguments);b.isClass(d)||g(d);return d};e.extend=function(){a(arguments[arguments.length-1]);return b.extend.apply(this,arguments)};e.use=function(){return g(b.use.apply(this,arguments))};e.implement=function(){return g(b.implement.apply(this,arguments))}})(n.class_abstract={},".");(function(c,f){function a(){switch(arguments.length){case 1:return a.extend.apply(this,arguments);case 2:return g.apply(this,arguments);default:throw Error("Missing trait name or definition");
}}function g(b,d){if(2<arguments.length)throw Error("Expecting at most two arguments for definition of named Trait "+b+"'; "+arguments.length+" given");if("string"!==typeof b)throw Error("First argument of named class definition must be a string");d.__name=b;return a.extend(d)}function e(a,b,d,c){if("__construct"===a)throw Error("Traits may not define __construct");if(d["static"])throw Error("Cannot define member `"+a+"'; static trait members are currently unsupported");c.apply(this,arguments)}function b(a,
b,d,c){if("___"!==a.substr(0,3)){if(!d["private"])throw Error("Cannot define property `"+a+"'; only private properties are permitted within Trait definitions");c.apply(this,arguments)}}function d(a){throw Error("Cannot define property `"+a+"'; getters/setters are currently unsupported");}function h(a){var b={"protected ___$$pmo$$":null,"protected ___$$super$$":null,__construct:function(a,b){this.___$$super$$=a;this.___$$pmo$$=b},__name:"#ConcreteTrait#"},d=y.getMeta(a).abstractMethods,c;for(c in d)Object.hasOwnProperty.call(d,
c)&&"__"!==c.substr(0,2)&&(b[(void 0!==a.___$$methods$$["public"][c]?"public":"protected")+" proxy "+c]="___$$pmo$$");o(a,b);return a.extend(b)}function o(a,b){var d=y.getMeta(a).virtualMembers,c;for(c in d){var e=void 0!==a.___$$methods$$["public"][c]?"public":"protected";b[e+" virtual override "+c]=function(){return function(){var a=this.___$$pmo$$,b=a[c];return b?b.apply(a,arguments):this.__super.apply(this,arguments)}}(c);b[e+" virtual __$$"+c]=function(a){return function(){return this.___$$parent$$[a].apply(this,
arguments)}}(c)}}function n(a,b,c){a=a.___$$methods$$;v(a["public"],b,"public",c);v(a["protected"],b,"protected",c);(a=a["public"].___$$parent$$)&&a.constructor!==y.ClassBase&&n(a.constructor,b,c)}function v(a,b,c,d){for(var e in a)if(Object.hasOwnProperty.call(a,e)&&a[e].___$$keywords$$){var f=a[e].___$$keywords$$,c=f["protected"]?"protected":"public";if(f["abstract"]&&!f.override)b[c+" weak abstract "+e]=a[e].definition;else{var j=f.virtual,c=(j?"":"proxy ")+(j?"virtual ":"")+(f.override?"override ":
"")+c+" "+e;if(void 0!==b[c])throw Error("Trait member conflict: `"+e+"'");b[c]=f.virtual?function(a){return function(){var b=this[d],c=b["__$$"+a].apply(b,arguments);return c===b?this:c}}(e):d}}}function t(a,b,c,d){var e="___$to$"+a.__acls.__cid+"$"+d.__cid;c.push([e,a]);b["private "+e]=null;void 0===b.___$$tctor$$&&(b["weak virtual ___$$tctor$$"]=function(){},b["virtual override ___$$tctor$$"]=p(c,d));return e}function p(a,b){return function(){for(var c in a){var d=a[c][0],e=a[c][1],e=e.__ccls||
(e.__ccls=h(e.__acls));this[d]=e(b,this.___$$vis$$).___$$vis$$}this.__super&&this.__super()}}c.exports={};var j=k(f+"/class_abstract"),y=k(f+"/ClassBuilder");a.extend=function(a){function c(){throw Error("Cannot instantiate trait");}var f=this.__$$meta||{},h=a.__name||"(Trait)";a.___$$parser$$={each:e,property:b,getset:d};a.___$$auto$abstract$$=!0;a.__name="#AbstractTrait#";var g=j;f.ifaces&&(g=g.implement.apply(null,f.ifaces));var k=g.extend(a);c.__trait=!0;c.__acls=k;c.__ccls=null;c.toString=function(){return""+
h};c.__mixin=function(a,b,d){var e=c.__acls,b=t(c,a,b,d);n(e,a,b)};c.__mixinImpl=function(a){for(var b=y.getMeta(k).implemented||[],c=b.length;c--;)a.push(b[c])};return c};a.implement=function(){var b=arguments;return{extend:function(){return a.extend.apply({__$$meta:{ifaces:b}},arguments)}}};a.isTrait=function(a){return!!(a||{}).__trait};c.exports=a})(n.Trait={},".");(function(c,f){function a(a){if("object"===typeof a)a.___$$final$$=!0}function g(b){var c=b.extend;b.extend=function(){a(arguments[arguments.length-
1]);return c.apply(this,arguments)}}var e=c.exports={},b=k(f+"/class"),e=c.exports=function(){a(arguments[arguments.length-1]);var c=b.apply(this,arguments);b.isClass(c)||g(c);return c};e.extend=function(){a(arguments[arguments.length-1]);return b.extend.apply(this,arguments)}})(n.class_final={},".");(function(c,f){var a=c.exports={},g=k(f+"/MemberBuilder");c.exports=a=function(a,b){if(!(this instanceof c.exports))return new c.exports(a,b);c.exports.prototype.constructor.call(this,a,b)};c.exports.prototype=
new g;c.exports.constructor=c.exports;a.prototype.buildGetterSetter=function(){throw Error("Getters/setters are unsupported in this environment");}})(n.FallbackMemberBuilder={},".");(function(c,f){function a(){}function g(a){if(1<arguments.length)throw Error("Expecting one argument for Interface definition; "+arguments.length+" given.");return p(a)}function e(a,b){if(2<arguments.length)throw Error("Expecting two arguments for definition of named Interface '"+a+"'; "+arguments.length+" given.");if("object"!==
typeof b)throw TypeError("Unexpected value for definition of named Interface '"+a+"'; object expected");b.__name=a;return p(b)}function b(a,b){b.message="Failed to define interface "+(a?a:"(anonymous)")+": "+b.message;throw b;}function d(a){n.defineSecureProp(a,"extend",function(a){return p(this,a)})}function h(a,b){a.toString=b?function(){return"[object Interface <"+b+">]"}: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<g?f[g-1]:0)||{},f=new ((1<g?f[g-2]:0)||a),l="",k={},p=t.initMembers(f,f,f);(l=i.__name)&&delete i.__name;if(!(f instanceof a))throw new TypeError("Interfaces may only extend other interfaces");g=e(l);n.propParse(i,{assumeAbstract:!0,_throw:function(a){b(l,a)},property:function(){b(l,TypeError("Unexpected internal error"))},
getset:function(){b(l,TypeError("Unexpected internal error"))},method:function(a,c,d,e){(e["protected"]||e["private"])&&b(l,TypeError("Member "+a+" must be public"));t.buildMethod(p,null,a,c,e,null,0,{},k)}});d(g);h(g,l);g.prototype=f;g.constructor=g;n.freeze(g);c=!1;return g}}(!1)})(n["interface"]={},".");(function(c){c.exports={};var f=[0,2,1,""];f.major=0;f.minor=2;f.rev=1;f.suffix="";f.toString=function(){return this.join(".").replace(/\.([^.]*)$/,"-$1").replace(/-$/,"")};c.exports=f})(n.version=
{},".");C.Class=n["class"].exports;C.AbstractClass=n.class_abstract.exports;C.FinalClass=n.class_final.exports;C.Interface=n["interface"].exports;C.version=n.version.exports})(easejs);