var Aes={};Aes.cipher=function(e,a){var d=4;var h=a.length/d-1;var g=[[],[],[],[]];for(var f=0;f<4*d;f++){g[f%4][Math.floor(f/4)]=e[f];}g=Aes.addRoundKey(g,a,0,d);for(var c=1;c6&&c%b==4){h=Aes.subWord(h);}}for(var j=0;j<4;j++){e[c][j]=e[c-b][j]^h[j];}}return e;};Aes.subBytes=function(b,a){for(var d=0;d<4;d++){for(var e=0; e>>r*8)&255;}for(var r=0;r<4;r++){e[r+4]=g&255;}var n="";for(var r=0;r<8;r++){n+=String.fromCharCode(e[r]);}var v=Aes.keyExpansion(y); var q=Math.ceil(j.length/k);var m=new Array(q);for(var w=0;w>>u*8)&255;}for(var u=0;u<4;u++){e[15-u-4]=(w/4294967296>>>u*8);}var h=Aes.cipher(e,v);var p=w0){while(m++<3){f+="=";q+="\0";}}for(m=0;m>18&63;k=r>>12&63;j=r>>6&63;h=r&63;i[m/3]=d.charAt(o)+d.charAt(k)+d.charAt(j)+d.charAt(h);}l=i.join("");l=l.slice(0,l.length-f.length)+f;return l;};Base64.decode=function(n,e){e=(typeof e=="undefined")?false:e; var g,b,a,o,k,i,h,q,j=[],p,m;var f=Base64.code;m=e?n.decodeUTF8():n;for(var l=0;l>>16&255;b=q>>>8&255;a=q&255;j[l/4]=String.fromCharCode(g,b,a);if(h==64){j[l/4]=String.fromCharCode(g,b); }if(i==64){j[l/4]=String.fromCharCode(g);}}p=j.join("");return e?p.decodeUTF8():p;};var Utf8={};Utf8.encode=function(a){var b=a.replace(/[\u0080-\u07ff]/g,function(e){var d=e.charCodeAt(0);return String.fromCharCode(192|d>>6,128|d&63);});b=b.replace(/[\u0800-\uffff]/g,function(e){var d=e.charCodeAt(0); return String.fromCharCode(224|d>>12,128|d>>6&63,128|d&63);});return b;};Utf8.decode=function(b){var a=b.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g,function(e){var d=((e.charCodeAt(0)&15)<<12)|((e.charCodeAt(1)&63)<<6)|(e.charCodeAt(2)&63);return String.fromCharCode(d);});a=a.replace(/[\u00c0-\u00df][\u0080-\u00bf]/g,function(e){var d=(e.charCodeAt(0)&31)<<6|e.charCodeAt(1)&63; return String.fromCharCode(d);});return a;};