@digitalpersona/websdk
Version:
HID DigitalPersona WebSDK library
8 lines • 77.4 kB
JavaScript
/*!
* async
* https://github.com/caolan/async
*
* Copyright 2010-2014 Caolan McMahon
* Released under the MIT license
*/
(function(){function i(){}function u(n){return n}function ot(n){return!!n}function c(n){return!n}function s(n){return function(){if(n===null)throw new Error("Callback was already called.");n.apply(this,arguments);n=null}}function o(n){return function(){n!==null&&(n.apply(this,arguments),n=null)}}function k(n){return f(n)||typeof n.length=="number"&&n.length>=0&&n.length%1==0}function r(n,t){for(var i=-1,r=n.length;++i<r;)t(n[i],i,n)}function h(n,t){for(var i=-1,r=n.length,u=Array(r);++i<r;)u[i]=t(n[i],i,n);return u}function ht(n){return h(Array(n),function(n,t){return t})}function kt(n,t,i){return r(n,function(n,r,u){i=t(i,n,r,u)}),i}function dt(n,t){r(a(n),function(i){t(n[i],i)})}function ct(n,t){for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1}function d(n){var t=-1,i,r;return k(n)?(i=n.length,function(){return t++,t<i?t:null}):(r=a(n),i=r.length,function(){return t++,t<i?r[t]:null})}function t(n,t){return t=t==null?n.length-1:+t,function(){for(var u=Math.max(arguments.length-t,0),r=Array(u),i=0;i<u;i++)r[i]=arguments[i+t];switch(t){case 0:return n.call(this,r);case 1:return n.call(this,arguments[0],r)}}}function g(n){return function(t,i,r){return n(t,r)}}function y(n){return function(t,r,u){var e;if(u=o(u||i),t=t||[],e=d(t),n<=0)return u(null);var h=!1,f=0,c=!1;(function l(){if(h&&f<=0)return u(null);while(f<n&&!c){var i=e();if(i===null){h=!0;f<=0&&u(null);return}f+=1;r(t[i],i,s(function(n){f-=1;n?(u(n),c=!0):l()}))}})()}}function p(t){return function(i,r,u){return t(n.eachOf,i,r,u)}}function tt(n){return function(t,i,r,u){return n(y(i),t,r,u)}}function w(t){return function(i,r,u){return t(n.eachOfSeries,i,r,u)}}function it(n,t,r,u){u=o(u||i);t=t||[];var f=k(t)?[]:{};n(t,function(n,t,i){r(n,function(n,r){f[t]=r;i(n)})},function(n){u(n,f)})}function b(n,t,i,r){var u=[];n(t,function(n,t,r){i(n,function(i){i&&u.push({index:t,value:n});r()})},function(){r(h(u.sort(function(n,t){return n.index-t.index}),function(n){return n.value}))})}function rt(n,t,i,r){b(n,t,function(n,t){i(n,function(n){t(!n)})},r)}function e(n,t,i){return function(r,u,f,e){function o(){e&&e(i(!1,void 0))}function s(n,r,u){if(!e)return u();f(n,function(r){e&&t(r)&&(e(i(!0,n)),e=f=!1);u()})}arguments.length>3?n(r,u,s,o):(e=f,f=u,n(r,s,o))}}function ut(n,t){return t}function ft(n,r,u){u=u||i;var f=k(r)?[]:{};n(r,function(n,i,r){n(t(function(n,t){t.length<=1&&(t=t[0]);f[i]=t;r(n)}))},function(n){u(n,f)})}function lt(n,t,i,r){var u=[];n(t,function(n,t,r){i(n,function(n,t){u=u.concat(t||[]);r(n)})},function(n){r(n,u)})}function at(t,u,e){function a(t,u,e,o){if(o!=null&&typeof o!="function")throw new Error("task callback must be a function");if(t.started=!0,f(u)||(u=[u]),u.length===0&&t.idle())return n.setImmediate(function(){t.drain()});r(u,function(n){var r={data:n,callback:o||i};e?t.tasks.unshift(r):t.tasks.push(r);t.tasks.length===t.concurrency&&t.saturated()});n.setImmediate(t.process)}function v(n,t){return function(){c-=1;var i=!1,u=arguments;r(t,function(n){r(l,function(t,r){t!==n||i||(l.splice(r,1),i=!0)});n.callback.apply(n,u)});n.tasks.length+c===0&&n.drain();n.process()}}if(u==null)u=1;else if(u===0)throw new Error("Concurrency must not be zero");var c=0,l=[],o={tasks:[],concurrency:u,payload:e,saturated:i,empty:i,drain:i,started:!1,paused:!1,push:function(n,t){a(o,n,!1,t)},kill:function(){o.drain=i;o.tasks=[]},unshift:function(n,t){a(o,n,!0,t)},process:function(){var n,i,r;if(!o.paused&&c<o.concurrency&&o.tasks.length)while(c<o.concurrency&&o.tasks.length)n=o.payload?o.tasks.splice(0,o.payload):o.tasks.splice(0,o.tasks.length),i=h(n,function(n){return n.data}),o.tasks.length===0&&o.empty(),c+=1,l.push(n[0]),r=s(v(o,n)),t(i,r)},length:function(){return o.tasks.length},running:function(){return c},workersList:function(){return l},idle:function(){return o.tasks.length+c===0},pause:function(){o.paused=!0},resume:function(){var i,t;if(o.paused!==!1)for(o.paused=!1,i=Math.min(o.concurrency,o.tasks.length),t=1;t<=i;t++)n.setImmediate(o.process)}};return o}function vt(n){return t(function(i,u){i.apply(null,u.concat([t(function(t,i){typeof console=="object"&&(t?console.error&&console.error(t):console[n]&&r(i,function(t){console[n](t)}))})]))})}function yt(n){return function(t,i,r){n(ht(t),i,r)}}function pt(n){return t(function(i,r){var u=t(function(t){var r=this,u=t.pop();return n(i,function(n,i,u){n.apply(r,t.concat([u]))},u)});return r.length?u.apply(this,r):u})}function et(i){return t(function(t){var u=t.pop(),r;t.push(function(){var t=arguments;r?n.setImmediate(function(){u.apply(null,t)}):u.apply(null,t)});r=!0;i.apply(this,t);r=!1})}var n={},st,l=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global||this,a,v,nt;l!=null&&(st=l.async);n.noConflict=function(){return l.async=st,n};var wt=Object.prototype.toString,f=Array.isArray||function(n){return wt.call(n)==="[object Array]"},bt=function(n){var t=typeof n;return t==="function"||t==="object"&&!!n};a=Object.keys||function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(i);return t};v=typeof setImmediate=="function"&&setImmediate;nt=v?function(n){v(n)}:function(n){setTimeout(function(){n()},0)};n.nextTick=typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:nt;n.setImmediate=v?nt:n.nextTick;n.forEach=n.each=function(t,i,r){return n.eachOf(t,g(i),r)};n.forEachSeries=n.eachSeries=function(t,i,r){return n.eachOfSeries(t,g(i),r)};n.forEachLimit=n.eachLimit=function(n,t,i,r){return y(t)(n,g(i),r)};n.forEachOf=n.eachOf=function(n,t,r){function h(n){f--;n?r(n):u===null&&f<=0&&r(null)}r=o(r||i);n=n||[];for(var e=d(n),u,f=0;(u=e())!=null;)f+=1,t(n[u],u,s(h));f===0&&r(null)};n.forEachOfSeries=n.eachOfSeries=function(t,r,u){function e(){var i=!0;if(f===null)return u(null);r(t[f],f,s(function(t){if(t)u(t);else{if(f=h(),f===null)return u(null);i?n.setImmediate(e):e()}}));i=!1}u=o(u||i);t=t||[];var h=d(t),f=h();e()};n.forEachOfLimit=n.eachOfLimit=function(n,t,i,r){y(t)(n,i,r)};n.map=p(it);n.mapSeries=w(it);n.mapLimit=tt(it);n.inject=n.foldl=n.reduce=function(t,i,r,u){n.eachOfSeries(t,function(n,t,u){r(i,n,function(n,t){i=t;u(n)})},function(n){u(n,i)})};n.foldr=n.reduceRight=function(t,i,r,f){var e=h(t,u).reverse();n.reduce(e,i,r,f)};n.transform=function(t,i,r,u){arguments.length===3&&(u=r,r=i,i=f(t)?[]:{});n.eachOf(t,function(n,t,u){r(i,n,t,u)},function(n){u(n,i)})};n.select=n.filter=p(b);n.selectLimit=n.filterLimit=tt(b);n.selectSeries=n.filterSeries=w(b);n.reject=p(rt);n.rejectLimit=tt(rt);n.rejectSeries=w(rt);n.any=n.some=e(n.eachOf,ot,u);n.someLimit=e(n.eachOfLimit,ot,u);n.all=n.every=e(n.eachOf,c,c);n.everyLimit=e(n.eachOfLimit,c,c);n.detect=e(n.eachOf,u,ut);n.detectSeries=e(n.eachOfSeries,u,ut);n.detectLimit=e(n.eachOfLimit,u,ut);n.sortBy=function(t,i,r){function u(n,t){var i=n.criteria,r=t.criteria;return i<r?-1:i>r?1:0}n.map(t,function(n,t){i(n,function(i,r){i?t(i):t(null,{value:n,criteria:r})})},function(n,t){if(n)return r(n);r(null,h(t.sort(u),function(n){return n.value}))})};n.auto=function(u,e,s){function p(n){v.unshift(n)}function w(n){var t=ct(v,n);t>=0&&v.splice(t,1)}function b(){c--;r(v.slice(0),function(n){n()})}var y,c;if(s||(s=e,e=null),s=o(s||i),y=a(u),c=y.length,!c)return s(null);e||(e=c);var h={},l=0,v=[];p(function(){c||s(null,h)});r(y,function(i){function y(){return l<e&&kt(o,function(n,t){return n&&h.hasOwnProperty(t)},!0)&&!h.hasOwnProperty(i)}function k(){y()&&(l++,w(k),r[r.length-1](a,h))}for(var r=f(u[i])?u[i]:[u[i]],a=t(function(t,r){if(l--,r.length<=1&&(r=r[0]),t){var u={};dt(h,function(n,t){u[t]=n});u[i]=r;s(t,u)}else h[i]=r,n.setImmediate(b)}),o=r.slice(0,r.length-1),v=o.length,c;v--;){if(!(c=u[o[v]]))throw new Error("Has inexistant dependency");if(f(c)&&ct(c,i)>=0)throw new Error("Has cyclic dependencies");}y()?(l++,r[r.length-1](a,h)):p(k)})};n.retry=function(t,i,r){function c(n,t){if(typeof t=="number")n.times=parseInt(t,10)||f;else if(typeof t=="object")n.times=parseInt(t.times,10)||f,n.interval=parseInt(t.interval,10)||s;else throw new Error("Unsupported argument type for 'times': "+typeof t);}function h(t,i){function f(n,t){return function(r){n(function(n,i){r(!n||t,{err:n,result:i})},i)}}function o(n){return function(t){setTimeout(function(){t(null)},n)}}while(u.times){var r=!(u.times-=1);e.push(f(u.task,r));!r&&u.interval>0&&e.push(o(u.interval))}n.series(e,function(n,i){i=i[i.length-1];(t||u.callback)(i.err,i.result)})}var f=5,s=0,e=[],u={times:f,interval:s},o=arguments.length;if(o<1||o>3)throw new Error("Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)");else o<=2&&typeof t=="function"&&(r=i,i=t);return typeof t!="function"&&c(u,t),u.callback=r,u.task=i,u.callback?h():h};n.waterfall=function(r,u){function e(n){return t(function(t,i){if(t)u.apply(null,[t].concat(i));else{var r=n.next();r?i.push(e(r)):i.push(u);et(n).apply(null,i)}})}if(u=o(u||i),!f(r)){var s=new Error("First argument to waterfall must be an array of functions");return u(s)}if(!r.length)return u();e(n.iterator(r))()};n.parallel=function(t,i){ft(n.eachOf,t,i)};n.parallelLimit=function(n,t,i){ft(y(t),n,i)};n.series=function(t,i){ft(n.eachOfSeries,t,i)};n.iterator=function(n){function t(i){function r(){return n.length&&n[i].apply(null,arguments),r.next()}return r.next=function(){return i<n.length-1?t(i+1):null},r}return t(0)};n.apply=t(function(n,i){return t(function(t){return n.apply(null,i.concat(t))})});n.concat=p(lt);n.concatSeries=w(lt);n.whilst=function(n,r,u){if(u=u||i,n()){var f=t(function(t,i){t?u(t):n.apply(this,i)?r(f):u(null)});r(f)}else u(null)};n.doWhilst=function(t,i,r){var u=0;return n.whilst(function(){return++u<=1||i.apply(this,arguments)},t,r)};n.until=function(t,i,r){return n.whilst(function(){return!t.apply(this,arguments)},i,r)};n.doUntil=function(t,i,r){return n.doWhilst(t,function(){return!i.apply(this,arguments)},r)};n.during=function(n,r,u){u=u||i;var e=t(function(t,i){t?u(t):(i.push(f),n.apply(this,i))}),f=function(n,t){n?u(n):t?r(e):u(null)};n(f)};n.doDuring=function(t,i,r){var u=0;n.during(function(n){u++<1?n(null,!0):i.apply(this,arguments)},t,r)};n.queue=function(n,t){return at(function(t,i){n(t[0],i)},t,1)};n.priorityQueue=function(t,u){function o(n,t){return n.priority-t.priority}function s(n,t,i){for(var r=-1,f=n.length-1,u;r<f;)u=r+(f-r+1>>>1),i(t,n[u])>=0?r=u:f=u-1;return r}function h(t,u,e,h){if(h!=null&&typeof h!="function")throw new Error("task callback must be a function");if(t.started=!0,f(u)||(u=[u]),u.length===0)return n.setImmediate(function(){t.drain()});r(u,function(r){var u={data:r,priority:e,callback:typeof h=="function"?h:i};t.tasks.splice(s(t.tasks,u,o)+1,0,u);t.tasks.length===t.concurrency&&t.saturated();n.setImmediate(t.process)})}var e=n.queue(t,u);return e.push=function(n,t,i){h(e,n,t,i)},delete e.unshift,e};n.cargo=function(n,t){return at(n,1,t)};n.log=vt("log");n.dir=vt("dir");n.memoize=function(i,r){var e={},f={},o;return r=r||u,o=t(function(u){var s=u.pop(),o=r.apply(null,u);o in e?n.setImmediate(function(){s.apply(null,e[o])}):o in f?f[o].push(s):(f[o]=[s],i.apply(null,u.concat([t(function(n){var i,t,r;for(e[o]=n,i=f[o],delete f[o],t=0,r=i.length;t<r;t++)i[t].apply(null,n)})])))}),o.memo=e,o.unmemoized=i,o};n.unmemoize=function(n){return function(){return(n.unmemoized||n).apply(null,arguments)}};n.times=yt(n.map);n.timesSeries=yt(n.mapSeries);n.timesLimit=function(t,i,r,u){return n.mapLimit(ht(t),i,r,u)};n.seq=function(){var r=arguments;return t(function(u){var e=this,f=u[u.length-1];typeof f=="function"?u.pop():f=i;n.reduce(r,u,function(n,i,r){i.apply(e,n.concat([t(function(n,t){r(n,t)})]))},function(n,t){f.apply(e,[n].concat(t))})})};n.compose=function(){return n.seq.apply(null,Array.prototype.reverse.call(arguments))};n.applyEach=pt(n.eachOf);n.applyEachSeries=pt(n.eachOfSeries);n.forever=function(n,t){function r(n){if(n)return u(n);f(r)}var u=s(t||i),f=et(n);r()};n.ensureAsync=et;n.constant=t(function(n){var t=[null].concat(n);return function(n){return n.apply(this,t)}});n.wrapSync=n.asyncify=function(n){return t(function(t){var r=t.pop(),i;try{i=n.apply(this,t)}catch(u){return r(u)}bt(i)&&typeof i.then=="function"?i.then(function(n){r(null,n)})["catch"](function(n){r(n.message?n:new Error(n))}):r(null,i)})};typeof module=="object"&&module.exports?module.exports=n:typeof define=="function"&&define.amd?define("async",function(){return n}):l.async=n})(),function(n){"use strict";typeof define=="function"&&define.amd?define("sha1",[],n):window.sha1=n()}(function(){var n=function(){function t(n){for(var i="",t=7;t>=0;t--)i+=e.charAt(n>>t*4&15);return i}function o(n){for(var r=(n.length+8>>6)+1,i=new Array(r*16),t=0;t<r*16;t++)i[t]=0;for(t=0;t<n.length;t++)i[t>>2]|=n.charCodeAt(t)<<24-t%4*8;return i[t>>2]|=128<<24-t%4*8,i[r*16-1]=n.length*8,i}function s(n){for(var r=n.length+1>>1,u=(r+8>>6)+1,i=new Array(u*16),t=0;t<u*16;t++)i[t]=0;for(t=0;t<r;t++)i[t>>2]|=parseInt(n.substr(2*t,2),16)<<24-t%4*8;return i[t>>2]|=128<<24-t%4*8,i[u*16-1]=r*8,i}function u(n,t,i){for(var f=(i+8>>6)+1,u=new Array(f*16),r=0;r<f*16;r++)u[r]=0;for(r=0;r<i;r++)u[r>>2]|=(n[t+r]&255)<<24-r%4*8;return u[r>>2]|=128<<24-r%4*8,u[f*16-1]=i*8,u}function n(n,t){var i=(n&65535)+(t&65535),r=(n>>16)+(t>>16)+(i>>16);return r<<16|i&65535}function r(n,t){return n<<t|n>>>32-t}function h(n,t,i,r){return n<20?t&i|~t&r:n<40?t^i^r:n<60?t&i|t&r|i&r:t^i^r}function c(n){return n<20?1518500249:n<40?1859775393:n<60?-1894007588:-899497514}function l(n){return i(o(n))}function a(n){return i(s(n))}function v(n){return i(u(n,0,n.length))}function y(n,t,r){return i(u(n,t,r))}function i(n){var i=f(n);return t(i[0])+t(i[1])+t(i[2])+t(i[3])+t(i[4])}function f(t){for(var i,v,s=new Array(80),u=1732584193,f=-271733879,e=-1732584194,o=271733878,l=-1009589776,a=0;a<t.length;a+=16){var y=u,p=f,w=e,b=o,k=l;for(i=0;i<80;i++)s[i]=i<16?t[a+i]:r(s[i-3]^s[i-8]^s[i-14]^s[i-16],1),v=n(n(r(u,5),h(i,f,e,o)),n(n(l,s[i]),c(i))),l=o,o=e,e=r(f,30),f=u,u=v;u=n(u,y);f=n(f,p);e=n(e,w);o=n(o,b);l=n(l,k)}return[u,f,e,o,l]}var e="0123456789abcdef";return{calcSHA1:l,calcSHA1Hex:a,calcSHA1BA:v,calcSHA1BAEx:y}};return n()}),function(n){"use strict";typeof define=="function"&&define.amd?define("sjcl",[],n):window.sjcl=n()}(function(){"use strict";var n={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(n){this.toString=function(){return"CORRUPT: "+this.message};this.message=n},invalid:function(n){this.toString=function(){return"INVALID: "+this.message};this.message=n},bug:function(n){this.toString=function(){return"BUG: "+this.message};this.message=n},notReady:function(n){this.toString=function(){return"NOT READY: "+this.message};this.message=n}}};return n.bitArray={bitSlice:function(t,i,r){return t=n.bitArray._shiftRight(t.slice(i/32),32-(i&31)).slice(1),r===undefined?t:n.bitArray.clamp(t,r-i)},extract:function(n,t,i){var u,r=Math.floor(-t-i&31);return u=(t+i-1^t)&-32?n[t/32|0]<<32-r^n[t/32+1|0]>>>r:n[t/32|0]>>>r,u&(1<<i)-1},concat:function(t,i){if(t.length===0||i.length===0)return t.concat(i);var r=t[t.length-1],u=n.bitArray.getPartial(r);return u===32?t.concat(i):n.bitArray._shiftRight(i,u,r|0,t.slice(0,t.length-1))},bitLength:function(t){var i=t.length,r;return i===0?0:(r=t[i-1],(i-1)*32+n.bitArray.getPartial(r))},clamp:function(t,i){if(t.length*32<i)return t;t=t.slice(0,Math.ceil(i/32));var r=t.length;return i=i&31,r>0&&i&&(t[r-1]=n.bitArray.partial(i,t[r-1]&2147483648>>i-1,1)),t},partial:function(n,t,i){return n===32?t:(i?t|0:t<<32-n)+n*1099511627776},getPartial:function(n){return Math.round(n/1099511627776)||32},equal:function(t,i){if(n.bitArray.bitLength(t)!==n.bitArray.bitLength(i))return!1;for(var u=0,r=0;r<t.length;r++)u|=t[r]^i[r];return u===0},_shiftRight:function(t,i,r,u){var f,o=0,e;for(u===undefined&&(u=[]);i>=32;i-=32)u.push(r),r=0;if(i===0)return u.concat(t);for(f=0;f<t.length;f++)u.push(r|t[f]>>>i),r=t[f]<<32-i;return o=t.length?t[t.length-1]:0,e=n.bitArray.getPartial(o),u.push(n.bitArray.partial(i+e&31,i+e>32?r:u.pop(),1)),u},_xor4:function(n,t){return[n[0]^t[0],n[1]^t[1],n[2]^t[2],n[3]^t[3]]},byteswapM:function(n){for(var i,r=65280,t=0;t<n.length;++t)i=n[t],n[t]=i>>>24|i>>>8&r|(i&r)<<8|i<<24;return n}},n.hash.sha256=function(n){this._key[0]||this._precompute();n?(this._h=n._h.slice(0),this._buffer=n._buffer.slice(0),this._length=n._length):this.reset()},n.hash.sha256.hash=function(t){return(new n.hash.sha256).update(t).finalize()},n.hash.sha256.prototype={blockSize:512,reset:function(){return this._h=this._init.slice(0),this._buffer=[],this._length=0,this},update:function(t){typeof t=="string"&&(t=n.codec.utf8String.toBits(t));for(var u=this._buffer=n.bitArray.concat(this._buffer,t),r=this._length,f=this._length=r+n.bitArray.bitLength(t),i=512+r&-512;i<=f;i+=512)this._block(u.splice(0,16));return this},finalize:function(){for(var t=this._buffer,r=this._h,t=n.bitArray.concat(t,[n.bitArray.partial(1,1)]),i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(this._length/4294967296)),t.push(this._length|0);t.length;)this._block(t.splice(0,16));return this.reset(),r},_init:[],_key:[],_precompute:function(){function r(n){return(n-Math.floor(n))*4294967296|0}var n=0,t=2,i;n:for(;n<64;t++){for(i=2;i*i<=t;i++)if(t%i==0)continue n;n<8&&(this._init[n]=r(Math.pow(t,1/2)));this._key[n]=r(Math.pow(t,1/3));n++}},_block:function(n){for(var f,e,o,s=n.slice(0),t=this._h,p=this._key,v=t[0],r=t[1],h=t[2],l=t[3],u=t[4],a=t[5],c=t[6],y=t[7],i=0;i<64;i++)i<16?f=s[i]:(e=s[i+1&15],o=s[i+14&15],f=s[i&15]=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+s[i&15]+s[i+9&15]|0),f=f+y+(u>>>6^u>>>11^u>>>25^u<<26^u<<21^u<<7)+(c^u&(a^c))+p[i],y=c,c=a,a=u,u=l+f|0,l=h,h=r,r=v,v=f+(r&h^l&(r^h))+(r>>>2^r>>>13^r>>>22^r<<30^r<<19^r<<10)|0;t[0]=t[0]+v|0;t[1]=t[1]+r|0;t[2]=t[2]+h|0;t[3]=t[3]+l|0;t[4]=t[4]+u|0;t[5]=t[5]+a|0;t[6]=t[6]+c|0;t[7]=t[7]+y|0}},n.cipher.aes=function(t){this._tables[0][0][0]||this._precompute();var r,e,i,o,c,f=this._tables[0][4],s=this._tables[1],u=t.length,h=1;if(u!==4&&u!==6&&u!==8)throw new n.exception.invalid("invalid aes key size");for(this._key=[o=t.slice(0),c=[]],r=u;r<4*u+28;r++)i=o[r-1],(r%u==0||u===8&&r%u==4)&&(i=f[i>>>24]<<24^f[i>>16&255]<<16^f[i>>8&255]<<8^f[i&255],r%u==0&&(i=i<<8^i>>>24^h<<24,h=h<<1^(h>>7)*283)),o[r]=o[r-u]^i;for(e=0;r;e++,r--)i=o[e&3?r:r-4],c[e]=r<=4||e<4?i:s[0][f[i>>>24]]^s[1][f[i>>16&255]]^s[2][f[i>>8&255]]^s[3][f[i&255]]},n.cipher.aes.prototype={encrypt:function(n){return this._crypt(n,0)},decrypt:function(n){return this._crypt(n,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){for(var f=this._tables[0],e=this._tables[1],c=f[4],y=e[4],i,r,u=[],l=[],h,a,v,t,o,s,n=0;n<256;n++)l[(u[n]=n<<1^(n>>7)*283)^n]=n;for(i=r=0;!c[i];i^=h||1,r=l[r]||1)for(t=r^r<<1^r<<2^r<<3^r<<4,t=t>>8^t&255^99,c[i]=t,y[t]=i,v=u[a=u[h=u[i]]],s=v*16843009^a*65537^h*257^i*16843008,o=u[t]*257^t*16843008,n=0;n<4;n++)f[n][i]=o=o<<24^o>>>8,e[n][t]=s=s<<24^s>>>8;for(n=0;n<5;n++)f[n]=f[n].slice(0),e[n]=e[n].slice(0)},_crypt:function(t,i){if(t.length!==4)throw new n.exception.invalid("invalid aes block size");for(var r=this._key[i],u=t[0]^r[0],f=t[i?3:1]^r[1],e=t[2]^r[2],o=t[i?1:3]^r[3],l,b,k,g=r.length/4-2,h=4,d=[0,0,0,0],c=this._tables[i],a=c[0],v=c[1],y=c[2],p=c[3],w=c[4],s=0;s<g;s++)l=a[u>>>24]^v[f>>16&255]^y[e>>8&255]^p[o&255]^r[h],b=a[f>>>24]^v[e>>16&255]^y[o>>8&255]^p[u&255]^r[h+1],k=a[e>>>24]^v[o>>16&255]^y[u>>8&255]^p[f&255]^r[h+2],o=a[o>>>24]^v[u>>16&255]^y[f>>8&255]^p[e&255]^r[h+3],h+=4,u=l,f=b,e=k;for(s=0;s<4;s++)d[i?3&-s:s]=w[u>>>24]<<24^w[f>>16&255]<<16^w[e>>8&255]<<8^w[o&255]^r[h++],l=u,u=f,f=e,e=o,o=l;return d}},n.prng=function(t){this._pools=[new n.hash.sha256];this._poolEntropy=[0];this._reseedCount=0;this._robins={};this._eventId=0;this._collectorIds={};this._collectorIdNext=0;this._strength=0;this._poolStrength=0;this._nextReseed=0;this._key=[0,0,0,0,0,0,0,0];this._counter=[0,0,0,0];this._cipher=undefined;this._defaultParanoia=t;this._collectorsStarted=!1;this._callbacks={progress:{},seeded:{}};this._callbackI=0;this._NOT_READY=0;this._READY=1;this._REQUIRES_RESEED=2;this._MAX_WORDS_PER_BURST=65536;this._PARANOIA_LEVELS=[0,48,64,96,128,192,256,384,512,768,1024];this._MILLISECONDS_PER_RESEED=3e4;this._BITS_PER_RESEED=80},n.prng.prototype={randomWords:function(t,i){var e=[],u,f=this.isReady(i),r;if(f===this._NOT_READY)throw new n.exception.notReady("generator isn't seeded");else f&this._REQUIRES_RESEED&&this._reseedFromPools(!(f&this._READY));for(u=0;u<t;u+=4)(u+1)%this._MAX_WORDS_PER_BURST==0&&this._gate(),r=this._gen4words(),e.push(r[0],r[1],r[2],r[3]);return this._gate(),e.slice(0,t)},setDefaultParanoia:function(n,t){if(n===0&&t!=="Setting paranoia=0 will ruin your security; use it only for testing")throw"Setting paranoia=0 will ruin your security; use it only for testing";this._defaultParanoia=n},addEntropy:function(t,i,r){r=r||"user";var o,u,f,h=(new Date).valueOf(),e=this._robins[r],l=this.isReady(),s=0,c;o=this._collectorIds[r];o===undefined&&(o=this._collectorIds[r]=this._collectorIdNext++);e===undefined&&(e=this._robins[r]=0);this._robins[r]=(this._robins[r]+1)%this._pools.length;switch(typeof t){case"number":i===undefined&&(i=1);this._pools[e].update([o,this._eventId++,1,i,h,1,t|0]);break;case"object":if(c=Object.prototype.toString.call(t),c==="[object Uint32Array]"){for(f=[],u=0;u<t.length;u++)f.push(t[u]);t=f}else for(c!=="[object Array]"&&(s=1),u=0;u<t.length&&!s;u++)typeof t[u]!="number"&&(s=1);if(!s){if(i===undefined)for(i=0,u=0;u<t.length;u++)for(f=t[u];f>0;)i++,f=f>>>1;this._pools[e].update([o,this._eventId++,2,i,h,t.length].concat(t))}break;case"string":i===undefined&&(i=t.length);this._pools[e].update([o,this._eventId++,3,i,h,t.length]);this._pools[e].update(t);break;default:s=1}if(s)throw new n.exception.bug("random: addEntropy only supports number, array of numbers or string");this._poolEntropy[e]+=i;this._poolStrength+=i;l===this._NOT_READY&&(this.isReady()!==this._NOT_READY&&this._fireEvent("seeded",Math.max(this._strength,this._poolStrength)),this._fireEvent("progress",this.getProgress()))},isReady:function(n){var t=this._PARANOIA_LEVELS[n!==undefined?n:this._defaultParanoia];return this._strength&&this._strength>=t?this._poolEntropy[0]>this._BITS_PER_RESEED&&(new Date).valueOf()>this._nextReseed?this._REQUIRES_RESEED|this._READY:this._READY:this._poolStrength>=t?this._REQUIRES_RESEED|this._NOT_READY:this._NOT_READY},getProgress:function(n){var t=this._PARANOIA_LEVELS[n?n:this._defaultParanoia];return this._strength>=t?1:this._poolStrength>t?1:this._poolStrength/t},startCollectors:function(){if(!this._collectorsStarted){if(this._eventListener={loadTimeCollector:this._bind(this._loadTimeCollector),mouseCollector:this._bind(this._mouseCollector),keyboardCollector:this._bind(this._keyboardCollector),accelerometerCollector:this._bind(this._accelerometerCollector),touchCollector:this._bind(this._touchCollector)},window.addEventListener)window.addEventListener("load",this._eventListener.loadTimeCollector,!1),window.addEventListener("keypress",this._eventListener.keyboardCollector,!1);else if(document.attachEvent)document.attachEvent("onload",this._eventListener.loadTimeCollector),document.attachEvent("keypress",this._eventListener.keyboardCollector);else throw new n.exception.bug("can't attach event");this._collectorsStarted=!0}},stopCollectors:function(){this._collectorsStarted&&(window.removeEventListener?(window.removeEventListener("load",this._eventListener.loadTimeCollector,!1),window.removeEventListener("keypress",this._eventListener.keyboardCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this._eventListener.loadTimeCollector),document.detachEvent("keypress",this._eventListener.keyboardCollector)),this._collectorsStarted=!1)},addEventListener:function(n,t){this._callbacks[n][this._callbackI++]=t},removeEventListener:function(n,t){var r,i,u=this._callbacks[n],f=[];for(i in u)u.hasOwnProperty(i)&&u[i]===t&&f.push(i);for(r=0;r<f.length;r++)i=f[r],delete u[i]},_bind:function(n){var t=this;return function(){n.apply(t,arguments)}},_gen4words:function(){for(var n=0;n<4;n++)if(this._counter[n]=this._counter[n]+1|0,this._counter[n])break;return this._cipher.encrypt(this._counter)},_gate:function(){this._key=this._gen4words().concat(this._gen4words());this._cipher=new n.cipher.aes(this._key)},_reseed:function(t){this._key=n.hash.sha256.hash(this._key.concat(t));this._cipher=new n.cipher.aes(this._key);for(var i=0;i<4;i++)if(this._counter[i]=this._counter[i]+1|0,this._counter[i])break},_reseedFromPools:function(t){var r=[],u=0,i;for(this._nextReseed=r[0]=(new Date).valueOf()+this._MILLISECONDS_PER_RESEED,i=0;i<16;i++)r.push(Math.random()*4294967296|0);for(i=0;i<this._pools.length;i++)if(r=r.concat(this._pools[i].finalize()),u+=this._poolEntropy[i],this._poolEntropy[i]=0,!t&&this._reseedCount&1<<i)break;this._reseedCount>=1<<this._pools.length&&(this._pools.push(new n.hash.sha256),this._poolEntropy.push(0));this._poolStrength-=u;u>this._strength&&(this._strength=u);this._reseedCount++;this._reseed(r)},_keyboardCollector:function(){this._addCurrentTimeToEntropy(1)},_mouseCollector:function(t){var i,r;try{i=t.x||t.clientX||t.offsetX||0;r=t.y||t.clientY||t.offsetY||0}catch(u){i=0;r=0}i!=0&&r!=0&&n.random.addEntropy([i,r],2,"mouse");this._addCurrentTimeToEntropy(0)},_touchCollector:function(t){var i=t.touches[0]||t.changedTouches[0],r=i.pageX||i.clientX,u=i.pageY||i.clientY;n.random.addEntropy([r,u],1,"touch");this._addCurrentTimeToEntropy(0)},_loadTimeCollector:function(){this._addCurrentTimeToEntropy(2)},_addCurrentTimeToEntropy:function(t){typeof window!="undefined"&&window.performance&&typeof window.performance.now=="function"?n.random.addEntropy(window.performance.now(),t,"loadtime"):n.random.addEntropy((new Date).valueOf(),t,"loadtime")},_accelerometerCollector:function(t){var r=t.accelerationIncludingGravity.x||t.accelerationIncludingGravity.y||t.accelerationIncludingGravity.z,i;window.orientation&&(i=window.orientation,typeof i=="number"&&n.random.addEntropy(i,1,"accelerometer"));r&&n.random.addEntropy(r,2,"accelerometer");this._addCurrentTimeToEntropy(0)},_fireEvent:function(t,i){var r,u=n.random._callbacks[t],f=[];for(r in u)u.hasOwnProperty(r)&&f.push(u[r]);for(r=0;r<f.length;r++)f[r](i)}},n.random=new n.prng(6),function(){function u(){try{return require("crypto")}catch(n){return null}}try{var t,r,i;if(typeof module!="undefined"&&module.exports&&(r=u())&&r.randomBytes)t=r.randomBytes(128),t=new Uint32Array(new Uint8Array(t).buffer),n.random.addEntropy(t,1024,"crypto.randomBytes");else if(typeof window!="undefined"&&typeof Uint32Array!="undefined"){if(i=new Uint32Array(32),window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(i);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(i);else return;n.random.addEntropy(i,1024,"crypto.getRandomValues")}}catch(f){typeof window!="undefined"&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(f))}}(),n.codec.hex={fromBits:function(t){for(var r="",i=0;i<t.length;i++)r+=((t[i]|0)+0xf00000000000).toString(16).substr(4);return r.substr(0,n.bitArray.bitLength(t)/4)},toBits:function(t){var i,r=[],u;for(t=t.replace(/\s|0x/g,""),u=t.length,t=t+"00000000",i=0;i<t.length;i+=8)r.push(parseInt(t.substr(i,8),16)^0);return n.bitArray.clamp(r,u*4)}},n.codec.utf8String={fromBits:function(t){for(var u="",f=n.bitArray.bitLength(t),r,i=0;i<f/8;i++)(i&3)==0&&(r=t[i/4]),u+=String.fromCharCode(r>>>24),r<<=8;return decodeURIComponent(escape(u))},toBits:function(t){t=unescape(encodeURIComponent(t));for(var u=[],r=0,i=0;i<t.length;i++)r=r<<8|t.charCodeAt(i),(i&3)==3&&(u.push(r),r=0);return i&3&&u.push(n.bitArray.partial(8*(i&3),r)),u}},n.codec.base64={_chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(t,i,r){var u="",e,f=0,o=n.codec.base64._chars,s=0,h=n.bitArray.bitLength(t);for(r&&(o=o.substr(0,62)+"-_"),e=0;u.length*6<h;)u+=o.charAt((s^t[e]>>>f)>>>26),f<6?(s=t[e]<<6-f,f+=26,e++):(s<<=6,f-=6);while(u.length&3&&!i)u+="=";return u},toBits:function(t,i){t=t.replace(/\s|=/g,"");var o=[],f,r=0,s=n.codec.base64._chars,e=0,u;for(i&&(s=s.substr(0,62)+"-_"),f=0;f<t.length;f++){if(u=s.indexOf(t.charAt(f)),u<0)throw new n.exception.invalid("this isn't base64!");r>26?(r-=26,o.push(e^u>>>r),e=u<<32-r):(r+=6,e^=u<<32-r)}return r&56&&o.push(n.bitArray.partial(r&56,e,1)),o}},n.codec.base64url={fromBits:function(t){return n.codec.base64.fromBits(t,1,1)},toBits:function(t){return n.codec.base64.toBits(t,1)}},n}),function(n){"use strict";typeof define=="function"&&define.amd?define("BigInteger",[],n):window.BigInteger=n()}(function(){function n(n,t,i){n!=null&&("number"==typeof n?this.fromNumber(n,t,i):t==null&&"string"!=typeof n?this.fromString(n,256):this.fromString(n,t))}function t(){return new n(null)}function it(n,t,i,r,u,f){while(--f>=0){var e=t*this[n++]+i[r]+u;u=Math.floor(e/67108864);i[r++]=e&67108863}return u}function rt(n,t,i,r,u,f){for(var o=t&32767,s=t>>15;--f>=0;){var e=this[n]&32767,h=this[n++]>>15,c=s*e+h*o;e=o*e+((c&32767)<<15)+i[r]+(u&1073741823);u=(e>>>30)+(c>>>15)+s*h+(u>>>30);i[r++]=e&1073741823}return u}function ut(n,t,i,r,u,f){for(var o=t&16383,s=t>>14;--f>=0;){var e=this[n]&16383,h=this[n++]>>14,c=s*e+h*o;e=o*e+((c&16383)<<14)+i[r]+u;u=(e>>28)+(c>>14)+s*h;i[r++]=e&268435455}return u}function b(n){return w.charAt(n)}function k(n,t){var i=c[n.charCodeAt(t)];return i==null?-1:i}function ft(n){for(var t=this.t-1;t>=0;--t)n[t]=this[t];n.t=this.t;n.s=this.s}function et(n){this.t=1;this.s=n<0?-1:0;n>0?this[0]=n:n<-1?this[0]=n+DV:this.t=0}function f(n){var i=t();return i.fromInt(n),i}function ot(t,i){var u,f;if(i==16)u=4;else if(i==8)u=3;else if(i==256)u=8;else if(i==2)u=1;else if(i==32)u=5;else if(i==4)u=2;else{this.fromRadix(t,i);return}this.t=0;this.s=0;for(var e=t.length,o=!1,r=0;--e>=0;){if(f=u==8?t[e]&255:k(t,e),f<0){t.charAt(e)=="-"&&(o=!0);continue}o=!1;r==0?this[this.t++]=f:r+u>this.DB?(this[this.t-1]|=(f&(1<<this.DB-r)-1)<<r,this[this.t++]=f>>this.DB-r):this[this.t-1]|=f<<r;r+=u;r>=this.DB&&(r-=this.DB)}u==8&&(t[0]&128)!=0&&(this.s=-1,r>0&&(this[this.t-1]|=(1<<this.DB-r)-1<<r));this.clamp();o&&n.ZERO.subTo(this,this)}function st(){for(var n=this.s&this.DM;this.t>0&&this[this.t-1]==n;)--this.t}function ht(n){var t;if(this.s<0)return"-"+this.negate().toString(n);if(n==16)t=4;else if(n==8)t=3;else if(n==2)t=1;else if(n==32)t=5;else if(n==4)t=2;else return this.toRadix(n);var o=(1<<t)-1,u,f=!1,e="",r=this.t,i=this.DB-r*this.DB%t;if(r-->0)for(i<this.DB&&(u=this[r]>>i)>0&&(f=!0,e=b(u));r>=0;)i<t?u=(this[r]&(1<<i)-1)<<t-i|this[--r]>>(i+=this.DB-t):(u=this[r]>>(i-=t)&o,i<=0&&(i+=this.DB,--r)),u>0&&(f=!0),f&&(e+=b(u));return f?e:"0"}function ct(){var i=t();return n.ZERO.subTo(this,i),i}function lt(){return this.s<0?this.negate():this}function at(n){var t=this.s-n.s,i;if(t!=0)return t;if(i=this.t,t=i-n.t,t!=0)return this.s<0?-t:t;while(--i>=0)if((t=this[i]-n[i])!=0)return t;return 0}function v(n){var i=1,t;return(t=n>>>16)!=0&&(n=t,i+=16),(t=n>>8)!=0&&(n=t,i+=8),(t=n>>4)!=0&&(n=t,i+=4),(t=n>>2)!=0&&(n=t,i+=2),(t=n>>1)!=0&&(n=t,i+=1),i}function vt(){return this.t<=0?0:this.DB*(this.t-1)+v(this[this.t-1]^this.s&this.DM)}function yt(n,t){for(var i=this.t-1;i>=0;--i)t[i+n]=this[i];for(i=n-1;i>=0;--i)t[i]=0;t.t=this.t+n;t.s=this.s}function pt(n,t){for(var i=n;i<this.t;++i)t[i-n]=this[i];t.t=Math.max(this.t-n,0);t.s=this.s}function wt(n,t){for(var u=n%this.DB,e=this.DB-u,o=(1<<e)-1,r=Math.floor(n/this.DB),f=this.s<<u&this.DM,i=this.t-1;i>=0;--i)t[i+r+1]=this[i]>>e|f,f=(this[i]&o)<<u;for(i=r-1;i>=0;--i)t[i]=0;t[r]=f;t.t=this.t+r+1;t.s=this.s;t.clamp()}function bt(n,t){var i,r;if(t.s=this.s,i=Math.floor(n/this.DB),i>=this.t){t.t=0;return}var u=n%this.DB,f=this.DB-u,e=(1<<u)-1;for(t[0]=this[i]>>u,r=i+1;r<this.t;++r)t[r-i-1]|=(this[r]&e)<<f,t[r-i]=this[r]>>u;u>0&&(t[this.t-i-1]|=(this.s&e)<<f);t.t=this.t-i;t.clamp()}function kt(n,t){for(var r=0,i=0,u=Math.min(n.t,this.t);r<u;)i+=this[r]-n[r],t[r++]=i&this.DM,i>>=this.DB;if(n.t<this.t){for(i-=n.s;r<this.t;)i+=this[r],t[r++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;r<n.t;)i-=n[r],t[r++]=i&this.DM,i>>=this.DB;i-=n.s}t.s=i<0?-1:0;i<-1?t[r++]=this.DV+i:i>0&&(t[r++]=i);t.t=r;t.clamp()}function dt(t,i){var u=this.abs(),f=t.abs(),r=u.t;for(i.t=r+f.t;--r>=0;)i[r]=0;for(r=0;r<f.t;++r)i[r+u.t]=u.am(0,f[r],i,r,0,u.t);i.s=0;i.clamp();this.s!=t.s&&n.ZERO.subTo(i,i)}function gt(n){for(var i=this.abs(),t=n.t=2*i.t,r;--t>=0;)n[t]=0;for(t=0;t<i.t-1;++t)r=i.am(t,i[t],n,2*t,0,1),(n[t+i.t]+=i.am(t+1,2*i[t],n,2*t+1,r,i.t-t-1))>=i.DV&&(n[t+i.t]-=i.DV,n[t+i.t+1]=1);n.t>0&&(n[n.t-1]+=i.am(t,i[t],n,2*t,0,1));n.s=0;n.clamp()}function ni(i,r,u){var s=i.abs(),l,e,a,p;if(!(s.t<=0)){if(l=this.abs(),l.t<s.t){r!=null&&r.fromInt(0);u!=null&&this.copyTo(u);return}u==null&&(u=t());var f=t(),w=this.s,k=i.s,c=this.DB-v(s[s.t-1]);if(c>0?(s.lShiftTo(c,f),l.lShiftTo(c,u)):(s.copyTo(f),l.copyTo(u)),e=f.t,a=f[e-1],a!=0){var b=a*(1<<this.F1)+(e>1?f[e-2]>>this.F2:0),d=this.FV/b,g=(1<<this.F1)/b,nt=1<<this.F2,h=u.t,y=h-e,o=r==null?t():r;for(f.dlShiftTo(y,o),u.compareTo(o)>=0&&(u[u.t++]=1,u.subTo(o,u)),n.ONE.dlShiftTo(e,o),o.subTo(f,f);f.t<e;)f[f.t++]=0;while(--y>=0)if(p=u[--h]==a?this.DM:Math.floor(u[h]*d+(u[h-1]+nt)*g),(u[h]+=f.am(0,p,u,y,0,e))<p)for(f.dlShiftTo(y,o),u.subTo(o,u);u[h]<--p;)u.subTo(o,u);r!=null&&(u.drShiftTo(e,r),w!=k&&n.ZERO.subTo(r,r));u.t=e;u.clamp();c>0&&u.rShiftTo(c,u);w<0&&n.ZERO.subTo(u,u)}}}function ti(i){var r=t();return this.abs().divRemTo(i,null,r),this.s<0&&r.compareTo(n.ZERO)>0&&i.subTo(r,r),r}function e(n){this.m=n}function ii(n){return n.s<0||n.compareTo(this.m)>=0?n.mod(this.m):n}function ri(n){return n}function ui(n){n.divRemTo(this.m,null,n)}function fi(n,t,i){n.multiplyTo(t,i);this.reduce(i)}function ei(n,t){n.squareTo(t);this.reduce(t)}function oi(){var t,n;return this.t<1?0:(t=this[0],(t&1)==0)?0:(n=t&3,n=n*(2-(t&15)*n)&15,n=n*(2-(t&255)*n)&255,n=n*(2-((t&65535)*n&65535))&65535,n=n*(2-t*n%this.DV)%this.DV,n>0?this.DV-n:-n)}function o(n){this.m=n;this.mp=n.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<n.DB-15)-1;this.mt2=2*n.t}function si(i){var r=t();return i.abs().dlShiftTo(this.m.t,r),r.divRemTo(this.m,null,r),i.s<0&&r.compareTo(n.ZERO)>0&&this.m.subTo(r,r),r}function hi(n){var i=t();return n.copyTo(i),this.reduce(i),i}function ci(n){for(var i,t,r;n.t<=this.mt2;)n[n.t++]=0;for(i=0;i<this.m.t;++i)for(t=n[i]&32767,r=t*this.mpl+((t*this.mph+(n[i]>>15)*this.mpl&this.um)<<15)&n.DM,t=i+this.m.t,n[t]+=this.m.am(0,r,n,i,0,this.m.t);n[t]>=n.DV;)n[t]-=n.DV,n[++t]++;n.clamp();n.drShiftTo(this.m.t,n);n.compareTo(this.m)>=0&&n.subTo(this.m,n)}function li(n,t){n.squareTo(t);this.reduce(t)}function ai(n,t,i){n.multiplyTo(t,i);this.reduce(i)}function vi(){return(this.t>0?this[0]&1:this.s)==0}function yi(i,r){var s;if(i>4294967295||i<1)return n.ONE;var u=t(),f=t(),e=r.convert(this),o=v(i)-1;for(e.copyTo(u);--o>=0;)r.sqrTo(u,f),(i&1<<o)>0?r.mulTo(f,e,u):(s=u,u=f,f=s);return r.revert(u)}function pi(n,t){var i;return i=n<256||t.isEven()?new e(t):new o(t),this.exp(n,i)}function wi(){var n=t();return this.copyTo(n),n}function bi(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function ki(){return this.t==0?this.s:this[0]<<24>>24}function di(){return this.t==0?this.s:this[0]<<16>>16}function gi(n){return Math.floor(Math.LN2*this.DB/Math.log(n))}function nr(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function tr(n){if(n==null&&(n=10),this.signum()==0||n<2||n>36)return"0";var s=this.chunkSize(n),e=Math.pow(n,s),o=f(e),i=t(),r=t(),u="";for(this.divRemTo(o,i,r);i.signum()>0;)u=(e+r.intValue()).toString(n).substr(1)+u,i.divRemTo(o,i,r);return r.intValue().toString(n)+u}function ir(t,i){var u,e;this.fromInt(0);i==null&&(i=10);var o=this.chunkSize(i),h=Math.pow(i,o),s=!1,f=0,r=0;for(u=0;u<t.length;++u){if(e=k(t,u),e<0){t.charAt(u)=="-"&&this.signum()==0&&(s=!0);continue}r=i*r+e;++f>=o&&(this.dMultiply(h),this.dAddOffset(r,0),f=0,r=0)}f>0&&(this.dMultiply(Math.pow(i,f)),this.dAddOffset(r,0));s&&n.ZERO.subTo(this,this)}function rr(t,i,r){if("number"==typeof i)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(n.ONE.shiftLeft(t-1),y,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(n.ONE.shiftLeft(t-1),this);else{var u=[],f=t&7;u.length=(t>>3)+1;i.nextBytes(u);f>0?u[0]&=(1<<f)-1:u[0]=0;this.fromString(u,256)}}function ur(){var i=this.t,u=[],n,t,r;if(u[0]=this.s,n=this.DB-i*this.DB%8,r=0,i-->0)for(n<this.DB&&(t=this[i]>>n)!=(this.s&this.DM)>>n&&(u[r++]=t|this.s<<this.DB-n);i>=0;)n<8?t=(this[i]&(1<<n)-1)<<8-n|this[--i]>>(n+=this.DB-8):(t=this[i]>>(n-=8)&255,n<=0&&(n+=this.DB,--i)),(t&128)!=0&&(t|=-256),r==0&&(this.s&128)!=(t&128)&&++r,(r>0||t!=this.s)&&(u[r++]=t);return u}function fr(n){return this.compareTo(n)==0}function er(n){return this.compareTo(n)<0?this:n}function or(n){return this.compareTo(n)>0?this:n}function sr(n,t,i){for(var u,f=Math.min(n.t,this.t),r=0;r<f;++r)i[r]=t(this[r],n[r]);if(n.t<this.t){for(u=n.s&this.DM,r=f;r<this.t;++r)i[r]=t(this[r],u);i.t=this.t}else{for(u=this.s&this.DM,r=f;r<n.t;++r)i[r]=t(u,n[r]);i.t=n.t}i.s=t(this.s,n.s);i.clamp()}function hr(n,t){return n&t}function cr(n){var i=t();return this.bitwiseTo(n,hr,i),i}function y(n,t){return n|t}function lr(n){var i=t();return this.bitwiseTo(n,y,i),i}function d(n,t){return n^t}function ar(n){var i=t();return this.bitwiseTo(n,d,i),i}function g(n,t){return n&~t}function vr(n){var i=t();return this.bitwiseTo(n,g,i),i}function yr(){for(var n=t(),i=0;i<this.t;++i)n[i]=this.DM&~this[i];return n.t=this.t,n.s=~this.s,n}function pr(n){var i=t();return n<0?this.rShiftTo(-n,i):this.lShiftTo(n,i),i}function wr(n){var i=t();return n<0?this.lShiftTo(-n,i):this.rShiftTo(n,i),i}function br(n){if(n==0)return-1;var t=0;return(n&65535)==0&&(n>>=16,t+=16),(n&255)==0&&(n>>=8,t+=8),(n&15)==0&&(n>>=4,t+=4),(n&3)==0&&(n>>=2,t+=2),(n&1)==0&&++t,t}function kr(){for(var n=0;n<this.t;++n)if(this[n]!=0)return n*this.DB+br(this[n]);return this.s<0?this.t*this.DB:-1}function dr(n){for(var t=0;n!=0;)n&=n-1,++t;return t}function gr(){for(var t=0,i=this.s&this.DM,n=0;n<this.t;++n)t+=dr(this[n]^i);return t}function nu(n){var t=Math.floor(n/this.DB);return t>=this.t?this.s!=0:(this[t]&1<<n%this.DB)!=0}function tu(t,i){var r=n.ONE.shiftLeft(t);return this.bitwiseTo(r,i,r),r}function iu(n){return this.changeBit(n,y)}function ru(n){return this.changeBit(n,g)}function uu(n){return this.changeBit(n,d)}function fu(n,t){for(var r=0,i=0,u=Math.min(n.t,this.t);r<u;)i+=this[r]+n[r],t[r++]=i&this.DM,i>>=this.DB;if(n.t<this.t){for(i+=n.s;r<this.t;)i+=this[r],t[r++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;r<n.t;)i+=n[r],t[r++]=i&this.DM,i>>=this.DB;i+=n.s}t.s=i<0?-1:0;i>0?t[r++]=i:i<-1&&(t[r++]=this.DV+i);t.t=r;t.clamp()}function eu(n){var i=t();return this.addTo(n,i),i}function ou(n){var i=t();return this.subTo(n,i),i}function su(n){var i=t();return this.multiplyTo(n,i),i}function hu(){var n=t();return this.squareTo(n),n}function cu(n){var i=t();return this.divRemTo(n,i,null),i}function lu(n){var i=t();return this.divRemTo(n,null,i),i}function au(n){var i=t(),r=t();return this.divRemTo(n,i,r),[i,r]}function vu(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function yu(n,t){if(n!=0){while(this.t<=t)this[this.t++]=0;for(this[t]+=n;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function l(){}function nt(n){return n}function pu(n,t,i){n.multiplyTo(t,i)}function wu(n,t){n.squareTo(t)}function bu(n){return this.exp(n,new l)}function ku(n,t,i){var r=Math.min(this.t+n.t,t),u;for(i.s=0,i.t=r;r>0;)i[--r]=0;for(u=i.t-this.t;r<u;++r)i[r+this.t]=this.am(0,n[r],i,r,0,this.t);for(u=Math.min(n.t,t);r<u;++r)this.am(0,n[r],i,r,0,t-r);i.clamp()}function du(n,t,i){--t;var r=i.t=this.t+n.t-t;for(i.s=0;--r>=0;)i[r]=0;for(r=Math.max(t-this.t,0);r<n.t;++r)i[this.t+r-t]=this.am(t-r,n[r],i,0,0,this.t+r-t);i.clamp();i.drShiftTo(1,i)}function h(i){this.r2=t();this.q3=t();n.ONE.dlShiftTo(2*i.t,this.r2);this.mu=this.r2.divide(i);this.m=i}function gu(n){if(n.s<0||n.t>2*this.m.t)return n.mod(this.m);if(n.compareTo(this.m)<0)return n;var i=t();return n.copyTo(i),this.reduce(i),i}function nf(n){return n}function tf(n){for(n.drShiftTo(this.m.t-1,this.r2),n.t>this.m.t+1&&(n.t=this.m.t+1,n.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);n.compareTo(this.r2)<0;)n.dAddOffset(1,this.m.t+1);for(n.subTo(this.r2,n);n.compareTo(this.m)>=0;)n.subTo(this.m,n)}function rf(n,t){n.squareTo(t);this.reduce(t)}function uf(n,t,i){n.multiplyTo(t,i);this.reduce(i)}function ff(n,i){var r=n.bitLength(),w,u=f(1),c,d;if(r<=0)return u;w=r<18?1:r<48?3:r<144?4:r<768?5:6;c=r<8?new e(i):i.isEven()?new h(i):new o(i);var y=[],s=3,b=w-1,g=(1<<w)-1;if(y[1]=c.convert(this),w>1)for(d=t(),c.sqrTo(y[1],d);s<=g;)y[s]=t(),c.mulTo(d,y[s-2],y[s]),s+=2;var l=n.t-1,p,nt=!0,a=t(),k;for(r=v(n[l])-1;l>=0;){for(r>=b?p=n[l]>>r-b&g:(p=(n[l]&(1<<r+1)-1)<<b-r,l>0&&(p|=n[l-1]>>this.DB+r-b)),s=w;(p&1)==0;)p>>=1,--s;if((r-=s)<0&&(r+=this.DB,--l),nt)y[p].copyTo(u),nt=!1;else{while(s>1)c.sqrTo(u,a),c.sqrTo(a,u),s-=2;s>0?c.sqrTo(u,a):(k=u,u=a,a=k);c.mulTo(a,y[p],u)}while(l>=0&&(n[l]&1<<r)==0)c.sqrTo(u,a),k=u,u=a,a=k,--r<0&&(r=this.DB-1,--l)}return c.revert(u)}function ef(n){var i=this.s<0?this.negate():this.clone(),t=n.s<0?n.negate():n.clone(),f,u,r;if(i.compareTo(t)<0&&(f=i,i=t,t=f),u=i.getLowestSetBit(),r=t.getLowestSetBit(),r<0)return i;for(u<r&&(r=u),r>0&&(i.rShiftTo(r,i),t.rShiftTo(r,t));i.signum()>0;)(u=i.getLowestSetBit())>0&&i.rShiftTo(u,i),(u=t.getLowestSetBit())>0&&t.rShiftTo(u,t),i.compareTo(t)>=0?(i.subTo(t,i),i.rShiftTo(1,i)):(t.subTo(i,t),t.rShiftTo(1,t));return r>0&&t.lShiftTo(r,t),t}function sf(n){var r,t,i;if(n<=0)return 0;if(r=this.DV%n,t=this.s<0?n-1:0,this.t>0)if(r==0)t=this[0]%n;else for(i=this.t-1;i>=0;--i)t=(r*t+this[i])%n;return t}function hf(t){var h=t.isEven();if(this.isEven()&&h||t.signum()==0)return n.ZERO;for(var u=t.clone(),e=this.clone(),o=f(1),r=f(0),s=f(0),i=f(1);u.signum()!=0;){while(u.isEven())u.rShiftTo(1,u),h?(o.isEven()&&r.isEven()||(o.addTo(this,o),r.subTo(t,r)),o.rShiftTo(1,o)):r.isEven()||r.subTo(t,r),r.rShiftTo(1,r);while(e.isEven())e.rShiftTo(1,e),h?(s.isEven()&&i.isEven()||(s.addTo(this,s),i.subTo(t,i)),s.rShiftTo(1,s)):i.isEven()||i.subTo(t,i),i.rShiftTo(1,i);u.compareTo(e)>=0?(u.subTo(e,u),h&&o.subTo(s,o),r.subTo(i,r)):(e.subTo(u,e),h&&s.subTo(o,s),i.subTo(r,i))}if(e.compareTo(n.ONE)!=0)return n.ZERO;if(i.compareTo(t)>=0)return i.subtract(t);if(i.signum()<0)i.addTo(t,i);else return i;return i.signum()<0?i.add(t):i}function cf(n){var t,r=this.abs(),u,f;if(r.t==1&&r[0]<=i[i.length-1]){for(t=0;t<i.length;++t)if(r[0]==i[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<i.length;){for(u=i[t],f=t+1;f<i.length&&u<tt;)u*=i[f++];for(u=r.modInt(u);t<f;)if(u%i[t++]==0)return!1}return r.millerRabin(n)}function lf(r){var f=this.subtract(n.ONE),e=f.getLowestSetBit(),h,o,s,u,c;if(e<=0)return!1;for(h=f.shiftRight(e),r=r+1>>1,r>i.length&&(r=i.length),o=t(),s=0;s<r;++s)if(o.fromInt(i[Math.floor(Math.random()*i.length)]),u=o.modPow(h,this),u.compareTo(n.ONE)!=0&&u.compareTo(f)!=0){for(c=1;c++<e&&u.compareTo(f)!=0;)if(u=u.modPowInt(2,this),u.compareTo(n.ONE)==0)return!1;if(u.compareTo(f)!=0)return!1}return!0}var u,p=(0xdeadbeefcafe&16777215)==15715070,a,w,c,s,r,i,tt;for(p&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=rt,u=30):p&&navigator.appName!="Netscape"?(n.prototype.am=it,u=26):(n.prototype.am=ut,u=28),n.prototype.DB=u,n.prototype.DM=(1<<u)-1,n.prototype.DV=1<<u,a=52,n.prototype.FV=Math.pow(2,a),n.prototype.F1=a-u,n.prototype.F2=2*u-a,w="0123456789abcdefghijklmnopqrstuvwxyz",c=[],s="0".charCodeAt(0),r=0;r<=9;++r)c[s++]=r;for(s="a".charCodeAt(0),r=10;r<36;++r)c[s++]=r;for(s="A".charCodeAt(0),r=10;r<36;++r)c[s++]=r;return e.prototype.convert=ii,e.prototype.revert=ri,e.prototype.reduce=ui,e.prototype.mulTo=fi,e.prototype.sqrTo=ei,o.prototype.convert=si,o.prototype.revert=hi,o.prototype.reduce=ci,o.prototype.mulTo=ai,o.prototype.sqrTo=li,n.prototype.copyTo=ft,n.prototype.fromInt=et,n.prototype.fromString=ot,n.prototype.clamp=st,n.prototype.dlShiftTo=yt,n.prototype.drShiftTo=pt,n.prototype.lShiftTo=wt,n.prototype.rShiftTo=bt,n.prototype.subTo=kt,n.prototype.multiplyTo=dt,n.prototype.squareTo=gt,n.prototype.divRemTo=ni,n.prototype.invDigit=oi,n.prototype.isEven=vi,n.prototype.exp=yi,n.prototype.toString=ht,n.prototype.negate=ct,n.prototype.abs=lt,n.prototype.compareTo=at,n.prototype.bitLength=vt,n.prototype.mod=ti,n.prototype.modPowInt=pi,n.ZERO=f(0),n.ONE=f(1),l.prototype.convert=nt,l.prototype.revert=nt,l.prototype.mulTo=pu,l.prototype.sqrTo=wu,h.prototype.convert=gu,h.prototype.revert=nf,h.prototype.reduce=tf,h.prototype.mulTo=uf,h.prototype.sqrTo=rf,i=[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],tt=67108864/i[i.length-1],n.prototype.chunkSize=gi,n.prototype.toRadix=tr,n.prototype.fromRadix=ir,n.prototype.fromNumber=rr,n.prototype.bitwiseTo=sr,n.prototype.changeBit=tu,n.prototype.addTo=fu,n.prototype.dMultiply=vu,n.prototype.dAddOffset=yu,n.prototype.multiplyLowerTo=ku,n.prototype.multiplyUpperTo=du,n.prototype.modInt=sf,n.prototype.millerRabin=lf,n.prototype.clone=wi,n.prototype.intValue=bi,n.prototype.byteValue=ki,n.prototype.shortValue=di,n.prototype.signum=nr,n.prototype.toByteArray=ur,n.prototype.equals=fr,n.prototype.min=er,n.prototype.max=or,n.prototype.and=cr,n.prototype.or=lr,n.prototype.xor=ar,n.prototype.andNot=vr,n.prototype.not=yr,n.prototype.shiftLeft=pr,n.prototype.shiftRight=wr,n.prototype.getLowestSetBit=kr,n.prototype.bitCount=gr,n.prototype.testBit=nu,n.prototype.setBit=iu,n.prototype.clearBit=ru,n.prototype.flipBit=uu,n.prototype.add=eu,n.prototype.subtract=ou,n.prototype.multiply=su,n.prototype.divide=cu,n.prototype.remainder=lu,n.prototype.divideAndRemainder=au,n.prototype.modPow=ff,n.prototype.modInverse=hf,n.prototype.pow=bu,n.prototype.gcd=ef,n.prototype.isProbablePrime=cf,n.prototype.square=hu,n}),function(n){"use strict";typeof define=="function"&&define.amd?define("SRPClient",["sha1","sjcl","BigInteger"],n):window.SRPClient=n(sha1,sjcl,BigInteger)}(function(n,t,i){var r=function(n,t,r,u){if(!n)throw"Username cannot be empty.";this.username=n;this.password=t;this.hashFn=u||"sha-1";var r=r||1024,f=this.initVals[r];this.N=new i(f.N,16);this.g=new i(f.g,16);this.gBn=new i(f.g,16);this.k=this.k();this.one=new i("1",16);this.two=new i("2",16)};return r.prototype={toHexString:function(n){var t=n.toString(16);return t.length%2==1&&(t="0"+t),t},padLeft:function(n,t){if(n.length>t)return n;var i=Array(t-n.length+1);return i.join("0")+n},bytesToHex:function(n){var t=this,i=n.map(function(n){return t.padLeft(t.toHexString(n),2)});return i.join("")},hexToBytes:function(n){if(n.length%2==1)throw new Error("hexToBytes can't have a string with an odd number of characters.");return n.indexOf("0x")===0&&(n=n.slice(2)),n.match(/../g).map(function(n){return parseInt(n,16)})},stringToBytes:function(n){for(var i=[],t=0;t<n.length;++t)i.push(n.charCodeAt(t));return i},bytesToString:function(n){for(var i="",t=0;t<n.length;t++)i+=String.fromCharCode(n[t]);return i},k:function(){var n=[this.toHexString(this.N),this.toHexString(this.g)];return this.paddedHash(n)},calculateX:function(n){var r;if(!n)throw"Missing parameter.";if(!this.username||!this.password)throw"Username and password cannot be empty.";var u=this.stringToBytes(this.username),f=this.hexToBytes(this.password),e=u.concat([58]).concat(f),o=this.hash(this.bytesToString(e)),s=this.hexToBytes(o),h=this.hexToBytes(n),c=h.concat(s),l=this.hash(this.bytesToString(c)),t=new i(l,16);return t.compareTo(this.N)<0?t:(r=new i(1,16),t.mod(this.N.subtract(r)))},calculateV:function(n){if(!n)throw"Missing parameter.";var t=this.calculateX(n);return this.g.modPow(t,this.N)},calculateU:function(n,t){if(!n||!t)throw"Missing parameter(s).";if(n.mod(this.N).toString()=="0"||t.mod(this.N).toString()=="0")throw"ABORT: illegal_parameter";var i=[this.toHexString(n),this.toHexString(t)];return this.paddedHash(i)},canCalculateA:function(n){if(!n)throw"Missing parameter.";return Math.ceil(n.bitLength()/8)>=32},calculateA:function(n){if(!n)throw"Missing parameter.";if(!this.canCalculateA(n))throw"Client key length is less than 256 bits.";var t=this.g.modPow(n,this.N);if(t.mod(this.N).toString()=="0")throw"ABORT: illegal_parameter";return t},calculateM1:function(n,t,r,u){var f,e;if(!n||!t||!r||!u)throw"Missing parameter(s).";if(n.mod(this.N).toString()=="0"||t.mod(this.N).toString()=="0")throw"ABORT: illegal_parameter";var l=this.hexHash(this.toHexString(this.N)),a=this.hexHash(this.toHexString(this.g)),v=this.hash(this.username),o=[],s=this.hexToBytes(l),y=this.hexToBytes(a);for(f=0;f<s.length;f++)o[f]=s[f]^y[f];var p=this.bytesToHex(o),w=this.toHexString(n),b=this.toHexString(t),h=[p,v,u,w,b,r],c="";for(e=0;e<h.length;e++)c+=h[e];return new i(this.hexHash(c),16)},calculateM:function(n,t,i,r){var u,f;if(!n||!t||!i||!r)throw"Missing parameter(s).";if(n.mod(this.N).toString()=="0"||t.m