var B={};v("AdfAssert",B);B.b3a=function(){B.bc=B.DEBUG=l};v("AdfAssert.forceDebug",B.b3a);B.EK="_funcName";v("AdfAssert.FUNC_NAME_PROPERTY",B.EK);B.O2="_className";v("AdfAssert.CLASS_NAME_PROPERTY",B.O2);B.BLa=20;B.assert=function(a,b){if(B.bc&&!a){if(2<arguments.length){b+="(";for(var d=2;d<arguments.length;d++)b+=xa.ma(arguments[d]);b+=")"}B.ef(b,1)}};v("AdfAssert.assert",B.assert);B.$=function(){B.bc&&B.ef("Abstract function called",1)};v("AdfAssert.failedInAbstractFunction",B.$);
B.J=function(a,b,d){if(B.bc)if(a!=n){B.np(b,"function",n,1,p);var e=b.prototype;e.isPrototypeOf(a)||(!d&&"function"==typeof e.qh&&(d=e.qh()),B.ef("object '"+a+"' doesn't match prototype "+e,1,d))}else B.ef("null object doesn't match prototype "+e,1,d)};v("AdfAssert.assertPrototype",B.J);
B.Vi=function(a,b,d){if(B.bc&&a!=n)if(a!=n){B.np(b,"function",n,1,p);var e=b.prototype;e.isPrototypeOf(a)||B.ef("object '"+a+"' doesn't match prototype "+e,1,d)}else B.ef("null object doesn't match prototype "+e,1,d)};v("AdfAssert.assertPrototypeOrNull",B.Vi);B.D2a=function(a,b,d,e){B.bc&&(b=b.prototype,d=d.prototype,!b.isPrototypeOf(a)&&!d.isPrototypeOf(a)&&B.ef("object '"+a+"' doesn't match prototype "+b+" or "+d,1,e))};v("AdfAssert.assertPrototypes",B.D2a);
B.YAa=function(a,b){B.bc&&a&&a.nodeType==k&&B.ef(a+" is not a DOM Node",b+1)};v("AdfAssert.assertDomNodeOrNull",B.YAa);B.ub=function(a,b){B.bc&&(!a||a.nodeType==k)&&B.ef(a+" is not a DOM Node",b+1)};v("AdfAssert.assertDomNode",B.ub);B.p=function(a,b){B.bc&&(B.ub(a,1),1!=a.nodeType?B.ef(a+" is not a DOM Element",1):b&&a.nodeName!=b&&B.ef(a+" is not a "+b+" Element",1))};v("AdfAssert.assertDomElement",B.p);
B.Kr=function(a,b){B.bc&&a!=n&&(B.ub(a,1),1!=a.nodeType?B.ef(a+" is not a DOM Element",1):b&&a.nodeName!=b&&B.ef(a+" is not a "+b+" Element",1))};v("AdfAssert.assertDomElementOrNull",B.Kr);B.np=function(a,b,d,e,f){if(B.bc&&!(a==n&&f||typeof a==b))a=a+" is not of type "+b,d&&(a=d+a),e||(e=0),B.ef(a,e+1)};v("AdfAssert.assertType",B.np);B.zc=function(a,b){B.bc&&B.np(a,"object",b,1,p)};v("AdfAssert.assertObject",B.zc);B.ih=function(a,b){B.bc&&B.np(a,"object",b,1,l)};v("AdfAssert.assertObjectOrNull",B.ih);
B.Wa=function(a){B.bc&&(B.assert(xa.bD(a),a+" is not a string"),B.assert(0<a.length,"empty string"))};v("AdfAssert.assertNonEmptyString",B.Wa);B.s=function(a){B.bc&&B.assert(xa.bD(a),a+" is not a string")};v("AdfAssert.assertString",B.s);B.Cd=function(a){B.bc&&B.assert(a==n||xa.bD(a),a+" is not null or a string")};v("AdfAssert.assertStringOrNull",B.Cd);B.Da=function(a,b){B.bc&&B.np(a,"function",b,1,p)};v("AdfAssert.assertFunction",B.Da);B.nC=function(a,b){B.bc&&B.np(a,"function",b,1,l)};
v("AdfAssert.assertFunctionOrNull",B.nC);B.pc=function(a,b){B.bc&&B.np(a,"boolean",b,1,p)};v("AdfAssert.assertBoolean",B.pc);B.XAa=function(a,b){B.bc&&B.np(a,"boolean",b,1,l)};v("AdfAssert.assertBooleanOrNull",B.XAa);B.Ea=function(a,b){B.bc&&B.np(a,"number",b,1,p)};v("AdfAssert.assertNumber",B.Ea);B.Ql=function(a,b){B.bc&&B.np(a,"number",b,1,l)};v("AdfAssert.assertNumberOrNull",B.Ql);B.yc=function(a,b){B.bc&&!ya.isArray(a)&&(b==k&&(b=a+" is not an array"),B.ef(b,1))};v("AdfAssert.assertArray",B.yc);
B.Jf=function(a,b){B.bc&&a!=n&&!ya.isArray(a)&&(b==k&&(b=a+" is not an array"),B.ef(b,1))};v("AdfAssert.assertArrayOrNull",B.Jf);B.C2a=function(a,b){B.bc&&!isNaN(a)&&(b==k&&(b=a+" is convertible to a number"),B.ef(b,1))};v("AdfAssert.assertNonNumeric",B.C2a);B.df=function(a,b){B.bc&&isNaN(a)&&(b==k&&(b=a+" is not convertible to a number"),B.ef(b,1))};v("AdfAssert.assertNumeric",B.df);
B.ZAa=function(a,b,d){if(a==n||b[a.toString()]==k){if(d==k){d=" is not in set: {";for(var e in b)d+=e,d+=",";d=a+(d+"}")}B.ef(d,1)}};v("AdfAssert.assertInSet",B.ZAa);B.ef=function(a,b,d){b||(b=0);var e="Assertion";d&&(e+=" ("+d+")");e+=" failed: ";a!=k&&(e+=a);a=B.T$(b+1);a=B.Gva(a);e+="\nStackTrace:\n"+a;a=Error(e);alert(e);aa(a)};v("AdfAssert.assertionFailed",B.ef);
B.iR=function(a){var b=a[B.EK];if(b==k){var b=a.toString(),d=b.indexOf("("),e=b.lastIndexOf(" ",d),b=b.substring(e+1,d);b.length||(b=n);a[B.EK]=b}return b};v("AdfAssert.getFunctionName",B.iR);B.DCa=function(){return B.Gva(B.T$(1))};v("AdfAssert.getStackString",B.DCa);B.T$=function(a){a==k&&(a=0);B.assert(0<=a);var b=[];try{for(var d=B.T$.caller;d&&b.length<B.BLa;)a?a--:b.push(d),d=d.caller}catch(e){}return b};
B.sva=function(a){var b=a[B.Epa];if(b==k){var b=a.toString(),d=b.indexOf("("),e=b.indexOf(")",d+1),b=b.substring(d,e+1),b=b.replace(/\s+/g,"");b.length||(b=n);a[B.Epa]=b}return b};
B.Gva=function(a){if(!a)return"";for(var b=a.length,d=Array(b),e=0;e<b;e++){var f=a[e],g=B.iR(f);g||(g="anonymous");var h=f[B.O2];h&&(g=h+"."+g);var h=B.sva(f),m=f.arguments,q=m.length,f=n;if(q)for(var f=Array(q),s=0;s<q;s++){var y=m[s];if("function"==typeof y){var A=B.iR(y);A||(A="anonymous");y=B.sva(y);y="function "+A+y}f[s]=y}m=[];m[0]=g;m[1]=h;f&&(m[2]="\n",m[3]="[",m[4]=B.p0a(f),m[5]="]");d[e]=m.join("")}return d.join("\n")};
B.p0a=function(a){for(var b=a.length,d="",e=0;e<b;e++){var f=a[e],d=d+(f?f.toString?f.toString():"Unknown":"(empty)");e<b-1&&(d+=",")}return d};B.Epa="_funcParams";