function SHA256(P){var K=8;var N=0;function I(Q,T){var S=(Q&65535)+(T&65535);var R=(Q>>16)+(T>>16)+(S>>16);return(R<<16)|(S&65535)}function E(R,Q){return(R>>>Q)|(R<<(32-Q))}function F(R,Q){return(R>>>Q)}function A(Q,S,R){return((Q&S)^((~Q)&R))}function D(Q,S,R){return((Q&S)^(Q&R)^(S&R))}function G(Q){return(E(Q,2)^E(Q,13)^E(Q,22))}function B(Q){return(E(Q,6)^E(Q,11)^E(Q,25))}function O(Q){return(E(Q,7)^E(Q,18)^F(Q,3))}function J(Q){return(E(Q,17)^E(Q,19)^F(Q,10))}function C(R,S){var r=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298);var T=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225);var Q=new Array(64);var t,s,q,p,n,Z,Y,X,V,U;var o,k;R[S>>5]|=128<<(24-S%32);R[((S+64>>9)<<4)+15]=S;for(var V=0;V<R.length;V+=16){t=T[0];s=T[1];q=T[2];p=T[3];n=T[4];Z=T[5];Y=T[6];X=T[7];for(var U=0;U<64;U++){if(U<16){Q[U]=R[U+V]}else{Q[U]=I(I(I(J(Q[U-2]),Q[U-7]),O(Q[U-15])),Q[U-16])}o=I(I(I(I(X,B(n)),A(n,Z,Y)),r[U]),Q[U]);k=I(G(t),D(t,s,q));X=Y;Y=Z;Z=n;n=I(p,o);p=q;q=s;s=t;t=I(o,k)}T[0]=I(t,T[0]);T[1]=I(s,T[1]);T[2]=I(q,T[2]);T[3]=I(p,T[3]);T[4]=I(n,T[4]);T[5]=I(Z,T[5]);T[6]=I(Y,T[6]);T[7]=I(X,T[7])}return T}function H(T){var S=Array();var Q=(1<<K)-1;for(var R=0;R<T.length*K;R+=K){S[R>>5]|=(T.charCodeAt(R/K)&Q)<<(24-R%32)}return S}function M(R){R=R.replace(/\r\n/g,"\n");var Q="";for(var T=0;T<R.length;T++){var S=R.charCodeAt(T);if(S<128){Q+=String.fromCharCode(S)}else{if((S>127)&&(S<2048)){Q+=String.fromCharCode((S>>6)|192);Q+=String.fromCharCode((S&63)|128)}else{Q+=String.fromCharCode((S>>12)|224);Q+=String.fromCharCode(((S>>6)&63)|128);Q+=String.fromCharCode((S&63)|128)}}}return Q}function L(S){var R=N?"0123456789ABCDEF":"0123456789abcdef";var T="";for(var Q=0;Q<S.length*4;Q++){T+=R.charAt((S[Q>>2]>>((3-Q%4)*8+4))&15)+R.charAt((S[Q>>2]>>((3-Q%4)*8))&15)}return T}P=M(P);return L(C(H(P),P.length*K))}function authenticate(C){var D=document.getElementById("username"),A=document.getElementById("password"),B=document.getElementById("auth_key");B.value=SHA256(D.value+SHA256(A.value)+C);A.value="";document.getElementsByTagName("form")[0].submit()};
