var END_OF_INPUT=-1;
var base64Chars=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9","+","/");
var textareasDecoded = 0;
var reverseBase64Chars=new Array();
for(var i=0;i<base64Chars.length;i++){
reverseBase64Chars[base64Chars[i]]=i;
}
var base64Str;
var base64Count;
function setBase64Str(_1){
base64Str=_1;
base64Count=0;
}
function readBase64(){
if(!base64Str){
return END_OF_INPUT;
}
if(base64Count>=base64Str.length){
return END_OF_INPUT;
}
var c=base64Str.charCodeAt(base64Count)&255;
base64Count++;
return c;
}
function encodeBase64(_3){
setBase64Str(_3);
var _4="";
var _5=new Array(3);
var _6=0;
var _7=false;
while(!_7&&(_5[0]=readBase64())!=END_OF_INPUT){
_5[1]=readBase64();
_5[2]=readBase64();
_4+=(base64Chars[_5[0]>>2]);
if(_5[1]!=END_OF_INPUT){
_4+=(base64Chars[((_5[0]<<4)&48)|(_5[1]>>4)]);
if(_5[2]!=END_OF_INPUT){
_4+=(base64Chars[((_5[1]<<2)&60)|(_5[2]>>6)]);
_4+=(base64Chars[_5[2]&63]);
}else{
_4+=(base64Chars[((_5[1]<<2)&60)]);
_4+=("=");
_7=true;
}
}else{
_4+=(base64Chars[((_5[0]<<4)&48)]);
_4+=("=");
_4+=("=");
_7=true;
}
_6+=4;
if(_6>=76){
_4+=("\n");
_6=0;
}
}
return _4;
}
function readReverseBase64(){
if(!base64Str){
return END_OF_INPUT;
}
while(true){
if(base64Count>=base64Str.length){
return END_OF_INPUT;
}
var _8=base64Str.charAt(base64Count);
base64Count++;
if(reverseBase64Chars[_8]){
return reverseBase64Chars[_8];
}
if(_8=="A"){
return 0;
}
}
return END_OF_INPUT;
}
function ntos(n){
n=n.toString(16);
if(n.length==1){
n="0"+n;
}
n="%"+n;
return unescape(n);
}
function decodeBase64(_a){
setBase64Str(_a);
var _b="";
var _c=new Array(4);
var _d=false;
while(!_d&&(_c[0]=readReverseBase64())!=END_OF_INPUT&&(_c[1]=readReverseBase64())!=END_OF_INPUT){
_c[2]=readReverseBase64();
_c[3]=readReverseBase64();
_b+=ntos((((_c[0]<<2)&255)|_c[1]>>4));
if(_c[2]!=END_OF_INPUT){
_b+=ntos((((_c[1]<<4)&255)|_c[2]>>2));
if(_c[3]!=END_OF_INPUT){
_b+=ntos((((_c[2]<<6)&255)|_c[3]));
}else{
_d=true;
}
}else{
_d=true;
}
}
return _b;
}
function decodeTextFields(){
var _e=document.getElementsByTagName("textarea");
if(_e){
for(i=0;i<_e.length;i++){
var _f=_e[i].value;
if(_f.substr(0,3)=="?b?"){
_e[i].value=decodeBase64(_f.substr(3));
}
textareasDecoded = 1;
}
}
}

