// prng4.js - uses jsbn_Arcfour as a PRNG

function jsbn_Arcfour(){this.i=0;this.j=0;this.S=new Array()}function jsbn_ARC4init(d){var c,a,b;for(c=0;c<256;++c){this.S[c]=c}a=0;for(c=0;c<256;++c){a=(a+this.S[c]+d[c%d.length])&255;b=this.S[c];this.S[c]=this.S[a];this.S[a]=b}this.i=0;this.j=0}function jsbn_ARC4next(){var a;this.i=(this.i+1)&255;this.j=(this.j+this.S[this.i])&255;a=this.S[this.i];this.S[this.i]=this.S[this.j];this.S[this.j]=a;return this.S[(a+this.S[this.i])&255]}jsbn_Arcfour.prototype.init=jsbn_ARC4init;jsbn_Arcfour.prototype.next=jsbn_ARC4next;function jsbn_prng_newstate(){return new jsbn_Arcfour()}var jsbn_rng_psize=256;