var hexcase=0;var b64pad="";var chrsz=8;function hex_sha1(A){return binb2hex(core_sha1(str2binb(A),A.length*chrsz))}function b64_sha1(A){return binb2b64(core_sha1(str2binb(A),A.length*chrsz))}function str_sha1(A){return binb2str(core_sha1(str2binb(A),A.length*chrsz))}function hex_hmac_sha1(A,B){return binb2hex(core_hmac_sha1(A,B))}function b64_hmac_sha1(A,B){return binb2b64(core_hmac_sha1(A,B))}function str_hmac_sha1(A,B){return binb2str(core_hmac_sha1(A,B))}function sha1_vm_test(){return hex_sha1("abc")=="a9993e364706816aba3e25717850c26c9cd0d89d"}function core_sha1(N,K){N[K>>5]|=128<<(24-K%32);N[((K+64>>9)<<4)+15]=K;var C=Array(80);var M=1732584193;var J=-271733879;var O=-1732584194;var P=271733878;var A=-1009589776;for(var G=0;G<N.length;G+=16){var H=M;var I=J;var B=O;var E=P;var L=A;for(var F=0;F<80;F++){if(F<16){C[F]=N[G+F]}else{C[F]=rol(C[F-3]^C[F-8]^C[F-14]^C[F-16],1)}var D=safe_add(safe_add(rol(M,5),sha1_ft(F,J,O,P)),safe_add(safe_add(A,C[F]),sha1_kt(F)));A=P;P=O;O=rol(J,30);J=M;M=D}M=safe_add(M,H);J=safe_add(J,I);O=safe_add(O,B);P=safe_add(P,E);A=safe_add(A,L)}return Array(M,J,O,P,A)}function sha1_ft(C,B,D,A){if(C<20){return(B&D)|((~B)&A)}if(C<40){return B^D^A}if(C<60){return(B&D)|(B&A)|(D&A)}return B^D^A}function sha1_kt(A){return(A<20)?1518500249:(A<40)?1859775393:(A<60)?-1894007588:-899497514}function core_hmac_sha1(B,G){var F=str2binb(B);if(F.length>16){F=core_sha1(F,B.length*chrsz)}var A=Array(16),D=Array(16);for(var C=0;C<16;C++){A[C]=F[C]^909522486;D[C]=F[C]^1549556828}var E=core_sha1(A.concat(str2binb(G)),512+G.length*chrsz);return core_sha1(D.concat(E),512+160)}function safe_add(B,C){var A=(B&65535)+(C&65535);var D=(B>>16)+(C>>16)+(A>>16);return(D<<16)|(A&65535)}function rol(B,A){return(B<<A)|(B>>>(32-A))}function str2binb(B){var C=Array();var D=(1<<chrsz)-1;for(var A=0;A<B.length*chrsz;A+=chrsz){C[A>>5]|=(B.charCodeAt(A/chrsz)&D)<<(32-chrsz-A%32)}return C}function binb2str(C){var B="";var D=(1<<chrsz)-1;for(var A=0;A<C.length*32;A+=chrsz){B+=String.fromCharCode((C[A>>5]>>>(32-chrsz-A%32))&D)}return B}function binb2hex(C){var A=hexcase?"0123456789ABCDEF":"0123456789abcdef";var D="";for(var B=0;B<C.length*4;B++){D+=A.charAt((C[B>>2]>>((3-B%4)*8+4))&15)+A.charAt((C[B>>2]>>((3-B%4)*8))&15)}return D}function binb2b64(B){var C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var D="";for(var A=0;A<B.length*4;A+=3){var E=(((B[A>>2]>>8*(3-A%4))&255)<<16)|(((B[A+1>>2]>>8*(3-(A+1)%4))&255)<<8)|((B[A+2>>2]>>8*(3-(A+2)%4))&255);for(var F=0;F<4;F++){if(A*8+F*6>B.length*32){D+=b64pad}else{D+=C.charAt((E>>6*(3-F))&63)}}}return D};