c11-hash-js
Version:
c11 javascript hashing algorithm in pure javascript
2 lines • 98.6 kB
JavaScript
require=function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){var d=a("./op"),e=a("./helper"),f=e.bytes2Int32Buffer(e.b64Decode("pWNjxoR8fPiZd3fujXt79g3y8v+9a2vWsW9v3lTFxZFQMDBgAwEBAqlnZ859KytWGf7+52LX17Xmq6tNmnZ27EXKyo+dgoIfQMnJiYd9ffoV+vrv61lZsslHR44L8PD77K2tQWfU1LP9oqJf6q+vRb+cnCP3pKRTlnJy5FvAwJvCt7d1HP394a6Tkz1qJiZMWjY2bEE/P34C9/f1T8zMg1w0NGj0paVRNOXl0Qjx8fmTcXHic9jYq1MxMWI/FRUqDAQECFLHx5VlIyNGXsPDnSgYGDChlpY3DwUFCrWami8JBwcONhISJJuAgBs94uLfJuvrzWknJ07NsrJ/n3V16hsJCRKeg4MddCwsWC4aGjQtGxs2sm5u3O5aWrT7oKBb9lJSpE07O3Zh1ta3zrOzfXspKVI+4+PdcS8vXpeEhBP1U1OmaNHRuQAAAAAs7e3BYCAgQB/8/OPIsbF57Vtbtr5qatRGy8uN2b6+Z0s5OXLeSkqU1ExMmOhYWLBKz8+Fa9DQuyrv78XlqqpPFvv77cVDQ4bXTU2aVTMzZpSFhRHPRUWKEPn56QYCAgSBf3/+8FBQoEQ8PHi6n58l46ioS/NRUaL+o6NdwEBAgIqPjwWtkpI/vJ2dIUg4OHAE9fXx37y8Y8G2tnd12tqvYyEhQjAQECAa///lDvPz/W3S0r9Mzc2BFAwMGDUTEyYv7OzD4V9fvqKXlzXMRESIORcXLlfExJPyp6dVgn5+/Ec9PXqsZGTI511duisZGTKVc3PmoGBgwJiBgRnRT0+ef9zco2YiIkR+KipUq5CQO4OIiAvKRkaMKe7ux9O4uGs8FBQoed7ep+JeXrwdCwsWdtvbrTvg4NtWMjJkTjo6dB4KChTbSUmSCgYGDGwkJEjkXFy4XcLCn27T073vrKxDpmJixKiRkTmklZUxN+Tk04t5efIy5+fVQ8jIi1k3N263bW3ajI2NAWTV1bHSTk6c4KmpSbRsbNj6VlasB/T08yXq6s+vZWXKjnp69OmurkcYCAgQ1bq6b4h4ePBvJSVKci4uXCQcHDjxpqZXx7S0c1HGxpcj6OjLfN3doZx0dOghHx8+3UtLlty9vWGGi4sNhYqKD5BwcOBCPj58xLW1capmZszYSEiQBQMDBgH29vcSDg4co2Fhwl81NWr5V1eu0Lm5aZGGhhdYwcGZJx0dOrmenic44eHZE/j467OYmCszEREiu2lp0nDZ2amJjo4Hp5SUM7abmy0iHh48koeHFSDp6clJzs6H/1VVqngoKFB639+lj4yMA/ihoVmAiYkJFw0NGtq/v2Ux5ubXxkJChLhoaNDDQUGCsJmZKXctLVoRDw8ey7Cwe/xUVKjWu7ttOhYWLA==")),g=e.bytes2Int32Buffer(e.b64Decode("Y2PGpXx8+IR3d+6Ze3v2jfLy/w1ra9a9b2/escXFkVQwMGBQAQECA2dnzqkrK1Z9/v7nGdfXtWKrq03mdnbsmsrKj0WCgh+dycmJQH19+of6+u8VWVmy60dHjsnw8PsLra1B7NTUs2eiol/9r69F6pycI7+kpFP3cnLklsDAm1u3t3XC/f3hHJOTPa4mJkxqNjZsWj8/fkH39/UCzMyDTzQ0aFylpVH05eXRNPHx+QhxceKT2NirczExYlMVFSo/BAQIDMfHlVIjI0Zlw8OdXhgYMCiWljehBQUKD5qaL7UHBw4JEhIkNoCAG5vi4t896+vNJicnTmmysn/NdXXqnwkJEhuDgx2eLCxYdBoaNC4bGzYtbm7cslpatO6goFv7UlKk9js7dk3W1rdhs7N9zikpUnvj490+Ly9ecYSEE5dTU6b10dG5aAAAAADt7cEsICBAYPz84x+xsXnIW1u27Wpq1L7Ly41Gvr5n2Tk5cktKSpTeTEyY1FhYsOjPz4VK0NC7a+/vxSqqqk/l+/vtFkNDhsVNTZrXMzNmVYWFEZRFRYrP+fnpEAICBAZ/f/6BUFCg8Dw8eESfnyW6qKhL41FRovOjo13+QECAwI+PBYqSkj+tnZ0hvDg4cEj19fEEvLxj37a2d8Ha2q91ISFCYxAQIDD//+Ua8/P9DtLSv23NzYFMDAwYFBMTJjXs7MMvX1++4ZeXNaJERIjMFxcuOcTEk1enp1Xyfn78gj09ekdkZMisXV265xkZMitzc+aVYGDAoIGBGZhPT57R3NyjfyIiRGYqKlR+kJA7q4iIC4NGRozK7u7HKbi4a9MUFCg83t6neV5evOILCxYd29utduDg2zsyMmRWOjp0TgoKFB5JSZLbBgYMCiQkSGxcXLjkwsKfXdPTvW6srEPvYmLEppGROaiVlTGk5OTTN3l58ovn59UyyMiLQzc3blltbdq3jY0BjNXVsWROTpzSqalJ4Gxs2LRWVqz69PTzB+rqzyVlZcqvenr0jq6uR+kICBAYurpv1Xh48IglJUpvLi5cchwcOCSmplfxtLRzx8bGl1Ho6Msj3d2hfHR06JwfHz4hS0uW3b29YdyLiw2GiooPhXBw4JA+PnxCtbVxxGZmzKpISJDYAwMGBfb29wEODhwSYWHCozU1al9XV675ublp0IaGF5HBwZlYHR06J56eJ7nh4dk4+PjrE5iYK7MRESIzaWnSu9nZqXCOjgeJlJQzp5ubLbYeHjwih4cVkunpySDOzodJVVWq/ygoUHjf36V6jIwDj6GhWfiJiQmADQ0aF7+/Zdrm5tcxQkKExmho0LhBQYLDmZkpsC0tWncPDx4RsLB7y1RUqPy7u23WFhYsOg==")),h=e.bytes2Int32Buffer(e.b64Decode("Y8alY3z4hHx37pl3e/aNe/L/DfJr1r1rb96xb8WRVMUwYFAwAQIDAWfOqWcrVn0r/ucZ/te1YterTearduyadsqPRcqCH52CyYlAyX36h3367xX6WbLrWUeOyUfw+wvwrUHsrdSzZ9SiX/2ir0Xqr5wjv5ykU/ekcuSWcsCbW8C3dcK3/eEc/ZM9rpMmTGomNmxaNj9+QT/39QL3zINPzDRoXDSlUfSl5dE05fH5CPFx4pNx2Ktz2DFiUzEVKj8VBAgMBMeVUscjRmUjw51ewxgwKBiWN6GWBQoPBZovtZoHDgkHEiQ2EoAbm4Di3z3i680m6ydOaSeyf82ydeqfdQkSGwmDHZ6DLFh0LBo0LhobNi0bbtyyblq07lqgW/ugUqT2Ujt2TTvWt2HWs33OsylSeynj3T7jL15xL4QTl4RTpvVT0blo0QAAAADtwSztIEBgIPzjH/yxecixW7btW2rUvmrLjUbLvmfZvjlySzlKlN5KTJjUTFiw6FjPhUrP0Ltr0O/FKu+qT+Wq++0W+0OGxUNNmtdNM2ZVM4URlIVFis9F+ekQ+QIEBgJ//oF/UKDwUDx4RDyfJbqfqEvjqFGi81GjXf6jQIDAQI8Fio+SP62SnSG8nThwSDj18QT1vGPfvLZ3wbbar3XaIUJjIRAgMBD/5Rr/8/0O89K/bdLNgUzNDBgUDBMmNRPswy/sX77hX5c1opdEiMxEFy45F8STV8SnVfKnfvyCfj16Rz1kyKxkXbrnXRkyKxlz5pVzYMCgYIEZmIFPntFP3KN/3CJEZiIqVH4qkDurkIgLg4hGjMpG7scp7rhr07gUKDwU3qd53l684l4LFh0L26122+DbO+AyZFYyOnROOgoUHgpJkttJBgwKBiRIbCRcuORcwp9dwtO9btOsQ++sYsSmYpE5qJGVMaSV5NM35Hnyi3nn1TLnyItDyDduWTdt2rdtjQGMjdWxZNVOnNJOqUngqWzYtGxWrPpW9PMH9OrPJeplyq9levSOeq5H6a4IEBgIum/VunjwiHglSm8lLlxyLhw4JBymV/GmtHPHtMaXUcboyyPo3aF83XTonHQfPiEfS5bdS71h3L2LDYaLig+FinDgkHA+fEI+tXHEtWbMqmZIkNhIAwYFA/b3AfYOHBIOYcKjYTVqXzVXrvlXuWnQuYYXkYbBmVjBHTonHZ4nuZ7h2Tjh+OsT+Jgrs5gRIjMRadK7admpcNmOB4mOlDOnlJsttpsePCIehxWSh+nJIOnOh0nOVar/VShQeCjfpXrfjAOPjKFZ+KGJCYCJDRoXDb9l2r/m1zHmQoTGQmjQuGhBgsNBmSmwmS1ady0PHhEPsHvLsFSo/FS7bda7Fiw6Fg==")),i=e.bytes2Int32Buffer(e.b64Decode("xqVjY/iEfHzumXd39o17e/8N8vLWvWtr3rFvb5FUxcVgUDAwAgMBAc6pZ2dWfSsr5xn+/rVi19dN5qur7Jp2do9FysofnYKCiUDJyfqHfX3vFfr6sutZWY7JR0f7C/DwQeytrbNn1NRf/aKiReqvryO/nJxT96Sk5JZycptbwMB1wre34Rz9/T2uk5NMaiYmbFo2Nn5BPz/1Avf3g0/MzGhcNDRR9KWl0TTl5fkI8fHik3Fxq3PY2GJTMTEqPxUVCAwEBJVSx8dGZSMjnV7DwzAoGBg3oZaWCg8FBS+1mpoOCQcHJDYSEhubgIDfPeLizSbr605pJyd/zbKy6p91dRIbCQkdnoODWHQsLDQuGho2LRsb3LJubrTuWlpb+6CgpPZSUnZNOzu3YdbWfc6zs1J7KSndPuPjXnEvLxOXhISm9VNTuWjR0QAAAADBLO3tQGAgIOMf/Px5yLGxtu1bW9S+amqNRsvLZ9m+vnJLOTmU3kpKmNRMTLDoWFiFSs/Pu2vQ0MUq7+9P5aqq7Rb7+4bFQ0Oa101NZlUzMxGUhYWKz0VF6RD5+QQGAgL+gX9/oPBQUHhEPDwlup+fS+OoqKLzUVFd/qOjgMBAQAWKj48/rZKSIbydnXBIODjxBPX1Y9+8vHfBtravddraQmMhISAwEBDlGv///Q7z879t0tKBTM3NGBQMDCY1ExPDL+zsvuFfXzWil5eIzERELjkXF5NXxMRV8qen/IJ+fnpHPT3IrGRkuuddXTIrGRnmlXNzwKBgYBmYgYGe0U9Po3/c3ERmIiJUfioqO6uQkAuDiIiMykZGxynu7mvTuLgoPBQUp3ne3rziXl4WHQsLrXbb29s74OBkVjIydE46OhQeCgqS20lJDAoGBkhsJCS45Fxcn13Cwr1u09ND76ysxKZiYjmokZExpJWV0zfk5PKLeXnVMufni0PIyG5ZNzfat21tAYyNjbFk1dWc0k5OSeCpqdi0bGys+lZW8wf09M8l6urKr2Vl9I56ekfprq4QGAgIb9W6uvCIeHhKbyUlXHIuLjgkHBxX8aamc8e0tJdRxsbLI+jooXzd3eicdHQ+IR8flt1LS2Hcvb0NhouLD4WKiuCQcHB8Qj4+ccS1tcyqZmaQ2EhIBgUDA/cB9vYcEg4OwqNhYWpfNTWu+VdXadC5uReRhoaZWMHBOicdHSe5np7ZOOHh6xP4+CuzmJgiMxER0rtpaalw2dkHiY6OM6eUlC22m5s8Ih4eFZKHh8kg6emHSc7Oqv9VVVB4KCilet/fA4+MjFn4oaEJgImJGhcNDWXav7/XMebmhMZCQtC4aGiCw0FBKbCZmVp3LS0eEQ8Pe8uwsKj8VFRt1ru7LDoWFg=="));b.exports.AES_ROUND_LE=function(a,b,c){c[0]=f[255&a[0]]^g[a[1]>>>8&255]^h[a[2]>>>16&255]^i[a[3]>>>24&255]^b[0],c[1]=f[255&a[1]]^g[a[2]>>>8&255]^h[a[3]>>>16&255]^i[a[0]>>>24&255]^b[1],c[2]=f[255&a[2]]^g[a[3]>>>8&255]^h[a[0]>>>16&255]^i[a[1]>>>24&255]^b[2],c[3]=f[255&a[3]]^g[a[0]>>>8&255]^h[a[1]>>>16&255]^i[a[2]>>>24&255]^b[3]},b.exports.AES_ROUND_NOKEY_LE=function(a,b){var c=new Array(4);d.bufferSet(c,0,0,4),this.AES_ROUND_LE(a,c,b)}},{"./helper":7,"./op":11}],2:[function(a,b,c){var d=a("./op"),e=a("./helper"),f=e.bytes2Int64Buffer(e.b64Decode("JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxObIlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjftawv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXTmk=")),g=[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],[14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],[11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4],[7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8],[9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13],[2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9],[12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11],[13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10],[6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5],[10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]],h=[d.u(1779033703,4089235720),d.u(3144134277,2227873595),d.u(1013904242,4271175723),d.u(2773480762,1595750129),d.u(1359893119,2917565137),d.u(2600822924,725511199),d.u(528734635,4215389547),d.u(1541459225,327033209)],i=function(a,b,c,d,e,f,g,h){e.add(a.xor(d).add(f)),h.setxorOne(e).setFlip(),g.add(h),f.setxorOne(g).setRotateRight(25),e.add(b.xor(c).add(f)),h.setxorOne(e).setRotateRight(16),g.add(h),f.setxorOne(g).setRotateRight(11)},j=function(a,b,c){i(c[g[a][0]],c[g[a][1]],f[g[a][0]],f[g[a][1]],b[0],b[4],b[8],b[12]),i(c[g[a][2]],c[g[a][3]],f[g[a][2]],f[g[a][3]],b[1],b[5],b[9],b[13]),i(c[g[a][4]],c[g[a][5]],f[g[a][4]],f[g[a][5]],b[2],b[6],b[10],b[14]),i(c[g[a][6]],c[g[a][7]],f[g[a][6]],f[g[a][7]],b[3],b[7],b[11],b[15]),i(c[g[a][8]],c[g[a][9]],f[g[a][8]],f[g[a][9]],b[0],b[5],b[10],b[15]),i(c[g[a][10]],c[g[a][11]],f[g[a][10]],f[g[a][11]],b[1],b[6],b[11],b[12]),i(c[g[a][12]],c[g[a][13]],f[g[a][12]],f[g[a][13]],b[2],b[7],b[8],b[13]),i(c[g[a][14]],c[g[a][15]],f[g[a][14]],f[g[a][15]],b[3],b[4],b[9],b[14])},k=function(a,b,c,e,g){var h=new Array(16);d.bufferInsert64(h,0,b,8),h[8]=c[0].xor(f[0]),h[9]=c[1].xor(f[1]),h[10]=c[2].xor(f[2]),h[11]=c[3].xor(f[3]),h[12]=e.xor(f[4]),h[13]=e.xor(f[5]),h[14]=g.xor(f[6]),h[15]=g.xor(f[7]);for(var i=0;i<16;i++)j(i%10,h,a);for(var i=0;i<8;i++)b[i]=d.xor64(b[i],c[i%4],h[i],h[8+i])},l=function(a,b,c){var f,g,h=new Array(8),i=new Array(4),j=a.T0.clone(),l=a.T1.clone();if(f=a.buffer,g=a.ptr,c<a.buffer.length-g)return d.bufferInsert(f,g,b,b.length),g+=b.length,void(a.ptr=g);for(d.bufferInsert(h,0,a.state,8),d.bufferInsert(i,0,a.salt,4);c>0;){var m=a.buffer.length-g;if(m>c&&(m=c),d.bufferInsert(f,g,b,m),g+=m,b=b.slice(m),c-=m,g===a.buffer.length){j.add(d.u(0,1024)),(j.hi<0||j.lo<1024)&&l.addOne();var n=e.bytes2Int64Buffer(f);k(n,h,i,j,l),g=0}}a.state=h,a.salt=i,a.T0=j,a.T1=l,a.ptr=g},m=function(a){var b=new Array(128),c=a.ptr,f=d.u(0,c).shiftLeft(3),g=(b.length,a.T0.plus(f)),h=a.T1.clone();b[c]=128,0===c?(a.T0=d.u(4294967295,4294966272),a.T1=d.u(4294967295,4294967295)):a.T0.isZero()?(a.T0=d.u(4294967295,4294966272).plus(f),a.T1=a.T1.minus(d.u(0,1))):a.T0=a.T0.minus(d.u(0,1024).minus(f)),f.lo<=894?(d.bufferSet(b,c+1,0,111-c),b[111]|=1,e.bufferEncode64(b,112,h),e.bufferEncode64(b,120,g),l(a,b.slice(c),128-c)):(d.bufferSet(j.buf,c+1,0,127-c),l(a,b.slice(c),128-c),a.T0=d.u(4294967295,4294966272),a.T1=d.u(4294967295,4294967295),d.bufferSet(b,0,0,112),b[111]=1,e.bufferEncode64(b,112,h),e.bufferEncode64(b,120,g),l(a,b,128));for(var i=new Array(16),j=0;j<8;j++)i[2*j]=a.state[j].hi,i[2*j+1]=a.state[j].lo;return i};b.exports=function(a,b,c){var f;f=1===b?a:2===b?e.int32Buffer2Bytes(a):e.string2bytes(a);var g={};g.state=d.clone64Array(h);var i=d.u(0,0);g.salt=[i,i,i,i],g.T0=i.clone(),g.T1=i.clone(),g.ptr=0,g.buffer=new Array(128),l(g,f,f.length);var j,k=m(g,0,0);return j=2===c?k:1===c?e.int32Buffer2Bytes(k):e.int32ArrayToHexString(k)}},{"./helper":7,"./op":11}],3:[function(a,b,c){var d=a("./op"),e=a("./helper"),f=e.bytes2Int64Buffer(e.b64Decode("gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8=")),g=e.bytes2Int64Buffer(e.b64Decode("qqqqqqqqqqCqqqqqqqqqoaqqqqqqqqqiqqqqqqqqqqOqqqqqqqqqpKqqqqqqqqqlqqqqqqqqqqaqqqqqqqqqp6qqqqqqqqqoqqqqqqqqqqmqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqyqqqqqqqqqraqqqqqqqqquqqqqqqqqqq8=")),h=[1,1,2,2,1,2],i=[3,2,1,2],j=[4,13,19,28],k=[37,43,53,59],l=new Array(16);l.push([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),l.push([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]),l.push([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),l.push([3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),l.push([4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]),l.push([5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]),l.push([6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]),l.push([7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),l.push([8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),l.push([9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),l.push([10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]),l.push([11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]),l.push([12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]),l.push([13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]),l.push([14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]),l.push([15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]);var m=new Array(16);m.push([0,1,3,4,7,10,11]),m.push([1,2,4,5,8,11,12]),m.push([2,3,5,6,9,12,13]),m.push([3,4,6,7,10,13,14]),m.push([4,5,7,8,11,14,15]),m.push([5,6,8,9,12,15,16]),m.push([6,7,9,10,13,0,1]),m.push([7,8,10,11,14,1,2]),m.push([8,9,11,12,15,2,3]),m.push([9,10,12,13,0,3,4]),m.push([10,11,13,14,1,4,5]),m.push([11,12,14,15,2,5,6]),m.push([12,13,15,16,3,6,7]),m.push([13,14,0,1,4,7,8]),m.push([14,15,1,2,5,8,9]),m.push([15,16,2,3,6,9,10]);var n=function(a,b){return a<4?d.xor64(b.shiftRight(h[a]),b.shiftLeft(i[a]),b.rotateLeft(j[a]),b.rotateLeft(k[a])):b.shiftRight(h[a]).xor(b)},o=[0,5,11,27,32,37,43,53],p=function(a,b){return b.rotateLeft(o[a])},q=function(a,b,c,d){var e=a[c[0]].xor(b[c[0]]),f=a[c[1]].xor(b[c[1]]),g=a[c[2]].xor(b[c[2]]),h=a[c[3]].xor(b[c[3]]),i=a[c[4]].xor(b[c[4]]),j=d[3](d[2](d[1](d[0](e,f),g),h),i);return j},r=[[5,7,10,13,14],[6,8,11,14,15],[0,7,9,12,15],[0,1,8,10,13],[1,2,9,11,14],[3,2,10,12,15],[4,0,3,11,13],[1,4,5,12,14],[2,5,6,13,15],[0,3,6,7,14],[8,1,4,7,15],[8,0,2,5,9],[1,3,6,9,10],[2,4,7,10,11],[3,5,8,11,12],[12,4,6,9,13]],s=function(a,b){return a.plus(b)},t=function(a,b){return a.minus(b)},u=[[t,s,s,s],[t,s,s,t],[s,s,t,s],[t,s,t,s],[s,s,t,t],[t,s,t,s],[t,t,t,s],[t,t,t,t],[t,t,s,t],[t,s,t,s],[t,t,t,s],[t,t,t,s],[s,t,t,s],[s,s,s,s],[t,s,t,t],[t,t,t,s]],v=function(a,b,c){return q(a,b,r[c],u[c])},w=function(a){var b=d.u(89478485,1431655765);return b.multiply(a)},x=function(a,b,c,d){var e=w(d),f=a[c[0]].rotateLeft(c[1]).add(a[c[2]].rotateLeft(c[3])).minus(a[c[5]].rotateLeft(c[6])).add(e).xor(b[c[4]]);return f},y=function(a,b,c,d,e,f){return a[e[0]].plus(p(1,a[e[1]])).add(a[e[2]]).add(p(2,a[e[3]])).add(a[e[4]]).add(p(3,a[e[5]])).add(a[e[6]]).add(p(4,a[e[7]])).add(a[e[8]]).add(p(5,a[e[9]])).add(a[e[10]]).add(p(6,a[e[11]])).add(a[e[12]]).add(p(7,a[e[13]])).add(n(4,a[e[14]])).add(n(5,a[e[15]])).add(x(b,c,f,d))},z=function(a,b,c,d,e,f){return n(1,a[e[0]]).add(n(2,a[e[1]])).add(n(3,a[e[2]])).add(n(0,a[e[3]])).add(n(1,a[e[4]])).add(n(2,a[e[5]])).add(n(3,a[e[6]])).add(n(0,a[e[7]])).add(n(1,a[e[8]])).add(n(2,a[e[9]])).add(n(3,a[e[10]])).add(n(0,a[e[11]])).add(n(1,a[e[12]])).add(n(2,a[e[13]])).add(n(3,a[e[14]])).add(n(0,a[e[15]])).add(x(b,c,f,d))},A=function(a,b,c,d){var e=l[d],f=m[d];return z(a,b,c,d,e,f)},B=function(a,b,c,d){var e=l[d],f=m[d];return y(a,b,c,d,e,f)},C=function(a,b){for(var c=new Array(32),d=0;d<16;d++){var e=v(a,b,d),f=n(d%5,e);c[d]=f.plus(b[(d+1)%16])}c[16]=A(c,a,b,16),c[17]=A(c,a,b,17);for(var d=18;d<32;d++)c[d]=B(c,a,b,d);return c},D=function(a,b){var c=new Array(16),e=C(a,b),f=d.xor64(e[16],e[17],e[18],e[19],e[20],e[21],e[22],e[23]),g=d.xor64(f,e[24],e[25],e[26],e[27],e[28],e[29],e[30],e[31]);return c[0]=d.xor64(g.shiftLeft(5),e[16].shiftRight(5),a[0]).add(d.xor64(f,e[24],e[0])),c[1]=d.xor64(g.shiftRight(7),e[17].shiftLeft(8),a[1]).add(d.xor64(f,e[25],e[1])),c[2]=d.xor64(g.shiftRight(5),e[18].shiftLeft(5),a[2]).add(d.xor64(f,e[26],e[2])),c[3]=d.xor64(g.shiftRight(1),e[19].shiftLeft(5),a[3]).add(d.xor64(f,e[27],e[3])),c[4]=d.xor64(g.shiftRight(3),e[20],a[4]).add(d.xor64(f,e[28],e[4])),c[5]=d.xor64(g.shiftLeft(6),e[21].shiftRight(6),a[5]).add(d.xor64(f,e[29],e[5])),c[6]=d.xor64(g.shiftRight(4),e[22].shiftLeft(6),a[6]).add(d.xor64(f,e[30],e[6])),c[7]=d.xor64(g.shiftRight(11),e[23].shiftLeft(2),a[7]).add(d.xor64(f,e[31],e[7])),c[8]=c[4].rotateLeft(9).add(d.xor64(g,e[24],a[8])).add(d.xor64(f.shiftLeft(8),e[23],e[8])),c[9]=c[5].rotateLeft(10).add(d.xor64(g,e[25],a[9])).add(d.xor64(f.shiftRight(6),e[16],e[9])),c[10]=c[6].rotateLeft(11).add(d.xor64(g,e[26],a[10])).add(d.xor64(f.shiftLeft(6),e[17],e[10])),c[11]=c[7].rotateLeft(12).add(d.xor64(g,e[27],a[11])).add(d.xor64(f.shiftLeft(4),e[18],e[11])),c[12]=c[0].rotateLeft(13).add(d.xor64(g,e[28],a[12])).add(d.xor64(f.shiftRight(3),e[19],e[12])),c[13]=c[1].rotateLeft(14).add(d.xor64(g,e[29],a[13])).add(d.xor64(f.shiftRight(4),e[20],e[13])),c[14]=c[2].rotateLeft(15).add(d.xor64(g,e[30],a[14])).add(d.xor64(f.shiftRight(7),e[21],e[14])),c[15]=c[3].rotateLeft(16).add(d.xor64(g,e[31],a[15])).add(d.xor64(f.shiftRight(2),e[22],e[15])),c},E=function(a,b){var c=e.bytes2Int64BufferLeAligned(a);return D(c,b)},F=function(a,b){var c=new Array(16),e=b.length,f=d.u(0,e);f=f.shiftLeft(3),a.bitCount.add(f);for(var g=a.buffer,h=a.ptr,i=a.state,j=c;e>0;){var k=a.buffer.length-h;if(k>e&&(k=e),d.bufferInsert(g,h,b,k),b=b.slice(k),e-=k,h+=k,h===a.buffer.length){var l;j=E(g,i),l=i,i=j,j=l,h=0}}a.ptr=h,i!==a.state&&d.bufferInsert(a.state,0,i,a.state.length)},G=function(a){var b,c=new Array(16),f=a.buffer,h=a.ptr,i=f.length;f[h++]=128;var j=a.state;for(h>i-8&&(d.bufferSet(f,h,0,i-h),j=E(f,j),h=0),d.bufferSet(f,h,0,i-8-h),e.bufferEncode64leAligned(f,i-8,a.bitCount),c=E(f,j),l=0;l<16;l++)e.bufferEncode64leAligned(f,8*l,c[l]);b=E(f,g);for(var k=new Array(16),l=0,m=8;l<8;l++,m++)k[2*l]=d.swap32(b[m].lo),k[2*l+1]=d.swap32(b[m].hi);return k};b.exports=function(a,b,c){var g;g=1===b?a:2===b?e.int32Buffer2Bytes(a):e.string2bytes(a);var h={};h.state=d.clone64Array(f),h.ptr=0,h.bitCount=d.u(0,0),h.buffer=new Array(128),F(h,g);var i,j=G(h,0,0);return i=2===c?j:1===c?e.int32Buffer2Bytes(j):e.int32ArrayToHexString(j)}},{"./helper":7,"./op":11}],4:[function(a,b,c){var d=a("./op"),e=a("./helper"),f=32,g=32,h=[719989345,1358206164,760449931,1097324606,1072571155,3338784652,3426326158,1353471637,1296222087,2789714099,2546928623,2187019575,4009256146,4062220484,3504721203,2721649070,4241725657,344974469,453082095,3057927474,1783849305,804616220,2449111348,230350505,3596388907,2779188853,2982552662,3162072438,421644535,3885538033,2006307398,3560848196],i=function(a){a[16]=4294967295&a[0]+a[16],a[0]=d.rotl32(a[0],7),a[17]=4294967295&a[1]+a[17],a[1]=d.rotl32(a[1],7),a[18]=4294967295&a[2]+a[18],a[2]=d.rotl32(a[2],7),a[19]=4294967295&a[3]+a[19],a[3]=d.rotl32(a[3],7),a[20]=4294967295&a[4]+a[20],a[4]=d.rotl32(a[4],7),a[21]=4294967295&a[5]+a[21],a[5]=d.rotl32(a[5],7),a[22]=4294967295&a[6]+a[22],a[6]=d.rotl32(a[6],7),a[23]=4294967295&a[7]+a[23],a[7]=d.rotl32(a[7],7),a[24]=4294967295&a[8]+a[24],a[8]=d.rotl32(a[8],7),a[25]=4294967295&a[9]+a[25],a[9]=d.rotl32(a[9],7),a[26]=4294967295&a[10]+a[26],a[10]=d.rotl32(a[10],7),a[27]=4294967295&a[11]+a[27],a[11]=d.rotl32(a[11],7),a[28]=4294967295&a[12]+a[28],a[12]=d.rotl32(a[12],7),a[29]=4294967295&a[13]+a[29],a[13]=d.rotl32(a[13],7),a[30]=4294967295&a[14]+a[30],a[14]=d.rotl32(a[14],7),a[31]=4294967295&a[15]+a[31],a[15]=d.rotl32(a[15],7),a[8]^=a[16],a[9]^=a[17],a[10]^=a[18],a[11]^=a[19],a[12]^=a[20],a[13]^=a[21],a[14]^=a[22],a[15]^=a[23],a[0]^=a[24],a[1]^=a[25],a[2]^=a[26],a[3]^=a[27],a[4]^=a[28],a[5]^=a[29],a[6]^=a[30],a[7]^=a[31],a[18]=4294967295&a[8]+a[18],a[8]=d.rotl32(a[8],11),a[19]=4294967295&a[9]+a[19],a[9]=d.rotl32(a[9],11),a[16]=4294967295&a[10]+a[16],a[10]=d.rotl32(a[10],11),a[17]=4294967295&a[11]+a[17],a[11]=d.rotl32(a[11],11),a[22]=4294967295&a[12]+a[22],a[12]=d.rotl32(a[12],11),a[23]=4294967295&a[13]+a[23],a[13]=d.rotl32(a[13],11),a[20]=4294967295&a[14]+a[20],a[14]=d.rotl32(a[14],11),a[21]=4294967295&a[15]+a[21],a[15]=d.rotl32(a[15],11),a[26]=4294967295&a[0]+a[26],a[0]=d.rotl32(a[0],11),a[27]=4294967295&a[1]+a[27],a[1]=d.rotl32(a[1],11),a[24]=4294967295&a[2]+a[24],a[2]=d.rotl32(a[2],11),a[25]=4294967295&a[3]+a[25],a[3]=d.rotl32(a[3],11),a[30]=4294967295&a[4]+a[30],a[4]=d.rotl32(a[4],11),a[31]=4294967295&a[5]+a[31],a[5]=d.rotl32(a[5],11),a[28]=4294967295&a[6]+a[28],a[6]=d.rotl32(a[6],11),a[29]=4294967295&a[7]+a[29],a[7]=d.rotl32(a[7],11),a[12]^=a[18],a[13]^=a[19],a[14]^=a[16],a[15]^=a[17],a[8]^=a[22],a[9]^=a[23],a[10]^=a[20],a[11]^=a[21],a[4]^=a[26],a[5]^=a[27],a[6]^=a[24],a[7]^=a[25],a[0]^=a[30],a[1]^=a[31],a[2]^=a[28],a[3]^=a[29]},j=function(a){a[19]=4294967295&a[12]+a[19],a[12]=d.rotl32(a[12],7),a[18]=4294967295&a[13]+a[18],a[13]=d.rotl32(a[13],7),a[17]=4294967295&a[14]+a[17],a[14]=d.rotl32(a[14],7),a[16]=4294967295&a[15]+a[16],a[15]=d.rotl32(a[15],7),a[23]=4294967295&a[8]+a[23],a[8]=d.rotl32(a[8],7),a[22]=4294967295&a[9]+a[22],a[9]=d.rotl32(a[9],7),a[21]=4294967295&a[10]+a[21],a[10]=d.rotl32(a[10],7),a[20]=4294967295&a[11]+a[20],a[11]=d.rotl32(a[11],7),a[27]=4294967295&a[4]+a[27],a[4]=d.rotl32(a[4],7),a[26]=4294967295&a[5]+a[26],a[5]=d.rotl32(a[5],7),a[25]=4294967295&a[6]+a[25],a[6]=d.rotl32(a[6],7),a[24]=4294967295&a[7]+a[24],a[7]=d.rotl32(a[7],7),a[31]=4294967295&a[0]+a[31],a[0]=d.rotl32(a[0],7),a[30]=4294967295&a[1]+a[30],a[1]=d.rotl32(a[1],7),a[29]=4294967295&a[2]+a[29],a[2]=d.rotl32(a[2],7),a[28]=4294967295&a[3]+a[28],a[3]=d.rotl32(a[3],7),a[4]^=a[19],a[5]^=a[18],a[6]^=a[17],a[7]^=a[16],a[0]^=a[23],a[1]^=a[22],a[2]^=a[21],a[3]^=a[20],a[12]^=a[27],a[13]^=a[26],a[14]^=a[25],a[15]^=a[24],a[8]^=a[31],a[9]^=a[30],a[10]^=a[29],a[11]^=a[28],a[17]=4294967295&a[4]+a[17],a[4]=d.rotl32(a[4],11),a[16]=4294967295&a[5]+a[16],a[5]=d.rotl32(a[5],11),a[19]=4294967295&a[6]+a[19],a[6]=d.rotl32(a[6],11),a[18]=4294967295&a[7]+a[18],a[7]=d.rotl32(a[7],11),a[21]=4294967295&a[0]+a[21],a[0]=d.rotl32(a[0],11),a[20]=4294967295&a[1]+a[20],a[1]=d.rotl32(a[1],11),a[23]=4294967295&a[2]+a[23],a[2]=d.rotl32(a[2],11),a[22]=4294967295&a[3]+a[22],a[3]=d.rotl32(a[3],11),a[25]=4294967295&a[12]+a[25],a[12]=d.rotl32(a[12],11),a[24]=4294967295&a[13]+a[24],a[13]=d.rotl32(a[13],11),a[27]=4294967295&a[14]+a[27],a[14]=d.rotl32(a[14],11),a[26]=4294967295&a[15]+a[26],a[15]=d.rotl32(a[15],11),a[29]=4294967295&a[8]+a[29],a[8]=d.rotl32(a[8],11),a[28]=4294967295&a[9]+a[28],a[9]=d.rotl32(a[9],11),a[31]=4294967295&a[10]+a[31],a[10]=d.rotl32(a[10],11),a[30]=4294967295&a[11]+a[30],a[11]=d.rotl32(a[11],11),a[0]^=a[17],a[1]^=a[16],a[2]^=a[19],a[3]^=a[18],a[4]^=a[21],a[5]^=a[20],a[6]^=a[23],a[7]^=a[22],a[8]^=a[25],a[9]^=a[24],a[10]^=a[27],a[11]^=a[26],a[12]^=a[29],a[13]^=a[28],a[14]^=a[31],a[15]^=a[30]},k=function(a){i(a),j(a),i(a),j(a),i(a),j(a),i(a),j(a),i(a),j(a),i(a),j(a),i(a),j(a),i(a),j(a)},l=function(a,b){var c,f,h=new Array(g);c=a.buffer,f=a.ptr;var i=b.length;if(i<a.buffer.length-f)return d.bufferInsert(c,f,b,b.length),f+=b.length,void(a.ptr=f);for(var j=0;j<g;j++)h[j]=a.state[j];for(;i>0;){var l=a.buffer.length-f;if(l>i&&(l=i),d.bufferInsert(c,f,b,l),f+=l,b=b.slice(l),i-=l,f===a.buffer.length){var m=d.swap32Array(e.bytes2Int32Buffer(c));d.bufferXORInsert(h,0,m,0,8),k(h),f=0}}a.state=h,a.ptr=f},m=function(a){var b=a.buffer,c=a.ptr,f=new Array(g);b[c++]=128,d.bufferSet(b,c,0,a.buffer.length-c);for(var h=0;h<g;h++)f[h]=a.state[h];var i=d.swap32Array(e.bytes2Int32Buffer(b));for(d.bufferXORInsert(f,0,i,0,8),h=0;h<11;h++)k(f),0==h&&(f[31]^=1);a.state=f;for(var j=new Array(16),l=0;l<16;l++)j[l]=d.swap32(a.state[l]);return j};b.exports=function(a,b,c){var d;d=1===b?a:2===b?e.int32Buffer2Bytes(a):e.string2bytes(a);var g={};g.state=h,g.ptr=0,g.buffer=new Array(f),l(g,d);var i,j=m(g);return i=2===c?j:1===c?e.int32Buffer2Bytes(j):e.int32ArrayToHexString(j)}},{"./helper":7,"./op":11}],5:[function(a,b,c){var d=a("./op"),e=a("./helper"),f=a("./aes"),g=128,h=function(a,b){for(var c=0;c<16;c++){var e=a[c],g=new Array(4);f.AES_ROUND_LE(e,b,g),f.AES_ROUND_NOKEY_LE(g,e),0===(b[0]=d.t32(b[0]+1))&&0===(b[1]=d.t32(b[1]+1))&&0===(b[2]=d.t32(b[2]+1))&&(b[3]=d.t32(b[3]+1))}},i=function(a,b,c,d,e){var f;f=a[b][0],a[b][0]=a[c][0],a[c][0]=a[d][0],a[d][0]=a[e][0],a[e][0]=f,f=a[b][1],a[b][1]=a[c][1],a[c][1]=a[d][1],a[d][1]=a[e][1],a[e][1]=f,f=a[b][2],a[b][2]=a[c][2],a[c][2]=a[d][2],a[d][2]=a[e][2],a[e][2]=f,f=a[b][3],a[b][3]=a[c][3],a[c][3]=a[d][3],a[d][3]=a[e][3],a[e][3]=f},j=function(a,b,c,d,e){var f;f=a[b][0],a[b][0]=a[d][0],a[d][0]=f,f=a[c][0],a[c][0]=a[e][0],a[e][0]=f,f=a[b][1],a[b][1]=a[d][1],a[d][1]=f,f=a[c][1],a[c][1]=a[e][1],a[e][1]=f,f=a[b][2],a[b][2]=a[d][2],a[d][2]=f,f=a[c][2],a[c][2]=a[e][2],a[e][2]=f,f=a[b][3],a[b][3]=a[d][3],a[d][3]=f,f=a[c][3],a[c][3]=a[e][3],a[e][3]=f},k=function(a,b,c,d,e){i(a,e,d,c,b)},l=function(a){i(a,1,5,9,13),j(a,2,6,10,14),k(a,3,7,11,15)},m=function(a,b,c,d,e){for(var f=0;f<4;f++){var g=a[b][f],h=a[c][f],i=a[d][f],j=a[e][f],k=g^h,l=h^i,m=i^j,n=27*((2155905152&k)>>>7)^(2139062143&k)<<1,o=27*((2155905152&l)>>>7)^(2139062143&l)<<1,p=27*((2155905152&m)>>>7)^(2139062143&m)<<1;a[b][f]=n^l^j,a[c][f]=o^g^m,a[d][f]=p^k^j,a[e][f]=n^o^p^k^i}},n=function(a,b){for(var c=d.swap32Array(e.bytes2Int32Buffer(a.buffer)),f=0;f<8;f++)for(var g=0;g<4;g++)a.state[f][g]^=c[4*f+g]^b[f][g]^b[f+8][g]},o=function(a,b){d.buffer2Insert(b,0,0,a.state,8,4);for(var c=d.swap32Array(e.bytes2Int32Buffer(a.buffer)),f=0;f<8;f++)b[f+8][0]=c[4*f],b[f+8][1]=c[4*f+1],b[f+8][2]=c[4*f+2],b[f+8][3]=c[4*f+3]},p=function(a){m(a,0,1,2,3),m(a,4,5,6,7),m(a,8,9,10,11),m(a,12,13,14,15)},q=function(a,b){h(a,b),l(a),p(a)},r=function(a){for(var b=new Array(16),c=0;c<16;c++)b[c]=new Array(4);var e=new Array(4);d.bufferInsert(e,0,a.C,4),o(a,b);for(var f=0;f<10;f++)q(b,e);n(a,b)},s=function(a,b){a.C[0]=d.t32(a.C[0]+d.t32(b)),a.C[0]<d.t32(b)&&0===(a.C[1]=d.t32(a.C[1]+1))&&0===(a.C[2]=d.t32(a.C[2]+1))&&(a.C[3]=d.t32(a.C[3]+1))},t=function(a){a.state=new Array(8);for(var b=0;b<8;b++)a.state[b]=new Array(4);a.state[0][0]=512,a.state[0][1]=a.state[0][2]=a.state[0][3]=0,a.state[1][0]=512,a.state[1][1]=a.state[1][2]=a.state[1][3]=0,a.state[2][0]=512,a.state[2][1]=a.state[2][2]=a.state[2][3]=0,a.state[3][0]=512,a.state[3][1]=a.state[3][2]=a.state[3][3]=0,a.state[4][0]=512,a.state[4][1]=a.state[4][2]=a.state[4][3]=0,a.state[5][0]=512,a.state[5][1]=a.state[5][2]=a.state[5][3]=0,a.state[6][0]=512,a.state[6][1]=a.state[6][2]=a.state[6][3]=0,a.state[7][0]=512,a.state[7][1]=a.state[7][2]=a.state[7][3]=0,a.ptr=0,a.C=new Array(4),d.bufferSet(a.C,0,0,4),a.buffer=new Array(g)},u=function(a,b){var c,f;c=a.buffer,f=a.ptr;var g=b.length;if(g<a.buffer.length-f)return d.bufferInsert(c,f,b,b.length),f+=b.length,void(a.ptr=f);for(;g>0;){var h=a.buffer.length-f;if(h>g&&(h=g),d.bufferInsert(c,f,b,h),f+=h,b=b.slice(h),g-=h,f===a.buffer.length){e.bytes2Int32Buffer(c);s(a,1024),r(a),f=0}}a.ptr=f},v=function(a){var b=new Array(16),c=a.buffer,f=a.buffer.length,g=a.ptr,h=g<<3;s(a,h);var i=e.int32Buffer2Bytes(d.swap32Array(a.C));0===h&&(a.C[0]=a.C[1]=a.C[2]=a.C[3]=0),c[g++]=128,d.bufferSet(c,g,0,f-g),g>f-18&&(r(a),d.bufferSet(a.C,0,0,4),d.bufferSet(c,0,0,f)),c[f-17]=2,d.bufferInsert(c,f-16,i,16),r(a);for(var j=0;j<4;j++)for(var k=0;k<4;k++)b[4*j+k]=d.swap32(a.state[j][k]);return b};b.exports=function(a,b,c){var d;d=1===b?a:2===b?e.int32Buffer2Bytes(a):e.string2bytes(a);var f={};t(f),u(f,d);var g,h=v(f);return g=2===c?h:1===c?e.int32Buffer2Bytes(h):e.int32ArrayToHexString(h)}},{"./aes":1,"./helper":7,"./op":11}],6:[function(a,b,c){var d=a("./op"),e=a("./helper"),f=e.bytes2Int64Buffer(e.b64Decode("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")),g=e.bytes2Int64Buffer(e.b64Decode("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")),h=e.bytes2Int64Buffer(e.b64Decode("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")),i=e.bytes2Int64Buffer(e.b64Decode("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")),j=e.bytes2Int64Buffer(e.b64Decode("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")),k=e.bytes2Int64Buffer(e.b64Decode("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")),l=e.bytes2Int64Buffer(e.b64Decode("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")),m=e.bytes2Int64Buffer(e.b64Decode("MvSl9JelxsZvl4SX64T4+F6wmbDHme7ueoyNjPeN9vboFw0X5Q3//wrcvdy3vdbWFsixyKex3t5t/FT8OVSRkZDwUPDAUGBgBwUDBQQDAgIu4Kngh6nOztGHfYesfVZWzCsZK9UZ5+cTpmKmcWK1tXwx5jGa5k1NWbWatcOa7OxAz0XPBUWPj6O8nbw+nR8fScBAwAlAiYlokoeS74f6+tA/FT/FFe/vlCbrJn/rsrLOQMlAB8mOjuYdCx3tC/v7bi/sL4LsQUEaqWepfWezs0Mc/Ry+/V9fYCXqJYrqRUX52r/aRr8jI1EC9wKm91NTRaGWodOW5OR27VvtLVubmyhdwl3qwnV1xSQcJNkc4eHU6a7peq49PfK+ar6YakxMgu5a7thabGy9w0HD/EF+fvMGAgbxAvX1UtFP0R1Pg4OM5Fzk0FxoaFYH9Aei9FFRjVw0XLk00dHhGAgY6Qj5+Uyuk67fk+LiPpVzlU1zq6uX9VP1xFNiYmtBP0FUPyoqHBQMFBAMCAhj9lL2MVKVlemvZa+MZUZGf+Je4iFenZ1IeCh4YCgwMM/4ofhuoTc3GxEPERQPCgrrxLXEXrUvLxUbCRscCQ4Oflo2Wkg2JCSttpu2NpsbG5hHPUelPd/fp2omaoEmzc31u2m7nGlOTjNMzUz+zX9/ULqfus+f6uo/LRstJBsSEqS5nrk6nh0dxJx0nLB0WFhGci5yaC40NEF3LXdsLTY2Ec2yzaOy3NydKe4pc+60tE0W+xa2+1tbpQH2AVP2pKSh103X7E12dhSjYaN1Ybe3NEnOSfrOfX3fjXuNpHtSUp9CPkKhPt3dzZNxk7xxXl6xopeiJpcTE6IE9QRX9aamAbhouGloubkAAAAAAAAAALV0LHSZLMHB4KBgoIBgQEDCIR8h3R/j4zpDyEPyyHl5miztLHfttrYN2b7Zs77U1EfKRsoBRo2NF3DZcM7ZZ2ev3Uvd5Etycu153nkz3pSU/2fUZyvUmJiTI+gje+iwsFveSt4RSoWFBr1rvW1ru7u7fip+kSrFxXs05TSe5U9P1zoWOsEW7e3SVMVUF8WGhvhi12Iv15qamf9V/8xVZma2p5SnIpQREcBKz0oPz4qK2TAQMMkQ6ekOCgYKCAYEBGaYgZjngf7+qwvwC1vwoKC0zETM8ER4ePDVutVKuiUldT7jPpbjS0usDvMOX/OiokQZ/hm6/l1d21vAWxvAgICAhYqFCooFBdPsrex+rT8//t+830K8ISGo2EjY4EhwcP0MBAz5BPHxGXrfesbfY2MvWMFY7sF3dzCfdZ9Fda+v56VjpYRjQkJwUDBQQDAgIMsuGi7RGuXl7xIOEuEO/f0It223ZW2/v1XUTNQZTIGBJDwUPDAUGBh5XzVfTDUmJrJxL3GdL8PDhjjhOGfhvr7I/aL9aqI1NcdPzE8LzIiIZUs5S1w5Li5q+Vf5PVeTk1gN8g2q8lVVYZ2CneOC/PyzyUfJ9Ed6eifvrO+LrMjIiDLnMm/nurpPfSt9ZCsyMkKklaTXlebmO/ug+5ugwMCqs5izMpgZGfZo0Wgn0Z6eIoF/gV1/o6PuqmaqiGZERNaCfoKoflRU3ear5narOzuVnoOeFoMLC8lFykUDyoyMvHspe5Upx8cFbtNu1tNra2xEPERQPCgoLIt5i1V5p6eBPeI9Y+K8vDEnHScsHRYWN5p2mkF2ra2WTTtNrTvb2576VvrIVmRkptJO0uhOdHQ2Ih4iKB4UFOR223Y/25KSEh4KHhgKDAz8tGy0kGxISI835Ddr5Li4eOdd5yVdn58Psm6yYW69vWkq7yqG70NDNfGm8ZOmxMTa46jjcqg5Ocb3pPdipDExilk3Wb0309N0houG/4vy8oNWMlaxMtXVTsVDxQ1Di4uF61nr3FlubhjCt8Kvt9rajo+MjwKMAQEdrGSseWSxsfFt0m0j0pyccjvgO5LgSUkfx7THq7TY2LkV+hVD+qys+gkHCf0H8/OgbyVvhSXPzyDqr+qPr8rKfYmOifOO9PRnIOkgjulHRzgoGCggGBAQC2TVZN7Vb29zg4iD+4jw8Puxb7GUb0pKypZylrhyXFxUbCRscCQ4OF8I8Qiu8VdXIVLHUubHc3Nk81HzNVGXl65lI2WNI8vLJYR8hFl8oaFXv5y/y5zo6F1jIWN8IT4+6nzdfDfdlpYef9x/wtxhYZyRhpEahg0Nm5SFlB6FDw9Lq5Cr25Dg4LrGQsb4Qnx8JlfEV+LEcXEp5arlg6rMzONz2HM72JCQCQ8FDwwFBgb0AwED9QH39yo2EjY4EhwcPP6j/p+jwsKL4V/h1F9qar4Q+RBH+a6uAmvQa9LQaWm/qJGoLpEXF3HoWOgpWJmZU2knaXQnOjr30LnQTrknJ5FIOEipONnZ3jUTNc0T6+vlzrPOVrMrK3dVM1VEMyIiBNa71r+70tI5kHCQSXCpqYeAiYAOiQcHwfKn8manMzPswbbBWrYtLVpmImZ4Ijw8uK2SrSqSFRWpYCBgiSDJyVzbSdsVSYeHsBr/Gk//qqrYiHiIoHhQUCuOeo5ReqWliYqPigaPAwNKE/gTsvhZWZKbgJsSgAkJIzkXOTQXGhoQddp1ytplZYRTMVO1MdfX1VHGURPGhIQD07jTu7jQ0Nxew14fw4KC4suwy1KwKSnDmXeZtHdaWi0zETM8ER4ePUbLRvbLe3u3H/wfS/yoqAxh1mHa1m1tYk46Tlg6LCw=")),n=function(a,b){
if(7===a)return 255&b.lo;var c=8*(7-a);if(c>=32)return b.hi>>>c-32&255;var d=32-c,e=this.hi<<d>>>d;return 255&(b.lo>>>c|e<<d)},o=[d.u(0,0),d.u(0,16),d.u(0,32),d.u(0,48),d.u(0,64),d.u(0,80),d.u(0,96),d.u(0,112),d.u(0,128),d.u(0,144),d.u(0,160),d.u(0,176),d.u(0,192),d.u(0,208),d.u(0,224),d.u(0,240)],p=[d.u(4294967295,4294967295),d.u(4294967295,4294967279),d.u(4294967295,4294967263),d.u(4294967295,4294967247),d.u(4294967295,4294967231),d.u(4294967295,4294967215),d.u(4294967295,4294967199),d.u(4294967295,4294967183),d.u(4294967295,4294967167),d.u(4294967295,4294967151),d.u(4294967295,4294967135),d.u(4294967295,4294967119),d.u(4294967295,4294967103),d.u(4294967295,4294967087),d.u(4294967295,4294967071),d.u(4294967295,4294967055)],q=[d.u(0,0),d.u(0,1),d.u(0,2),d.u(0,3),d.u(0,4),d.u(0,5),d.u(0,6),d.u(0,7),d.u(0,8),d.u(0,9),d.u(0,10),d.u(0,11),d.u(0,12),d.u(0,13)],r=function(a,b){for(var c=new Array(16),e=new Array(16),r=0;r<16;r++)e[r]=a[r],c[r]=e[r].xor(b[r]);for(var s=new Array(16),t=0;t<14;t++){for(var u=0;u<16;u++)c[u].setxor64(o[u].plus(q[t]).setShiftLeft(56));for(var r=0;r<16;r++)s[r]=d.xor64(f[n(0,c[r])],g[n(1,c[r+1&15])],h[n(2,c[r+2&15])],i[n(3,c[r+3&15])],j[n(4,c[r+4&15])],k[n(5,c[r+5&15])],l[n(6,c[r+6&15])],m[n(7,c[r+11&15])]);var v=c;c=s,s=v}for(var t=0;t<14;t++){for(var u=0;u<16;u++)e[u].setxor64(q[t],p[u]);for(var r=0;r<16;r++)s[r]=d.xor64(f[n(0,e[r+1&15])],g[n(1,e[r+3&15])],h[n(2,e[r+5&15])],i[n(3,e[r+11&15])],j[n(4,e[r+0&15])],k[n(5,e[r+2&15])],l[n(6,e[r+4&15])],m[n(7,e[r+6&15])]);var v=e;e=s,s=v}for(var r=0;r<16;r++)b[r].setxor64(c[r],e[r])},s=function(a){var b=new Array(16);d.bufferInsert64(b,0,a,16);for(var c=new Array(16),e=0;e<14;e++){for(var p=0;p<16;p++)b[p].setxor64(o[p].