UNPKG

rsa-long

Version:

rsa分段加、解密

1 lines 264 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).rsaLong={})}(this,function(t){"use strict";var o={userAgent:!1},e={};void 0===Ve&&(Ve={}),Ve.lang={extend:function(t,e,i){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");function n(){}if(n.prototype=e.prototype,t.prototype=new n,(t.prototype.constructor=t).superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),i){for(var r in i)t.prototype[r]=i[r];var s=function(){},a=["toString","valueOf"];try{/MSIE/.test(o.userAgent)&&(s=function(t,e){for(r=0;r<a.length;r+=1){var i=a[r],n=e[i];"function"==typeof n&&n!=Object.prototype[i]&&(t[i]=n)}})}catch(t){}s(t.prototype,i)}}};var u,i,c,n,r,s,a,h,l,f,g,d,p,y,m,v,x,S,E,F,w,b,A,D,C,I,P,R,H,T,B,N,O,j,V,K,L,k,q,M=M||(u=Math,K=(Oe={}).lib={},i=K.Base={extend:function(t){_.prototype=this;var e=new _;return t&&e.mixIn(t),e.hasOwnProperty("init")||(e.init=function(){e.$super.init.apply(this,arguments)}),(e.init.prototype=e).$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},c=K.WordArray=i.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||n).stringify(this)},concat:function(t){var e=this.words,i=t.words,n=this.sigBytes,r=t.sigBytes;if(this.clamp(),n%4)for(var s=0;s<r;s++){var a=i[s>>>2]>>>24-s%4*8&255;e[n+s>>>2]|=a<<24-(n+s)%4*8}else for(s=0;s<r;s+=4)e[n+s>>>2]=i[s>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,e=this.sigBytes;t[e>>>2]&=4294967295<<32-e%4*8,t.length=u.ceil(e/4)},clone:function(){var t=i.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],i=0;i<t;i+=4)e.push(4294967296*u.random()|0);return new c.init(e,t)}}),je=Oe.enc={},n=je.Hex={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],r=0;r<i;r++){var s=e[r>>>2]>>>24-r%4*8&255;n.push((s>>>4).toString(16)),n.push((15&s).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n<e;n+=2)i[n>>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new c.init(i,e/2)}},r=je.Latin1={stringify:function(t){for(var e=t.words,i=t.sigBytes,n=[],r=0;r<i;r++){var s=e[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(s))}return n.join("")},parse:function(t){for(var e=t.length,i=[],n=0;n<e;n++)i[n>>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new c.init(i,e)}},s=je.Utf8={stringify:function(t){try{return decodeURIComponent(escape(r.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return r.parse(unescape(encodeURIComponent(t)))}},a=K.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=s.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var e=this._data,i=e.words,n=e.sigBytes,r=this.blockSize,s=n/(4*r),a=(s=t?u.ceil(s):u.max((0|s)-this._minBufferSize,0))*r,n=u.min(4*a,n);if(a){for(var o=0;o<a;o+=r)this._doProcessBlock(i,o);var h=i.splice(0,a);e.sigBytes-=n}return new c.init(h,n)},clone:function(){var t=i.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0}),K.Hasher=a.extend({cfg:i.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){a.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(i){return function(t,e){return new i.init(e).finalize(t)}},_createHmacHelper:function(i){return function(t,e){return new h.HMAC.init(i,e).finalize(t)}}}),h=Oe.algo={},Oe);function _(){}function U(t,e){e=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=e,this._lBlock^=e<<t}function z(t,e){e=(this._rBlock>>>t^this._lBlock)&e;this._lBlock^=e,this._rBlock^=e<<t}K=(je=M).lib,l=K.Base,f=K.WordArray,(je=je.x64={}).Word=l.extend({init:function(t,e){this.high=t,this.low=e}}),je.WordArray=l.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:8*t.length},toX32:function(){for(var t=this.words,e=t.length,i=[],n=0;n<e;n++){var r=t[n];i.push(r.high),i.push(r.low)}return f.create(i,this.sigBytes)},clone:function(){for(var t=l.clone.call(this),e=t.words=this.words.slice(0),i=e.length,n=0;n<i;n++)e[n]=e[n].clone();return t}}),M.lib.Cipher||function(){var t=(f=M).lib,e=t.Base,a=t.WordArray,i=t.BufferedBlockAlgorithm,n=f.enc.Base64,r=f.algo.EvpKDF,s=t.Cipher=i.extend({cfg:e.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,i){this.cfg=this.cfg.extend(i),this._xformMode=t,this._key=e,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(n){return{encrypt:function(t,e,i){return("string"==typeof e?g:l).encrypt(n,t,e,i)},decrypt:function(t,e,i){return("string"==typeof e?g:l).decrypt(n,t,e,i)}}}});t.StreamCipher=s.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});function o(t,e,i){var n=this._iv;n?this._iv=void 0:n=this._prevBlock;for(var r=0;r<i;r++)t[e+r]^=n[r]}var h=f.mode={},u=(t.BlockCipherMode=e.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}})).extend();u.Encryptor=u.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize;o.call(this,t,e,n),i.encryptBlock(t,e),this._prevBlock=t.slice(e,e+n)}}),u.Decryptor=u.extend({processBlock:function(t,e){var i=this._cipher,n=i.blockSize,r=t.slice(e,e+n);i.decryptBlock(t,e),o.call(this,t,e,n),this._prevBlock=r}}),h=h.CBC=u,u=(f.pad={}).Pkcs7={pad:function(t,e){for(var i=4*e,n=(i=i-t.sigBytes%i)<<24|i<<16|i<<8|i,r=[],s=0;s<i;s+=4)r.push(n);i=a.create(r,i),t.concat(i)},unpad:function(t){t.sigBytes-=255&t.words[t.sigBytes-1>>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:h,padding:u}),reset:function(){s.reset.call(this);var t,e=(i=this.cfg).iv,i=i.mode;this._xformMode==this._ENC_XFORM_MODE?t=i.createEncryptor:(t=i.createDecryptor,this._minBufferSize=1),this._mode=t.call(i,this,e&&e.words)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4});var c=t.CipherParams=e.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),h=(f.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext;return((t=t.salt)?a.create([1398893684,1701076831]).concat(t).concat(e):e).toString(n)},parse:function(t){var e,i=(t=n.parse(t)).words;return 1398893684==i[0]&&1701076831==i[1]&&(e=a.create(i.slice(2,4)),i.splice(0,4),t.sigBytes-=16),c.create({ciphertext:t,salt:e})}},l=t.SerializableCipher=e.extend({cfg:e.extend({format:h}),encrypt:function(t,e,i,n){n=this.cfg.extend(n);var r=t.createEncryptor(i,n);return e=r.finalize(e),r=r.cfg,c.create({ciphertext:e,key:i,iv:r.iv,algorithm:t,mode:r.mode,padding:r.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(i,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),f=(f.kdf={}).OpenSSL={execute:function(t,e,i,n){return n=n||a.random(8),t=r.create({keySize:e+i}).compute(t,n),i=a.create(t.words.slice(e),4*i),t.sigBytes=4*e,c.create({key:t,iv:i,salt:n})}},g=t.PasswordBasedCipher=l.extend({cfg:l.cfg.extend({kdf:f}),encrypt:function(t,e,i,n){return i=(n=this.cfg.extend(n)).kdf.execute(i,t.keySize,t.ivSize),n.iv=i.iv,(t=l.encrypt.call(this,t,e,i.key,n)).mixIn(i),t},decrypt:function(t,e,i,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),i=n.kdf.execute(i,t.keySize,t.ivSize,e.salt),n.iv=i.iv,l.decrypt.call(this,t,e,i.key,n)}})}(),function(){for(var t=M,e=t.lib.BlockCipher,i=t.algo,a=[],n=[],r=[],s=[],o=[],h=[],u=[],c=[],l=[],f=[],g=[],d=0;d<256;d++)g[d]=d<128?d<<1:d<<1^283;for(var p=0,y=0,d=0;d<256;d++){var m=(m=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&m^99;a[p]=m;var v=g[n[m]=p],x=g[v],S=g[x],E=257*g[m]^16843008*m;r[p]=E<<24|E>>>8,s[p]=E<<16|E>>>16,o[p]=E<<8|E>>>24,h[p]=E,E=16843009*S^65537*x^257*v^16843008*p,u[m]=E<<24|E>>>8,c[m]=E<<16|E>>>16,l[m]=E<<8|E>>>24,f[m]=E,p?(p=v^g[g[g[S^v]]],y^=g[g[y]]):p=y=1}var F=[0,1,2,4,8,16,32,64,128,27,54],i=i.AES=e.extend({_doReset:function(){for(var t,e=(n=this._key).words,i=n.sigBytes/4,n=4*((this._nRounds=i+6)+1),r=this._keySchedule=[],s=0;s<n;s++)s<i?r[s]=e[s]:(t=r[s-1],s%i?6<i&&4==s%i&&(t=a[t>>>24]<<24|a[t>>>16&255]<<16|a[t>>>8&255]<<8|a[255&t]):(t=a[(t=t<<8|t>>>24)>>>24]<<24|a[t>>>16&255]<<16|a[t>>>8&255]<<8|a[255&t],t^=F[s/i|0]<<24),r[s]=r[s-i]^t);for(e=this._invKeySchedule=[],i=0;i<n;i++)s=n-i,t=i%4?r[s]:r[s-4],e[i]=i<4||s<=4?t:u[a[t>>>24]]^c[a[t>>>16&255]]^l[a[t>>>8&255]]^f[a[255&t]]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,r,s,o,h,a)},decryptBlock:function(t,e){var i=t[e+1];t[e+1]=t[e+3],t[e+3]=i,this._doCryptBlock(t,e,this._invKeySchedule,u,c,l,f,n),i=t[e+1],t[e+1]=t[e+3],t[e+3]=i},_doCryptBlock:function(t,e,i,n,r,s,a,o){for(var h=this._nRounds,u=t[e]^i[0],c=t[e+1]^i[1],l=t[e+2]^i[2],f=t[e+3]^i[3],g=4,d=1;d<h;d++)var p=n[u>>>24]^r[c>>>16&255]^s[l>>>8&255]^a[255&f]^i[g++],y=n[c>>>24]^r[l>>>16&255]^s[f>>>8&255]^a[255&u]^i[g++],m=n[l>>>24]^r[f>>>16&255]^s[u>>>8&255]^a[255&c]^i[g++],f=n[f>>>24]^r[u>>>16&255]^s[c>>>8&255]^a[255&l]^i[g++],u=p,c=y,l=m;p=(o[u>>>24]<<24|o[c>>>16&255]<<16|o[l>>>8&255]<<8|o[255&f])^i[g++],y=(o[c>>>24]<<24|o[l>>>16&255]<<16|o[f>>>8&255]<<8|o[255&u])^i[g++],m=(o[l>>>24]<<24|o[f>>>16&255]<<16|o[u>>>8&255]<<8|o[255&c])^i[g++],f=(o[f>>>24]<<24|o[u>>>16&255]<<16|o[c>>>8&255]<<8|o[255&l])^i[g++],t[e]=p,t[e+1]=y,t[e+2]=m,t[e+3]=f},keySize:8});t.AES=e._createHelper(i)}(),g=(K=(Oe=M).lib).WordArray,K=K.BlockCipher,je=Oe.algo,d=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],p=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],y=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],m=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],v=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],x=je.DES=K.extend({_doReset:function(){for(var t=this._key.words,e=[],i=0;i<56;i++){var n=d[i]-1;e[i]=t[n>>>5]>>>31-n%32&1}for(t=this._subKeys=[],n=0;n<16;n++){for(var r=t[n]=[],s=y[n],i=0;i<24;i++)r[i/6|0]|=e[(p[i]-1+s)%28]<<31-i%6,r[4+(i/6|0)]|=e[28+(p[i+24]-1+s)%28]<<31-i%6;for(r[0]=r[0]<<1|r[0]>>>31,i=1;i<7;i++)r[i]>>>=4*(i-1)+3;r[7]=r[7]<<5|r[7]>>>27}for(e=this._invSubKeys=[],i=0;i<16;i++)e[i]=t[15-i]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,i){this._lBlock=t[e],this._rBlock=t[e+1],U.call(this,4,252645135),U.call(this,16,65535),z.call(this,2,858993459),z.call(this,8,16711935),U.call(this,1,1431655765);for(var n=0;n<16;n++){for(var r=i[n],s=this._lBlock,a=this._rBlock,o=0,h=0;h<8;h++)o|=m[h][((a^r[h])&v[h])>>>0];this._lBlock=a,this._rBlock=s^o}i=this._lBlock,this._lBlock=this._rBlock,this._rBlock=i,U.call(this,1,1431655765),z.call(this,8,16711935),z.call(this,2,858993459),U.call(this,16,65535),U.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2}),Oe.DES=K._createHelper(x),je=je.TripleDES=K.extend({_doReset:function(){var t=this._key.words;this._des1=x.createEncryptor(g.create(t.slice(0,2))),this._des2=x.createEncryptor(g.create(t.slice(2,4))),this._des3=x.createEncryptor(g.create(t.slice(4,6)))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2}),Oe.TripleDES=K._createHelper(je),S=M.lib.WordArray,M.enc.Base64={stringify:function(t){var e=t.words,i=t.sigBytes,n=this._map;t.clamp(),t=[];for(var r=0;r<i;r+=3)for(var s=(e[r>>>2]>>>24-r%4*8&255)<<16|(e[r+1>>>2]>>>24-(r+1)%4*8&255)<<8|e[r+2>>>2]>>>24-(r+2)%4*8&255,a=0;a<4&&r+.75*a<i;a++)t.push(n.charAt(s>>>6*(3-a)&63));if(e=n.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var e=t.length,i=this._map;!(s=i.charAt(64))||-1!=(s=t.indexOf(s))&&(e=s);for(var n,r,s=[],a=0,o=0;o<e;o++)o%4&&(n=i.indexOf(t.charAt(o-1))<<o%4*2,r=i.indexOf(t.charAt(o))>>>6-o%4*2,s[a>>>2]|=(n|r)<<24-a%4*8,a++);return S.create(s,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(s){function w(t,e,i,n,r,s,a){return((t=t+(e&i|~e&n)+r+a)<<s|t>>>32-s)+e}function b(t,e,i,n,r,s,a){return((t=t+(e&n|i&~n)+r+a)<<s|t>>>32-s)+e}function A(t,e,i,n,r,s,a){return((t=t+(e^i^n)+r+a)<<s|t>>>32-s)+e}function D(t,e,i,n,r,s,a){return((t=t+(i^(e|~n))+r+a)<<s|t>>>32-s)+e}for(var t=M,e=(n=t.lib).WordArray,i=n.Hasher,n=t.algo,C=[],r=0;r<64;r++)C[r]=4294967296*s.abs(s.sin(r+1))|0;n=n.MD5=i.extend({_doReset:function(){this._hash=new e.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var i=0;i<16;i++){var n=t[r=e+i];t[r]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}var i=this._hash.words,r=t[e+0],n=t[e+1],s=t[e+2],a=t[e+3],o=t[e+4],h=t[e+5],u=t[e+6],c=t[e+7],l=t[e+8],f=t[e+9],g=t[e+10],d=t[e+11],p=t[e+12],y=t[e+13],m=t[e+14],v=t[e+15],x=w(x=i[0],F=i[1],E=i[2],S=i[3],r,7,C[0]),S=w(S,x,F,E,n,12,C[1]),E=w(E,S,x,F,s,17,C[2]),F=w(F,E,S,x,a,22,C[3]),x=w(x,F,E,S,o,7,C[4]),S=w(S,x,F,E,h,12,C[5]),E=w(E,S,x,F,u,17,C[6]),F=w(F,E,S,x,c,22,C[7]),x=w(x,F,E,S,l,7,C[8]),S=w(S,x,F,E,f,12,C[9]),E=w(E,S,x,F,g,17,C[10]),F=w(F,E,S,x,d,22,C[11]),x=w(x,F,E,S,p,7,C[12]),S=w(S,x,F,E,y,12,C[13]),E=w(E,S,x,F,m,17,C[14]),x=b(x,F=w(F,E,S,x,v,22,C[15]),E,S,n,5,C[16]),S=b(S,x,F,E,u,9,C[17]),E=b(E,S,x,F,d,14,C[18]),F=b(F,E,S,x,r,20,C[19]),x=b(x,F,E,S,h,5,C[20]),S=b(S,x,F,E,g,9,C[21]),E=b(E,S,x,F,v,14,C[22]),F=b(F,E,S,x,o,20,C[23]),x=b(x,F,E,S,f,5,C[24]),S=b(S,x,F,E,m,9,C[25]),E=b(E,S,x,F,a,14,C[26]),F=b(F,E,S,x,l,20,C[27]),x=b(x,F,E,S,y,5,C[28]),S=b(S,x,F,E,s,9,C[29]),E=b(E,S,x,F,c,14,C[30]),x=A(x,F=b(F,E,S,x,p,20,C[31]),E,S,h,4,C[32]),S=A(S,x,F,E,l,11,C[33]),E=A(E,S,x,F,d,16,C[34]),F=A(F,E,S,x,m,23,C[35]),x=A(x,F,E,S,n,4,C[36]),S=A(S,x,F,E,o,11,C[37]),E=A(E,S,x,F,c,16,C[38]),F=A(F,E,S,x,g,23,C[39]),x=A(x,F,E,S,y,4,C[40]),S=A(S,x,F,E,r,11,C[41]),E=A(E,S,x,F,a,16,C[42]),F=A(F,E,S,x,u,23,C[43]),x=A(x,F,E,S,f,4,C[44]),S=A(S,x,F,E,p,11,C[45]),E=A(E,S,x,F,v,16,C[46]),x=D(x,F=A(F,E,S,x,s,23,C[47]),E,S,r,6,C[48]),S=D(S,x,F,E,c,10,C[49]),E=D(E,S,x,F,m,15,C[50]),F=D(F,E,S,x,h,21,C[51]),x=D(x,F,E,S,p,6,C[52]),S=D(S,x,F,E,a,10,C[53]),E=D(E,S,x,F,g,15,C[54]),F=D(F,E,S,x,n,21,C[55]),x=D(x,F,E,S,l,6,C[56]),S=D(S,x,F,E,v,10,C[57]),E=D(E,S,x,F,u,15,C[58]),F=D(F,E,S,x,y,21,C[59]),x=D(x,F,E,S,o,6,C[60]),S=D(S,x,F,E,d,10,C[61]),E=D(E,S,x,F,s,15,C[62]),F=D(F,E,S,x,f,21,C[63]);i[0]=i[0]+x|0,i[1]=i[1]+F|0,i[2]=i[2]+E|0,i[3]=i[3]+S|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32;var r=s.floor(i/4294967296);for(e[15+(64+n>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),e[14+(64+n>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process(),e=(t=this._hash).words,i=0;i<4;i++)n=e[i],e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);return t},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t}}),t.MD5=i._createHelper(n),t.HmacMD5=i._createHmacHelper(n)}(Math),E=(K=(Oe=M).lib).WordArray,F=K.Hasher,w=[],K=Oe.algo.SHA1=F.extend({_doReset:function(){this._hash=new E.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i,n=this._hash.words,r=n[0],s=n[1],a=n[2],o=n[3],h=n[4],u=0;u<80;u++)u<16?w[u]=0|t[e+u]:(i=w[u-3]^w[u-8]^w[u-14]^w[u-16],w[u]=i<<1|i>>>31),i=(r<<5|r>>>27)+h+w[u],i=u<20?i+(1518500249+(s&a|~s&o)):u<40?i+(1859775393+(s^a^o)):u<60?i+((s&a|s&o|a&o)-1894007588):i+((s^a^o)-899497514),h=o,o=a,a=s<<30|s>>>2,s=r,r=i;n[0]=n[0]+r|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+h|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(64+n>>>9<<4)]=Math.floor(i/4294967296),e[15+(64+n>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=F.clone.call(this);return t._hash=this._hash.clone(),t}}),Oe.SHA1=F._createHelper(K),Oe.HmacSHA1=F._createHmacHelper(K),function(r){for(var t,e=M,i=(s=e.lib).WordArray,n=s.Hasher,s=e.algo,a=[],d=[],o=function(t){return 4294967296*(t-(0|t))|0},h=2,u=0;u<64;){t:{t=h;for(var c=r.sqrt(t),l=2;l<=c;l++)if(!(t%l)){t=!1;break t}t=!0}t&&(u<8&&(a[u]=o(r.pow(h,.5))),d[u]=o(r.pow(h,1/3)),u++),h++}var p=[],s=s.SHA256=n.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(t,e){for(var i,n,r=this._hash.words,s=r[0],a=r[1],o=r[2],h=r[3],u=r[4],c=r[5],l=r[6],f=r[7],g=0;g<64;g++)g<16?p[g]=0|t[e+g]:(i=p[g-15],n=p[g-2],p[g]=((i<<25|i>>>7)^(i<<14|i>>>18)^i>>>3)+p[g-7]+((n<<15|n>>>17)^(n<<13|n>>>19)^n>>>10)+p[g-16]),i=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+d[g]+p[g],n=((s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22))+(s&a^s&o^a&o),f=l,l=c,c=u,u=h+i|0,h=o,o=a,a=s,s=i+n|0;r[0]=r[0]+s|0,r[1]=r[1]+a|0,r[2]=r[2]+o|0,r[3]=r[3]+h|0,r[4]=r[4]+u|0,r[5]=r[5]+c|0,r[6]=r[6]+l|0,r[7]=r[7]+f|0},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(64+n>>>9<<4)]=r.floor(i/4294967296),e[15+(64+n>>>9<<4)]=i,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=n._createHelper(s),e.HmacSHA256=n._createHmacHelper(s)}(Math),b=(je=M).lib.WordArray,A=(Oe=je.algo).SHA256,Oe=Oe.SHA224=A.extend({_doReset:function(){this._hash=new b.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=A._doFinalize.call(this);return t.sigBytes-=4,t}}),je.SHA224=A._createHelper(Oe),je.HmacSHA224=A._createHmacHelper(Oe),function(){function t(){return n.create.apply(n,arguments)}for(var e=M,i=e.lib.Hasher,n=(s=e.x64).Word,r=s.WordArray,s=e.algo,et=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],it=[],a=0;a<80;a++)it[a]=t();s=s.SHA512=i.extend({_doReset:function(){this._hash=new r.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var i=(u=this._hash.words)[0],n=u[1],r=u[2],s=u[3],a=u[4],o=u[5],h=u[6],u=u[7],c=i.high,l=i.low,f=n.high,g=n.low,d=r.high,p=r.low,y=s.high,m=s.low,v=a.high,x=a.low,S=o.high,E=o.low,F=h.high,w=h.low,b=u.high,A=u.low,D=c,C=l,I=f,P=g,R=d,H=p,T=y,B=m,N=v,O=x,j=S,V=E,K=F,L=w,k=b,q=A,M=0;M<80;M++){var _,U=it[M];M<16?(_=U.high=0|t[e+2*M],G=U.low=0|t[e+2*M+1]):(_=((G=(_=it[M-15]).high)>>>1|(Y=_.low)<<31)^(G>>>8|Y<<24)^G>>>7,Y=(Y>>>1|G<<31)^(Y>>>8|G<<24)^(Y>>>7|G<<25),$=((G=($=it[M-2]).high)>>>19|(z=$.low)<<13)^(G<<3|z>>>29)^G>>>6,z=(z>>>19|G<<13)^(z<<3|G>>>29)^(z>>>6|G<<26),J=(G=it[M-7]).high,tt=(W=it[M-16]).high,W=W.low,_=(_=(_=_+J+((G=Y+G.low)>>>0<Y>>>0?1:0))+$+((G=G+z)>>>0<z>>>0?1:0))+tt+((G=G+W)>>>0<W>>>0?1:0),U.high=_,U.low=G);var z,G,J=N&j^~N&K,W=O&V^~O&L,U=D&I^D&R^I&R,X=C&P^C&H^P&H,Y=(D>>>28|C<<4)^(D<<30|C>>>2)^(D<<25|C>>>7),$=(C>>>28|D<<4)^(C<<30|D>>>2)^(C<<25|D>>>7),Z=(z=et[M]).high,Q=z.low,tt=k+((N>>>14|O<<18)^(N>>>18|O<<14)^(N<<23|O>>>9))+((z=q+((O>>>14|N<<18)^(O>>>18|N<<14)^(O<<23|N>>>9)))>>>0<q>>>0?1:0),k=K,q=L,K=j,L=V,j=N,V=O,N=T+(tt=(tt=(tt=tt+J+((z=z+W)>>>0<W>>>0?1:0))+Z+((z=z+Q)>>>0<Q>>>0?1:0))+_+((z=z+G)>>>0<G>>>0?1:0))+((O=B+z|0)>>>0<B>>>0?1:0)|0,T=R,B=H,R=I,H=P,I=D,P=C,D=tt+(U=Y+U+((G=$+X)>>>0<$>>>0?1:0))+((C=z+G|0)>>>0<z>>>0?1:0)|0}l=i.low=l+C,i.high=c+D+(l>>>0<C>>>0?1:0),g=n.low=g+P,n.high=f+I+(g>>>0<P>>>0?1:0),p=r.low=p+H,r.high=d+R+(p>>>0<H>>>0?1:0),m=s.low=m+B,s.high=y+T+(m>>>0<B>>>0?1:0),x=a.low=x+O,a.high=v+N+(x>>>0<O>>>0?1:0),E=o.low=E+V,o.high=S+j+(E>>>0<V>>>0?1:0),w=h.low=w+L,h.high=F+K+(w>>>0<L>>>0?1:0),A=u.low=A+q,u.high=b+k+(A>>>0<q>>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(128+n>>>10<<5)]=Math.floor(i/4294967296),e[31+(128+n>>>10<<5)]=i,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=i.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32}),e.SHA512=i._createHelper(s),e.HmacSHA512=i._createHmacHelper(s)}(),D=(je=(K=M).x64).Word,C=je.WordArray,I=(je=K.algo).SHA512,je=je.SHA384=I.extend({_doReset:function(){this._hash=new C.init([new D.init(3418070365,3238371032),new D.init(1654270250,914150663),new D.init(2438529370,812702999),new D.init(355462360,4144912697),new D.init(1731405415,4290775857),new D.init(2394180231,1750603025),new D.init(3675008525,1694076839),new D.init(1203062813,3204075428)])},_doFinalize:function(){var t=I._doFinalize.call(this);return t.sigBytes-=16,t}}),K.SHA384=I._createHelper(je),K.HmacSHA384=I._createHmacHelper(je),P=(K=(Oe=M).lib).WordArray,R=K.Hasher,K=Oe.algo,H=P.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),T=P.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),B=P.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),N=P.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),O=P.create([0,1518500249,1859775393,2400959708,2840853838]),j=P.create([1352829926,1548603684,1836072691,2053994217,0]),K=K.RIPEMD160=R.extend({_doReset:function(){this._hash=P.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var i=0;i<16;i++){var n=t[c=e+i];t[c]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}for(var r,s,a,o,h,u,c=this._hash.words,n=O.words,l=j.words,f=H.words,g=T.words,d=B.words,p=N.words,y=r=c[0],m=s=c[1],v=a=c[2],x=o=c[3],S=h=c[4],i=0;i<80;i+=1)u=r+t[e+f[i]]|0,u=i<16?u+((s^a^o)+n[0]):i<32?u+((s&a|~s&o)+n[1]):i<48?u+(((s|~a)^o)+n[2]):i<64?u+((s&o|a&~o)+n[3]):u+((s^(a|~o))+n[4]),u=(u=(u|=0)<<d[i]|u>>>32-d[i])+h|0,r=h,h=o,o=a<<10|a>>>22,a=s,s=u,u=y+t[e+g[i]]|0,u=i<16?u+((m^(v|~x))+l[0]):i<32?u+((m&x|v&~x)+l[1]):i<48?u+(((m|~v)^x)+l[2]):i<64?u+((m&v|~m&x)+l[3]):u+((m^v^x)+l[4]),u=(u=(u|=0)<<p[i]|u>>>32-p[i])+S|0,y=S,S=x,x=v<<10|v>>>22,v=m,m=u;u=c[1]+a+x|0,c[1]=c[2]+o+S|0,c[2]=c[3]+h+y|0,c[3]=c[4]+r+m|0,c[4]=c[0]+s+v|0,c[0]=u},_doFinalize:function(){var t=this._data,e=t.words,i=8*this._nDataBytes,n=8*t.sigBytes;for(e[n>>>5]|=128<<24-n%32,e[14+(64+n>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(e.length+1),this._process(),e=(t=this._hash).words,i=0;i<5;i++)n=e[i],e[i]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8);return t},clone:function(){var t=R.clone.call(this);return t._hash=this._hash.clone(),t}}),Oe.RIPEMD160=R._createHelper(K),Oe.HmacRIPEMD160=R._createHmacHelper(K),V=M.enc.Utf8,M.algo.HMAC=M.lib.Base.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=V.parse(e));var i=t.blockSize,n=4*i;e.sigBytes>n&&(e=t.finalize(e)),e.clamp();for(var t=this._oKey=e.clone(),e=this._iKey=e.clone(),r=t.words,s=e.words,a=0;a<i;a++)r[a]^=1549556828,s[a]^=909522486;t.sigBytes=e.sigBytes=n,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher;return t=e.finalize(t),e.reset(),e.finalize(this._oKey.clone().concat(t))}}),Oe=(je=M).lib,K=Oe.Base,L=Oe.WordArray,k=(Oe=je.algo).HMAC,q=Oe.PBKDF2=K.extend({cfg:K.extend({keySize:4,hasher:Oe.SHA1,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var i=this.cfg,n=k.create(i.hasher,t),r=L.create(),s=L.create([1]),a=r.words,o=s.words,h=i.keySize,i=i.iterations;a.length<h;){var u=n.update(e).finalize(s);n.reset();for(var c=u.words,l=c.length,f=u,g=1;g<i;g++){f=n.finalize(f),n.reset();for(var d=f.words,p=0;p<l;p++)c[p]^=d[p]}r.concat(u),o[0]++}return r.sigBytes=4*h,r}}),je.PBKDF2=function(t,e,i){return q.create(i).compute(t,e)};var G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",J="=";function W(t){for(var e,i="",n=0;n+3<=t.length;n+=3)e=parseInt(t.substring(n,n+3),16),i+=G.charAt(e>>6)+G.charAt(63&e);for(n+1==t.length?(e=parseInt(t.substring(n,n+1),16),i+=G.charAt(e<<2)):n+2==t.length&&(e=parseInt(t.substring(n,n+2),16),i+=G.charAt(e>>2)+G.charAt((3&e)<<4));0<(3&i.length);)i+=J;return i}function X(t){for(var e,i,n="",r=0,s=0;s<t.length&&t.charAt(s)!=J;++s)(i=G.indexOf(t.charAt(s)))<0||(r=0==r?(n+=nt(i>>2),e=3&i,1):1==r?(n+=nt(e<<2|i>>4),e=15&i,2):2==r?(n+=nt(e),n+=nt(i>>2),e=3&i,3):(n+=nt(e<<2|i>>4),n+=nt(15&i),0));return 1==r&&(n+=nt(e<<2)),n}function Y(t){for(var e=X(t),i=new Array,n=0;2*n<e.length;++n)i[n]=parseInt(e.substring(2*n,2*n+2),16);return i}function $(t,e,i){null!=t&&("number"==typeof t?this.fromNumber(t,e,i):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function Z(){return new $(null)}$.prototype.am=function(t,e,i,n,r,s){for(;0<=--s;){var a=e*this[t++]+i[n]+r;r=Math.floor(a/67108864),i[n++]=67108863&a}return r},$.prototype.DB=26,$.prototype.DM=67108863,$.prototype.DV=1<<26;$.prototype.FV=Math.pow(2,52),$.prototype.F1=26,$.prototype.F2=0;for(var Q="0123456789abcdefghijklmnopqrstuvwxyz",tt=new Array,et="0".charCodeAt(0),it=0;it<=9;++it)tt[et++]=it;for(et="a".charCodeAt(0),it=10;it<36;++it)tt[et++]=it;for(et="A".charCodeAt(0),it=10;it<36;++it)tt[et++]=it;function nt(t){return Q.charAt(t)}function rt(t,e){e=tt[t.charCodeAt(e)];return null==e?-1:e}function st(t){var e=Z();return e.fromInt(t),e}function at(t){var e,i=1;return 0!=(e=t>>>16)&&(t=e,i+=16),0!=(e=t>>8)&&(t=e,i+=8),0!=(e=t>>4)&&(t=e,i+=4),0!=(e=t>>2)&&(t=e,i+=2),0!=(e=t>>1)&&(t=e,i+=1),i}function ot(t){this.m=t}function ht(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function ut(t,e){return t&e}function ct(t,e){return t|e}function lt(t,e){return t^e}function ft(t,e){return t&~e}function gt(){}function dt(t){return t}function pt(t){this.r2=Z(),this.q3=Z(),$.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}ot.prototype.convert=function(t){return t.s<0||0<=t.compareTo(this.m)?t.mod(this.m):t},ot.prototype.revert=function(t){return t},ot.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},ot.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},ot.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},ht.prototype.convert=function(t){var e=Z();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&0<e.compareTo($.ZERO)&&this.m.subTo(e,e),e},ht.prototype.revert=function(t){var e=Z();return t.copyTo(e),this.reduce(e),e},ht.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var i=32767&t[e],n=i*this.mpl+((i*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[i=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[i]>=t.DV;)t[i]-=t.DV,t[++i]++}t.clamp(),t.drShiftTo(this.m.t,t),0<=t.compareTo(this.m)&&t.subTo(this.m,t)},ht.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},ht.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},$.prototype.copyTo=function(t){for(var e=this.t-1;0<=e;--e)t[e]=this[e];t.t=this.t,t.s=this.s},$.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,0<t?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},$.prototype.fromString=function(t,e){var i;if(16==e)i=4;else if(8==e)i=3;else if(256==e)i=8;else if(2==e)i=1;else if(32==e)i=5;else{if(4!=e)return void this.fromRadix(t,e);i=2}this.t=0,this.s=0;for(var n=t.length,r=!1,s=0;0<=--n;){var a=8==i?255&t[n]:rt(t,n);a<0?"-"==t.charAt(n)&&(r=!0):(r=!1,0==s?this[this.t++]=a:s+i>this.DB?(this[this.t-1]|=(a&(1<<this.DB-s)-1)<<s,this[this.t++]=a>>this.DB-s):this[this.t-1]|=a<<s,(s+=i)>=this.DB&&(s-=this.DB))}8==i&&0!=(128&t[0])&&(this.s=-1,0<s&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),r&&$.ZERO.subTo(this,this)},$.prototype.clamp=function(){for(var t=this.s&this.DM;0<this.t&&this[this.t-1]==t;)--this.t},$.prototype.dlShiftTo=function(t,e){for(var i=this.t-1;0<=i;--i)e[i+t]=this[i];for(i=t-1;0<=i;--i)e[i]=0;e.t=this.t+t,e.s=this.s},$.prototype.drShiftTo=function(t,e){for(var i=t;i<this.t;++i)e[i-t]=this[i];e.t=Math.max(this.t-t,0),e.s=this.s},$.prototype.lShiftTo=function(t,e){for(var i=t%this.DB,n=this.DB-i,r=(1<<n)-1,s=Math.floor(t/this.DB),a=this.s<<i&this.DM,o=this.t-1;0<=o;--o)e[o+s+1]=this[o]>>n|a,a=(this[o]&r)<<i;for(o=s-1;0<=o;--o)e[o]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},$.prototype.rShiftTo=function(t,e){e.s=this.s;var i=Math.floor(t/this.DB);if(i>=this.t)e.t=0;else{var n=t%this.DB,r=this.DB-n,s=(1<<n)-1;e[0]=this[i]>>n;for(var a=i+1;a<this.t;++a)e[a-i-1]|=(this[a]&s)<<r,e[a-i]=this[a]>>n;0<n&&(e[this.t-i-1]|=(this.s&s)<<r),e.t=this.t-i,e.clamp()}},$.prototype.subTo=function(t,e){for(var i=0,n=0,r=Math.min(t.t,this.t);i<r;)n+=this[i]-t[i],e[i++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;i<this.t;)n+=this[i],e[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;i<t.t;)n-=t[i],e[i++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[i++]=this.DV+n:0<n&&(e[i++]=n),e.t=i,e.clamp()},$.prototype.multiplyTo=function(t,e){var i=this.abs(),n=t.abs(),r=i.t;for(e.t=r+n.t;0<=--r;)e[r]=0;for(r=0;r<n.t;++r)e[r+i.t]=i.am(0,n[r],e,r,0,i.t);e.s=0,e.clamp(),this.s!=t.s&&$.ZERO.subTo(e,e)},$.prototype.squareTo=function(t){for(var e=this.abs(),i=t.t=2*e.t;0<=--i;)t[i]=0;for(i=0;i<e.t-1;++i){var n=e.am(i,e[i],t,2*i,0,1);(t[i+e.t]+=e.am(i+1,2*e[i],t,2*i+1,n,e.t-i-1))>=e.DV&&(t[i+e.t]-=e.DV,t[i+e.t+1]=1)}0<t.t&&(t[t.t-1]+=e.am(i,e[i],t,2*i,0,1)),t.s=0,t.clamp()},$.prototype.divRemTo=function(t,e,i){var n=t.abs();if(!(n.t<=0)){var r=this.abs();if(r.t<n.t)return null!=e&&e.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=Z());var s=Z(),a=this.s,o=t.s,t=this.DB-at(n[n.t-1]);0<t?(n.lShiftTo(t,s),r.lShiftTo(t,i)):(n.copyTo(s),r.copyTo(i));var h=s.t,u=s[h-1];if(0!=u){var r=u*(1<<this.F1)+(1<h?s[h-2]>>this.F2:0),c=this.FV/r,l=(1<<this.F1)/r,f=1<<this.F2,g=i.t,d=g-h,p=null==e?Z():e;for(s.dlShiftTo(d,p),0<=i.compareTo(p)&&(i[i.t++]=1,i.subTo(p,i)),$.ONE.dlShiftTo(h,p),p.subTo(s,s);s.t<h;)s[s.t++]=0;for(;0<=--d;){var y=i[--g]==u?this.DM:Math.floor(i[g]*c+(i[g-1]+f)*l);if((i[g]+=s.am(0,y,i,d,0,h))<y)for(s.dlShiftTo(d,p),i.subTo(p,i);i[g]<--y;)i.subTo(p,i)}null!=e&&(i.drShiftTo(h,e),a!=o&&$.ZERO.subTo(e,e)),i.t=h,i.clamp(),0<t&&i.rShiftTo(t,i),a<0&&$.ZERO.subTo(i,i)}}},$.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return 0<(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)?this.DV-e:-e},$.prototype.isEven=function(){return 0==(0<this.t?1&this[0]:this.s)},$.prototype.exp=function(t,e){if(4294967295<t||t<1)return $.ONE;var i,n=Z(),r=Z(),s=e.convert(this),a=at(t)-1;for(s.copyTo(n);0<=--a;)e.sqrTo(n,r),0<(t&1<<a)?e.mulTo(r,s,n):(i=n,n=r,r=i);return e.revert(n)},$.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var i,n=(1<<e)-1,r=!1,s="",a=this.t,o=this.DB-a*this.DB%e;if(0<a--)for(o<this.DB&&0<(i=this[a]>>o)&&(r=!0,s=nt(i));0<=a;)o<e?(i=(this[a]&(1<<o)-1)<<e-o,i|=this[--a]>>(o+=this.DB-e)):(i=this[a]>>(o-=e)&n,o<=0&&(o+=this.DB,--a)),0<i&&(r=!0),r&&(s+=nt(i));return r?s:"0"},$.prototype.negate=function(){var t=Z();return $.ZERO.subTo(this,t),t},$.prototype.abs=function(){return this.s<0?this.negate():this},$.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var i=this.t;if(0!=(e=i-t.t))return this.s<0?-e:e;for(;0<=--i;)if(0!=(e=this[i]-t[i]))return e;return 0},$.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+at(this[this.t-1]^this.s&this.DM)},$.prototype.mod=function(t){var e=Z();return this.abs().divRemTo(t,null,e),this.s<0&&0<e.compareTo($.ZERO)&&t.subTo(e,e),e},$.prototype.modPowInt=function(t,e){return e=new(t<256||e.isEven()?ot:ht)(e),this.exp(t,e)},$.ZERO=st(0),$.ONE=st(1),gt.prototype.convert=dt,gt.prototype.revert=dt,gt.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i)},gt.prototype.sqrTo=function(t,e){t.squareTo(e)},pt.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=Z();return t.copyTo(e),this.reduce(e),e},pt.prototype.revert=function(t){return t},pt.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);0<=t.compareTo(this.m);)t.subTo(this.m,t)},pt.prototype.mulTo=function(t,e,i){t.multiplyTo(e,i),this.reduce(i)},pt.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var yt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],mt=(1<<26)/yt[yt.length-1];function vt(){this.i=0,this.j=0,this.S=new Array}$.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},$.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||36<t)return"0";var e=this.chunkSize(t),i=Math.pow(t,e),n=st(i),r=Z(),s=Z(),a="";for(this.divRemTo(n,r,s);0<r.signum();)a=(i+s.intValue()).toString(t).substr(1)+a,r.divRemTo(n,r,s);return s.intValue().toString(t)+a},$.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var i=this.chunkSize(e),n=Math.pow(e,i),r=!1,s=0,a=0,o=0;o<t.length;++o){var h=rt(t,o);h<0?"-"==t.charAt(o)&&0==this.signum()&&(r=!0):(a=e*a+h,++s>=i&&(this.dMultiply(n),this.dAddOffset(a,0),a=s=0))}0<s&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(a,0)),r&&$.ZERO.subTo(this,this)},$.prototype.fromNumber=function(t,e,i){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,i),this.testBit(t-1)||this.bitwiseTo($.ONE.shiftLeft(t-1),ct,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo($.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),0<i?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}},$.prototype.bitwiseTo=function(t,e,i){for(var n,r=Math.min(t.t,this.t),s=0;s<r;++s)i[s]=e(this[s],t[s]);if(t.t<this.t){for(n=t.s&this.DM,s=r;s<this.t;++s)i[s]=e(this[s],n);i.t=this.t}else{for(n=this.s&this.DM,s=r;s<t.t;++s)i[s]=e(n,t[s]);i.t=t.t}i.s=e(this.s,t.s),i.clamp()},$.prototype.changeBit=function(t,e){return t=$.ONE.shiftLeft(t),this.bitwiseTo(t,e,t),t},$.prototype.addTo=function(t,e){for(var i=0,n=0,r=Math.min(t.t,this.t);i<r;)n+=this[i]+t[i],e[i++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;i<this.t;)n+=this[i],e[i++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;i<t.t;)n+=t[i],e[i++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,0<n?e[i++]=n:n<-1&&(e[i++]=this.DV+n),e.t=i,e.clamp()},$.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},$.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},$.prototype.multiplyLowerTo=function(t,e,i){var n,r=Math.min(this.t+t.t,e);for(i.s=0,i.t=r;0<r;)i[--r]=0;for(n=i.t-this.t;r<n;++r)i[r+this.t]=this.am(0,t[r],i,r,0,this.t);for(n=Math.min(t.t,e);r<n;++r)this.am(0,t[r],i,r,0,e-r);i.clamp()},$.prototype.multiplyUpperTo=function(t,e,i){--e;var n=i.t=this.t+t.t-e;for(i.s=0;0<=--n;)i[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)i[this.t+n-e]=this.am(e-n,t[n],i,0,0,this.t+n-e);i.clamp(),i.drShiftTo(1,i)},$.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,i=this.s<0?t-1:0;if(0<this.t)if(0==e)i=this[0]%t;else for(var n=this.t-1;0<=n;--n)i=(e*i+this[n])%t;return i},$.prototype.millerRabin=function(t){var e=this.subtract($.ONE),i=e.getLowestSetBit();if(i<=0)return!1;var n=e.shiftRight(i);yt.length<(t=t+1>>1)&&(t=yt.length);for(var r=Z(),s=0;s<t;++s){r.fromInt(yt[Math.floor(Math.random()*yt.length)]);var a=r.modPow(n,this);if(0!=a.compareTo($.ONE)&&0!=a.compareTo(e)){for(var o=1;o++<i&&0!=a.compareTo(e);)if(0==(a=a.modPowInt(2,this)).compareTo($.ONE))return!1;if(0!=a.compareTo(e))return!1}}return!0},$.prototype.clone=function(){var t=Z();return this.copyTo(t),t},$.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},$.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},$.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},$.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},$.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var i,n=this.DB-t*this.DB%8,r=0;if(0<t--)for(n<this.DB&&(i=this[t]>>n)!=(this.s&this.DM)>>n&&(e[r++]=i|this.s<<this.DB-n);0<=t;)n<8?(i=(this[t]&(1<<n)-1)<<8-n,i|=this[--t]>>(n+=this.DB-8)):(i=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&i)&&(i|=-256),0==r&&(128&this.s)!=(128&i)&&++r,(0<r||i!=this.s)&&(e[r++]=i);return e},$.prototype.equals=function(t){return 0==this.compareTo(t)},$.prototype.min=function(t){return this.compareTo(t)<0?this:t},$.prototype.max=function(t){return 0<this.compareTo(t)?this:t},$.prototype.and=function(t){var e=Z();return this.bitwiseTo(t,ut,e),e},$.prototype.or=function(t){var e=Z();return this.bitwiseTo(t,ct,e),e},$.prototype.xor=function(t){var e=Z();return this.bitwiseTo(t,lt,e),e},$.prototype.andNot=function(t){var e=Z();return this.bitwiseTo(t,ft,e),e},$.prototype.not=function(){for(var t=Z(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},$.prototype.shiftLeft=function(t){var e=Z();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},$.prototype.shiftRight=function(t){var e=Z();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},$.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+function(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}(this[t]);return this.s<0?this.t*this.DB:-1},$.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,i=0;i<this.t;++i)t+=function(t){for(var e=0;0!=t;)t&=t-1,++e;return e}(this[i]^e);return t},$.prototype.testBit=functio