//>>built define(["dojo","dojox"],function(p,t){function h(a,b,c){null!=a&&("number"==typeof a?this._fromNumber(a,b,c):b||"string"==typeof a?this._fromString(a,b):this._fromString(a,256))}function l(){return new h(null)}function A(a,b,c,d,e,f){for(;0<=--f;){var g=b*this[a++]+c[d]+e;e=Math.floor(g/67108864);c[d++]=g&67108863}return e}function B(a,b,c,d,e,f){var g=b&32767;for(b>>=15;0<=--f;){var v=this[a]&32767,h=this[a++]>>15,k=b*v+h*g,v=g*v+((k&32767)<<15)+c[d]+(e&1073741823);e=(v>>>30)+(k>>>15)+b*h+(e>>>30); c[d++]=v&1073741823}return e}function C(a,b,c,d,e,f){var g=b&16383;for(b>>=14;0<=--f;){var h=this[a]&16383,k=this[a++]>>14,l=b*h+k*g,h=g*h+((l&16383)<<14)+c[d]+e;e=(h>>28)+(l>>14)+b*k;c[d++]=h&268435455}return e}function x(a){var b=l();b._fromInt(a);return b}function w(a){var b=1,c;if(c=a>>>16)a=c,b+=16;if(c=a>>8)a=c,b+=8;if(c=a>>4)a=c,b+=4;if(c=a>>2)a=c,b+=2;if(c=a>>1)a=c,b+=1;return b}function z(a){this.m=a}function y(a){this.m=a;this.mp=a._invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15; this.um=(1<=k;++k)n[q++]=k;q=97;for(k=10;36>k;++k)n[q++]=k;q=65;for(k=10;36>k;++k)n[q++]=k;p.extend(z,{convert:function(a){return 0>a.s||0<=a.compareTo(this.m)?a.mod(this.m):a},revert:function(a){return a},reduce:function(a){a._divRemTo(this.m, null,a)},mulTo:function(a,b,c){a._multiplyTo(b,c);this.reduce(c)},sqrTo:function(a,b){a._squareTo(b);this.reduce(b)}});p.extend(y,{convert:function(a){var b=l();a.abs()._dlShiftTo(this.m.t,b);b._divRemTo(this.m,null,b);0>a.s&&0>15)*this.mpl&this.um)<<15)&a._DM, c=b+this.m.t;for(a[c]+=this.m.am(0,d,a,b,0,this.m.t);a[c]>=a._DV;)a[c]-=a._DV,a[++c]++}a._clamp();a._drShiftTo(this.m.t,a);0<=a.compareTo(this.m)&&a._subTo(this.m,a)},mulTo:function(a,b,c){a._multiplyTo(b,c);this.reduce(c)},sqrTo:function(a,b){a._squareTo(b);this.reduce(b)}});p.extend(h,{_DB:m,_DM:(1<a?-1:0;0 a?this[0]=a+_DV:this.t=0},_fromString:function(a,b){if(16==b)b=4;else if(8==b)b=3;else if(256==b)b=8;else if(2==b)b=1;else if(32==b)b=5;else if(4==b)b=2;else{this._fromRadix(a,b);return}this.s=this.t=0;for(var c=a.length,d=!1,e=0;0<=--c;){var f;8==b?f=a[c]&255:(f=n[a.charCodeAt(c)],f=null==f?-1:f);0>f?"-"==a.charAt(c)&&(d=!0):(d=!1,0==e?this[this.t++]=f:e+b>this._DB?(this[this.t-1]|=(f&(1<>this._DB-e):this[this.t-1]|=f<=this._DB&&(e-=this._DB))}8==b&& 0!=(a[0]&128)&&(this.s=-1,0>d|f,f=(this[g]&e)<=this.t)b.t=0;else{a%=this._DB;var d=this._DB-a,e=(1<>a;for(var f=c+1;f>a;0>=this._DB;if(a.t>=this._DB;d+=this.s}else{for(d+=this.s;c>=this._DB;d-=a.s}b.s=0>d?-1:0;-1>d?b[c++]=this._DV+d:0=b._DV&&(a[c+b.t]-=b._DV,a[c+b.t+1]=1)}0=d.t)){var e=this.abs();if(e.t>this._F2:0),p=this._FV/m,m=(1<g&&h.ZERO._subTo(c,c)}}}},_invDigit:function(){if(1>this.t)return 0;var a=this[0];if(0==(a&1))return 0;var b=a&3,b=b*(2-(a&15)*b)&15,b=b*(2-(a&255)*b)&255,b=b*(2-((a&65535)*b&65535))&65535,b=b*(2-a*b%this._DV)%this._DV;return 0a)return h.ONE;var c=l(),d=l(),e=b.convert(this),f=w(a)-1;for(e._copyTo(c);0<=--f;)if(b.sqrTo(c,d),0<(a&1<this.s)return"-"+this.negate().toString(a);if(16==a)a=4;else if(8==a)a=3;else if(2==a)a=1;else if(32==a)a=5;else if(4==a)a=2;else return this._toRadix(a);var b=(1<>g)&&(d=!0,e="0123456789abcdefghijklmnopqrstuvwxyz".charAt(c));0<=f;)g>(g+=this._DB-a)):(c=this[f]>>(g-=a)&b,0>=g&&(g+=this._DB,--f)),0this.s?this.negate():this},compareTo:function(a){var b=this.s-a.s;if(b)return b;var c=this.t;if(b=c-a.t)return b;for(;0<=--c;)if(b=this[c]-a[c])return b;return 0},bitLength:function(){return 0>=this.t?0:this._DB*(this.t-1)+w(this[this.t-1]^this.s&this._DM)},mod:function(a){var b=l();this.abs()._divRemTo(a,null,b);0>this.s&&0 a||b._isEven()?new z(b):new y(b);return this._exp(a,b)}});p._mixin(h,{ZERO:x(0),ONE:x(1),_nbi:l,_nbv:x,_nbits:w,_Montgomery:y});t.math.BigInteger=h;return t.math.BigInteger});