program ideone;
function DecodeBase64( Value: String ) : String ;
const b64alphabet: PChar = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' ;
function DecodeChunk( const Chunk: String ) : String ;
var
W: LongWord;
i: Byte ;
Result: String ;
begin
W : = 0 ; Result : = '' ;
for i : = 1 to 4 do
if Pos( Chunk[ i] , b64alphabet) <> 0 then
W : = W + Word ( ( Pos( Chunk[ i] , b64alphabet) - 1 ) ) shl ( ( 4 - i) * 6 ) ;
for i : = 1 to 3 do
Result : = Result + Chr ( W shr ( ( 3 - i) * 8 ) and $ff ) ;
DecodeChunk : = Result;
end ;
var Result1: String ;
begin
Result1 : = '' ;
if Length( Value) mod 4 <> 0 then Exit;
while Length( Value) > 0 do
begin
Result1 : = Result1 + DecodeChunk( Copy( Value, 0 , 4 ) ) ;
Delete( Value, 1 , 4 ) ;
end ;
DecodeBase64 : = Result1;
end ;
var rkey: string ;
ttext: string ;
i: integer ;
begin
rkey : = 'Mozilla/5.0 (Windows NT 6595d22397c0b1998.VO1MmJfamekbMplQO3URqsOY-fp5VDKdVYPfZLAQUIz85hA2Aod_OJ7Vz5cVtSuUXaMoByuHOA3VWwNKP_d_RVXBg34uVCCyvY1D9AbxwDqJ5HjCy91NgAQbjM-k5WIc87a9ad7bee75' ;
ttext : = 'aFg4TF5eAkBbWlVOXHJbXEFcNlYXDHESBFZMRxZXXEdpVgRVRwMLHAtvc30DfEh4VERfJk5QfxwNIjtmJTYQByp8H1RVBhdheVZzHWBDYwpkFWVsOH0Q' ;
ttext : = DecodeBase64( ttext) ;
for i : = 1 to length( ttext) do
ttext[ i] : = chr ( ord ( ttext[ i] ) xor ord ( rkey[ ( ( i- 1 ) mod length( rkey) ) + 1 ] ) ) ;
WriteLn ( ttext) ;
end .
cHJvZ3JhbSBpZGVvbmU7CgpmdW5jdGlvbiBEZWNvZGVCYXNlNjQoVmFsdWU6IFN0cmluZyk6IFN0cmluZzsKY29uc3QgYjY0YWxwaGFiZXQ6IFBDaGFyID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nOwogIGZ1bmN0aW9uIERlY29kZUNodW5rKGNvbnN0IENodW5rOiBTdHJpbmcpOiBTdHJpbmc7CiAgdmFyCiAgICBXOiBMb25nV29yZDsKICAgIGk6IEJ5dGU7CiAgICBSZXN1bHQ6IFN0cmluZzsKICBiZWdpbgogICAgVyA6PSAwOyBSZXN1bHQgOj0gJyc7CiAgICBmb3IgaSA6PSAxIHRvIDQgZG8KICAgICAgaWYgUG9zKENodW5rW2ldLCBiNjRhbHBoYWJldCkgPD4gMCB0aGVuCiAgICAgICAgVyA6PSBXICsgV29yZCgoUG9zKENodW5rW2ldLCBiNjRhbHBoYWJldCkgLSAxKSkgc2hsICgoNCAtIGkpICogNik7CiAgICBmb3IgaSA6PSAxIHRvIDMgZG8KICAgICAgUmVzdWx0IDo9IFJlc3VsdCArIENocihXIHNociAoKDMgLSBpKSAqIDgpIGFuZCAkZmYpOwogICAgRGVjb2RlQ2h1bmsgOj0gUmVzdWx0OwogIGVuZDsKdmFyIFJlc3VsdDE6IFN0cmluZzsKYmVnaW4KICBSZXN1bHQxIDo9ICcnOwogIGlmIExlbmd0aChWYWx1ZSkgbW9kIDQgPD4gMCB0aGVuIEV4aXQ7CiAgd2hpbGUgTGVuZ3RoKFZhbHVlKSA+IDAgZG8KICBiZWdpbgogICAgUmVzdWx0MSA6PSBSZXN1bHQxICsgRGVjb2RlQ2h1bmsoQ29weShWYWx1ZSwgMCwgNCkpOwogICAgRGVsZXRlKFZhbHVlLCAxLCA0KTsKICBlbmQ7CiAgRGVjb2RlQmFzZTY0IDo9IFJlc3VsdDE7CmVuZDsKCnZhciBya2V5OiBzdHJpbmc7Cgl0dGV4dDogc3RyaW5nOwoJaTogaW50ZWdlcjsKYmVnaW4KCXJrZXkgOj0gJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDY1OTVkMjIzOTdjMGIxOTk4LlZPMU1tSmZhbWVrYk1wbFFPM1VScXNPWS1mcDVWREtkVllQZlpMQVFVSXo4NWhBMkFvZF9PSjdWejVjVnRTdVVYYU1vQnl1SE9BM1ZXd05LUF9kX1JWWEJnMzR1VkNDeXZZMUQ5QWJ4d0RxSjVIakN5OTFOZ0FRYmpNLWs1V0ljODdhOWFkN2JlZTc1JzsKCXR0ZXh0IDo9ICdhRmc0VEY1ZUFrQmJXbFZPWEhKYlhFRmNObFlYREhFU0JGWk1SeFpYWEVkcFZnUlZSd01MSEF0dmMzMERmRWg0VkVSZkprNVFmeHdOSWp0bUpUWVFCeXA4SDFSVkJoZGhlVlp6SFdCRFl3cGtGV1ZzT0gwUSc7Cgl0dGV4dCA6PSBEZWNvZGVCYXNlNjQodHRleHQpOwoJZm9yIGkgOj0gMSB0byBsZW5ndGgodHRleHQpIGRvCiAgICAgICAgdHRleHRbaV0gOj0gY2hyKG9yZCh0dGV4dFtpXSkgeG9yIG9yZChya2V5WygoaS0xKSBtb2QgbGVuZ3RoKHJrZXkpKSArIDFdKSk7CiAgICBXcml0ZUxuKHR0ZXh0KTsKZW5kLg==