From 675aa3f976f57db7b029a1035a7a2b678dfb6c87 Mon Sep 17 00:00:00 2001 From: Taras Bulba Date: Tue, 30 Aug 2016 20:54:32 +0300 Subject: [PATCH 1/5] Temporary fixes --- .../Models/POGOProtosRequestParser.cs | 16 +- PoGoMITM.Base/PoGoMITM.Base.csproj | 2 + PoGoMITM.Base/Utils/SignatureDecryptor.cs | 77 + PoGoMITM.Base/Utils/Unshuffle.cs | 2785 +++++++++++++++++ PoGoMITM.Launcher/Startup.cs | 20 +- 5 files changed, 2883 insertions(+), 17 deletions(-) create mode 100644 PoGoMITM.Base/Utils/SignatureDecryptor.cs create mode 100644 PoGoMITM.Base/Utils/Unshuffle.cs diff --git a/PoGoMITM.Base/Models/POGOProtosRequestParser.cs b/PoGoMITM.Base/Models/POGOProtosRequestParser.cs index d6aa4ff..6c9641b 100644 --- a/PoGoMITM.Base/Models/POGOProtosRequestParser.cs +++ b/PoGoMITM.Base/Models/POGOProtosRequestParser.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Google.Protobuf; +using PoGo.Crypt; using PoGoMITM.Base.ProtoHelpers; using PoGoMITM.Base.Utils; using POGOProtos.Networking.Envelopes; @@ -107,8 +108,8 @@ public async Task ParseRequest(RequestContext result) } } - if (SignatureEncryption != null) - { + //if (SignatureEncryption != null) + //{ var sig = result.RequestEnvelope?.PlatformRequests?.FirstOrDefault( pr => pr.Type == PlatformRequestType.SendEncryptedSignature); if (sig != null) @@ -121,10 +122,11 @@ public async Task ParseRequest(RequestContext result) { if (bytes.Length > 0) { - result.RawDecryptedSignature = - SignatureEncryption.GetType() - .InvokeMember("Decrypt", BindingFlags.Default | BindingFlags.InvokeMethod, null, - SignatureEncryption, new[] {bytes}) as byte[]; + result.RawDecryptedSignature = SignatureDecryptor.Decrypt(bytes); + //result.RawDecryptedSignature = + // SignatureEncryption.GetType() + // .InvokeMember("Decrypt", BindingFlags.Default | BindingFlags.InvokeMethod, null, + // SignatureEncryption, new[] {bytes}) as byte[]; if (result.RawDecryptedSignature != null) { result.DecryptedSignature = Signature.Parser.ParseFrom(result.RawDecryptedSignature); @@ -136,7 +138,7 @@ public async Task ParseRequest(RequestContext result) } } - } + //} if (result.ResponseEnvelope?.Returns != null && result.ResponseEnvelope.Returns.Count > 0) diff --git a/PoGoMITM.Base/PoGoMITM.Base.csproj b/PoGoMITM.Base/PoGoMITM.Base.csproj index 9ec61c2..0529c35 100644 --- a/PoGoMITM.Base/PoGoMITM.Base.csproj +++ b/PoGoMITM.Base/PoGoMITM.Base.csproj @@ -119,6 +119,8 @@ + + diff --git a/PoGoMITM.Base/Utils/SignatureDecryptor.cs b/PoGoMITM.Base/Utils/SignatureDecryptor.cs new file mode 100644 index 0000000..79ed5f6 --- /dev/null +++ b/PoGoMITM.Base/Utils/SignatureDecryptor.cs @@ -0,0 +1,77 @@ +using System; +using System.Linq; + +namespace PoGo.Crypt +{ + public partial class SignatureDecryptor + { + + private static byte Rotl8(uint x, int n) + { + return (byte)(((x << n) | (x >> (8 - n))) & byte.MaxValue); + } + + private static byte[] Cipher8FromIv(byte[] iv) + { + var cipher8 = new byte[256]; + for (var ii = 0; ii < 8; ++ii) + { + for (var jj = 0; jj < 32; ++jj) + { + cipher8[32 * ii + jj] = Rotl8(iv[jj], ii); + } + } + return cipher8; + } + + + public static byte[] Decrypt(byte[] input) + { + if (input == null) + { + throw new ArgumentNullException(nameof(input)); + } + if (input.Length < 288 || (input.Length - 32) % 256 != 0) + { + throw new ArgumentException("Invalid input length", nameof(input)); + } + + var output8 = input.Skip(32).ToArray(); + + var output32 = new uint[output8.Length / 4]; + Buffer.BlockCopy(output8, 0, output32, 0, output8.Length); + + var cipherSource = input.Take(32).ToArray(); + + + var cipher8 = Cipher8FromIv(cipherSource); + var cipher32 = new uint[cipher8.Length / 4]; + Buffer.BlockCopy(cipher8, 0, cipher32, 0, cipher8.Length); + + for (var offset = 0; offset < output32.Length; offset += 64) + { + var tmp = output32.Skip(offset).Take(64).ToArray(); + var shuffle32 = output32.Skip(offset).Take(64).ToArray(); + + var shuffled32 = Unshuffle(shuffle32); + + + for (var i = offset; i < offset + 64; i++) + { + output32[i] = shuffled32[i - offset]; + } + + for (var ii = 0; ii < 64; ++ii) + { + output32[offset + ii] ^= cipher32[ii]; + } + cipher32 = tmp; + + } + + var tempResult = new byte[output32.Length * 4]; + Buffer.BlockCopy(output32, 0, tempResult, 0, output32.Length * 4); + return tempResult.Take(tempResult.Length - tempResult.Last()).ToArray(); + } + } +} diff --git a/PoGoMITM.Base/Utils/Unshuffle.cs b/PoGoMITM.Base/Utils/Unshuffle.cs new file mode 100644 index 0000000..a23de04 --- /dev/null +++ b/PoGoMITM.Base/Utils/Unshuffle.cs @@ -0,0 +1,2785 @@ +namespace PoGo.Crypt +{ + public partial class SignatureDecryptor + { + private static uint[] Unshuffle(uint[] vector) + { + var output = new uint[64]; + var tmp = new uint[205]; + tmp[0] = vector[3] & vector[19]; + tmp[1] = vector[9] | vector[25]; + tmp[2] = vector[7] & vector[31]; + tmp[3] = vector[7] | vector[31]; + tmp[4] = vector[25] & vector[33]; + tmp[5] = vector[21] | vector[37]; + tmp[6] = vector[13] & vector[37]; + tmp[7] = vector[13] | vector[37]; + tmp[8] = vector[29] & vector[61]; + tmp[9] = vector[37] & vector[61]; + tmp[10] = ~vector[1]; + tmp[11] = ~vector[3]; + tmp[12] = ~vector[5]; + tmp[13] = ~vector[7]; + tmp[14] = vector[7] ^ vector[31]; + tmp[15] = ~vector[9]; + tmp[16] = ~vector[11]; + tmp[17] = vector[13] ^ vector[37]; + tmp[18] = ~vector[15]; + tmp[19] = ~vector[17]; + tmp[20] = ~vector[19]; + tmp[21] = ~vector[21]; + tmp[22] = ~vector[25]; + tmp[23] = ~vector[27]; + tmp[24] = ~vector[29]; + tmp[25] = ~vector[31]; + tmp[26] = ~vector[33]; + tmp[27] = ~vector[35]; + tmp[28] = ~vector[37]; + tmp[29] = ~vector[39]; + tmp[30] = ~vector[41]; + tmp[31] = ~vector[45]; + tmp[32] = ~vector[47]; + tmp[33] = ~vector[49]; + tmp[34] = ~vector[51]; + tmp[35] = ~vector[55]; + tmp[36] = ~vector[57]; + tmp[37] = ~vector[59]; + tmp[38] = ~vector[61]; + tmp[39] = ~vector[63]; + tmp[40] = vector[33] & tmp[10]; + tmp[41] = tmp[4] & tmp[10]; + tmp[42] = vector[19] & tmp[11]; + tmp[43] = vector[19] | tmp[11]; + tmp[44] = vector[11] & tmp[11]; + tmp[45] = vector[41] & tmp[11]; + tmp[46] = tmp[3] & tmp[13]; + tmp[47] = vector[15] & vector[31] & tmp[13]; + tmp[48] = vector[15] & tmp[14]; + tmp[49] = vector[25] & tmp[15]; + tmp[50] = tmp[11] | tmp[16]; + tmp[51] = tmp[11] & tmp[20]; + tmp[52] = ~tmp[2]; + tmp[53] = vector[7] & tmp[25]; + tmp[54] = vector[25] & tmp[26]; + tmp[55] = vector[25] | tmp[26]; + tmp[56] = tmp[22] & tmp[26]; + tmp[57] = tmp[7] & tmp[28]; + tmp[58] = tmp[25] & tmp[29]; + tmp[59] = tmp[11] | tmp[30]; + tmp[60] = vector[27] & tmp[34]; + tmp[61] = tmp[23] | tmp[34]; + tmp[62] = tmp[23] & tmp[34]; + tmp[63] = tmp[29] & tmp[35]; + tmp[64] = vector[31] & tmp[35]; + tmp[65] = vector[31] | tmp[35]; + tmp[66] = vector[3] & tmp[36]; + tmp[67] = tmp[11] | tmp[36]; + tmp[68] = tmp[11] & tmp[36]; + tmp[69] = tmp[34] | tmp[37]; + tmp[70] = tmp[23] | tmp[37]; + tmp[71] = vector[29] & tmp[38]; + tmp[72] = vector[37] | tmp[38]; + tmp[73] = vector[37] & tmp[38]; + tmp[74] = ~tmp[10]; + tmp[75] = tmp[11] ^ tmp[36]; + tmp[76] = vector[19] ^ tmp[11]; + tmp[77] = ~tmp[12]; + tmp[78] = tmp[23] ^ tmp[34]; + tmp[79] = tmp[26] ^ tmp[40]; + tmp[80] = vector[25] ^ tmp[26]; + tmp[81] = ~tmp[27]; + tmp[82] = vector[31] ^ tmp[29]; + tmp[83] = tmp[34] ^ tmp[37]; + tmp[84] = ~tmp[36]; + tmp[85] = ~tmp[37]; + tmp[86] = ~tmp[38]; + tmp[87] = vector[37] ^ tmp[38]; + tmp[20] &= tmp[43]; + tmp[88] = vector[15] & tmp[53]; + tmp[89] = vector[33] & tmp[55]; + tmp[90] = vector[37] & ~tmp[6]; + tmp[91] = tmp[25] & tmp[65]; + tmp[92] = vector[41] & tmp[66]; + tmp[93] = vector[41] & tmp[67]; + tmp[94] = tmp[30] | tmp[67]; + tmp[95] = vector[41] & tmp[68]; + tmp[96] = vector[61] & tmp[72]; + tmp[97] = vector[29] & tmp[73]; + tmp[98] = tmp[42] ^ tmp[50]; + tmp[99] = vector[11] & tmp[76]; + tmp[100] = tmp[17] ^ vector[37] & tmp[21]; + tmp[101] = tmp[7] ^ tmp[6] & tmp[21]; + tmp[102] = tmp[10] & tmp[26] ^ tmp[80]; + tmp[80] &= tmp[10]; + tmp[103] = vector[29] & tmp[28] ^ tmp[87]; + tmp[104] = vector[21] ^ tmp[57]; + tmp[105] = vector[47] & tmp[82]; + tmp[106] = tmp[23] & ~tmp[34]; + tmp[107] = ~tmp[64]; + tmp[108] = tmp[64] ^ tmp[25] & tmp[63]; + tmp[109] = vector[31] & ~tmp[35]; + tmp[66] ^= tmp[92]; + tmp[110] = tmp[11] & tmp[84]; + tmp[111] = tmp[23] & tmp[85]; + tmp[112] = tmp[62] & tmp[85]; + tmp[85] &= tmp[61]; + tmp[113] = vector[29] & tmp[87]; + tmp[114] = tmp[75] ^ tmp[94]; + tmp[115] = vector[21] | tmp[90]; + tmp[116] = vector[19] & ~tmp[42]; + tmp[117] = tmp[27] & (tmp[44] ^ tmp[76]); + tmp[118] = tmp[24] & tmp[101]; + tmp[119] = tmp[28] & (vector[13] & tmp[24]) ^ tmp[100]; + tmp[120] = tmp[10] & (tmp[54] | ~tmp[26]); + tmp[121] = tmp[10] & ~tmp[55]; + tmp[122] = vector[37] & ~vector[13] ^ tmp[24] & (tmp[5] ^ tmp[7]); + tmp[101] ^= tmp[24] & (vector[13] ^ tmp[5]); + tmp[123] = vector[49] & (tmp[11] ^ tmp[59]); + tmp[124] = vector[31] & tmp[107]; + tmp[107] &= tmp[29]; + tmp[125] = vector[29] & ~tmp[72]; + tmp[73] = tmp[38] & ~tmp[73]; + tmp[126] = tmp[67] ^ vector[41] & tmp[75]; + tmp[127] = vector[47] & ~tmp[82]; + tmp[128] = tmp[37] ^ tmp[106]; + tmp[129] = tmp[10] & ~tmp[89]; + tmp[130] = vector[21] ^ vector[37] ^ tmp[24] & ((vector[21] | tmp[6]) ^ tmp[57]); + tmp[131] = tmp[29] & ~tmp[91]; + tmp[132] = tmp[27] & ((tmp[16] | tmp[76]) ^ tmp[116]); + tmp[7] = tmp[17] ^ (vector[21] | tmp[7]) ^ tmp[24] & tmp[100]; + tmp[6] ^= (vector[21] | tmp[57]) ^ (vector[29] | vector[13] & tmp[21]); + tmp[21] = tmp[5] ^ ((vector[29] | tmp[17] & tmp[21]) ^ tmp[90]); + tmp[17] = tmp[54] ^ tmp[120]; + tmp[90] = tmp[23] & ~tmp[106]; + tmp[5] = tmp[81] & tmp[128]; + tmp[57] = tmp[81] & (tmp[70] ^ tmp[106]); + tmp[100] = tmp[37] | tmp[90]; + tmp[24] = tmp[102] ^ (vector[9] | vector[25] ^ tmp[120]); + tmp[133] = vector[31] ^ tmp[29] & ~tmp[124]; + tmp[134] = vector[47] & ~(tmp[58] ^ tmp[124]); + tmp[135] = vector[37] ^ vector[53] & tmp[103] ^ vector[29] & ~tmp[73]; + tmp[18] = (tmp[38] | tmp[14] ^ tmp[48]) ^ (vector[7] ^ vector[15] & tmp[25]) ^ vector[23] & ~(vector[31] ^ (tmp[38] | vector[7] & tmp[18])) ^ (~vector[32] ^ tmp[29] & ~(tmp[38] & (tmp[2] & tmp[18]) ^ vector[23] & (tmp[2] & tmp[38]))); + tmp[46] = ~vector[50] ^ tmp[29] & (vector[23] & (vector[7] ^ (tmp[3] | tmp[38])) ^ (tmp[46] ^ (tmp[38] | tmp[46] ^ tmp[48]))) ^ (vector[23] & (vector[7] ^ tmp[38] & tmp[52]) ^ (tmp[2] ^ (vector[15] & tmp[52] ^ vector[61] & (tmp[3] ^ tmp[88])))); + tmp[136] = ~tmp[18]; + tmp[137] = tmp[38] ^ (vector[53] & tmp[28] ^ (vector[29] ^ vector[37] & tmp[31])) ^ (~vector[22] ^ (vector[7] | vector[53] & tmp[9] ^ (tmp[96] ^ tmp[97]) ^ tmp[31] & (vector[53] & (tmp[38] ^ tmp[71]) ^ (tmp[8] ^ tmp[87])))); + tmp[132] = vector[38] ^ (tmp[98] ^ tmp[27] & ~(tmp[11] ^ tmp[44]) ^ tmp[36] & ~(tmp[20] ^ vector[11] & tmp[51] ^ tmp[27] & (tmp[44] ^ tmp[51])) ^ tmp[23] & (tmp[0] ^ tmp[44] ^ tmp[132] ^ tmp[36] & (tmp[42] ^ tmp[44] ^ tmp[132]))); + tmp[138] = ~tmp[46]; + tmp[94] = vector[18] ^ (tmp[22] & (tmp[11] ^ (tmp[33] | tmp[114]) ^ (tmp[26] | tmp[33] & (tmp[59] ^ tmp[68]) ^ tmp[126])) ^ (vector[33] & (tmp[68] ^ tmp[95] ^ tmp[123]) ^ (tmp[67] ^ (tmp[30] | tmp[68]) ^ vector[49] & (tmp[94] ^ tmp[36] & ~tmp[68])))); + tmp[79] = tmp[10] & tmp[54] ^ tmp[89] ^ ((tmp[39] | (vector[9] | tmp[26]) ^ tmp[79]) ^ (vector[40] ^ (vector[9] | tmp[10] & tmp[56]) ^ tmp[19] & ~(tmp[10] ^ tmp[54] ^ (tmp[39] | tmp[79] ^ vector[33] & tmp[49])))); + tmp[117] = tmp[36] & (vector[35] | tmp[42] ^ (tmp[16] | tmp[42])) ^ (tmp[50] ^ (tmp[51] ^ tmp[27] & ~tmp[43])) ^ (~vector[42] ^ tmp[23] & ~(tmp[117] ^ tmp[36] & (vector[11] & vector[19] ^ tmp[117]))); + tmp[50] = tmp[27] & tmp[50] ^ (tmp[16] ^ tmp[116]) ^ tmp[36] & (tmp[20] ^ tmp[27] & ~tmp[98]) ^ (vector[44] ^ tmp[23] & (tmp[50] ^ tmp[27] & ~tmp[20] ^ tmp[36] & (tmp[43] ^ tmp[50] ^ tmp[27] & ~(tmp[0] ^ tmp[50])))); + tmp[20] = tmp[130] ^ (vector[59] & tmp[6] ^ (~vector[52] ^ tmp[12] & (tmp[119] ^ (tmp[37] | tmp[7])))); + tmp[88] = vector[23] & (vector[61] | tmp[25]) ^ ((vector[31] | tmp[38]) ^ tmp[3] & (vector[15] ^ tmp[13])) ^ (vector[28] ^ tmp[29] & ~(vector[23] & (vector[7] ^ tmp[14] & tmp[38]) ^ (tmp[3] ^ tmp[38] & (vector[31] ^ tmp[88])))); + tmp[56] = ~vector[12] ^ (tmp[17] ^ tmp[15] & (tmp[55] ^ tmp[120]) ^ vector[63] & (tmp[26] ^ tmp[80] ^ (vector[9] | tmp[55] ^ tmp[10] & ~tmp[54])) ^ tmp[19] & (tmp[1] ^ tmp[102] ^ (tmp[39] | tmp[1] ^ (tmp[56] ^ tmp[121])))); + tmp[55] = tmp[104] ^ tmp[118] ^ (vector[59] & tmp[21] ^ (~vector[34] ^ tmp[12] & ~(vector[59] & tmp[101] ^ (tmp[115] ^ tmp[122])))); + tmp[1] = ~tmp[132]; + tmp[95] = tmp[114] ^ (vector[49] & (tmp[75] ^ tmp[95]) ^ ((tmp[26] | tmp[66] ^ tmp[123]) ^ (~vector[36] ^ tmp[22] & (vector[33] & (vector[49] & tmp[30] ^ tmp[66]) ^ (tmp[36] & (vector[49] & tmp[11]) ^ (tmp[67] ^ tmp[95])))))); + tmp[66] = tmp[94] ^ tmp[55]; + tmp[99] = tmp[27] & (tmp[16] | tmp[43]) ^ (tmp[16] ^ tmp[76]) ^ tmp[36] & ~(vector[35] & tmp[98]) ^ (~vector[24] ^ tmp[23] & ~(tmp[36] & (tmp[27] & (tmp[43] ^ (vector[19] | tmp[16])) ^ (tmp[0] ^ tmp[99])) ^ (tmp[11] ^ (tmp[44] ^ vector[35] & (tmp[76] ^ tmp[99]))))); + tmp[76] = tmp[50] & tmp[88]; + tmp[43] = ~tmp[79]; + tmp[0] = tmp[94] & tmp[55]; + tmp[44] = tmp[94] | tmp[55]; + tmp[103] = (vector[45] | ~vector[53] & tmp[38] ^ tmp[113]) ^ (vector[53] & (tmp[87] ^ tmp[97]) ^ (vector[37] ^ vector[29] & ~tmp[87])) ^ (vector[4] ^ (vector[7] | vector[53] & tmp[31] & ~tmp[103] ^ vector[53] & ~(tmp[87] ^ vector[29] & ~tmp[96]))); + tmp[97] = ~tmp[117]; + tmp[98] = tmp[50] ^ tmp[88]; + tmp[7] = tmp[130] ^ (~vector[62] ^ tmp[37] & ~tmp[6] ^ tmp[12] & ~(tmp[119] ^ tmp[37] & ~tmp[7])); + tmp[119] = ~tmp[55]; + tmp[92] = tmp[36] ^ tmp[93] ^ ((tmp[11] | tmp[33]) ^ ((tmp[26] | vector[49] & tmp[110] ^ (tmp[67] & tmp[84] ^ vector[41] & tmp[110])) ^ (~vector[0] ^ (vector[25] | vector[33] & (tmp[45] ^ tmp[123]) ^ (tmp[11] ^ vector[49] & (tmp[11] ^ tmp[92])))))); + tmp[112] = ~vector[56] ^ (tmp[77] & (tmp[61] ^ tmp[81] & (tmp[60] ^ (tmp[37] | tmp[60]))) ^ (tmp[128] ^ (tmp[27] | tmp[60] ^ tmp[100])) ^ vector[43] & ~(tmp[23] ^ tmp[112] ^ tmp[5] ^ tmp[77] & (tmp[112] ^ tmp[57]))); + tmp[108] = vector[60] ^ (tmp[74] & (tmp[32] & (tmp[35] ^ tmp[63]) ^ tmp[108]) ^ (tmp[82] ^ vector[47] & ~(tmp[64] ^ tmp[29] & (vector[31] ^ tmp[35]))) ^ tmp[39] & ~(vector[47] & vector[55] ^ tmp[35] ^ (tmp[10] | tmp[108] ^ vector[47] & ~(tmp[29] ^ tmp[64])))); + tmp[82] = tmp[55] & ~tmp[94]; + tmp[111] ^= ~vector[6] ^ ((tmp[12] | (tmp[27] | tmp[37] ^ tmp[62]) ^ tmp[100]) ^ (tmp[60] ^ (tmp[27] | tmp[85] ^ tmp[90])) ^ vector[43] & ~(tmp[23] ^ tmp[70] ^ tmp[5] ^ tmp[77] & (tmp[69] ^ tmp[78] ^ (tmp[27] | tmp[34] ^ tmp[111])))); + tmp[70] = ~tmp[95]; + tmp[62] = tmp[56] & tmp[103]; + tmp[90] = tmp[95] | tmp[103]; + tmp[128] = ~tmp[99]; + tmp[84] = tmp[88] & ~tmp[50]; + tmp[6] = tmp[50] & ~tmp[88]; + tmp[49] = tmp[19] & (tmp[41] ^ (tmp[39] | tmp[26] ^ tmp[26] & tmp[49] ^ tmp[121])) ^ (tmp[24] ^ (~vector[30] ^ (tmp[39] | tmp[80] ^ tmp[15] & (tmp[26] ^ (vector[25] ^ tmp[129]))))); + tmp[4] = vector[26] ^ (tmp[24] ^ tmp[39] & ~((vector[9] | tmp[40] ^ tmp[89]) ^ tmp[17]) ^ tmp[19] & ~(tmp[41] ^ tmp[39] & (tmp[15] & (tmp[4] ^ tmp[10]) ^ (tmp[54] ^ tmp[129])))); + tmp[129] = ~tmp[0]; + tmp[54] = tmp[44] & tmp[119]; + tmp[69] = vector[46] ^ (vector[43] & ~(tmp[83] ^ tmp[57] ^ tmp[77] & (tmp[34] ^ tmp[69] ^ tmp[5])) ^ (tmp[83] ^ tmp[27] & (tmp[23] ^ vector[59] & tmp[34]) ^ (tmp[12] | tmp[60] ^ tmp[69] ^ tmp[81] & (tmp[106] ^ tmp[100])))); + tmp[78] = ~vector[20] ^ ((tmp[12] | tmp[27] & tmp[34]) ^ (tmp[34] ^ (tmp[23] ^ (tmp[27] ^ tmp[37]))) ^ vector[43] & ~((tmp[27] | tmp[61]) ^ tmp[85] ^ (tmp[12] | tmp[78] ^ (tmp[27] | tmp[78]) ^ tmp[100]))); + tmp[100] = tmp[132] | tmp[108]; + tmp[61] = tmp[132] & tmp[108]; + tmp[85] = tmp[1] & tmp[108]; + tmp[106] = tmp[108] | tmp[111]; + tmp[5] = tmp[98] | tmp[111]; + tmp[81] = tmp[50] & tmp[111]; + tmp[60] = ~tmp[7]; + tmp[2] = vector[23] & (vector[15] & tmp[13] ^ (vector[15] ^ vector[31] | tmp[38])) ^ (vector[15] ^ (tmp[14] ^ tmp[86] & (vector[31] ^ tmp[47])) ^ (vector[54] ^ tmp[29] & ~(tmp[86] & (tmp[47] ^ tmp[53]) ^ (tmp[48] ^ vector[7] & tmp[52]) ^ vector[23] & ~(vector[15] & ~tmp[14] ^ (tmp[2] ^ (tmp[38] | vector[15] ^ tmp[2])))))); + tmp[101] = vector[48] ^ (tmp[104] ^ (tmp[118] ^ (tmp[37] & ~tmp[21] ^ tmp[12] & ~(tmp[122] ^ (tmp[115] ^ tmp[37] & tmp[101]))))); + tmp[115] = ~tmp[92]; + tmp[134] = ~vector[10] ^ (tmp[35] ^ tmp[105] ^ tmp[74] & (vector[47] & tmp[131] ^ tmp[133]) ^ tmp[39] & (tmp[91] ^ (tmp[63] ^ (tmp[134] ^ (tmp[10] | tmp[107] ^ vector[47] & (vector[31] & tmp[29] ^ tmp[109])))))); + tmp[63] = ~tmp[108]; + tmp[122] = tmp[132] ^ tmp[108]; + tmp[21] = tmp[56] & tmp[70]; + tmp[118] = tmp[103] & tmp[70]; + tmp[104] = ~tmp[111]; + tmp[45] = tmp[68] ^ (tmp[93] ^ ((tmp[33] | tmp[59] ^ tmp[67]) ^ ((tmp[26] | tmp[123] ^ (tmp[67] ^ (tmp[30] | tmp[75]))) ^ (~vector[14] ^ (vector[25] | vector[33] & (vector[49] & (tmp[11] ^ tmp[45]) ^ tmp[126]) ^ (tmp[67] ^ tmp[93] ^ vector[49] & (tmp[45] ^ tmp[110]))))))); + tmp[110] = tmp[111] | tmp[6]; + tmp[93] = tmp[55] | tmp[4]; + tmp[67] = tmp[138] & tmp[4]; + tmp[126] = tmp[46] & tmp[4]; + tmp[75] = tmp[66] | tmp[4]; + tmp[123] = tmp[55] & tmp[129]; + tmp[59] = tmp[4] | tmp[54]; + tmp[68] = tmp[92] | tmp[69]; + tmp[14] = tmp[111] | tmp[100]; + tmp[52] = tmp[111] | tmp[85]; + tmp[53] = tmp[95] & ~tmp[103]; + tmp[47] = tmp[92] & tmp[2]; + tmp[48] = ~tmp[49]; + tmp[86] = ~tmp[4]; + tmp[77] = tmp[18] | tmp[101]; + tmp[57] = tmp[2] & tmp[115]; + tmp[115] &= tmp[69]; + tmp[83] = tmp[132] & tmp[63]; + tmp[15] = tmp[88] & tmp[104]; + tmp[89] = tmp[84] & tmp[104]; + tmp[40] = tmp[100] & tmp[104]; + tmp[17] = tmp[85] & tmp[104]; + tmp[41] = ~tmp[101]; + tmp[24] = tmp[18] ^ tmp[101]; + tmp[80] = tmp[2] & tmp[68]; + tmp[121] = ~tmp[134]; + tmp[130] = tmp[95] ^ tmp[21]; + tmp[22] = tmp[56] & tmp[53]; + tmp[114] = tmp[56] & ~tmp[90]; + tmp[113] = vector[53] ^ (tmp[125] ^ (tmp[73] ^ ((vector[45] | tmp[71] ^ tmp[96] ^ vector[53] & tmp[113]) ^ (~vector[16] ^ tmp[13] & (vector[53] & (vector[37] ^ tmp[8]) ^ (tmp[9] ^ tmp[113]) ^ tmp[31] & (tmp[72] ^ tmp[28] & tmp[71] ^ vector[53] & (vector[37] ^ tmp[113]))))))); + tmp[71] = tmp[50] & ~tmp[6]; + tmp[28] = tmp[76] ^ tmp[110]; + tmp[72] = tmp[55] & tmp[86]; + tmp[8] = tmp[46] ^ tmp[126]; + tmp[9] = tmp[82] & tmp[86]; + tmp[96] = tmp[92] & ~tmp[69]; + tmp[13] = tmp[111] | tmp[83]; + tmp[73] = tmp[104] & tmp[83]; + tmp[120] = ~tmp[53]; + tmp[102] = tmp[47] ^ tmp[115]; + tmp[3] = tmp[77] & tmp[41]; + tmp[25] = tmp[92] ^ tmp[57]; + tmp[58] = vector[31] ^ tmp[107] ^ (vector[47] & (tmp[65] | ~tmp[29]) ^ ((tmp[10] | vector[55] & tmp[29] ^ tmp[124] ^ vector[47] & (vector[31] ^ tmp[131])) ^ (vector[58] ^ tmp[39] & (tmp[91] ^ tmp[127] ^ (tmp[10] | vector[47] & ~(tmp[58] ^ tmp[64]) ^ tmp[133]))))); + tmp[124] = ~vector[8] ^ (tmp[35] ^ tmp[29] & tmp[64] ^ tmp[127] ^ (tmp[10] | tmp[32] & (tmp[64] ^ tmp[29] & tmp[109])) ^ tmp[39] & ~(tmp[105] ^ (vector[31] ^ tmp[29] & tmp[65]) ^ tmp[74] & (tmp[131] ^ (tmp[64] ^ vector[47] & ~(tmp[29] ^ tmp[124]))))); + tmp[64] = tmp[83] ^ tmp[40]; + tmp[65] = tmp[61] ^ tmp[17]; + tmp[131] = tmp[85] ^ tmp[17]; + tmp[135] = vector[29] ^ (tmp[87] ^ (vector[53] & (tmp[38] ^ tmp[125]) ^ ((vector[45] | tmp[135]) ^ (vector[2] ^ (vector[7] | tmp[125] ^ tmp[31] & tmp[135]))))); + tmp[31] = tmp[99] & tmp[113]; + tmp[125] = tmp[99] | tmp[113]; + tmp[87] = tmp[128] & tmp[113]; + tmp[109] = tmp[2] & ~tmp[68]; + tmp[74] = tmp[2] & tmp[96]; + tmp[105] = ~tmp[113]; + tmp[32] = tmp[113] ^ tmp[124]; + tmp[127] = tmp[99] ^ tmp[113]; + tmp[133] = tmp[5] ^ tmp[71]; + tmp[91] = tmp[69] & ~tmp[115]; + tmp[107] = tmp[96] ^ tmp[109]; + tmp[116] = tmp[57] ^ tmp[96]; + tmp[42] = tmp[46] & tmp[58]; + tmp[51] = tmp[46] | tmp[58]; + tmp[139] = tmp[99] | tmp[124]; + tmp[140] = tmp[132] & ~tmp[83]; + tmp[141] = tmp[63] & (tmp[88] ^ tmp[15]); + tmp[142] = tmp[18] | tmp[135]; + tmp[143] = tmp[101] | tmp[135]; + tmp[144] = tmp[99] | tmp[101] | tmp[135]; + tmp[145] = ~(tmp[94] & tmp[119] ^ tmp[93]) & tmp[135]; + tmp[146] = tmp[124] | tmp[125]; + tmp[147] = ~tmp[58]; + tmp[148] = tmp[46] ^ tmp[58]; + tmp[149] = ~tmp[124]; + tmp[150] = ~tmp[135]; + tmp[151] = tmp[18] ^ tmp[135]; + tmp[152] = tmp[99] & tmp[105]; + tmp[153] = tmp[135] | tmp[101] & ~(tmp[18] & tmp[101]); + tmp[154] = tmp[4] & (tmp[138] & tmp[58]); + tmp[155] = tmp[4] & tmp[51]; + tmp[156] = tmp[138] & tmp[51]; + tmp[157] = ~tmp[42]; + tmp[158] = tmp[4] & tmp[147]; + tmp[159] = tmp[46] & tmp[147]; + tmp[160] = tmp[4] & tmp[148]; + tmp[161] = tmp[125] & tmp[149]; + tmp[162] = tmp[99] & tmp[149]; + tmp[163] = tmp[139] ^ tmp[152]; + tmp[164] = tmp[101] & tmp[150]; + tmp[165] = tmp[24] & tmp[150]; + tmp[166] = tmp[18] ^ (tmp[24] | tmp[135]); + tmp[167] = tmp[18] ^ tmp[142]; + tmp[168] = tmp[18] ^ tmp[143]; + tmp[169] = tmp[113] & ~tmp[31]; + tmp[170] = tmp[4] ^ tmp[148]; + tmp[171] = tmp[69] ^ (tmp[92] ^ tmp[109]); + tmp[172] = tmp[132] & ~tmp[116]; + tmp[173] = tmp[46] & tmp[157]; + tmp[174] = tmp[4] & tmp[159]; + tmp[14] = vector[29] ^ tmp[45] & (tmp[49] | tmp[85] ^ tmp[52]) ^ (tmp[48] & (tmp[85] ^ tmp[14]) ^ tmp[64] ^ (tmp[137] | tmp[122] ^ tmp[14] ^ tmp[61] & tmp[48])); + tmp[85] = tmp[132] & ~(tmp[69] ^ tmp[25]); + tmp[175] = tmp[58] ^ tmp[158]; + tmp[176] = tmp[51] ^ tmp[158]; + tmp[177] = tmp[4] & ~tmp[148]; + tmp[178] = tmp[113] ^ tmp[162]; + tmp[179] = tmp[125] ^ tmp[162]; + tmp[180] = tmp[101] ^ tmp[164]; + tmp[181] = tmp[101] ^ tmp[166]; + tmp[182] = tmp[94] & tmp[86] ^ (tmp[44] ^ ~tmp[54] & tmp[135]); + tmp[51] ^= tmp[174]; + tmp[183] = ~tmp[14]; + tmp[184] = tmp[103] ^ tmp[56] & tmp[90] ^ tmp[78] & ~(tmp[90] ^ tmp[21]) ^ tmp[88] & ~(tmp[53] ^ tmp[22] ^ tmp[78] & tmp[130]); + tmp[185] = tmp[156] ^ tmp[177]; + tmp[120] = tmp[130] ^ tmp[78] & (tmp[90] ^ tmp[56] & tmp[120]) ^ tmp[88] & ~(tmp[78] & ~(tmp[56] ^ tmp[118]) ^ (tmp[62] ^ tmp[95] & tmp[120])); + tmp[21] = tmp[95] ^ tmp[62] ^ tmp[78] & (tmp[90] ^ tmp[114]) ^ tmp[88] & ~(tmp[22] ^ tmp[78] & ~(tmp[21] ^ tmp[53])); + tmp[15] = (tmp[108] | tmp[15]) ^ (tmp[88] ^ (tmp[50] ^ (tmp[50] | (tmp[88] | tmp[111])))) ^ (tmp[95] | tmp[98] & tmp[104] ^ (tmp[50] ^ tmp[63] & tmp[15])) ^ (vector[23] ^ (tmp[20] | tmp[70] & tmp[106] ^ (tmp[111] ^ tmp[108] & ~tmp[110]))); + tmp[81] = tmp[81] & tmp[63] ^ (tmp[84] ^ tmp[110]) ^ ((tmp[95] | tmp[63] & (tmp[84] ^ tmp[89])) ^ (tmp[11] ^ ~tmp[20] & ((tmp[108] | tmp[81]) ^ tmp[70] & (tmp[111] & tmp[6] ^ tmp[88] & tmp[63])))); + tmp[53] = tmp[78] & (tmp[103] ^ tmp[56] & ~tmp[118]) ^ (tmp[103] ^ tmp[114] ^ tmp[88] & ~(tmp[62] ^ tmp[78] & (tmp[56] ^ tmp[53]))); + tmp[62] = ~tmp[15]; + tmp[118] = ~tmp[81]; + tmp[40] = tmp[106] ^ (tmp[140] ^ (tmp[49] | tmp[100] ^ (tmp[111] | tmp[122]))) ^ (~tmp[137] & (tmp[122] & tmp[104] ^ (tmp[49] | tmp[108] ^ tmp[13])) ^ (tmp[34] ^ tmp[45] & ~(tmp[40] ^ (tmp[49] | tmp[83] ^ tmp[108] & tmp[104])))); + tmp[89] = tmp[111] ^ (tmp[6] ^ (tmp[108] | tmp[50] ^ (tmp[111] | tmp[71]))) ^ (tmp[70] & (tmp[63] & (tmp[98] ^ tmp[110]) ^ tmp[133]) ^ (tmp[19] ^ (tmp[20] | (tmp[95] | tmp[28]) ^ ((tmp[50] | tmp[111]) ^ tmp[63] & (tmp[76] ^ tmp[89]))))); + tmp[27] ^= tmp[21] ^ (tmp[58] | tmp[53]); + tmp[147] = tmp[184] ^ (vector[53] ^ tmp[147] & tmp[120]); + tmp[76] = ~tmp[89]; + tmp[152] = (tmp[18] | tmp[60] & tmp[124]) ^ (tmp[127] ^ tmp[152] & (tmp[7] & tmp[149])) ^ (vector[13] ^ tmp[92] & (tmp[32] ^ tmp[7] & tmp[162] ^ (tmp[18] | (tmp[7] | tmp[163]) ^ tmp[178]))); + tmp[63] = ~tmp[27]; + tmp[98] = ~tmp[147]; + tmp[120] = tmp[184] ^ (tmp[39] ^ tmp[58] & ~tmp[120]); + tmp[53] = tmp[33] ^ (tmp[21] ^ tmp[58] & tmp[53]); + tmp[178] = tmp[7] ^ (tmp[31] ^ tmp[139]) ^ tmp[136] & (tmp[99] ^ tmp[146] ^ tmp[7] & (tmp[169] ^ (tmp[124] | tmp[169]))) ^ (tmp[30] ^ tmp[92] & ~(tmp[178] ^ tmp[136] & ((tmp[7] | tmp[113]) ^ tmp[162]))); + tmp[104] = tmp[131] ^ tmp[49] & ~tmp[73] ^ (tmp[45] & ~(tmp[48] & tmp[73] ^ (tmp[61] ^ tmp[13])) ^ (tmp[35] ^ (tmp[137] | tmp[64] ^ (tmp[48] & (tmp[83] ^ tmp[17]) ^ tmp[45] & ((tmp[132] | tmp[49]) ^ tmp[132] & tmp[104] ^ tmp[140]))))); + tmp[141] = tmp[111] ^ (tmp[6] ^ tmp[108] & tmp[133]) ^ ((tmp[95] | tmp[28] ^ tmp[141]) ^ (tmp[12] ^ (tmp[20] | tmp[108] & (tmp[88] ^ (tmp[50] ^ tmp[5])) ^ tmp[70] & (tmp[110] ^ (tmp[88] ^ tmp[141]))))); + tmp[131] = tmp[100] ^ (tmp[45] & ~(tmp[49] & tmp[65]) ^ (tmp[52] ^ (tmp[48] & tmp[131] ^ (tmp[26] ^ (tmp[137] | tmp[45] & (tmp[108] ^ tmp[106]) ^ (tmp[65] ^ (tmp[49] | tmp[131]))))))); + tmp[106] = tmp[81] | tmp[53]; + tmp[47] = (tmp[7] | tmp[1] & tmp[96] ^ tmp[107]) ^ (tmp[91] ^ tmp[132] & ~(tmp[69] ^ tmp[80])) ^ (vector[9] ^ tmp[49] & ~((tmp[132] | tmp[80]) ^ tmp[107] ^ (tmp[7] | (tmp[132] | tmp[92] ^ tmp[47]) ^ tmp[171]))); + tmp[107] = tmp[118] & tmp[178]; + tmp[65] = tmp[81] & tmp[178]; + tmp[26] = tmp[81] | tmp[178]; + tmp[48] = ~tmp[120]; + tmp[52] = ~tmp[53]; + tmp[100] = tmp[81] ^ tmp[178]; + tmp[139] = tmp[124] ^ tmp[127] ^ tmp[7] & ((tmp[113] | tmp[124]) ^ tmp[169]) ^ tmp[136] & (tmp[179] ^ tmp[7] & ~(tmp[125] ^ tmp[161])) ^ (tmp[23] ^ tmp[92] & ((tmp[18] | tmp[7] & (tmp[124] ^ tmp[125]) ^ tmp[179]) ^ (tmp[99] ^ tmp[139] ^ tmp[7] & ~(tmp[99] ^ tmp[113] & tmp[149])))); + tmp[179] = ~tmp[141]; + tmp[118] &= tmp[131]; + tmp[127] = tmp[120] | tmp[131]; + tmp[151] ^= tmp[99] & ~tmp[181] ^ (tmp[112] & (tmp[43] & (tmp[99] & ~tmp[151]) ^ (tmp[166] ^ tmp[128] & tmp[181])) ^ (vector[15] ^ (tmp[79] | tmp[18] ^ (tmp[153] ^ (tmp[99] | tmp[77] ^ tmp[153]))))); + tmp[44] = tmp[4] ^ (tmp[0] ^ (tmp[66] & tmp[135] ^ ((tmp[134] | tmp[182]) ^ (vector[43] ^ tmp[112] & (tmp[121] & (tmp[44] ^ tmp[75] ^ tmp[145]) ^ ((tmp[44] | tmp[4]) ^ (tmp[54] ^ tmp[145]))))))); + tmp[145] = tmp[131] & tmp[47]; + tmp[181] = tmp[131] | tmp[47]; + tmp[166] = tmp[131] & tmp[107]; + tmp[23] = tmp[131] & tmp[65]; + tmp[5] = tmp[131] ^ tmp[47]; + tmp[110] = tmp[131] ^ tmp[127]; + tmp[70] = tmp[81] & tmp[52]; + tmp[42] = tmp[170] ^ tmp[119] & tmp[176] ^ (tmp[103] & ~(tmp[55] & (tmp[148] ^ tmp[155]) ^ tmp[185]) ^ (tmp[36] ^ (tmp[117] | tmp[4] ^ (tmp[55] | tmp[175]) ^ tmp[103] & (tmp[42] ^ tmp[154] ^ tmp[55] & (tmp[46] ^ tmp[160]))))); + tmp[36] = ~tmp[107]; + tmp[28] = tmp[26] ^ tmp[23]; + tmp[133] = tmp[81] & ~tmp[178]; + tmp[163] = tmp[125] & tmp[105] ^ tmp[161] ^ tmp[7] & ~(tmp[87] ^ tmp[146]) ^ (tmp[18] | tmp[87] & tmp[149] ^ tmp[169] ^ tmp[7] & ~(tmp[99] ^ tmp[161])) ^ (vector[31] ^ tmp[92] & ~(tmp[162] ^ tmp[7] & (tmp[99] ^ tmp[124]) ^ tmp[136] & (tmp[32] ^ tmp[7] & ~tmp[163]))); + tmp[32] = tmp[14] & tmp[179]; + tmp[77] = (tmp[99] | tmp[165]) ^ tmp[180] ^ ((tmp[79] | tmp[167] ^ tmp[99] & (tmp[18] & tmp[41] & tmp[150])) ^ (vector[19] ^ tmp[112] & ~(tmp[128] & (tmp[77] ^ (tmp[77] | tmp[135])) ^ tmp[43] & ((tmp[99] | tmp[168]) ^ (tmp[18] ^ tmp[165]))))); + tmp[41] = tmp[141] & tmp[44]; + tmp[161] = tmp[48] & tmp[181]; + tmp[177] = tmp[97] & (tmp[103] & (tmp[4] & tmp[58] ^ tmp[159] ^ tmp[55] & (tmp[148] ^ tmp[158])) ^ (tmp[138] & (tmp[4] ^ tmp[58]) ^ tmp[55] & ~tmp[160])) ^ (vector[7] ^ (tmp[170] ^ tmp[55] & (tmp[4] & tmp[157]) ^ tmp[103] & ~(tmp[46] ^ tmp[154] ^ tmp[55] & ~tmp[177]))); + tmp[154] = tmp[47] & ~tmp[131]; + tmp[167] = tmp[168] ^ (tmp[128] & (tmp[24] ^ tmp[142]) ^ (tmp[43] & (tmp[99] | tmp[18] ^ tmp[153]) ^ (tmp[10] ^ tmp[112] & ~(tmp[144] ^ (tmp[3] ^ (tmp[3] | tmp[135])) ^ tmp[43] & (tmp[144] ^ tmp[167]))))); + tmp[142] = tmp[168] ^ (tmp[99] & ~tmp[180] ^ (tmp[43] & (tmp[101] ^ (tmp[153] ^ tmp[128] & (tmp[3] ^ tmp[142]))) ^ (vector[37] ^ tmp[112] & ~(tmp[164] ^ (tmp[99] | tmp[101] ^ tmp[143]) ^ (tmp[79] | tmp[101] ^ (tmp[128] & tmp[142] ^ tmp[165])))))); + tmp[128] = tmp[131] & ~tmp[47]; + tmp[165] = tmp[23] ^ tmp[133]; + tmp[143] = tmp[81] ^ tmp[23]; + tmp[164] = ~tmp[104] & tmp[163]; + tmp[3] = tmp[104] & tmp[163]; + tmp[153] = tmp[104] | tmp[163]; + tmp[43] = tmp[120] | tmp[163]; + tmp[180] = tmp[48] & tmp[163]; + tmp[168] = tmp[27] & tmp[77]; + tmp[144] = tmp[27] | tmp[77]; + tmp[9] ^= tmp[54] ^ ((tmp[129] | tmp[86]) & tmp[135] ^ (tmp[121] & (tmp[4] ^ tmp[135] & ~(tmp[54] ^ tmp[72])) ^ (vector[25] ^ tmp[112] & ~(tmp[123] ^ (tmp[135] & ~(tmp[0] ^ (tmp[4] | tmp[123])) ^ tmp[121] & (tmp[9] ^ ~(tmp[55] ^ tmp[4]) & tmp[135])))))); + tmp[80] = tmp[116] ^ (tmp[1] & tmp[102] ^ (tmp[60] & (tmp[171] ^ tmp[85]) ^ (tmp[37] ^ tmp[49] & ((tmp[132] | tmp[115] ^ tmp[2] & ~tmp[91]) ^ (tmp[57] ^ (tmp[115] ^ tmp[60] & (tmp[132] & (tmp[57] ^ tmp[115]) ^ (tmp[69] ^ (tmp[92] ^ tmp[80]))))))))); + tmp[57] = ~tmp[42]; + tmp[91] = ~tmp[163]; + tmp[171] = tmp[163] ^ tmp[43]; + tmp[37] = tmp[120] ^ tmp[163]; + tmp[116] = tmp[104] ^ tmp[163]; + tmp[129] = tmp[120] | tmp[154]; + tmp[10] = tmp[48] & tmp[154]; + tmp[24] = tmp[27] ^ tmp[77]; + tmp[158] = tmp[14] | tmp[142]; + tmp[121] = (tmp[134] | ~tmp[93] & tmp[135]) ^ (tmp[123] ^ (tmp[59] ^ (tmp[135] & ~(tmp[54] ^ tmp[66] & tmp[86]) ^ (vector[45] ^ tmp[112] & ~((tmp[0] ^ (tmp[0] | tmp[4])) & tmp[135] ^ (tmp[0] ^ tmp[121] & tmp[135] & ~(tmp[55] ^ tmp[72]))))))); + tmp[25] ^= tmp[132] & (tmp[68] ^ tmp[2] & ~tmp[96]) ^ ((tmp[7] | tmp[1] & tmp[115] ^ tmp[74]) ^ (tmp[38] ^ tmp[49] & ~(tmp[85] ^ (tmp[69] & tmp[2] ^ tmp[60] & (tmp[115] & ~tmp[2] ^ tmp[132] & ~tmp[25]))))); + tmp[148] = tmp[155] ^ tmp[159] ^ (tmp[55] & ~(tmp[46] ^ tmp[4] & ~tmp[156]) ^ (tmp[103] & ~(tmp[8] ^ tmp[119] & (tmp[159] ^ tmp[174])) ^ (vector[47] ^ tmp[97] & (tmp[176] ^ tmp[55] & ~tmp[175] ^ tmp[103] & ~(tmp[67] ^ tmp[173] ^ tmp[55] & ~(tmp[67] ^ tmp[148])))))); + tmp[67] = ~tmp[177]; + tmp[175] = tmp[120] | tmp[164]; + tmp[174] = tmp[48] & tmp[3]; + tmp[159] = tmp[48] & tmp[153]; + tmp[176] = tmp[120] | tmp[153]; + tmp[119] = tmp[131] ^ tmp[48] & tmp[5]; + tmp[156] = ~tmp[167]; + tmp[97] = tmp[63] & tmp[144]; + tmp[155] = ~tmp[142]; + tmp[85] = tmp[141] | tmp[80]; + tmp[1] = tmp[179] & tmp[80]; + tmp[38] = tmp[141] & tmp[80]; + tmp[68] = tmp[41] & tmp[80]; + tmp[66] = tmp[44] & tmp[80]; + tmp[54] = tmp[104] & tmp[91]; + tmp[93] = tmp[27] & ~tmp[77]; + tmp[72] = (tmp[134] | tmp[94] & tmp[150]) ^ (tmp[182] ^ (tmp[29] ^ tmp[112] & ~(tmp[75] ^ tmp[123] ^ tmp[135] & (tmp[82] ^ tmp[0] & tmp[86]) ^ (tmp[134] | tmp[55] ^ (tmp[94] ^ (tmp[59] ^ tmp[135] & (tmp[55] ^ (tmp[94] ^ tmp[72])))))))); + tmp[59] = tmp[14] & tmp[121]; + tmp[86] = tmp[14] | tmp[121]; + tmp[0] = tmp[142] | tmp[121]; + tmp[82] = ~tmp[9]; + tmp[123] = ~tmp[80]; + tmp[75] = tmp[141] ^ tmp[80]; + tmp[51] = tmp[55] & ~tmp[126] ^ (tmp[185] ^ (tmp[103] & (tmp[55] & tmp[4] ^ tmp[51]) ^ (vector[21] ^ (tmp[117] | tmp[160] ^ (tmp[55] & tmp[8] ^ tmp[173]) ^ tmp[103] & ~(tmp[55] & (tmp[46] ^ tmp[4]) ^ tmp[51]))))); + tmp[8] = tmp[133] ^ tmp[131] & ~tmp[100]; + tmp[173] = tmp[14] ^ tmp[158]; + tmp[160] = tmp[14] ^ tmp[121]; + tmp[126] = ~tmp[25]; + tmp[185] = tmp[44] & tmp[85]; + tmp[29] = ~tmp[148]; + tmp[150] = tmp[27] & ~tmp[168]; + tmp[182] = tmp[25] | tmp[72]; + tmp[157] = tmp[177] | tmp[72]; + tmp[138] = tmp[67] & tmp[72]; + tmp[170] = tmp[177] & tmp[72]; + tmp[136] = tmp[142] | tmp[59]; + tmp[162] = tmp[142] | tmp[86]; + tmp[149] = tmp[85] & tmp[123]; + tmp[87] = ~tmp[38]; + tmp[146] = tmp[14] | tmp[51]; + tmp[169] = tmp[14] & tmp[51]; + tmp[105] = tmp[179] & tmp[51]; + tmp[125] = tmp[141] | tmp[51]; + tmp[12] = tmp[177] ^ tmp[72]; + tmp[6] = tmp[14] & ~tmp[121]; + tmp[140] = tmp[0] ^ tmp[183] & tmp[86]; + tmp[17] = tmp[51] ^ tmp[125]; + tmp[83] = tmp[14] ^ tmp[51]; + tmp[67] &= tmp[157]; + tmp[13] = tmp[126] & tmp[138]; + tmp[61] = tmp[126] & tmp[170]; + tmp[73] = tmp[25] | tmp[170]; + tmp[64] = tmp[44] & ~tmp[85]; + tmp[35] = tmp[44] & tmp[87]; + tmp[87] &= tmp[80]; + tmp[31] = tmp[183] & tmp[146]; + tmp[30] = tmp[179] & tmp[169]; + tmp[21] = tmp[104] & ~tmp[54]; + tmp[33] = tmp[14] & ~tmp[59]; + tmp[39] = tmp[41] ^ tmp[141] & tmp[123]; + tmp[184] = tmp[141] ^ tmp[146]; + tmp[71] = tmp[32] ^ tmp[146]; + tmp[125] ^= tmp[169]; + tmp[19] = (tmp[14] | tmp[141]) ^ tmp[183] & tmp[51]; + tmp[122] = tmp[25] | tmp[67]; + tmp[34] = tmp[14] & (tmp[121] ^ tmp[155]) ^ (tmp[147] | tmp[142] ^ tmp[59]); + tmp[172] ^= tmp[102] ^ ((tmp[7] | tmp[96] ^ tmp[74] ^ tmp[132] & ~tmp[102]) ^ (tmp[16] ^ tmp[49] & ~(tmp[96] ^ (tmp[109] ^ (tmp[132] & (tmp[115] ^ tmp[109]) ^ tmp[60] & (tmp[96] ^ (tmp[74] ^ tmp[172]))))))); + tmp[74] = tmp[141] ^ tmp[83]; + tmp[96] = tmp[120] | tmp[21]; + tmp[109] = tmp[177] & ~tmp[170]; + tmp[115] = tmp[44] & ~tmp[149]; + tmp[60] = tmp[31] ^ (tmp[141] | tmp[83]); + tmp[32] ^= tmp[31]; + tmp[102] = tmp[14] ^ tmp[30]; + tmp[16] = tmp[120] ^ tmp[21]; + tmp[114] = tmp[80] ^ tmp[44] & ~tmp[75]; + tmp[84] = tmp[27] | tmp[172]; + tmp[11] = tmp[146] ^ tmp[179] & tmp[83]; + tmp[22] = ~tmp[172]; + tmp[90] = tmp[27] ^ tmp[172]; + tmp[31] = tmp[83] ^ (tmp[141] | tmp[31]); + tmp[83] = tmp[138] ^ tmp[177] & (tmp[126] & ~tmp[72]); + tmp[169] = tmp[179] & tmp[146] ^ tmp[14] & ~tmp[169]; + tmp[130] = tmp[77] & tmp[22]; + tmp[186] = tmp[93] & tmp[22]; + tmp[187] = tmp[27] & tmp[22]; + tmp[188] = tmp[97] ^ tmp[84]; + tmp[189] = tmp[57] & tmp[188]; + tmp[190] = tmp[168] ^ tmp[130]; + tmp[191] = tmp[93] ^ tmp[186]; + tmp[192] = tmp[27] ^ tmp[187]; + tmp[92] ^= tmp[131] ^ tmp[100] ^ tmp[70] ^ tmp[42] & ~(tmp[52] & tmp[118] ^ (tmp[133] ^ tmp[131] & ~tmp[26])) ^ tmp[82] & (tmp[42] & (tmp[133] & ~tmp[52]) ^ (tmp[8] ^ (tmp[53] | tmp[23] ^ tmp[178] & tmp[36]))); + tmp[79] ^= (tmp[131] | tmp[9]) ^ (tmp[145] ^ tmp[156] & (tmp[127] ^ tmp[128] & tmp[82])) ^ (tmp[161] ^ (tmp[89] | tmp[9] & (tmp[181] ^ tmp[10]) ^ (tmp[131] ^ (tmp[127] ^ (tmp[110] | tmp[167]))))); + tmp[193] = tmp[57] & tmp[191]; + tmp[194] = tmp[57] & tmp[192]; + tmp[28] = tmp[131] ^ tmp[26] ^ (tmp[53] | tmp[107] ^ tmp[23]) ^ (tmp[42] & ~(tmp[53] & tmp[26] ^ tmp[165]) ^ (tmp[95] ^ tmp[82] & (tmp[42] & ~(tmp[106] ^ tmp[28]) ^ (tmp[28] ^ tmp[53] & ~(tmp[81] ^ tmp[178] & tmp[131]))))); + tmp[34] = tmp[147] ^ (tmp[142] ^ tmp[86]) ^ tmp[126] & tmp[34] ^ (tmp[137] ^ tmp[177] & ((tmp[147] | tmp[142]) ^ tmp[140] ^ (tmp[25] | tmp[34]))); + tmp[137] = ~tmp[92]; + tmp[38] = tmp[111] ^ tmp[27] & (tmp[40] & (tmp[41] ^ tmp[139] & (tmp[141] ^ tmp[44] ^ tmp[80])) ^ (tmp[141] ^ tmp[35]) ^ tmp[139] & ~(tmp[185] ^ tmp[149])) ^ (tmp[139] & ~(tmp[38] ^ tmp[35]) ^ (tmp[66] ^ tmp[75] ^ tmp[40] & ~(tmp[141] ^ tmp[185] ^ tmp[139] & (tmp[44] ^ tmp[38])))); + tmp[185] = ~tmp[34]; + tmp[70] = (tmp[9] | tmp[8] ^ ((tmp[53] | tmp[26] ^ tmp[166]) ^ tmp[42] & (tmp[106] ^ tmp[8]))) ^ ((tmp[53] | tmp[165]) ^ (tmp[107] ^ tmp[131] & tmp[100] ^ (tmp[45] ^ tmp[42] & ~(tmp[70] ^ tmp[8])))); + tmp[56] ^= tmp[47] ^ tmp[127] ^ (tmp[82] & (tmp[131] ^ tmp[10]) ^ (tmp[76] & (tmp[131] ^ (tmp[9] | tmp[119]) ^ tmp[156] & (tmp[127] ^ tmp[110] & tmp[9])) ^ (tmp[167] | (tmp[120] | tmp[181]) ^ tmp[128] ^ tmp[82] & (tmp[131] ^ (tmp[120] | tmp[47] & ~tmp[154]))))); + tmp[158] = tmp[140] ^ (tmp[25] | tmp[33]) ^ (tmp[147] & ~(tmp[6] ^ (tmp[142] | tmp[33])) ^ (tmp[103] ^ tmp[177] & ~(tmp[98] & ((tmp[158] ^ tmp[121]) & tmp[126] ^ tmp[142] & tmp[6])))); + tmp[20] ^= tmp[152] & (tmp[184] ^ tmp[123] & tmp[71] ^ tmp[142] & ((tmp[80] | tmp[17]) ^ tmp[19])) ^ (tmp[125] ^ (tmp[80] | tmp[31]) ^ tmp[142] & ~(tmp[105] ^ tmp[123] & tmp[30])); + tmp[133] = tmp[178] & (tmp[131] ^ tmp[36]) ^ ((tmp[53] | tmp[143]) ^ (tmp[42] & ~(tmp[65] & tmp[52] ^ (tmp[178] ^ tmp[166])) ^ (tmp[94] ^ (tmp[9] | tmp[131] & tmp[133] ^ tmp[52] & tmp[143] ^ tmp[42] & ((tmp[53] | tmp[118] ^ tmp[133]) ^ tmp[8]))))); + tmp[118] = tmp[38] ^ tmp[20]; + tmp[8] = ~tmp[38]; + tmp[170] = tmp[91] & tmp[157] ^ tmp[73] ^ (tmp[109] ^ ((tmp[15] | tmp[170] ^ (tmp[163] | tmp[182]) ^ tmp[122]) ^ (tmp[88] ^ tmp[151] & (tmp[163] | tmp[177] ^ tmp[61])))); + tmp[88] = tmp[56] | tmp[158]; + tmp[143] = tmp[38] | tmp[20]; + tmp[52] = tmp[38] & tmp[20]; + tmp[108] ^= tmp[29] & (tmp[176] ^ tmp[167] & ~(tmp[153] ^ tmp[175])) ^ (tmp[164] & tmp[156] ^ (tmp[16] ^ tmp[72] & ~((tmp[37] ^ ~(tmp[120] ^ tmp[104]) & tmp[167]) & tmp[29] ^ (tmp[116] ^ tmp[159] ^ tmp[167] & ~tmp[159])))); + tmp[166] = tmp[56] ^ tmp[158]; + tmp[65] = ~tmp[158]; + tmp[127] = tmp[181] ^ tmp[156] & (tmp[154] ^ (tmp[120] | tmp[128]) ^ tmp[82] & (tmp[47] ^ tmp[129])) ^ (tmp[129] ^ ((tmp[47] & tmp[48] | tmp[9]) ^ (tmp[49] ^ (tmp[89] | tmp[131] ^ (tmp[127] ^ tmp[120] & tmp[145] & tmp[9]) ^ tmp[156] & (tmp[131] ^ (tmp[127] ^ ~tmp[127] & tmp[9])))))); + tmp[154] = tmp[20] & tmp[8]; + tmp[59] = tmp[126] & (tmp[173] ^ (tmp[147] | tmp[173])) ^ (tmp[98] & tmp[173] ^ (tmp[121] ^ tmp[14] & tmp[155])) ^ (tmp[135] ^ tmp[177] & ~(tmp[86] ^ (tmp[142] | tmp[160]) ^ (tmp[98] & (tmp[183] & tmp[121] ^ tmp[155] & tmp[59]) ^ tmp[126] & (tmp[98] & tmp[121] ^ (tmp[86] ^ tmp[162]))))); + tmp[183] = tmp[20] | tmp[108]; + tmp[173] = tmp[38] | tmp[108]; + tmp[135] = tmp[158] & ~tmp[56]; + tmp[49] = tmp[118] ^ tmp[108]; + tmp[181] = ~tmp[170]; + tmp[94] = tmp[56] & tmp[65]; + tmp[179] = tmp[78] ^ tmp[27] & ~(tmp[139] & (tmp[141] ^ tmp[41]) ^ tmp[40] & (tmp[179] & tmp[44] ^ tmp[139] & ~tmp[44])) ^ (tmp[139] & ~(tmp[80] ^ tmp[66]) ^ (tmp[87] ^ tmp[115]) ^ tmp[40] & (tmp[85] ^ tmp[64] ^ tmp[139] & ~(tmp[149] ^ tmp[115]))); + tmp[115] = tmp[38] & ~tmp[20]; + tmp[149] = ~tmp[108]; + tmp[66] = tmp[108] | tmp[154]; + tmp[182] = tmp[163] ^ (tmp[2] ^ tmp[177] ^ tmp[122]) ^ ((tmp[15] | tmp[72] ^ (tmp[13] ^ tmp[91] & tmp[73])) ^ tmp[151] & ~(tmp[91] & (tmp[157] ^ (tmp[25] | tmp[157])) ^ ((tmp[15] | tmp[157] ^ (tmp[182] ^ tmp[91] & tmp[72])) ^ tmp[83]))); + tmp[157] = tmp[91] & (tmp[25] ^ tmp[67]) ^ tmp[83] ^ ((tmp[15] | tmp[177] ^ (tmp[122] ^ tmp[163] & (tmp[138] ^ tmp[126] & tmp[157]))) ^ (tmp[46] ^ tmp[151] & ~(tmp[157] ^ tmp[13] ^ tmp[91] & (tmp[72] ^ tmp[126] & tmp[12])))); + tmp[91] = tmp[133] & tmp[59]; + tmp[82] = tmp[131] ^ (tmp[48] & tmp[128] ^ ((tmp[9] | tmp[47] ^ tmp[161]) ^ ((tmp[167] | tmp[5] ^ tmp[129] ^ (tmp[145] ^ tmp[131] & tmp[48]) & tmp[82]) ^ (tmp[4] ^ tmp[76] & (tmp[161] & tmp[9] ^ (tmp[167] | tmp[119] ^ tmp[110] & tmp[82])))))); + tmp[110] = ~tmp[127]; + tmp[119] = ~tmp[59]; + tmp[126] = tmp[25] ^ (tmp[163] | tmp[25]) ^ (tmp[12] ^ (tmp[62] & (tmp[177] ^ (tmp[163] | tmp[61]) ^ (tmp[25] | tmp[109])) ^ (tmp[18] ^ tmp[151] & ~(tmp[62] & (tmp[177] & ~tmp[126]) ^ tmp[163] & ~tmp[73])))); + tmp[73] = tmp[56] | tmp[179]; + tmp[62] = tmp[158] | tmp[179]; + tmp[61] = tmp[166] | tmp[179]; + tmp[109] = tmp[52] & tmp[149]; + tmp[18] = tmp[38] & tmp[149]; + tmp[12] = tmp[154] & tmp[149]; + tmp[161] = tmp[135] ^ tmp[179]; + tmp[145] = tmp[65] & tmp[157]; + tmp[129] = tmp[158] | tmp[157]; + tmp[65] &= tmp[82]; + tmp[5] = tmp[157] & tmp[82]; + tmp[76] = tmp[158] & tmp[82]; + tmp[4] = tmp[108] & tmp[110]; + tmp[128] = ~tmp[179]; + tmp[13] = tmp[56] & tmp[158] ^ tmp[179]; + tmp[138] = tmp[88] ^ tmp[179]; + tmp[55] ^= tmp[74] ^ (tmp[80] | tmp[32]) ^ tmp[142] & (tmp[102] ^ (tmp[80] | tmp[169])) ^ tmp[152] & ~(tmp[142] & ~((tmp[80] | tmp[105]) ^ tmp[60]) ^ (tmp[146] ^ (tmp[105] ^ tmp[123] & tmp[11]))); + tmp[122] = ~tmp[157]; + tmp[67] = tmp[158] ^ tmp[157]; + tmp[46] = tmp[133] & tmp[119]; + tmp[83] = ~tmp[82]; + tmp[2] = tmp[137] & tmp[126]; + tmp[78] = tmp[59] | tmp[126]; + tmp[36] = tmp[92] | tmp[126]; + tmp[6] = tmp[92] & tmp[126]; + tmp[114] = tmp[141] ^ tmp[44] & tmp[75] ^ tmp[139] & tmp[114] ^ tmp[40] & ~(tmp[64] ^ tmp[87] ^ tmp[139] & ~(tmp[41] ^ tmp[87])) ^ (tmp[69] ^ tmp[27] & ~(tmp[40] & ~(tmp[139] & (tmp[41] ^ tmp[85]) ^ tmp[39]) ^ (tmp[64] ^ tmp[139] & ~tmp[114]))); + tmp[17] = tmp[125] ^ tmp[80] & tmp[31] ^ tmp[142] & ~(tmp[105] ^ tmp[80] & tmp[30]) ^ (tmp[7] ^ tmp[152] & (tmp[80] & tmp[71] ^ (tmp[184] ^ tmp[142] & ~(tmp[19] ^ tmp[80] & ~tmp[17])))); + tmp[19] = ~tmp[126]; + tmp[30] = tmp[92] ^ tmp[126]; + tmp[184] = tmp[88] ^ tmp[73]; + tmp[73] ^= tmp[135]; + tmp[71] = tmp[158] & tmp[128]; + tmp[31] = tmp[135] ^ (tmp[94] | tmp[179]); + tmp[125] = tmp[158] ^ tmp[62]; + tmp[62] ^= tmp[166]; + tmp[7] = tmp[88] ^ tmp[61]; + tmp[61] ^= tmp[135]; + tmp[135] = tmp[166] ^ (tmp[135] | tmp[179]); + tmp[87] = tmp[123] & (tmp[44] ^ tmp[85]) ^ tmp[139] & (tmp[85] ^ tmp[44] & tmp[1]) ^ tmp[40] & (tmp[1] ^ tmp[68] ^ tmp[139] & (tmp[141] ^ tmp[68])) ^ (tmp[112] ^ tmp[27] & (tmp[40] & ~(tmp[41] ^ tmp[75] ^ tmp[139] & tmp[39]) ^ (tmp[1] ^ tmp[44] & tmp[123] ^ tmp[139] & ~(tmp[87] ^ tmp[44] & ~tmp[87])))); + tmp[39] = tmp[38] & ~tmp[115]; + tmp[75] = tmp[158] & tmp[122]; + tmp[41] = tmp[92] | tmp[114]; + tmp[93] = tmp[77] ^ (tmp[187] ^ (tmp[50] ^ tmp[57] & (tmp[97] ^ tmp[172]))) ^ (tmp[81] & ((tmp[42] | tmp[172]) ^ (tmp[144] ^ tmp[84])) ^ tmp[139] & (tmp[90] ^ tmp[189] ^ tmp[81] & ~(tmp[93] ^ tmp[172] ^ tmp[189]))); + tmp[189] = ~tmp[55]; + tmp[169] = tmp[152] & ~(tmp[142] & (tmp[60] ^ tmp[80] & ~tmp[105]) ^ (tmp[146] ^ tmp[105] ^ tmp[80] & tmp[11])) ^ (tmp[101] ^ (tmp[74] ^ tmp[80] & tmp[32] ^ tmp[142] & ~(tmp[102] ^ tmp[80] & ~tmp[169]))); + tmp[105] = tmp[92] & tmp[17]; + tmp[102] = tmp[92] | tmp[17]; + tmp[11] = tmp[137] & tmp[17]; + tmp[48] = (tmp[148] | tmp[171] ^ tmp[156] & (tmp[175] ^ tmp[21])) ^ ((tmp[120] | tmp[104]) ^ (tmp[54] ^ (tmp[167] & ~(tmp[163] ^ tmp[174]) ^ (tmp[58] ^ tmp[72] & ~(tmp[116] ^ (tmp[175] ^ tmp[48] & (tmp[167] & tmp[164])) ^ tmp[29] & (tmp[180] ^ tmp[167] & (tmp[43] ^ tmp[54]))))))); + tmp[33] = tmp[142] ^ tmp[160] ^ ((tmp[147] | tmp[14] ^ tmp[0]) ^ ((tmp[25] | (tmp[14] | tmp[147]) ^ (tmp[121] ^ tmp[162])) ^ (tmp[113] ^ tmp[177] & ~(tmp[155] & tmp[160] ^ tmp[98] & (tmp[14] ^ tmp[136]) ^ (tmp[25] | (tmp[147] | tmp[86]) ^ (tmp[136] ^ tmp[33])))))); + tmp[136] = tmp[59] ^ tmp[46]; + tmp[86] = tmp[92] & tmp[19]; + tmp[98] = tmp[2] ^ tmp[17]; + tmp[160] = tmp[17] | tmp[30]; + tmp[155] = ~tmp[114]; + tmp[57] = tmp[117] ^ (tmp[90] ^ (tmp[42] | tmp[168] ^ tmp[24] & tmp[22]) ^ tmp[81] & (tmp[188] ^ tmp[193]) ^ tmp[139] & ~(tmp[168] ^ tmp[57] & tmp[190] ^ tmp[81] & (tmp[192] ^ tmp[194]))); + tmp[90] = ~tmp[17]; + tmp[117] = tmp[92] ^ tmp[17]; + tmp[122] = tmp[82] & (tmp[145] | tmp[122]); + tmp[162] = tmp[82] & tmp[75]; + tmp[113] = tmp[82] & ~tmp[129]; + tmp[0] = tmp[157] & tmp[76] ^ tmp[75]; + tmp[128] = tmp[166] ^ tmp[94] & tmp[128]; + tmp[88] ^= tmp[71]; + tmp[94] = ~tmp[87]; + tmp[166] = tmp[114] | tmp[102]; + tmp[16] = tmp[104] ^ (tmp[180] ^ (tmp[167] & ~tmp[171] ^ ((tmp[148] | tmp[163] ^ tmp[175] ^ tmp[167] & (tmp[163] ^ tmp[96])) ^ (tmp[124] ^ tmp[72] & (tmp[3] ^ tmp[43] ^ tmp[167] & (tmp[153] ^ tmp[176]) ^ (tmp[148] | tmp[21] ^ tmp[167] & tmp[16])))))); + tmp[43] = tmp[82] & ~tmp[67]; + tmp[175] = tmp[102] & tmp[155]; + tmp[124] = tmp[92] & tmp[155]; + tmp[171] = ~tmp[169]; + tmp[116] = tmp[92] & tmp[90]; + tmp[58] = tmp[2] ^ (tmp[2] | tmp[17]); + tmp[156] = tmp[126] & tmp[90]; + tmp[146] = tmp[36] & tmp[90]; + tmp[60] = tmp[2] & tmp[90]; + tmp[32] = tmp[6] & tmp[90]; + tmp[74] = tmp[155] & tmp[117]; + tmp[101] = ~tmp[48]; + tmp[130] = tmp[132] ^ (tmp[139] & (tmp[81] & (tmp[188] ^ (tmp[42] | tmp[188])) ^ (tmp[144] ^ tmp[186] ^ tmp[193])) ^ (tmp[97] ^ (tmp[150] | tmp[172]) ^ (tmp[42] | tmp[191]) ^ tmp[81] & ~(tmp[190] ^ tmp[42] & ~(tmp[27] ^ tmp[130])))); + tmp[190] = ~tmp[57]; + tmp[137] = tmp[114] | tmp[137] & tmp[102]; + tmp[186] = tmp[145] ^ tmp[162]; + tmp[75] = tmp[82] & ~tmp[75]; + tmp[191] = tmp[67] ^ tmp[113]; + tmp[193] = tmp[92] & ~tmp[105]; + tmp[132] = tmp[155] & tmp[116]; + tmp[84] = tmp[33] & (tmp[126] ^ (tmp[126] | tmp[17])); + tmp[54] = tmp[164] ^ (tmp[159] ^ (tmp[167] & (tmp[164] ^ tmp[96]) ^ (tmp[29] & (tmp[37] ^ tmp[167] & (tmp[3] ^ tmp[174])) ^ (tmp[134] ^ tmp[72] & ~(tmp[167] & ~(tmp[153] ^ tmp[96]) ^ (tmp[21] ^ (tmp[176] ^ (tmp[148] | tmp[120] ^ tmp[153] ^ tmp[167] & (tmp[180] ^ tmp[54]))))))))); + tmp[180] = ~tmp[16]; + tmp[153] = tmp[127] & tmp[130]; + tmp[96] = tmp[110] & tmp[130]; + tmp[176] = tmp[127] | tmp[130]; + tmp[21] = ~tmp[130]; + tmp[174] = tmp[127] ^ tmp[130]; + tmp[3] = tmp[114] | tmp[193]; + tmp[37] = tmp[119] & tmp[54]; + tmp[134] = tmp[59] & tmp[54]; + tmp[29] = tmp[59] | tmp[54]; + tmp[164] = tmp[108] & tmp[153]; + tmp[159] = tmp[108] & tmp[96]; + tmp[50] = tmp[33] & (tmp[126] ^ tmp[156]); + tmp[187] = ~tmp[54]; + tmp[123] = tmp[59] ^ tmp[54]; + tmp[1] = ~tmp[153]; + tmp[68] = tmp[176] & tmp[21]; + tmp[85] = tmp[96] ^ tmp[159]; + tmp[112] = tmp[108] & tmp[174]; + tmp[64] = tmp[4] ^ tmp[174]; + tmp[69] = tmp[17] ^ tmp[3]; + tmp[103] = tmp[59] & tmp[187]; + tmp[187] &= tmp[133]; + tmp[140] = tmp[133] ^ tmp[29]; + tmp[10] = tmp[133] & tmp[123]; + tmp[106] = tmp[130] & tmp[1]; + tmp[26] = tmp[108] & ~tmp[176]; + tmp[100] = tmp[133] ^ tmp[123]; + tmp[45] = tmp[153] ^ tmp[108] & tmp[21]; + tmp[107] = tmp[54] & ~tmp[37]; + tmp[165] = tmp[133] & ~tmp[29]; + tmp[144] = (tmp[24] | tmp[172]) ^ (tmp[150] ^ ((tmp[42] | tmp[63] & tmp[77] ^ (tmp[97] | tmp[172])) ^ (tmp[81] & ~(tmp[27] ^ tmp[168] & tmp[22] ^ tmp[194]) ^ (tmp[99] ^ tmp[139] & ~(tmp[192] ^ tmp[42] & (tmp[144] & ~tmp[22]) ^ tmp[81] & ~(tmp[188] ^ tmp[42] & ~(tmp[144] ^ tmp[172]))))))); + tmp[22] = tmp[108] & ~tmp[68]; + tmp[188] = tmp[59] | tmp[144]; + tmp[192] = tmp[59] & tmp[144]; + tmp[168] = tmp[46] ^ tmp[107]; + tmp[194] = ~tmp[144]; + tmp[97] = tmp[59] ^ tmp[144]; + tmp[63] = tmp[119] & (tmp[19] & tmp[144]); + tmp[99] = tmp[94] & tmp[188]; + tmp[150] = tmp[19] & tmp[188]; + tmp[24] = tmp[87] & tmp[168]; + tmp[53] ^= tmp[170] & ~(tmp[88] ^ tmp[48] & ~tmp[7]) ^ (tmp[62] ^ ~tmp[161] & tmp[48] ^ (tmp[28] | tmp[125] ^ (tmp[135] & tmp[101] ^ tmp[170] & (tmp[61] ^ tmp[125] & tmp[48])))); + tmp[35] = tmp[59] & tmp[194]; + tmp[194] &= tmp[188]; + tmp[111] = ~tmp[192]; + tmp[23] = tmp[78] ^ tmp[192]; + tmp[95] = tmp[19] & tmp[97]; + tmp[141] ^= tmp[49] ^ (tmp[170] | tmp[109]) ^ ((tmp[170] & tmp[108] ^ tmp[109]) & tmp[93] ^ (tmp[28] | tmp[181] & tmp[109] ^ (tmp[20] ^ (tmp[154] | tmp[181]) & tmp[93]))); + tmp[58] = tmp[33] & tmp[58] ^ (tmp[126] ^ tmp[116]) ^ (tmp[16] | tmp[146] ^ (tmp[92] ^ tmp[33] & ~tmp[160])) ^ (tmp[139] ^ tmp[144] & (tmp[180] & (tmp[36] ^ tmp[33] & tmp[156]) ^ (tmp[92] ^ tmp[102] ^ tmp[33] & ~tmp[58]))); + tmp[116] = tmp[19] & tmp[35]; + tmp[148] ^= tmp[67] ^ tmp[82] & tmp[145] ^ tmp[48] & (tmp[129] ^ tmp[113]) ^ (tmp[55] | tmp[157] ^ tmp[76] ^ tmp[48] & tmp[191]) ^ tmp[190] & (tmp[0] ^ ((tmp[82] ^ tmp[129] | tmp[48]) ^ tmp[189] & (tmp[122] ^ (tmp[158] ^ tmp[82]) & tmp[48]))); + tmp[120] ^= tmp[13] ^ (tmp[48] & ~tmp[128] ^ tmp[170] & (tmp[138] ^ tmp[48] & ~tmp[184])) ^ (tmp[28] | tmp[71] ^ tmp[48] & ~tmp[31] ^ tmp[170] & ~(tmp[73] ^ tmp[71] & tmp[48])); + tmp[125] = tmp[170] & (tmp[88] ^ (tmp[7] | tmp[48])) ^ (tmp[62] ^ tmp[161] & tmp[101]) ^ (tmp[27] ^ (tmp[28] | tmp[125] ^ tmp[135] & tmp[48] ^ tmp[170] & (tmp[61] ^ tmp[125] & tmp[101]))); + tmp[61] = ~tmp[141]; + tmp[135] = ~tmp[58]; + tmp[7] = tmp[144] & (tmp[19] ^ tmp[111]); + tmp[161] = ~tmp[148]; + tmp[186] = tmp[42] ^ ((tmp[57] | tmp[48] & (tmp[158] ^ tmp[122]) ^ tmp[189] & ((tmp[158] ^ tmp[65]) & tmp[48] ^ tmp[75])) ^ (tmp[0] ^ tmp[48] & tmp[186] ^ tmp[189] & (tmp[157] ^ tmp[48] & ~tmp[186]))); + tmp[122] = ~tmp[120]; + tmp[101] = tmp[147] ^ (tmp[13] ^ tmp[128] & tmp[101] ^ tmp[170] & ~(tmp[138] ^ (tmp[184] | tmp[48]))) ^ ~tmp[28] & ((tmp[31] | tmp[48]) ^ (tmp[71] ^ tmp[170] & ~(tmp[73] ^ tmp[71] & tmp[101]))); + tmp[71] = ~tmp[125]; + tmp[65] = tmp[191] ^ (tmp[48] | tmp[157] ^ tmp[162]) ^ ((tmp[55] | tmp[67] ^ tmp[82] & tmp[129] ^ (tmp[5] ^ tmp[67]) & tmp[48]) ^ (tmp[177] ^ tmp[190] & (tmp[129] ^ tmp[5] ^ (tmp[145] ^ tmp[76]) & tmp[48] ^ tmp[189] & (~tmp[65] & tmp[48] ^ (tmp[145] ^ tmp[43]))))); + tmp[6] = (tmp[33] | tmp[86]) ^ tmp[156] ^ (tmp[180] & (tmp[36] ^ tmp[60]) ^ (tmp[152] ^ tmp[144] & ~(tmp[180] & (tmp[90] & (tmp[33] ^ tmp[86])) ^ tmp[33] & (tmp[6] ^ tmp[32])))); + tmp[183] = tmp[115] ^ (tmp[8] & tmp[170] ^ (tmp[66] ^ (tmp[93] & ~(tmp[109] ^ (tmp[38] & tmp[170] ^ tmp[39])) ^ (tmp[81] ^ (tmp[28] | tmp[20] ^ tmp[183] ^ tmp[170] & (tmp[143] ^ tmp[183]) ^ tmp[93] & (tmp[38] ^ tmp[18] ^ tmp[170] & (tmp[52] ^ tmp[18]))))))); + tmp[81] = tmp[101] & tmp[65]; + tmp[8] = tmp[101] | tmp[65]; + tmp[2] = tmp[92] ^ tmp[160] ^ tmp[33] & ~tmp[98] ^ (tmp[163] ^ (tmp[16] | tmp[2] ^ (tmp[146] ^ tmp[84])) ^ tmp[144] & ~(tmp[180] & (tmp[84] ^ (tmp[30] ^ tmp[32])) ^ (tmp[126] ^ tmp[160] ^ tmp[33] & (tmp[126] ^ (tmp[17] | tmp[126] & ~tmp[2]))))); + tmp[25] ^= tmp[127] ^ tmp[69] ^ (tmp[182] & (tmp[127] & (tmp[92] ^ tmp[175]) ^ (tmp[92] ^ tmp[92] & (tmp[17] & tmp[155]))) ^ tmp[130] & ~(tmp[175] ^ (tmp[127] & tmp[114] ^ tmp[102]) ^ tmp[182] & ~(tmp[127] & tmp[11] ^ tmp[124]))); + tmp[32] = ~tmp[101]; + tmp[30] = tmp[101] ^ tmp[65]; + tmp[160] = ~tmp[65]; + tmp[143] = tmp[154] ^ (tmp[170] & (tmp[38] ^ tmp[12]) ^ (tmp[66] ^ (tmp[93] & ~(tmp[170] & (tmp[38] ^ (tmp[143] | tmp[108]))) ^ (tmp[15] ^ (tmp[28] | tmp[170] & ~tmp[173] ^ (tmp[12] ^ (tmp[39] ^ tmp[38] & tmp[93]))))))); + tmp[12] = tmp[71] & tmp[183]; + tmp[173] = tmp[38] ^ (tmp[20] & tmp[149] ^ (tmp[170] & (~tmp[118] | tmp[149]) ^ (tmp[93] & ~(tmp[118] ^ tmp[109] ^ tmp[170] & ~(tmp[52] ^ (tmp[108] | tmp[39]))) ^ (tmp[89] ^ (tmp[28] | tmp[181] & (tmp[115] ^ tmp[18]) ^ tmp[93] & ~(tmp[49] ^ tmp[170] & ~(tmp[52] ^ tmp[173]))))))); + tmp[52] = tmp[65] & tmp[32]; + tmp[39] = ~tmp[183]; + tmp[49] = tmp[183] ^ (tmp[125] | tmp[183]); + tmp[75] = tmp[51] ^ (tmp[82] ^ tmp[67] ^ (tmp[48] ^ (tmp[129] & tmp[189] ^ (tmp[57] | tmp[189] & (tmp[158] & tmp[157] ^ tmp[43]) ^ (tmp[158] ^ tmp[113] ^ tmp[48] & (tmp[67] ^ tmp[75])))))); + tmp[67] = tmp[101] & tmp[160]; + tmp[113] = tmp[8] & tmp[160]; + tmp[43] = ~tmp[2]; + tmp[124] = tmp[105] ^ tmp[137] ^ tmp[127] & ~(tmp[74] ^ tmp[193]) ^ (tmp[182] & ~(tmp[11] ^ tmp[166] ^ tmp[127] & (tmp[105] ^ tmp[166])) ^ (tmp[80] ^ tmp[130] & (tmp[17] ^ tmp[74] ^ tmp[127] & ~tmp[175] ^ tmp[182] & ~(tmp[124] ^ tmp[110] & (tmp[11] ^ tmp[124]))))); + tmp[74] = tmp[25] | tmp[143]; + tmp[166] = ~tmp[25]; + tmp[68] = tmp[174] ^ (tmp[70] & tmp[110] ^ (tmp[108] & tmp[176] ^ (tmp[34] & (tmp[176] ^ tmp[26]) ^ (tmp[14] ^ (tmp[38] | tmp[108] & (tmp[34] & tmp[130]) ^ tmp[68] ^ tmp[70] & (tmp[164] ^ tmp[127] & tmp[21])))))); + tmp[176] = tmp[143] ^ tmp[74]; + tmp[14] = tmp[53] & tmp[39]; + tmp[80] = tmp[141] | tmp[75]; + tmp[129] = tmp[141] & tmp[75]; + tmp[51] = tmp[141] | tmp[124]; + tmp[18] = tmp[141] & tmp[124]; + tmp[110] = tmp[182] & ~(tmp[155] & (tmp[110] & tmp[11])) ^ ((tmp[114] | tmp[17]) ^ tmp[117] ^ tmp[127] & ~(tmp[102] ^ tmp[3]) ^ (tmp[47] ^ tmp[130] & ~(tmp[110] & (tmp[17] ^ tmp[41]) ^ tmp[69] ^ tmp[182] & (tmp[41] ^ tmp[127] & (tmp[41] ^ tmp[193]))))); + tmp[69] = tmp[141] ^ tmp[75]; + tmp[11] = ~tmp[124]; + tmp[155] = tmp[141] ^ tmp[124]; + tmp[32] &= tmp[68]; + tmp[47] = tmp[160] & tmp[68]; + tmp[115] = tmp[81] & tmp[68]; + tmp[181] = tmp[52] & tmp[68]; + tmp[109] = ~tmp[81] & tmp[68]; + tmp[118] = ~tmp[8] & tmp[68]; + tmp[102] = tmp[117] ^ tmp[175] ^ tmp[127] & ~(tmp[105] ^ tmp[3]) ^ (tmp[182] & ~(tmp[193] ^ tmp[132] ^ tmp[127] & ~(tmp[102] ^ tmp[132])) ^ (tmp[172] ^ tmp[130] & ~(tmp[182] & ~(tmp[105] ^ tmp[127] & (tmp[41] ^ tmp[102])) ^ (tmp[92] ^ tmp[137] ^ tmp[127] & ~(tmp[105] ^ tmp[132]))))); + tmp[156] = tmp[98] ^ (tmp[33] & (tmp[86] ^ tmp[60]) ^ ((tmp[16] | tmp[50]) ^ (tmp[178] ^ tmp[144] & (tmp[126] ^ (tmp[156] ^ tmp[33] & ~tmp[156]) ^ (tmp[16] | tmp[156] ^ (tmp[86] ^ tmp[50])))))); + tmp[50] = ~tmp[68]; + tmp[123] = tmp[100] ^ (tmp[24] ^ ((tmp[55] | tmp[133] & tmp[134] ^ tmp[107] ^ tmp[87] & ~tmp[168]) ^ (tmp[9] ^ tmp[83] & ((tmp[55] | tmp[29] ^ tmp[187] ^ tmp[87] & (tmp[123] ^ tmp[10])) ^ (tmp[187] ^ tmp[87] & (tmp[37] ^ tmp[10])))))); + tmp[187] = tmp[68] | tmp[69]; + tmp[9] = tmp[68] & ~tmp[113]; + tmp[86] = tmp[51] & tmp[11]; + tmp[96] = (tmp[34] | tmp[108] ^ tmp[127]) ^ tmp[64] ^ (tmp[70] & (tmp[127] ^ tmp[4]) ^ (tmp[131] ^ (tmp[38] | tmp[70] & (tmp[185] & tmp[108] ^ tmp[85]) ^ tmp[185] & (tmp[96] ^ tmp[108] & ~tmp[106])))); + tmp[4] = tmp[183] | tmp[102]; + tmp[131] = tmp[39] & tmp[102]; + tmp[10] = tmp[168] ^ (tmp[87] & (tmp[29] ^ tmp[165]) ^ (tmp[189] & (tmp[29] ^ tmp[87] & ~(tmp[46] ^ tmp[29])) ^ (tmp[72] ^ (tmp[82] | tmp[87] & (tmp[46] ^ tmp[37]) ^ (tmp[91] ^ tmp[37] ^ (tmp[55] | tmp[87] | tmp[10] ^ tmp[107])))))); + tmp[37] = tmp[81] ^ tmp[115]; + tmp[29] = tmp[81] ^ tmp[181]; + tmp[72] = tmp[125] ^ tmp[102]; + tmp[168] = tmp[183] ^ tmp[102]; + tmp[178] = ~tmp[156]; + tmp[60] = tmp[122] & tmp[123]; + tmp[98] = tmp[120] & tmp[123]; + tmp[41] = tmp[120] | tmp[123]; + tmp[132] = tmp[183] & tmp[123]; + tmp[105] = tmp[183] | tmp[123]; + tmp[137] = tmp[39] & tmp[123]; + tmp[193] = tmp[124] & ~tmp[18]; + tmp[3] = tmp[120] | tmp[96]; + tmp[172] = tmp[123] | tmp[96]; + tmp[21] = tmp[64] ^ (tmp[34] & ~tmp[112] ^ ((tmp[38] | tmp[153] ^ tmp[164] ^ tmp[34] & tmp[85] ^ tmp[70] & (tmp[26] ^ (tmp[130] ^ tmp[34] & tmp[21]))) ^ (tmp[104] ^ tmp[70] & ~(tmp[106] ^ tmp[26] ^ tmp[34] & ~tmp[45])))); + tmp[26] = tmp[125] | tmp[4]; + tmp[106] = tmp[71] & tmp[4]; + tmp[85] = ~tmp[123]; + tmp[164] = tmp[120] ^ tmp[123]; + tmp[104] = tmp[183] ^ tmp[123]; + tmp[64] = ~tmp[96]; + tmp[175] = tmp[183] & ~tmp[102]; + tmp[117] = tmp[125] | tmp[168]; + tmp[89] = tmp[96] | tmp[41]; + tmp[149] = tmp[53] & tmp[132]; + tmp[15] = tmp[53] & tmp[105]; + tmp[66] = tmp[39] & tmp[105]; + tmp[134] = (tmp[87] | tmp[136]) ^ ((tmp[55] | tmp[107] ^ tmp[24]) ^ (tmp[100] ^ (tmp[121] ^ (tmp[82] | tmp[189] & (tmp[136] ^ tmp[87] & (tmp[91] ^ tmp[134])) ^ (tmp[59] ^ (tmp[91] ^ tmp[94] & (tmp[91] ^ tmp[103]))))))); + tmp[136] = ~tmp[10]; + tmp[121] = tmp[120] & tmp[85]; + tmp[24] = tmp[132] ^ tmp[149]; + tmp[107] = ~tmp[105]; + tmp[100] = tmp[183] & tmp[85]; + tmp[154] = tmp[53] & tmp[104]; + tmp[84] = tmp[120] & tmp[64]; + tmp[180] = tmp[125] | tmp[175]; + tmp[146] = tmp[71] & tmp[175]; + tmp[163] = tmp[53] & (tmp[39] | tmp[132]); + tmp[140] = tmp[87] ^ (tmp[46] ^ (tmp[103] ^ (tmp[189] & (tmp[59] ^ tmp[91] ^ tmp[87] & (tmp[54] ^ tmp[165])) ^ (tmp[44] ^ tmp[83] & (tmp[133] & tmp[87] & tmp[54] ^ (tmp[55] | tmp[140] ^ tmp[87] & ~tmp[140])))))); + tmp[165] = tmp[175] ^ tmp[146]; + tmp[91] = tmp[183] ^ tmp[117]; + tmp[83] = tmp[123] & ~tmp[60]; + tmp[44] = tmp[96] | tmp[121]; + tmp[189] = tmp[64] & tmp[121]; + tmp[103] = ~tmp[66]; + tmp[46] = tmp[53] & tmp[100]; + tmp[90] = tmp[25] ^ (tmp[143] ^ tmp[10]); + tmp[22] ^= tmp[153] ^ (tmp[70] & ~tmp[159] ^ (tmp[34] & ~(tmp[130] ^ tmp[108] & tmp[1]) ^ (tmp[40] ^ (tmp[38] | tmp[70] & ~(tmp[127] ^ tmp[112]) ^ (tmp[45] ^ tmp[185] & (tmp[174] ^ tmp[22])))))); + tmp[150] ^= tmp[97] ^ ((tmp[169] | tmp[99]) ^ (tmp[87] & ~(tmp[126] | tmp[188]) ^ (tmp[151] ^ tmp[79] & ~(tmp[171] & tmp[150] ^ tmp[94] & (tmp[188] ^ (tmp[126] | tmp[144])))))); + tmp[151] = tmp[141] | tmp[140]; + tmp[174] = tmp[51] | tmp[140]; + tmp[112] = tmp[86] | tmp[140]; + tmp[185] = tmp[155] | tmp[140]; + tmp[45] = tmp[123] ^ tmp[164] & tmp[64]; + tmp[1] = tmp[96] | tmp[83]; + tmp[40] = ~tmp[140]; + tmp[159] = tmp[155] ^ tmp[140]; + tmp[153] = tmp[143] | tmp[150]; + tmp[36] = ~tmp[150]; + tmp[152] = tmp[143] & tmp[166] ^ tmp[150]; + tmp[145] = tmp[141] ^ tmp[151]; + tmp[76] = tmp[141] & tmp[40]; + tmp[5] = tmp[51] & tmp[40]; + tmp[40] &= tmp[18]; + tmp[190] = tmp[124] ^ tmp[185]; + tmp[162] = tmp[124] ^ (tmp[124] | tmp[140]); + tmp[19] = tmp[59] ^ (tmp[126] | tmp[144] & tmp[111]) ^ (tmp[87] & ~tmp[23] ^ (tmp[171] & (tmp[97] ^ tmp[87] & (tmp[78] ^ tmp[194])) ^ (tmp[167] ^ tmp[79] & ~(tmp[87] & tmp[23] ^ (tmp[171] & ((tmp[19] ^ tmp[87]) & tmp[192]) ^ tmp[7]))))); + tmp[188] = (tmp[87] | tmp[63]) ^ (tmp[7] ^ ((tmp[169] | tmp[35] ^ tmp[87] & tmp[63]) ^ (tmp[77] ^ tmp[79] & (tmp[171] & (tmp[116] ^ tmp[94] & tmp[35]) ^ ((tmp[126] | tmp[192]) ^ tmp[194] ^ tmp[87] & ~(tmp[188] ^ (tmp[126] | tmp[97]))))))); + tmp[192] = tmp[143] & tmp[36]; + tmp[35] = tmp[120] & tmp[19]; + tmp[94] = tmp[45] | tmp[19]; + tmp[194] = tmp[148] & tmp[19]; + tmp[171] = tmp[148] | tmp[19]; + tmp[63] = tmp[166] & tmp[192]; + tmp[77] = ~tmp[19]; + tmp[7] = tmp[148] ^ tmp[19]; + tmp[23] = tmp[161] & tmp[35]; + tmp[78] = tmp[120] & tmp[194]; + tmp[116] = tmp[126] ^ (tmp[97] ^ (tmp[87] & tmp[111] ^ ((tmp[169] | tmp[59] ^ tmp[99]) ^ (tmp[142] ^ tmp[79] & ((tmp[169] | tmp[119] & tmp[87] ^ (tmp[144] ^ tmp[95])) ^ (tmp[144] ^ (tmp[95] ^ (tmp[87] | tmp[97] ^ tmp[116])))))))); + tmp[97] = tmp[120] & tmp[77]; + tmp[95] = tmp[148] & tmp[77]; + tmp[119] = tmp[171] & tmp[77]; + tmp[99] = ~tmp[194]; + tmp[142] = ~tmp[171]; + tmp[69] &= tmp[116]; + tmp[111] = tmp[80] & tmp[116]; + tmp[167] = ~tmp[80] & tmp[116]; + tmp[177] = tmp[19] ^ tmp[23]; + tmp[191] = tmp[120] & tmp[95]; + tmp[73] = tmp[19] & tmp[99]; + tmp[184] = ~tmp[116]; + tmp[138] = tmp[119] ^ tmp[191]; + tmp[128] = ~tmp[119]; + tmp[119] ^= tmp[120]; + tmp[31] = tmp[141] ^ tmp[69]; + tmp[13] = tmp[65] & tmp[50] & tmp[184]; + tmp[147] = tmp[120] & tmp[128]; + tmp[0] = tmp[73] ^ tmp[120] & tmp[142]; + tmp[42] = tmp[78] ^ tmp[73]; + tmp[85] = tmp[28] ^ (tmp[186] & (tmp[132] ^ tmp[15] ^ (tmp[156] | tmp[14] ^ tmp[104] ^ tmp[96] & tmp[100])) ^ (tmp[96] ^ (tmp[104] ^ tmp[53] & tmp[103]) ^ (tmp[156] | tmp[183] ^ tmp[53] & tmp[85] ^ tmp[96] & (tmp[137] ^ tmp[154])))); + tmp[28] = tmp[75] ^ tmp[31]; + tmp[117] = tmp[144] ^ (~(tmp[71] & tmp[131] ^ tmp[58] & (tmp[102] ^ (tmp[125] | tmp[102]))) & tmp[188] ^ (tmp[125] ^ tmp[168] ^ tmp[58] & ~(tmp[102] ^ tmp[26])) ^ (tmp[186] | tmp[4] ^ tmp[26] ^ tmp[58] & ~tmp[4] ^ (tmp[183] ^ tmp[12] ^ tmp[58] & (tmp[168] ^ tmp[117])) & tmp[188])); + tmp[100] = tmp[104] ^ (tmp[96] & tmp[105] ^ tmp[53] & tmp[107]) ^ (tmp[178] & (tmp[105] ^ tmp[96] & ~(tmp[123] ^ tmp[15])) ^ (tmp[70] ^ tmp[186] & ~(tmp[15] ^ tmp[96] & tmp[107] ^ (tmp[156] | tmp[172] ^ tmp[100])))); + tmp[26] = tmp[58] & (tmp[125] ^ tmp[131]) ^ (tmp[183] ^ (tmp[102] ^ (tmp[125] | tmp[131]))) ^ ~(tmp[183] ^ tmp[58] & tmp[12]) & tmp[188] ^ (tmp[93] ^ ~tmp[186] & (tmp[58] & ~(tmp[131] ^ tmp[26]) ^ (tmp[106] ^ (tmp[125] ^ tmp[135] & tmp[49]) & tmp[188]))); + tmp[146] = tmp[131] ^ (tmp[58] & tmp[180] ^ ~(tmp[58] & tmp[71] ^ tmp[49]) & tmp[188]) ^ (tmp[57] ^ (tmp[186] | tmp[58] & ~(tmp[102] ^ tmp[180]) ^ (tmp[106] ^ (tmp[146] ^ tmp[58] & ~tmp[72]) & tmp[188]))); + tmp[104] = tmp[133] ^ (tmp[96] & tmp[132] ^ (tmp[66] ^ tmp[163]) ^ (tmp[156] | tmp[183] ^ (tmp[96] | tmp[132] ^ tmp[46])) ^ tmp[186] & ~(tmp[96] & (~tmp[53] & tmp[137]) ^ tmp[178] & (tmp[105] ^ (tmp[46] ^ tmp[96] & ~tmp[104])))); + tmp[80] = tmp[129] ^ tmp[50] & (tmp[80] ^ tmp[167]) ^ tmp[6] & (tmp[187] ^ (tmp[75] ^ ~tmp[129] & tmp[116])); + tmp[45] = tmp[79] ^ (tmp[164] ^ tmp[94] ^ tmp[110] & (tmp[3] ^ tmp[123] & tmp[96] & tmp[19]) ^ tmp[173] & ~(tmp[110] & ~tmp[89] ^ (tmp[45] ^ tmp[3] & tmp[19]))); + tmp[41] = tmp[173] & (tmp[110] & (tmp[41] ^ tmp[89]) ^ (tmp[189] ^ (tmp[1] | tmp[19]))) ^ (tmp[127] ^ (tmp[3] ^ tmp[121] ^ (tmp[60] ^ tmp[84] | tmp[19]) ^ tmp[110] & ~(tmp[41] ^ tmp[98] & tmp[64] ^ (tmp[164] ^ tmp[44] | tmp[19])))); + tmp[145] = tmp[125] & ~tmp[145] ^ (tmp[51] ^ tmp[40] ^ (tmp[22] & ~(tmp[125] & tmp[151] ^ tmp[162]) ^ (tmp[179] ^ (tmp[58] | tmp[162] ^ tmp[125] & tmp[145] ^ tmp[22] & ((tmp[193] | tmp[140]) ^ (tmp[193] ^ tmp[125] & tmp[140])))))); + tmp[31] = tmp[6] & (tmp[69] ^ (tmp[68] | tmp[31])) ^ (tmp[141] ^ tmp[167] ^ (tmp[68] | tmp[28])); + tmp[14] = (tmp[156] | tmp[24] ^ tmp[64] & (tmp[123] ^ tmp[149])) ^ (tmp[183] ^ tmp[154] ^ (tmp[96] & tmp[103] ^ (tmp[92] ^ tmp[186] & ~((tmp[156] | tmp[39] & tmp[96] ^ tmp[24]) ^ (tmp[96] & ~(tmp[183] ^ tmp[14]) ^ (tmp[132] ^ tmp[163])))))); + tmp[39] = ~tmp[104]; + tmp[129] = tmp[75] ^ tmp[111] ^ tmp[50] & (tmp[75] ^ (tmp[141] ^ tmp[129] & tmp[116])) ^ tmp[6] & ~(tmp[187] ^ (tmp[141] & ~tmp[75] ^ tmp[111])); + tmp[187] = ~tmp[45]; + tmp[163] = ~tmp[41]; + tmp[91] = tmp[72] ^ (tmp[58] | tmp[165]) ^ (tmp[188] & (tmp[183] ^ tmp[58] & tmp[91]) ^ (tmp[130] ^ (tmp[186] | tmp[12] ^ (tmp[175] ^ tmp[135] & tmp[165]) ^ tmp[188] & (tmp[12] ^ (tmp[175] ^ tmp[58] & ~tmp[91]))))); + tmp[69] = (tmp[75] | tmp[68]) ^ (tmp[61] & tmp[75] ^ tmp[111]) ^ tmp[6] & ~(tmp[50] & (tmp[75] ^ tmp[69]) ^ tmp[28]); + tmp[50] = ~tmp[14]; + tmp[158] ^= tmp[65] ^ tmp[68] ^ ((tmp[113] ^ tmp[115] | tmp[116]) ^ ((tmp[25] | tmp[37] & tmp[184]) ^ tmp[134] & (tmp[9] ^ (tmp[81] ^ tmp[166] & (tmp[81] ^ tmp[68])) ^ (tmp[9] | tmp[116])))); + tmp[113] = tmp[41] & tmp[91]; + tmp[28] = tmp[41] | tmp[91]; + tmp[190] = tmp[159] ^ (tmp[125] & (tmp[124] ^ tmp[174]) ^ (tmp[22] & ~(tmp[125] & tmp[124] ^ tmp[112]) ^ (tmp[114] ^ tmp[135] & (tmp[190] ^ tmp[125] & ~tmp[190] ^ tmp[22] & (tmp[151] ^ (tmp[86] ^ tmp[125] & (tmp[18] ^ tmp[151]))))))); + tmp[114] = ~tmp[91]; + tmp[111] = tmp[41] ^ tmp[91]; + tmp[175] = tmp[163] & tmp[28]; + tmp[165] = tmp[163] & tmp[190]; + tmp[12] = tmp[41] & tmp[190]; + tmp[130] = ~tmp[158]; + tmp[72] = tmp[41] & tmp[114]; + tmp[61] = tmp[124] ^ (tmp[5] ^ (tmp[125] & tmp[174] ^ (tmp[22] & ~(tmp[18] ^ tmp[125] & ~tmp[86]) ^ (tmp[87] ^ (tmp[58] | tmp[125] & (tmp[86] ^ tmp[112]) ^ (tmp[18] ^ tmp[11] & tmp[76]) ^ tmp[22] & (tmp[141] ^ tmp[174] ^ tmp[125] & ~(tmp[61] & tmp[124] ^ tmp[151]))))))); + tmp[18] ^= tmp[112] ^ (tmp[125] & ~(tmp[51] ^ tmp[185]) ^ (tmp[38] ^ tmp[135] & (tmp[125] & (tmp[193] ^ (tmp[18] | tmp[140])) ^ (tmp[51] ^ tmp[5]) ^ tmp[22] & (tmp[18] ^ (tmp[125] | tmp[159]))) ^ tmp[22] & ~(tmp[40] ^ (tmp[193] ^ tmp[125] & (tmp[155] ^ tmp[76]))))); + tmp[44] = tmp[60] ^ (tmp[96] ^ (((tmp[96] | tmp[164]) ^ tmp[83]) & tmp[77] ^ (tmp[173] & ~(~tmp[110] & tmp[98] ^ (tmp[96] | tmp[60]) & tmp[77]) ^ (tmp[56] ^ tmp[110] & ~(tmp[98] ^ tmp[3] ^ (tmp[83] ^ tmp[44]) & tmp[77]))))); + tmp[89] = tmp[123] ^ (tmp[84] ^ ((tmp[121] ^ tmp[1]) & tmp[77] ^ (tmp[110] & (tmp[120] ^ tmp[60] & tmp[64] ^ tmp[94]) ^ (tmp[82] ^ tmp[173] & ~(tmp[172] ^ tmp[83] ^ (tmp[120] ^ tmp[89] | tmp[19]) ^ tmp[110] & (tmp[189] ^ tmp[35])))))); + tmp[169] ^= tmp[11] & tmp[80] ^ tmp[69]; + tmp[11] = tmp[31] ^ (tmp[20] ^ tmp[11] & tmp[129]); + tmp[80] = tmp[69] ^ (tmp[55] ^ tmp[124] & ~tmp[80]); + tmp[29] = (tmp[37] | tmp[116]) ^ (tmp[109] ^ (tmp[8] ^ tmp[166] & (tmp[30] ^ tmp[101] & tmp[68] ^ tmp[13]))) ^ (tmp[33] ^ tmp[134] & ~((tmp[30] ^ (tmp[81] | tmp[160]) & tmp[68] | tmp[116]) ^ (tmp[29] ^ tmp[166] & (tmp[29] ^ (tmp[47] | tmp[116]))))); + tmp[8] = tmp[41] & ~tmp[113]; + tmp[37] = tmp[39] & tmp[61]; + tmp[33] = tmp[45] & tmp[61]; + tmp[67] = tmp[9] ^ (tmp[101] ^ (tmp[101] ^ tmp[47] | tmp[116])) ^ ((tmp[25] | tmp[118] ^ (tmp[67] ^ tmp[47]) & tmp[184]) ^ (tmp[34] ^ tmp[134] & ~(tmp[166] & tmp[118] ^ (tmp[65] ^ tmp[67] & tmp[68] ^ tmp[65] & tmp[184])))); + tmp[118] = tmp[158] | tmp[44]; + tmp[47] = tmp[158] & tmp[44]; + tmp[142] = tmp[16] ^ (tmp[21] & tmp[138] ^ (tmp[7] ^ tmp[147]) ^ tmp[2] & ~(tmp[177] ^ tmp[21] & (tmp[120] | tmp[142])) ^ tmp[10] & ~(tmp[78] ^ tmp[21] & tmp[128] ^ tmp[2] & ~(tmp[119] ^ tmp[21] & ~(tmp[35] ^ tmp[171])))); + tmp[128] = ~tmp[61]; + tmp[16] = tmp[61] ^ tmp[80]; + tmp[34] = ~tmp[18]; + tmp[9] = tmp[18] & tmp[11]; + tmp[55] = tmp[39] & tmp[80]; + tmp[69] = tmp[104] | tmp[80]; + tmp[20] = tmp[61] & tmp[80]; + tmp[189] = tmp[61] | tmp[80]; + tmp[83] = tmp[117] & tmp[29]; + tmp[172] = tmp[158] ^ tmp[44]; + tmp[64] = ~tmp[89]; + tmp[60] = ~tmp[169]; + tmp[129] = tmp[31] ^ (tmp[17] ^ tmp[124] & ~tmp[129]); + tmp[17] = ~tmp[80]; + tmp[31] = ~tmp[29]; + tmp[94] = tmp[29] ^ tmp[142]; + tmp[82] = tmp[130] & tmp[118]; + tmp[1] = tmp[29] | tmp[142]; + tmp[121] = tmp[29] & tmp[142]; + tmp[77] = tmp[80] & tmp[128]; + tmp[84] = tmp[11] & tmp[34]; + tmp[3] = tmp[39] & tmp[20]; + tmp[98] = ~tmp[67]; + tmp[164] = tmp[158] & ~tmp[44]; + tmp[56] = tmp[104] ^ tmp[16]; + tmp[76] = tmp[61] & tmp[17]; + tmp[155] = tmp[142] & tmp[31]; + tmp[159] = tmp[117] & tmp[94]; + tmp[193] = tmp[117] & tmp[31]; + tmp[5] = tmp[83] ^ tmp[94]; + tmp[51] = tmp[117] & tmp[1]; + tmp[40] = tmp[104] & tmp[77]; + tmp[135] = tmp[104] | tmp[77]; + tmp[185] = ~tmp[129]; + tmp[171] = tmp[21] & tmp[42] ^ tmp[2] & ~(tmp[148] ^ tmp[21] & (tmp[148] ^ tmp[78])) ^ (tmp[119] ^ (tmp[54] ^ tmp[10] & (tmp[191] ^ (tmp[7] ^ tmp[21] & ~tmp[35]) ^ tmp[2] & ~(tmp[194] ^ tmp[23] ^ tmp[21] & ~(tmp[171] ^ tmp[97]))))); + tmp[23] = tmp[158] & ~tmp[47]; + tmp[194] = tmp[21] & ~tmp[138] ^ (tmp[95] ^ tmp[120] & ~tmp[73] ^ (tmp[10] & (tmp[120] & tmp[161] ^ (tmp[194] ^ tmp[21] & ~tmp[97]) ^ tmp[2] & ~(tmp[21] & (tmp[194] ^ tmp[97]) ^ (tmp[194] ^ tmp[191]))) ^ (tmp[48] ^ tmp[2] & (tmp[177] ^ tmp[21] & ~(tmp[148] ^ tmp[147]))))); + tmp[147] = ~tmp[121]; + tmp[191] = tmp[29] ^ tmp[159]; + tmp[161] = tmp[117] & ~tmp[94]; + tmp[94] ^= tmp[193]; + tmp[177] = tmp[17] & tmp[194]; + tmp[73] = tmp[80] | tmp[194]; + tmp[48] = tmp[29] & tmp[147]; + tmp[97] = tmp[122] & tmp[7] ^ (tmp[21] & ~tmp[42] ^ (tmp[2] & (tmp[148] ^ tmp[21] & tmp[0]) ^ (tmp[108] ^ tmp[10] & ~(tmp[0] ^ (tmp[21] & tmp[99] ^ tmp[2] & ~(tmp[148] ^ tmp[21] & tmp[97])))))); + tmp[99] = ~tmp[194]; + tmp[0] = tmp[80] ^ tmp[194]; + tmp[108] = tmp[61] & ~tmp[76]; + tmp[42] = tmp[121] ^ tmp[117] & tmp[155]; + tmp[159] = tmp[14] | tmp[142] ^ tmp[159]; + tmp[155] ^= tmp[117] & tmp[121] ^ (tmp[14] | tmp[29]); + tmp[121] = tmp[34] & tmp[97]; + tmp[7] = tmp[18] | tmp[97]; + tmp[122] = tmp[8] | tmp[97]; + tmp[95] = tmp[28] | tmp[97]; + tmp[138] = tmp[91] | tmp[97]; + tmp[35] = ~tmp[177]; + tmp[78] = tmp[80] & tmp[99]; + tmp[54] = ~tmp[97]; + tmp[119] = tmp[18] ^ tmp[97]; + tmp[38] = tmp[11] & tmp[121]; + tmp[112] = tmp[194] & tmp[35]; + tmp[151] = tmp[18] & tmp[54]; + tmp[174] = tmp[28] & tmp[54]; + tmp[86] = tmp[72] & tmp[54]; + tmp[87] = tmp[113] & tmp[54]; + tmp[132] = tmp[72] ^ tmp[122]; + tmp[13] = tmp[30] ^ (tmp[109] ^ ((tmp[25] | tmp[81] ^ (tmp[32] ^ (tmp[101] ^ tmp[32] | tmp[116]))) ^ ((tmp[181] | tmp[116]) ^ (tmp[59] ^ tmp[134] & ~(tmp[115] ^ (tmp[181] & tmp[184] ^ tmp[166] & (tmp[52] ^ (tmp[65] & tmp[68] ^ tmp[13])))))))); + tmp[52] = tmp[9] ^ tmp[119]; + tmp[184] = tmp[11] & tmp[151]; + tmp[181] = tmp[11] & (tmp[121] | tmp[54]); + tmp[115] = tmp[11] & ~tmp[7]; + tmp[32] = tmp[91] & (tmp[163] & tmp[54]); + tmp[59] = tmp[100] & (tmp[41] ^ tmp[95]); + tmp[8] ^= tmp[174]; + tmp[81] = tmp[113] ^ tmp[87]; + tmp[109] = tmp[111] ^ tmp[138] ^ (tmp[67] | tmp[41] ^ (tmp[41] | tmp[97])); + tmp[30] = ~tmp[13]; + tmp[24] = tmp[175] ^ tmp[32]; + tmp[149] = tmp[77] & tmp[30]; + tmp[111] = tmp[22] ^ (tmp[109] ^ (tmp[59] ^ tmp[18] & ((tmp[67] | tmp[111] ^ tmp[174]) ^ (tmp[132] ^ tmp[100] & ~(tmp[41] ^ (tmp[111] | tmp[97])))))); + tmp[138] = tmp[98] & (tmp[113] ^ tmp[95]) ^ tmp[8] ^ (tmp[100] & (tmp[175] ^ (tmp[67] | tmp[113] ^ tmp[138])) ^ (tmp[21] ^ tmp[18] & ~(tmp[24] ^ tmp[98] & tmp[81] ^ tmp[100] & ~(tmp[91] ^ (tmp[91] | tmp[67]) ^ tmp[86])))); + tmp[81] = tmp[175] ^ tmp[86] ^ tmp[98] & (tmp[72] ^ tmp[87]) ^ (tmp[100] & ~((tmp[67] | tmp[97]) ^ tmp[132]) ^ (tmp[96] ^ tmp[18] & ~(tmp[67] & ~(tmp[113] ^ (tmp[113] | tmp[97])) ^ tmp[100] & (tmp[67] & tmp[54] ^ tmp[81])))); + tmp[132] = ~tmp[111]; + tmp[40] = tmp[56] ^ ~(tmp[80] ^ tmp[69]) & tmp[13] ^ (tmp[171] & (tmp[40] ^ ~(tmp[69] ^ tmp[76]) & tmp[13]) ^ (tmp[123] ^ tmp[89] & ~((tmp[20] ^ tmp[3]) & tmp[30] ^ tmp[171] & ~(tmp[40] ^ ~tmp[16] & tmp[13])))); + tmp[108] = tmp[80] ^ ((tmp[61] ^ tmp[55] | tmp[13]) ^ ((tmp[104] | tmp[108]) ^ (tmp[171] & ~(tmp[16] & tmp[13]) ^ (tmp[134] ^ tmp[89] & (tmp[189] ^ (tmp[3] ^ ((tmp[189] ^ tmp[135] | tmp[13]) ^ ~tmp[108] & (tmp[171] & tmp[13])))))))); + tmp[134] = ~tmp[40]; + tmp[76] = (tmp[80] ^ tmp[55] | tmp[13]) ^ (tmp[77] ^ (tmp[3] ^ (tmp[171] & ~(tmp[61] & (tmp[39] ^ tmp[17]) ^ (tmp[189] ^ tmp[39] & tmp[76]) & tmp[30]) ^ (tmp[140] ^ tmp[89] & (tmp[135] ^ tmp[171] & ~(tmp[37] ^ (tmp[189] | tmp[13]))))))); + tmp[39] = tmp[111] | tmp[76]; + tmp[32] = tmp[100] & ~tmp[24] ^ (tmp[122] ^ (tmp[113] ^ ((tmp[67] | tmp[8]) ^ (tmp[68] ^ tmp[18] & (tmp[28] ^ (tmp[91] & (tmp[98] & tmp[54]) ^ tmp[100] & ~(tmp[28] ^ tmp[32]))))))); + tmp[189] = tmp[56] ^ ((tmp[77] ^ (tmp[104] | tmp[16])) & tmp[30] ^ (tmp[171] & ~(tmp[189] ^ (tmp[135] ^ tmp[37] & tmp[13])) ^ (tmp[10] ^ tmp[89] & ~(tmp[104] ^ (tmp[104] & tmp[149] ^ tmp[171] & (tmp[189] ^ (tmp[104] | tmp[189]) ^ tmp[149])))))); + tmp[149] = ~tmp[76]; + tmp[37] = tmp[111] & tmp[149]; + tmp[135] = ~tmp[32]; + tmp[16] = ~tmp[189]; + tmp[77] = tmp[90] ^ tmp[152]; + tmp[56] = tmp[10] ^ (tmp[74] ^ tmp[77]); + tmp[28] = tmp[25] | tmp[56]; + tmp[54] = tmp[166] & tmp[56]; + tmp[56] ^= tmp[28]; + tmp[153] = (tmp[65] | tmp[153] ^ (tmp[25] | tmp[153])) ^ tmp[77] ^ (tmp[126] ^ tmp[43] & (tmp[143] ^ (tmp[25] | tmp[150]) ^ tmp[160] & (tmp[28] ^ (tmp[10] | tmp[28])))); + tmp[126] = tmp[45] & tmp[153]; + tmp[77] = tmp[45] | tmp[153]; + tmp[98] = ~tmp[153]; + tmp[68] = tmp[45] ^ tmp[153]; + tmp[36] = tmp[90] ^ (tmp[170] ^ tmp[43] & (tmp[74] & tmp[136] ^ tmp[150] ^ (tmp[65] | tmp[150] ^ tmp[10] & (tmp[25] | tmp[36]))) ^ tmp[160] & (tmp[150] ^ tmp[10] & ~(tmp[143] ^ tmp[54]))); + tmp[43] = tmp[61] & tmp[126]; + tmp[170] = tmp[187] & tmp[77]; + tmp[90] = ~tmp[126]; + tmp[8] = tmp[61] ^ tmp[126]; + tmp[113] = tmp[45] & tmp[98]; + tmp[191] = tmp[50] & tmp[5] ^ (tmp[142] ^ tmp[161]) ^ (tmp[191] ^ (tmp[14] | tmp[191]) | tmp[153]); + tmp[24] = tmp[61] & tmp[68]; + tmp[122] = tmp[172] | tmp[36]; + tmp[140] = tmp[158] | tmp[36]; + tmp[3] = ~tmp[36]; + tmp[55] = tmp[45] & tmp[90]; + tmp[176] = ~tmp[74] & tmp[10] ^ tmp[152] ^ (tmp[160] & (tmp[176] ^ tmp[136] & (tmp[150] ^ tmp[54])) ^ (tmp[157] ^ (tmp[2] | (tmp[65] | ~tmp[176] & tmp[10] ^ tmp[28]) ^ (tmp[25] ^ tmp[10] & ~tmp[56])))); + tmp[28] = tmp[150] ^ tmp[63] ^ tmp[10] & ~(tmp[143] ^ tmp[63]) ^ ((tmp[65] | tmp[143] & ~tmp[192] ^ tmp[10] & ~(tmp[25] ^ ~tmp[143] & tmp[150])) ^ (tmp[182] ^ (tmp[2] | tmp[10] & ((tmp[143] ^ tmp[166]) & tmp[150]) ^ tmp[56] ^ tmp[160] & (tmp[74] ^ (tmp[10] | tmp[150] ^ tmp[28]))))); + tmp[166] = tmp[158] & tmp[3]; + tmp[10] = tmp[118] & tmp[3]; + tmp[74] = tmp[99] & tmp[176]; + tmp[17] &= tmp[176]; + tmp[160] = tmp[35] & tmp[176]; + tmp[56] = tmp[0] & tmp[176]; + tmp[192] = ~tmp[0] & tmp[176]; + tmp[63] = tmp[80] & tmp[176]; + tmp[187] = tmp[187] & tmp[61] ^ tmp[55]; + tmp[182] = tmp[41] & tmp[28]; + tmp[54] = tmp[41] | tmp[28]; + tmp[136] = ~tmp[28]; + tmp[157] = tmp[41] ^ tmp[28]; + tmp[152] = tmp[158] & tmp[56]; + tmp[55] = tmp[61] & ~tmp[55]; + tmp[20] = tmp[169] | tmp[187]; + tmp[69] = tmp[190] & tmp[182]; + tmp[123] = tmp[190] & tmp[54]; + tmp[163] &= tmp[54]; + tmp[87] = tmp[112] ^ tmp[17]; + tmp[72] = tmp[182] ^ tmp[69]; + tmp[96] = tmp[190] & tmp[136]; + tmp[136] &= tmp[12]; + tmp[86] = tmp[33] ^ tmp[153] ^ tmp[20]; + tmp[175] = tmp[41] & ~tmp[182]; + tmp[95] = tmp[190] ^ tmp[163]; + tmp[21] = tmp[165] ^ tmp[163]; + tmp[193] = tmp[5] ^ tmp[14] & tmp[193] ^ ((tmp[142] ^ (tmp[14] | tmp[94])) & tmp[98] ^ (tmp[6] ^ tmp[185] & ((tmp[14] | tmp[142] ^ tmp[193]) ^ (tmp[142] ^ tmp[117] & ~tmp[1]) ^ (tmp[142] ^ tmp[159] | tmp[153])))); + tmp[31] = tmp[191] ^ (tmp[58] ^ (tmp[129] | tmp[42] ^ (tmp[14] & ~(tmp[83] ^ tmp[31] & tmp[1]) ^ (tmp[42] ^ tmp[50] & tmp[94] | tmp[153])))); + tmp[83] = tmp[28] ^ tmp[96]; + tmp[42] = tmp[32] | tmp[193]; + tmp[140] = tmp[10] ^ (tmp[23] ^ tmp[145] & tmp[122]) ^ tmp[85] & (tmp[172] ^ tmp[140] ^ tmp[145] & (tmp[23] ^ tmp[140])); + tmp[58] = ~tmp[193]; + tmp[6] = tmp[32] ^ tmp[193]; + tmp[5] = ~tmp[31]; + tmp[155] = tmp[14] ^ tmp[48] ^ (tmp[117] & tmp[147] ^ ((tmp[1] ^ tmp[51] ^ tmp[50] & (tmp[29] ^ tmp[117] & ~tmp[142])) & tmp[98] ^ (tmp[156] ^ (tmp[129] | tmp[155] ^ (tmp[155] | tmp[153]))))); + tmp[50] = tmp[117] | tmp[43] ^ tmp[30] & (tmp[126] ^ (tmp[60] & tmp[8] ^ tmp[61] & ~tmp[68])); + tmp[1] = tmp[190] & ~tmp[175]; + tmp[116] ^= (tmp[117] | tmp[60] & tmp[113] ^ (tmp[13] | tmp[61] & tmp[60] ^ tmp[43]) ^ tmp[55]) ^ (tmp[86] ^ tmp[13] & (tmp[45] ^ tmp[61] ^ (tmp[169] | tmp[45] & (tmp[61] ^ tmp[90])))); + tmp[156] = tmp[32] & tmp[58]; + tmp[48] = tmp[2] ^ (tmp[191] ^ tmp[129] & ~(tmp[94] ^ ((tmp[14] | tmp[161]) ^ (tmp[159] ^ (tmp[51] ^ tmp[48])) & tmp[98]))); + tmp[51] = ~tmp[155]; + tmp[184] = tmp[143] ^ (tmp[52] ^ (tmp[18] ^ tmp[184] | tmp[36]) ^ tmp[26] & ~((tmp[18] & tmp[97] ^ tmp[184]) & tmp[36]) ^ tmp[85] & ~(tmp[26] & tmp[34] ^ (tmp[181] ^ tmp[151] & tmp[36]))); + tmp[143] = tmp[32] & tmp[116]; + tmp[159] = ~tmp[116]; + tmp[170] ^= (tmp[13] | tmp[153] ^ (tmp[43] ^ tmp[60] & (tmp[128] & tmp[153]))) ^ (tmp[169] ^ tmp[55]) ^ (tmp[188] ^ (tmp[117] | (tmp[169] | tmp[33] ^ tmp[126]) ^ (tmp[77] ^ tmp[61] & tmp[113]) ^ (tmp[13] | tmp[153] ^ (tmp[169] | tmp[170] ^ tmp[24])))); + tmp[130] = tmp[172] ^ tmp[10] ^ tmp[145] & ~(tmp[130] & tmp[44] ^ (tmp[44] | tmp[36])) ^ tmp[85] & (tmp[164] ^ tmp[145] & ~(tmp[82] ^ tmp[166])); + tmp[164] = tmp[118] ^ tmp[36] ^ tmp[145] & ~(tmp[82] ^ tmp[44] & tmp[3]) ^ tmp[85] & ~(tmp[23] ^ (tmp[164] & tmp[3] ^ tmp[145] & (tmp[118] ^ tmp[122]))); + tmp[82] = tmp[48] & tmp[184]; + tmp[10] = tmp[48] | tmp[184]; + tmp[113] = ~tmp[48]; + tmp[126] = tmp[48] ^ tmp[184]; + tmp[166] = tmp[85] & (tmp[44] ^ (tmp[23] | tmp[36]) ^ tmp[145] & ~(tmp[47] ^ tmp[122])) ^ ((tmp[118] | tmp[36]) ^ (tmp[172] ^ tmp[145] & ~(tmp[158] ^ tmp[166]))); + tmp[8] = (tmp[169] | tmp[8]) ^ (tmp[13] ^ (tmp[61] ^ tmp[77])) ^ (tmp[150] ^ tmp[50]); + tmp[50] = tmp[31] & tmp[170]; + tmp[150] = tmp[5] & tmp[170]; + tmp[122] = tmp[31] | tmp[170]; + tmp[120] ^= tmp[99] & tmp[140] ^ tmp[166]; + tmp[47] = ~tmp[170]; + tmp[23] = tmp[31] ^ tmp[170]; + tmp[172] = tmp[10] & tmp[113]; + tmp[151] = tmp[11] ^ tmp[7] ^ ((tmp[11] ^ tmp[34]) & tmp[97] | tmp[36]) ^ tmp[26] & (tmp[52] ^ (tmp[97] ^ tmp[38] | tmp[36])) ^ (tmp[173] ^ tmp[85] & ~(tmp[34] & (tmp[11] ^ tmp[97]) & tmp[3] ^ tmp[26] & (tmp[9] ^ tmp[121] ^ (tmp[84] ^ tmp[151]) & tmp[3]))); + tmp[121] = tmp[48] & ~tmp[184]; + tmp[9] = tmp[18] ^ tmp[11] ^ tmp[97] ^ (tmp[115] | tmp[36]) ^ (tmp[26] & (tmp[115] ^ tmp[97] & tmp[36]) ^ (tmp[141] ^ tmp[85] & ~(tmp[26] & ~(~tmp[9] & tmp[36]) ^ (tmp[11] ^ tmp[115] & tmp[3])))); + tmp[20] = tmp[86] ^ tmp[30] & (tmp[68] ^ tmp[61] & tmp[90] ^ (tmp[169] | tmp[77] ^ tmp[24])) ^ (tmp[19] ^ ~tmp[117] & (tmp[60] & tmp[187] ^ (tmp[13] | tmp[77] ^ tmp[20]))); + tmp[77] = tmp[48] | tmp[8]; + tmp[24] = tmp[184] | tmp[8]; + tmp[90] = tmp[5] & tmp[122]; + tmp[140] = tmp[166] ^ (tmp[101] ^ tmp[194] & ~tmp[140]); + tmp[101] = tmp[81] & tmp[120]; + tmp[119] = tmp[181] ^ (tmp[97] ^ tmp[18] & tmp[3]) ^ (tmp[26] & ~(tmp[38] ^ (tmp[18] ^ (tmp[18] | tmp[36]))) ^ (tmp[183] ^ tmp[85] & ~(tmp[18] ^ (tmp[84] ^ (tmp[97] ^ (tmp[18] ^ tmp[11] & ~tmp[119]) | tmp[36])) ^ tmp[26] & (tmp[18] ^ (tmp[84] ^ (tmp[84] ^ tmp[7] | tmp[36])))))); + tmp[7] = ~tmp[8]; + tmp[84] = tmp[48] & ~tmp[82]; + tmp[38] = ~tmp[120]; + tmp[3] = tmp[120] ^ tmp[20]; + tmp[183] = tmp[120] ^ tmp[101]; + tmp[181] = ~tmp[6] & tmp[9]; + tmp[166] = tmp[42] & tmp[9]; + tmp[187] = ~tmp[42] & tmp[9]; + tmp[60] = tmp[32] & tmp[9]; + tmp[68] = tmp[113] & tmp[20]; + tmp[30] = tmp[48] & tmp[20]; + tmp[19] = tmp[120] & tmp[20]; + tmp[86] = tmp[120] | tmp[20]; + tmp[115] = tmp[81] & tmp[20]; + tmp[141] = tmp[51] & tmp[119]; + tmp[34] = tmp[155] & tmp[119]; + tmp[52] = tmp[155] | tmp[119]; + tmp[173] = ~tmp[20]; + tmp[118] = tmp[48] & tmp[7]; + tmp[7] &= tmp[184]; + tmp[33] = tmp[77] ^ tmp[84]; + tmp[128] = ~tmp[140]; + tmp[43] = tmp[20] & tmp[38]; + tmp[55] = tmp[81] & tmp[38]; + tmp[188] = ~tmp[119]; + tmp[98] = tmp[155] ^ tmp[119]; + tmp[75] ^= tmp[158] & ~tmp[63] ^ (tmp[80] ^ (tmp[194] ^ tmp[17])) ^ (tmp[146] & ~(tmp[192] ^ tmp[158] & ~(tmp[194] ^ tmp[192])) ^ (tmp[89] | tmp[146] & (tmp[194] ^ (tmp[17] ^ tmp[158] & (tmp[80] ^ tmp[74]))))); + tmp[99] = tmp[164] ^ (tmp[125] ^ tmp[99] & tmp[130]); + tmp[125] = tmp[48] ^ tmp[68]; + tmp[161] = ~tmp[19]; + tmp[94] = tmp[120] & tmp[173]; + tmp[191] = tmp[81] & tmp[43]; + tmp[2] = tmp[52] & tmp[188]; + tmp[147] = tmp[155] & tmp[188]; + tmp[174] = ~tmp[52]; + tmp[35] = tmp[80] ^ (tmp[194] ^ (tmp[158] & tmp[35] ^ tmp[73] & tmp[176])) ^ (tmp[146] & ~(tmp[73] ^ tmp[152]) ^ (tmp[186] ^ tmp[64] & (tmp[160] ^ (tmp[158] | tmp[160]) ^ tmp[146] & (tmp[73] ^ tmp[158] & (tmp[177] ^ tmp[56]))))); + tmp[186] = tmp[121] ^ tmp[118]; + tmp[59] = tmp[149] & tmp[99]; + tmp[109] = tmp[76] | tmp[99]; + tmp[22] = tmp[111] & tmp[99]; + tmp[92] = tmp[111] | tmp[99]; + tmp[103] = tmp[81] & ~tmp[3]; + tmp[87] ^= (tmp[158] | tmp[78] ^ tmp[56]) ^ (tmp[146] & (tmp[0] ^ tmp[194] & tmp[176] ^ tmp[158] & (tmp[80] & tmp[194] ^ tmp[192])) ^ (tmp[65] ^ tmp[64] & (tmp[78] ^ (~tmp[78] & tmp[176] ^ tmp[152]) ^ tmp[146] & ~(tmp[158] & tmp[73] ^ tmp[87])))); + tmp[152] = tmp[120] & tmp[161]; + tmp[161] &= tmp[81]; + tmp[0] = tmp[81] & ~tmp[86]; + tmp[64] = tmp[99] ^ tmp[109]; + tmp[56] = ~tmp[99]; + tmp[65] = tmp[111] ^ tmp[99]; + tmp[130] = tmp[164] ^ (tmp[53] ^ tmp[194] & ~tmp[130]); + tmp[53] = tmp[119] & ~tmp[34]; + tmp[164] = tmp[188] & tmp[35]; + tmp[154] = tmp[34] & tmp[35]; + tmp[167] = tmp[155] & tmp[35]; + tmp[162] = tmp[147] & tmp[35]; + tmp[179] = tmp[94] ^ tmp[191]; + tmp[127] = tmp[189] | tmp[186]; + tmp[79] = tmp[16] & tmp[186]; + tmp[46] = tmp[149] & tmp[22]; + tmp[105] = tmp[132] & tmp[59]; + tmp[137] = tmp[35] & ~tmp[98]; + tmp[17] = tmp[148] ^ tmp[146] & (tmp[73] ^ tmp[74] ^ tmp[158] & ~(tmp[78] ^ tmp[192])) ^ (tmp[177] ^ tmp[63] ^ tmp[158] & (tmp[78] ^ ~tmp[112] & tmp[176]) ^ (tmp[89] | tmp[160] ^ tmp[158] & ~(tmp[80] ^ tmp[160]) ^ tmp[146] & ~(tmp[73] ^ tmp[158] & ~(tmp[80] ^ tmp[17])))); + tmp[160] = tmp[32] & tmp[87]; + tmp[73] = tmp[32] | tmp[87]; + tmp[112] = tmp[135] & tmp[87]; + tmp[192] = ~tmp[35]; + tmp[12] = tmp[163] ^ tmp[1] ^ tmp[14] & ~(tmp[96] ^ tmp[114] & (tmp[41] ^ tmp[190] & ~tmp[54])) ^ (tmp[114] & (tmp[12] ^ tmp[28]) ^ (tmp[102] ^ (tmp[129] | tmp[72] ^ tmp[114] & (tmp[165] ^ tmp[28]) ^ tmp[14] & ~(tmp[72] ^ (tmp[91] | tmp[12] ^ tmp[182]))))); + tmp[59] ^= tmp[22]; + tmp[72] = tmp[111] & tmp[56]; + tmp[102] = tmp[76] ^ tmp[92]; + tmp[163] = tmp[149] & tmp[65]; + tmp[78] = tmp[86] ^ tmp[103]; + tmp[74] = tmp[156] ^ tmp[166] ^ tmp[75] & ~tmp[60]; + tmp[63] = tmp[135] & tmp[193] ^ tmp[156] & tmp[9] ^ tmp[75] & (tmp[42] ^ tmp[135] & tmp[9]); + tmp[60] ^= tmp[6] ^ tmp[75] & (tmp[32] ^ tmp[6] & tmp[9]); + tmp[177] = ~tmp[87]; + tmp[148] = tmp[38] & tmp[86] ^ tmp[161]; + tmp[178] = tmp[65] ^ (tmp[76] | tmp[92]); + tmp[66] = tmp[187] ^ tmp[75] & ~(tmp[42] ^ tmp[9]); + tmp[133] = tmp[48] | tmp[17]; + tmp[180] = tmp[113] & tmp[17]; + tmp[71] = tmp[48] & tmp[17]; + tmp[49] = tmp[116] & tmp[112]; + tmp[106] = tmp[119] ^ tmp[164]; + tmp[57] = tmp[122] & tmp[12]; + tmp[131] = tmp[5] & tmp[12]; + tmp[93] = tmp[23] & tmp[12]; + tmp[107] = tmp[149] & tmp[72]; + tmp[15] = tmp[111] & ~tmp[22]; + tmp[70] = tmp[48] ^ tmp[17]; + tmp[168] = tmp[116] & tmp[177]; + tmp[4] = tmp[32] & tmp[177]; + tmp[144] = tmp[155] ^ (tmp[119] ^ tmp[35]); + tmp[88] = ~tmp[156] & tmp[9] ^ (tmp[42] ^ tmp[32] & tmp[75]); + tmp[62] = tmp[170] ^ tmp[12]; + tmp[27] = tmp[122] ^ tmp[12]; + tmp[156] = tmp[32] & tmp[193] ^ tmp[166] ^ tmp[75] & ~(tmp[156] ^ tmp[193] & tmp[9]); + tmp[58] = tmp[58] & tmp[9] ^ tmp[75] & ~(tmp[193] ^ tmp[181]); + tmp[181] = tmp[6] ^ tmp[187] ^ tmp[75] & ~(tmp[42] ^ tmp[181]); + tmp[113] &= tmp[133]; + tmp[42] = tmp[20] & tmp[133]; + tmp[187] = tmp[20] & tmp[180]; + tmp[6] = tmp[32] ^ (tmp[116] ^ tmp[87]); + tmp[166] = ~tmp[71]; + tmp[139] = tmp[48] & ~tmp[17]; + tmp[195] = tmp[20] & tmp[70]; + tmp[196] = tmp[87] & ~tmp[160]; + tmp[197] = tmp[116] & tmp[4]; + tmp[198] = tmp[50] ^ tmp[31] & tmp[12]; + tmp[83] = tmp[157] ^ tmp[136] ^ ((tmp[91] | tmp[190] & tmp[157]) ^ (tmp[14] & ~(tmp[69] ^ tmp[114] & tmp[83]) ^ (tmp[25] ^ tmp[185] & (tmp[83] ^ tmp[14] & ~(tmp[28] ^ tmp[69] ^ tmp[114] & tmp[95]))))); + tmp[185] = tmp[87] ^ tmp[168]; + tmp[25] = tmp[20] & ~tmp[133]; + tmp[199] = tmp[133] ^ tmp[187]; + tmp[200] = tmp[20] & tmp[166]; + tmp[166] &= tmp[48]; + tmp[201] = tmp[20] & tmp[139]; + tmp[202] = tmp[119] | tmp[198]; + tmp[203] = tmp[188] & (tmp[170] ^ tmp[47] & tmp[12]); + tmp[177] &= tmp[83]; + tmp[204] = tmp[20] & ~tmp[70]; + tmp[1] = tmp[190] ^ (tmp[114] & tmp[157] ^ (tmp[110] ^ (tmp[129] | tmp[21] ^ tmp[114] & (tmp[190] ^ tmp[54]) ^ tmp[14] & (tmp[28] ^ tmp[136] ^ (tmp[91] | tmp[95]))) ^ tmp[14] & ~(tmp[28] ^ (tmp[41] ^ tmp[69]) ^ (tmp[91] | tmp[28] ^ (tmp[41] ^ tmp[1]))))); + tmp[175] = tmp[165] & tmp[28] ^ tmp[157] ^ ((tmp[91] | tmp[182] ^ tmp[123]) ^ (tmp[14] & (tmp[157] ^ tmp[96] ^ tmp[114] & (tmp[54] ^ tmp[123])) ^ (tmp[124] ^ (tmp[129] | tmp[91] & tmp[190] ^ tmp[21] ^ tmp[14] & ~(tmp[182] ^ tmp[136] ^ (tmp[91] | tmp[165] ^ tmp[175])))))); + tmp[165] = ~tmp[83]; + tmp[136] = tmp[20] & ~tmp[113]; + tmp[182] = tmp[116] & ~tmp[196]; + tmp[21] = ~tmp[1]; + tmp[123] = ~tmp[175]; + tmp[79] = tmp[82] ^ tmp[77] ^ tmp[127] ^ tmp[87] & (tmp[189] | ~tmp[186]) ^ (tmp[153] ^ (tmp[48] ^ (tmp[126] | tmp[8]) ^ tmp[79] ^ tmp[87] & (tmp[184] ^ tmp[24] ^ tmp[79]) | tmp[83])); + tmp[173] = tmp[40] & ~tmp[115] ^ tmp[179] ^ tmp[151] & ~(tmp[81] & tmp[40] ^ tmp[148]) ^ (tmp[45] ^ (tmp[151] & (tmp[134] & tmp[183]) ^ (tmp[183] ^ tmp[81] & (tmp[40] & tmp[173])) | tmp[1])); + tmp[183] = ~tmp[79]; + tmp[176] ^= tmp[189] ^ tmp[33] ^ tmp[87] & (tmp[16] & tmp[126] ^ (tmp[10] ^ tmp[118])) ^ (tmp[172] ^ tmp[189] & tmp[77] ^ tmp[87] & ~((tmp[189] | tmp[10] ^ tmp[8]) ^ tmp[33])) & tmp[165]; + tmp[77] = (tmp[189] | tmp[33]) ^ (tmp[8] ^ tmp[172] ^ tmp[87] & ~(tmp[189] & (tmp[48] ^ tmp[77]))) ^ (tmp[36] ^ (tmp[87] & ~(tmp[189] | tmp[184] ^ tmp[77]) ^ (tmp[184] ^ (tmp[77] ^ tmp[189] & ~(tmp[10] ^ tmp[77])))) & tmp[165]); + tmp[172] = ~tmp[173]; + tmp[127] = tmp[126] ^ tmp[8] ^ (tmp[189] | tmp[121] ^ (tmp[8] | tmp[84])) ^ tmp[87] & ~(tmp[7] ^ tmp[16] & (tmp[24] ^ tmp[84])) ^ (tmp[28] ^ (tmp[83] | tmp[189] & ~(tmp[10] ^ tmp[7]) ^ tmp[87] & ~(tmp[118] ^ tmp[127]))); + tmp[118] = ~tmp[127]; + tmp[91] ^= tmp[27] ^ tmp[203] ^ ((tmp[35] | tmp[188] & (tmp[150] ^ ~tmp[23] & tmp[12])) ^ (tmp[99] | (tmp[170] | tmp[119]) ^ (tmp[35] | tmp[150] & tmp[12] ^ tmp[202]))); + tmp[14] ^= tmp[81] & ~(tmp[40] & tmp[174] ^ tmp[162]) ^ (tmp[40] & ~tmp[2] ^ (tmp[155] ^ tmp[137]) ^ tmp[130] & (tmp[81] & (tmp[40] & tmp[34] ^ tmp[164]) ^ (tmp[119] ^ (tmp[164] ^ tmp[40] & ~(tmp[141] & tmp[35]))))); + tmp[80] ^= tmp[74] ^ (~tmp[63] & tmp[175] ^ tmp[159] & (tmp[181] ^ tmp[60] & tmp[175])); + tmp[11] ^= tmp[88] ^ (tmp[156] & tmp[175] ^ (tmp[116] | tmp[66] ^ tmp[58] & tmp[175])); + tmp[27] = tmp[150] ^ tmp[57] ^ tmp[192] & (tmp[122] ^ ~tmp[122] & tmp[12]) ^ ((tmp[119] | tmp[62]) ^ (tmp[146] ^ (tmp[99] | tmp[62] ^ (tmp[203] ^ tmp[192] & (tmp[27] ^ tmp[188] & tmp[93]))))); + tmp[135] = tmp[6] ^ tmp[83] ^ ((tmp[140] | tmp[116] ^ tmp[83] & (tmp[4] ^ tmp[197])) ^ (tmp[158] ^ (tmp[108] | tmp[32] ^ tmp[143] ^ tmp[135] & tmp[83] ^ tmp[128] & (tmp[49] ^ tmp[177])))); + tmp[112] = tmp[116] ^ tmp[73] ^ (tmp[128] & (tmp[185] ^ (tmp[116] & tmp[87] ^ tmp[160]) & tmp[83]) ^ (~tmp[49] & tmp[83] ^ (tmp[67] ^ (tmp[108] | tmp[168] ^ tmp[196] ^ tmp[140] & (tmp[112] & tmp[83]))))); + tmp[38] = tmp[148] ^ (tmp[40] & (tmp[115] ^ tmp[94]) ^ (tmp[151] & ~(tmp[179] ^ (tmp[40] | tmp[81] & tmp[19] ^ tmp[152])) ^ (tmp[44] ^ (tmp[81] & tmp[94] ^ (tmp[86] ^ tmp[151] & (tmp[40] & tmp[38])) ^ tmp[40] & ~(tmp[120] ^ tmp[191])) & tmp[21]))); + tmp[141] = tmp[144] ^ tmp[40] & ~tmp[167] ^ (tmp[81] & (tmp[162] ^ (tmp[147] ^ tmp[40] & (tmp[119] ^ tmp[167]))) ^ (tmp[104] ^ tmp[130] & ~(tmp[134] & (tmp[141] ^ tmp[154]) ^ tmp[81] & (tmp[164] ^ tmp[134] & (tmp[34] ^ tmp[164]))))); + tmp[0] = tmp[19] ^ (tmp[40] & ~tmp[152] ^ (tmp[81] & tmp[86] ^ (tmp[41] ^ (tmp[1] | tmp[151] & (tmp[134] & tmp[101]) ^ (tmp[78] ^ (tmp[40] | tmp[19] ^ tmp[0]))) ^ tmp[151] & (tmp[3] ^ (tmp[103] ^ tmp[40] & ~(tmp[86] ^ tmp[0])))))); + tmp[86] = ~tmp[91]; + tmp[19] = tmp[80] | tmp[27]; + tmp[101] = tmp[80] & tmp[27]; + tmp[174] = tmp[81] & (tmp[155] ^ (tmp[40] | tmp[53] ^ tmp[137])) ^ (tmp[144] ^ tmp[134] & (tmp[52] ^ tmp[174] & tmp[35]) ^ (tmp[100] ^ tmp[130] & ~(tmp[81] & (tmp[155] ^ tmp[134] & tmp[2]) ^ (tmp[119] & tmp[192] ^ tmp[40] & ~tmp[106])))); + tmp[137] = ~tmp[14]; + tmp[58] = tmp[88] ^ ((tmp[156] | tmp[175]) ^ (tmp[129] ^ (tmp[116] | tmp[66] ^ tmp[58] & tmp[123]))); + tmp[60] = tmp[74] ^ (tmp[63] & tmp[123] ^ (tmp[169] ^ tmp[159] & (tmp[181] ^ tmp[60] & tmp[123]))); + tmp[181] = ~tmp[80]; + tmp[169] = tmp[80] ^ tmp[27]; + tmp[63] = ~tmp[27]; + tmp[188] = tmp[23] ^ (tmp[202] ^ ((tmp[35] | tmp[57] ^ tmp[188] & tmp[198]) ^ (tmp[117] ^ (tmp[99] | tmp[170] ^ tmp[93] ^ tmp[188] & (tmp[150] ^ tmp[93]) ^ tmp[192] & (~tmp[90] & tmp[12] ^ tmp[188] & (tmp[50] ^ tmp[12])))))); + tmp[93] = ~tmp[135]; + tmp[46] = tmp[102] ^ ((tmp[31] | tmp[111] ^ tmp[105]) ^ (tmp[175] | tmp[64] ^ tmp[5] & (tmp[37] ^ tmp[72]))) ^ (tmp[61] ^ tmp[9] & (tmp[46] ^ tmp[31] & ~(tmp[111] ^ tmp[46]) ^ (tmp[175] | tmp[99] ^ (tmp[37] ^ tmp[31] & ~(tmp[72] ^ (tmp[76] | tmp[65])))))); + tmp[55] = tmp[78] ^ (tmp[40] & ~tmp[191] ^ (tmp[151] & (tmp[20] ^ tmp[161] ^ tmp[40] & (tmp[94] ^ tmp[161])) ^ (tmp[89] ^ tmp[21] & (tmp[179] ^ tmp[40] & (tmp[120] ^ tmp[81] & tmp[3]) ^ tmp[151] & (tmp[43] ^ (tmp[55] ^ tmp[40] & ~(tmp[120] ^ tmp[55]))))))); + tmp[180] = tmp[17] ^ (tmp[48] ^ (tmp[42] ^ tmp[120] & ~(tmp[71] ^ tmp[204]))) ^ (tmp[138] & (tmp[133] ^ (tmp[25] ^ tmp[120] & ~(tmp[133] ^ tmp[25]))) ^ (tmp[142] ^ (tmp[189] | tmp[138] & (tmp[120] & tmp[30] ^ tmp[180] ^ tmp[25]) ^ (tmp[70] ^ tmp[120] & (tmp[48] ^ tmp[204]))))); + tmp[142] = tmp[118] & tmp[0]; + tmp[3] = ~tmp[38]; + tmp[43] = tmp[112] & tmp[86]; + tmp[200] = tmp[138] & ~(tmp[125] ^ tmp[120] & tmp[199]) ^ (tmp[166] ^ (tmp[136] ^ tmp[120] & ~tmp[201])) ^ (tmp[194] ^ tmp[16] & (tmp[138] & (tmp[120] & ~tmp[125] ^ (tmp[48] ^ tmp[200])) ^ (tmp[199] ^ tmp[120] & ~(tmp[113] ^ tmp[200])))); + tmp[199] = tmp[0] & tmp[58]; + tmp[194] = tmp[127] | tmp[58]; + tmp[179] = tmp[127] & tmp[58]; + tmp[161] = tmp[118] & tmp[58]; + tmp[94] = tmp[19] & tmp[181]; + tmp[50] = (tmp[90] | tmp[119]) ^ (tmp[12] ^ (tmp[31] & tmp[47] ^ (tmp[56] & (tmp[122] ^ tmp[131] ^ (tmp[119] | tmp[170] ^ tmp[131]) ^ (tmp[35] | tmp[170] ^ tmp[119] & tmp[198])) ^ (tmp[26] ^ tmp[192] & (tmp[170] ^ tmp[119] & ~(tmp[31] & ~tmp[50] ^ tmp[131])))))); + tmp[131] = tmp[80] & tmp[63]; + tmp[198] = tmp[172] & tmp[188]; + tmp[122] = tmp[173] | tmp[188]; + tmp[192] = tmp[80] | tmp[55]; + tmp[26] = tmp[19] | tmp[55]; + tmp[56] = tmp[27] | tmp[55]; + tmp[47] = tmp[141] | tmp[55]; + tmp[90] = tmp[79] | tmp[180]; + tmp[106] = tmp[164] ^ (tmp[53] ^ tmp[40] & (tmp[98] ^ tmp[51] & tmp[35])) ^ (tmp[81] & ~(tmp[134] & (tmp[34] ^ tmp[154])) ^ (tmp[85] ^ tmp[130] & ~(tmp[81] & (tmp[134] & tmp[155] ^ tmp[2]) ^ (tmp[155] ^ tmp[52] & tmp[35] ^ tmp[40] & ~(tmp[155] ^ tmp[106]))))); + tmp[52] = ~tmp[58]; + tmp[134] = tmp[127] ^ tmp[58]; + tmp[2] = ~tmp[60]; + tmp[39] = tmp[65] ^ (tmp[31] & ~tmp[105] ^ ((tmp[37] ^ (tmp[39] | tmp[31])) & tmp[123] ^ (tmp[145] ^ tmp[9] & ~((tmp[76] | tmp[15]) ^ (tmp[22] ^ tmp[31] & tmp[163]) ^ (tmp[39] ^ tmp[149] & (tmp[111] & tmp[31]) | tmp[175]))))); + tmp[37] = ~tmp[188]; + tmp[145] = tmp[173] ^ tmp[188]; + tmp[105] = ~tmp[55]; + tmp[154] = ~tmp[180]; + tmp[34] = tmp[0] & tmp[179]; + tmp[51] = tmp[55] | tmp[94]; + tmp[98] = tmp[91] ^ tmp[43]; + tmp[125] = tmp[68] ^ tmp[133] ^ tmp[120] & (tmp[20] ^ tmp[70]) ^ (tmp[138] & ~(tmp[120] & (tmp[48] ^ tmp[187])) ^ (tmp[171] ^ (tmp[189] | tmp[71] ^ tmp[136] ^ tmp[120] & ~(tmp[17] ^ (tmp[48] ^ tmp[42])) ^ tmp[138] & ~(tmp[120] & tmp[125] ^ tmp[166] ^ tmp[20] & ~tmp[166])))); + tmp[42] = ~tmp[200]; + tmp[4] = tmp[6] ^ ((tmp[83] | tmp[73] ^ tmp[197]) ^ (tmp[140] | tmp[197] ^ tmp[32] & tmp[165]) ^ (tmp[29] ^ ~tmp[108] & (tmp[185] ^ tmp[128] & (tmp[159] & tmp[73] ^ tmp[4] & tmp[83]) ^ tmp[83] & ~(tmp[32] ^ tmp[182])))); + tmp[159] = tmp[38] | tmp[106]; + tmp[128] = ~tmp[77] & tmp[106]; + tmp[185] = tmp[77] | tmp[106]; + tmp[165] = tmp[77] & tmp[106]; + tmp[29] = tmp[127] & tmp[52]; + tmp[6] = ~tmp[50]; + tmp[136] = tmp[173] & tmp[37]; + tmp[73] = ~tmp[143] & tmp[83] ^ (tmp[49] ^ (tmp[160] ^ ((tmp[140] | (tmp[143] ^ tmp[87]) & tmp[83] ^ (tmp[87] ^ tmp[182])) ^ (tmp[13] ^ (tmp[108] | tmp[73] ^ tmp[168] ^ tmp[197] & tmp[83] ^ (tmp[140] | tmp[177] ^ (tmp[87] ^ tmp[116] & ~tmp[73]))))))); + tmp[177] = tmp[169] & tmp[105]; + tmp[197] = tmp[141] & tmp[105]; + tmp[168] = tmp[27] ^ tmp[56]; + tmp[30] = tmp[113] ^ tmp[195] ^ tmp[120] & ~(tmp[166] ^ tmp[201]) ^ (tmp[138] & (tmp[139] ^ tmp[195] ^ tmp[120] & (tmp[139] ^ tmp[25])) ^ (tmp[97] ^ tmp[16] & (tmp[120] & (tmp[70] ^ tmp[195]) ^ (tmp[133] ^ tmp[204]) ^ tmp[138] & ~(tmp[48] ^ (tmp[120] & (tmp[48] ^ tmp[30]) ^ tmp[204]))))); + tmp[204] = tmp[79] & tmp[154]; + tmp[195] = ~tmp[106]; + tmp[70] = tmp[77] ^ tmp[106]; + tmp[133] = ~tmp[134]; + tmp[25] = tmp[127] & tmp[0] ^ tmp[134]; + tmp[139] = tmp[183] & tmp[4]; + tmp[201] = tmp[79] | tmp[4]; + tmp[166] = tmp[90] | tmp[4]; + tmp[16] = tmp[38] | tmp[185]; + tmp[118] = ~(tmp[118] & tmp[194]); + tmp[179] = tmp[0] & ~tmp[179]; + tmp[97] = tmp[0] & tmp[29]; + tmp[113] = tmp[141] & tmp[73]; + tmp[143] = tmp[188] & tmp[73]; + tmp[182] = tmp[141] | tmp[73]; + tmp[13] = tmp[37] & tmp[73]; + tmp[160] = tmp[55] | tmp[73]; + tmp[49] = tmp[105] & tmp[73]; + tmp[71] = tmp[173] & tmp[73]; + tmp[187] = ~tmp[141] & tmp[73]; + tmp[171] = tmp[198] & tmp[73]; + tmp[68] = tmp[136] & tmp[73]; + tmp[85] = ~tmp[122] & tmp[73]; + tmp[53] = tmp[145] & tmp[73]; + tmp[164] = tmp[79] ^ tmp[4]; + tmp[21] = tmp[77] & tmp[195]; + tmp[89] = tmp[0] & tmp[133]; + tmp[191] = ~tmp[136]; + tmp[78] = tmp[141] ^ tmp[73]; + tmp[61] = ~tmp[30]; + tmp[150] = tmp[204] ^ tmp[139]; + tmp[57] = tmp[154] & tmp[139]; + tmp[117] = tmp[188] | tmp[139]; + tmp[202] = tmp[180] | tmp[139]; + tmp[72] = tmp[92] ^ ((tmp[76] | tmp[22]) ^ (tmp[31] & (tmp[99] ^ tmp[107]) ^ (((tmp[76] | (tmp[31] | tmp[99])) ^ tmp[59]) & tmp[123] ^ (tmp[190] ^ tmp[9] & ~(tmp[5] & tmp[178] ^ (tmp[65] ^ tmp[163] ^ tmp[5] & tmp[72]) & tmp[123]))))); + tmp[5] = tmp[105] & tmp[113]; + tmp[190] = tmp[55] | tmp[187]; + tmp[109] = tmp[149] & tmp[92] ^ (tmp[15] ^ (tmp[31] & ~tmp[178] ^ ((tmp[175] | tmp[64] ^ tmp[31] & ~tmp[102]) ^ (tmp[18] ^ tmp[9] & ~(tmp[31] & tmp[59] ^ (tmp[132] & tmp[92] ^ tmp[107]) ^ tmp[123] & (tmp[65] ^ (tmp[163] ^ tmp[31] & ~(tmp[111] ^ tmp[109])))))))); + tmp[163] = tmp[79] & ~tmp[4]; + tmp[92] = tmp[127] ^ tmp[179]; + tmp[132] = tmp[194] ^ tmp[179]; + tmp[65] = tmp[173] & tmp[191]; + tmp[107] = tmp[141] & ~tmp[73]; + tmp[59] = tmp[198] ^ tmp[143]; + tmp[123] = tmp[198] ^ tmp[171]; + tmp[102] = tmp[105] & tmp[78]; + tmp[64] = tmp[77] & tmp[3] ^ tmp[21]; + tmp[18] = tmp[50] | tmp[109]; + tmp[178] = tmp[6] & tmp[109]; + tmp[86] &= tmp[109]; + tmp[15] = tmp[91] | tmp[109]; + tmp[149] = ~tmp[72]; + tmp[22] = tmp[188] & tmp[71] ^ tmp[65]; + tmp[23] = tmp[182] ^ tmp[105] & tmp[187]; + tmp[74] = ~tmp[109]; + tmp[66] = tmp[91] ^ tmp[109]; + tmp[129] = tmp[50] ^ tmp[109]; + tmp[154] = tmp[139] ^ tmp[154] & tmp[164]; + tmp[156] = tmp[77] & ~tmp[21]; + tmp[113] ^= tmp[102]; + tmp[88] = tmp[106] & tmp[18]; + tmp[100] = tmp[30] & tmp[18]; + tmp[144] = tmp[18] ^ tmp[88]; + tmp[103] = ~tmp[178]; + tmp[41] = tmp[106] & tmp[74]; + tmp[152] = tmp[50] & tmp[74]; + tmp[167] = tmp[91] & tmp[74]; + tmp[74] &= tmp[112]; + tmp[147] = tmp[106] & tmp[129]; + tmp[162] = tmp[106] & tmp[152]; + tmp[104] = tmp[112] & tmp[167]; + tmp[44] = tmp[61] & tmp[167]; + tmp[115] = tmp[112] & ~tmp[86]; + tmp[148] = tmp[46] & ~tmp[23]; + tmp[196] = tmp[152] ^ tmp[162]; + tmp[67] = ~tmp[167]; + tmp[158] = tmp[159] ^ tmp[70] ^ tmp[39] & ((tmp[77] | tmp[38]) ^ tmp[21]) ^ tmp[135] & ~((tmp[39] | tmp[159] ^ tmp[128]) ^ tmp[64]); + tmp[203] = tmp[112] & tmp[67]; + tmp[128] = tmp[135] & ~(tmp[106] ^ ((tmp[38] | tmp[128]) ^ tmp[39] & tmp[195])) ^ (tmp[70] ^ tmp[3] & tmp[128] ^ tmp[39] & ~(tmp[77] ^ tmp[16])); + tmp[62] = tmp[106] & ~(tmp[109] & tmp[103]); + tmp[146] = (tmp[188] | tmp[180]) ^ tmp[164] ^ tmp[137] & (tmp[90] ^ tmp[188] & ~tmp[150]); + tmp[56] = tmp[169] ^ tmp[55] ^ (tmp[135] | tmp[80] ^ tmp[131] & tmp[105]) ^ (tmp[42] & (tmp[56] ^ tmp[135] & tmp[168]) ^ (tmp[75] ^ tmp[176] & (tmp[19] ^ (tmp[101] & tmp[93] ^ tmp[26]) ^ (tmp[200] | (tmp[135] | tmp[56]) ^ tmp[168])))); + tmp[21] = tmp[77] ^ (tmp[159] ^ tmp[39] & (tmp[38] | tmp[70])) ^ tmp[135] & (tmp[64] ^ tmp[39] & ~(tmp[3] & tmp[106] ^ tmp[21])); + tmp[131] = tmp[94] ^ (tmp[169] | tmp[55]) ^ tmp[93] & (tmp[27] ^ tmp[177]) ^ (tmp[200] | tmp[101] ^ tmp[27] & tmp[105] ^ tmp[93] & (tmp[80] ^ tmp[19] & tmp[105])) ^ (tmp[87] ^ tmp[176] & ~(tmp[51] ^ (tmp[135] | tmp[131] ^ tmp[192]) ^ tmp[42] & (tmp[80] ^ tmp[192] ^ tmp[93] & (tmp[27] ^ tmp[55])))); + tmp[31] ^= tmp[52] & (tmp[4] ^ tmp[202] ^ tmp[37] & (tmp[4] ^ tmp[57]) ^ tmp[137] & (tmp[117] ^ tmp[154])) ^ tmp[146]; + tmp[165] = tmp[39] & tmp[16] ^ (tmp[185] ^ tmp[3] & tmp[165]) ^ tmp[135] & (tmp[156] ^ (tmp[39] & ~(tmp[159] ^ tmp[165]) ^ (tmp[38] | tmp[156]))); + tmp[133] = tmp[91] & (tmp[14] | ~(tmp[34] ^ tmp[29])) ^ (tmp[0] ^ (tmp[134] ^ tmp[14] & tmp[118])) ^ (tmp[83] ^ tmp[149] & (tmp[161] ^ (tmp[179] ^ tmp[14] & tmp[97]) ^ tmp[91] & ~(tmp[0] ^ tmp[58] ^ tmp[14] & tmp[133]))); + tmp[177] ^= tmp[35] ^ ((tmp[135] | tmp[19] ^ tmp[192]) ^ tmp[101] ^ (tmp[200] | tmp[93] & (tmp[19] ^ (tmp[101] | tmp[55])) ^ (tmp[94] ^ tmp[177])) ^ tmp[176] & (tmp[51] ^ (tmp[80] ^ (tmp[135] | tmp[80] ^ tmp[51])) ^ (tmp[200] | tmp[177] ^ (tmp[135] | tmp[80] ^ tmp[177])))); + tmp[192] = (tmp[200] | tmp[101] ^ tmp[26] ^ (tmp[135] | tmp[27] & tmp[181] ^ tmp[192])) ^ (tmp[93] & (tmp[55] ^ tmp[94]) ^ tmp[80] & (tmp[63] ^ tmp[105])) ^ (tmp[17] ^ tmp[176] & ~(tmp[27] ^ tmp[26] ^ (tmp[135] | tmp[27] ^ tmp[51]) ^ (tmp[200] | tmp[80] ^ (tmp[135] | tmp[27] ^ tmp[192])))); + tmp[120] ^= tmp[200] & tmp[158] ^ tmp[165]; + tmp[158] = tmp[140] ^ (tmp[200] | tmp[158]) ^ tmp[165]; + tmp[166] = tmp[79] & tmp[4] ^ (tmp[202] ^ ((tmp[188] | tmp[166] ^ tmp[164]) ^ (tmp[155] ^ (tmp[14] | tmp[204] ^ tmp[188] & tmp[204] ^ tmp[163]) ^ (tmp[58] | tmp[57] ^ tmp[137] & tmp[139] ^ tmp[37] & (tmp[201] ^ tmp[166]))))); + tmp[57] = ~tmp[133]; + tmp[161] = tmp[132] ^ tmp[137] & tmp[92] ^ tmp[91] & ~(tmp[134] ^ tmp[0] & tmp[118] ^ tmp[14] & (tmp[134] ^ tmp[0] & ~tmp[194])) ^ (tmp[175] ^ (tmp[72] | tmp[97] ^ tmp[14] & ~(tmp[127] ^ tmp[0] & tmp[161]) ^ tmp[91] & (tmp[199] ^ tmp[14] & (tmp[134] ^ tmp[89])))); + tmp[134] = ~tmp[177]; + tmp[59] = (tmp[60] | tmp[143] ^ (tmp[79] | tmp[173] ^ tmp[171])) ^ (tmp[79] & ~tmp[59] ^ (tmp[136] ^ tmp[73] & ~tmp[65])) ^ (tmp[8] ^ tmp[46] & ~(tmp[188] & (tmp[172] ^ tmp[71]) ^ ((tmp[60] | tmp[143]) ^ tmp[79] & tmp[59]))); + tmp[143] = ~tmp[158]; + tmp[49] = tmp[108] ^ (tmp[125] & (tmp[46] | ~tmp[49]) ^ (tmp[55] ^ tmp[187] ^ tmp[46] & (tmp[5] ^ tmp[107])) ^ tmp[80] & (tmp[125] & (tmp[73] ^ tmp[46] & (tmp[73] ^ tmp[49])) ^ ((tmp[55] | tmp[107]) ^ tmp[148]))); + tmp[187] = ~tmp[166]; + tmp[108] = tmp[133] & tmp[143]; + tmp[42] = tmp[99] ^ (tmp[128] ^ tmp[42] & tmp[21]); + tmp[132] = tmp[1] ^ ((tmp[72] | tmp[58] ^ (tmp[14] & tmp[0] & tmp[194] ^ tmp[97]) ^ tmp[91] & ~(tmp[142] ^ tmp[14] & ~(tmp[58] ^ tmp[142]))) ^ (tmp[14] & (tmp[0] ^ tmp[194]) ^ tmp[92] ^ tmp[91] & ~(tmp[58] ^ tmp[199] ^ tmp[14] & ~tmp[132]))); + tmp[199] = ~tmp[161]; + tmp[116] ^= tmp[188] ^ ~tmp[198] & tmp[73] ^ (tmp[79] & ~tmp[85] ^ ((tmp[60] | tmp[53] ^ tmp[79] & (tmp[172] & (tmp[188] ^ tmp[73]))) ^ tmp[46] & ((tmp[60] | tmp[73] & ~tmp[145]) ^ (tmp[79] & tmp[123] ^ (tmp[173] ^ (tmp[188] ^ tmp[68])))))); + tmp[136] = tmp[79] & (tmp[122] ^ tmp[13]) ^ (tmp[198] ^ tmp[73] & tmp[191]) ^ (tmp[60] | tmp[136] ^ tmp[122] & tmp[73] ^ tmp[79] & ~(tmp[122] ^ tmp[85])) ^ (tmp[20] ^ tmp[46] & ~(tmp[22] ^ (tmp[79] & tmp[71] ^ tmp[2] & (tmp[79] & tmp[73] ^ (tmp[136] ^ tmp[68]))))); + tmp[53] = (tmp[60] | tmp[22] ^ tmp[183] & tmp[123]) ^ (tmp[145] ^ tmp[172] & tmp[73] ^ tmp[79] & ~(tmp[68] ^ tmp[65])) ^ (tmp[170] ^ tmp[46] & ~(tmp[2] & (tmp[183] & tmp[13] ^ tmp[123]) ^ (tmp[198] ^ tmp[68] ^ tmp[79] & ~(tmp[122] ^ tmp[53])))); + tmp[197] ^= tmp[78] ^ tmp[148] ^ tmp[125] & (tmp[47] ^ tmp[46] & (tmp[73] ^ tmp[102])) ^ (tmp[40] ^ tmp[80] & ~(tmp[102] ^ tmp[46] & (tmp[182] ^ tmp[5]) ^ tmp[125] & (tmp[46] & (tmp[73] ^ tmp[197]) ^ tmp[113]))); + tmp[5] = tmp[177] | tmp[53]; + tmp[148] = tmp[134] & tmp[53]; + tmp[40] = tmp[177] & tmp[53]; + tmp[146] ^= tmp[48] ^ tmp[58] & ~((tmp[14] | tmp[204] ^ tmp[37] & (tmp[90] ^ tmp[139])) ^ (tmp[139] ^ (tmp[204] ^ tmp[188] & (tmp[163] ^ (tmp[180] | tmp[163]))))); + tmp[21] = tmp[128] ^ (tmp[130] ^ tmp[200] & ~tmp[21]); + tmp[89] = tmp[25] ^ tmp[14] & ~tmp[34] ^ tmp[91] & (tmp[194] ^ (tmp[179] ^ tmp[14] & (tmp[58] ^ tmp[179]))) ^ (tmp[12] ^ tmp[149] & (tmp[127] ^ tmp[142] ^ tmp[14] & ~(tmp[127] ^ tmp[34]) ^ tmp[91] & ~(tmp[25] ^ tmp[14] & ~(tmp[127] ^ tmp[89])))); + tmp[34] = ~tmp[116]; + tmp[25] = ~tmp[136]; + tmp[179] = ~tmp[53]; + tmp[142] = tmp[177] ^ tmp[53]; + tmp[194] = ~tmp[197]; + tmp[102] = tmp[46] ^ (tmp[55] ^ tmp[107]) ^ (tmp[125] & (tmp[73] ^ tmp[46] & ~tmp[47]) ^ (tmp[76] ^ tmp[80] & (tmp[113] ^ tmp[46] & ~(tmp[182] ^ tmp[102]) ^ tmp[125] & ~(tmp[160] ^ tmp[46] & ~(tmp[182] ^ tmp[160]))))); + tmp[113] = ~tmp[131] & tmp[146]; + tmp[47] = tmp[131] | tmp[146]; + tmp[76] = tmp[134] & tmp[89]; + tmp[149] = tmp[148] & tmp[89]; + tmp[12] = ~tmp[40]; + tmp[130] = tmp[42] & tmp[102]; + tmp[128] = tmp[161] & tmp[102]; + tmp[100] = tmp[30] & (tmp[129] ^ tmp[147]) ^ (tmp[109] ^ tmp[106] & tmp[103]) ^ (tmp[151] ^ (tmp[11] | tmp[100] ^ (tmp[152] ^ tmp[147]) ^ tmp[77] & (tmp[100] ^ tmp[196])) ^ tmp[77] & (tmp[41] ^ (tmp[30] | tmp[18] ^ tmp[62]))); + tmp[184] ^= tmp[30] ^ (tmp[178] ^ (tmp[88] ^ (tmp[77] & ~(tmp[50] & tmp[109] ^ tmp[109] & ((tmp[50] ^ tmp[106]) & tmp[61])) ^ (tmp[11] | tmp[106] ^ (tmp[106] & tmp[30] & tmp[109] ^ tmp[50] & (tmp[109] & (tmp[77] & tmp[61]))))))); + tmp[88] = ~tmp[146]; + tmp[147] = tmp[131] ^ tmp[146]; + tmp[150] = tmp[201] ^ (tmp[180] ^ (tmp[117] ^ (tmp[137] & (tmp[37] & tmp[139] ^ (tmp[204] ^ tmp[163])) ^ (tmp[193] ^ tmp[52] & ((tmp[14] | tmp[90] ^ tmp[37] & tmp[150]) ^ (tmp[79] ^ tmp[37] & tmp[154])))))); + tmp[37] = tmp[89] ^ tmp[142]; + tmp[154] = ~tmp[102]; + tmp[195] = tmp[129] ^ tmp[30] & ~tmp[144] ^ (tmp[106] ^ (tmp[77] & ~(tmp[30] & tmp[144] ^ tmp[162]) ^ (tmp[119] ^ (tmp[11] | tmp[30] & (tmp[106] ^ tmp[152]) ^ tmp[77] & (tmp[30] & tmp[195] ^ tmp[196]))))); + tmp[32] ^= tmp[66] ^ (tmp[203] ^ ((tmp[30] | tmp[104]) ^ (tmp[0] & ~(tmp[98] ^ tmp[30] & (tmp[43] ^ tmp[167])) ^ tmp[174] & (tmp[0] | ~(tmp[109] ^ tmp[44]))))); + tmp[196] = ~tmp[113]; + tmp[152] = tmp[131] & tmp[88]; + tmp[144] = tmp[116] & tmp[150]; + tmp[162] = tmp[34] & tmp[150]; + tmp[119] = tmp[116] | tmp[150]; + tmp[107] = tmp[23] ^ (tmp[46] & ((tmp[55] | tmp[182]) ^ tmp[107]) ^ (tmp[125] & ~(tmp[73] ^ tmp[160] ^ tmp[46] & ~(tmp[160] ^ tmp[107])) ^ (tmp[189] ^ tmp[80] & ~(tmp[125] & (~tmp[46] & (tmp[73] ^ (tmp[55] | tmp[78]))) ^ (tmp[73] ^ tmp[190] ^ tmp[46] & ~(tmp[190] ^ tmp[107])))))); + tmp[190] = tmp[89] & ~tmp[142]; + tmp[78] = ~tmp[184]; + tmp[160] = ~tmp[150]; + tmp[182] = tmp[116] ^ tmp[150]; + tmp[189] = tmp[76] & tmp[195]; + tmp[23] = tmp[194] & tmp[195]; + tmp[90] = tmp[197] | tmp[195]; + tmp[163] = tmp[197] & tmp[195]; + tmp[104] = tmp[81] ^ (tmp[66] ^ (tmp[112] ^ tmp[112] & tmp[61]) ^ tmp[0] & (tmp[112] ^ tmp[61] & (tmp[167] ^ tmp[104])) ^ tmp[174] & ~(tmp[30] & tmp[74] ^ tmp[0] & ~(tmp[167] ^ tmp[30] & tmp[67]))); + tmp[81] = tmp[49] & tmp[32]; + tmp[204] = tmp[49] | tmp[32]; + tmp[139] = ~tmp[49] & tmp[32]; + tmp[52] = tmp[133] & tmp[32]; + tmp[88] &= tmp[107]; + tmp[193] = tmp[146] | tmp[107]; + tmp[137] = tmp[113] & tmp[107]; + tmp[117] = tmp[196] & tmp[107]; + tmp[201] = tmp[146] & tmp[107]; + tmp[103] = ~tmp[47] & tmp[107]; + tmp[151] = tmp[47] & tmp[107]; + tmp[48] = tmp[53] ^ tmp[89] & tmp[12]; + tmp[41] = tmp[50] & tmp[106] ^ (tmp[30] ^ (tmp[77] & (tmp[6] & tmp[30] ^ (tmp[50] ^ tmp[106] & tmp[6])) ^ (tmp[129] ^ (tmp[9] ^ (tmp[11] | tmp[106] ^ (tmp[30] | tmp[18] ^ tmp[41]) ^ tmp[77] & (tmp[178] ^ tmp[30] & tmp[41] ^ tmp[62])))))); + tmp[178] = ~tmp[195]; + tmp[18] = tmp[197] ^ tmp[195]; + tmp[62] = tmp[49] ^ tmp[32]; + tmp[6] = tmp[107] & ~tmp[147]; + tmp[9] = ~tmp[144]; + tmp[129] = tmp[116] & tmp[160]; + tmp[122] = ~tmp[107]; + tmp[13] = tmp[146] ^ tmp[107]; + tmp[183] = tmp[53] ^ tmp[190]; + tmp[68] = tmp[132] | tmp[104]; + tmp[198] = tmp[136] | tmp[104]; + tmp[123] = ~tmp[132] & tmp[104]; + tmp[2] = tmp[25] & tmp[104]; + tmp[65] = tmp[132] & tmp[104]; + tmp[172] = tmp[163] & tmp[104]; + tmp[145] = tmp[133] & tmp[139]; + tmp[22] = tmp[197] & tmp[178]; + tmp[170] = tmp[104] & tmp[178]; + tmp[71] = ~tmp[23]; + tmp[85] = tmp[104] & tmp[18]; + tmp[203] = tmp[174] & ~(tmp[112] & ~tmp[15] ^ ((tmp[98] | tmp[30]) ^ (tmp[109] ^ tmp[0] & (tmp[91] & tmp[112] ^ tmp[86] & ~tmp[61])))) ^ (tmp[44] ^ (tmp[115] ^ (tmp[138] ^ tmp[0] & ~(tmp[43] ^ tmp[86] ^ tmp[61] & (tmp[86] ^ tmp[203]))))); + tmp[86] = ~tmp[104]; + tmp[43] = tmp[132] ^ tmp[104]; + tmp[98] = ~tmp[204]; + tmp[138] = tmp[133] & ~tmp[32]; + tmp[66] = tmp[15] ^ (tmp[74] ^ ((tmp[30] | tmp[112] & ~(tmp[91] & tmp[67])) ^ (tmp[111] ^ tmp[0] & ~(tmp[112] & (tmp[91] & tmp[109]) ^ tmp[167] ^ tmp[61] & (tmp[66] ^ tmp[115])) ^ tmp[174] & ~(tmp[15] ^ (tmp[30] | tmp[15]) ^ tmp[0] & ~(tmp[109] ^ tmp[30] & ~tmp[66]))))); + tmp[115] = tmp[131] & ~tmp[152]; + tmp[15] = tmp[146] ^ tmp[137]; + tmp[61] = tmp[146] ^ tmp[201]; + tmp[167] = tmp[146] & tmp[122]; + tmp[67] = ~tmp[41]; + tmp[111] = tmp[25] & tmp[68]; + tmp[74] = tmp[25] & tmp[65]; + tmp[44] = tmp[32] & ~tmp[182]; + tmp[191] = tmp[195] & tmp[71]; + tmp[20] = tmp[193] | tmp[203]; + tmp[97] = tmp[13] | tmp[203]; + tmp[92] = tmp[68] & tmp[86]; + tmp[1] = tmp[132] & tmp[86]; + tmp[99] = ~tmp[65]; + tmp[171] = tmp[136] | tmp[43]; + tmp[8] = tmp[133] & ~tmp[81]; + tmp[118] = tmp[49] | tmp[98]; + tmp[98] &= tmp[133]; + tmp[175] = tmp[42] & tmp[66]; + tmp[155] = tmp[102] & tmp[66]; + tmp[164] = tmp[154] & tmp[66]; + tmp[202] = tmp[102] | tmp[66]; + tmp[140] = tmp[107] & ~tmp[88]; + tmp[165] = ~tmp[22]; + tmp[51] = tmp[104] & ~tmp[18]; + tmp[26] = ~tmp[203]; + tmp[181] = ~tmp[66]; + tmp[105] = tmp[102] ^ tmp[66]; + tmp[63] = tmp[130] ^ tmp[66]; + tmp[94] = tmp[167] ^ tmp[20]; + tmp[101] = tmp[158] | tmp[8]; + tmp[93] = tmp[133] & tmp[118]; + tmp[17] = tmp[42] & tmp[155]; + tmp[19] = tmp[42] & tmp[202]; + tmp[35] = tmp[116] ^ tmp[44]; + tmp[29] = tmp[104] & tmp[165]; + tmp[83] = tmp[146] & tmp[26]; + tmp[159] = tmp[88] ^ (tmp[107] | tmp[203]); + tmp[156] = tmp[201] & tmp[26]; + tmp[3] = tmp[107] & tmp[26]; + tmp[185] = tmp[198] ^ tmp[92]; + tmp[16] = tmp[42] & tmp[181]; + tmp[169] = ~tmp[164]; + tmp[181] &= tmp[102]; + tmp[87] = tmp[42] & tmp[105]; + tmp[70] = tmp[107] & ~tmp[115]; + tmp[64] = tmp[104] & ~tmp[191]; + tmp[168] = tmp[197] ^ (tmp[195] ^ tmp[104] & ~tmp[90]); + tmp[75] = tmp[13] ^ tmp[83]; + tmp[7] = ~tmp[181]; + tmp[10] = tmp[42] & ~tmp[105]; + tmp[84] = tmp[42] & tmp[7]; + tmp[24] = tmp[56] & (tmp[41] & (tmp[162] ^ tmp[116] & tmp[32]) ^ tmp[35]) ^ (tmp[119] ^ (tmp[32] ^ tmp[41] & ~(tmp[160] & (tmp[32] ^ tmp[119])))); + tmp[121] = tmp[159] ^ tmp[120] & ~(tmp[107] ^ (tmp[146] | tmp[203])); + tmp[126] = tmp[136] | tmp[140] ^ tmp[156] ^ tmp[120] & (tmp[167] ^ tmp[156]); + tmp[44] = tmp[56] & ~((tmp[34] & tmp[32] ^ tmp[129]) & tmp[67] ^ tmp[35]) ^ (tmp[32] ^ tmp[162] ^ tmp[41] & ~(tmp[182] ^ tmp[44])); + tmp[160] = tmp[182] ^ tmp[32] & tmp[129] ^ tmp[41] & (tmp[150] ^ tmp[32] & ~tmp[119]) ^ tmp[56] & ~(tmp[116] & tmp[67] ^ tmp[32] & ~(tmp[119] & tmp[160])); + tmp[9] = tmp[41] & (tmp[182] ^ tmp[32] & tmp[144]) ^ (tmp[116] ^ tmp[32] & tmp[9]) ^ tmp[56] & ~(tmp[34] & tmp[41] ^ tmp[32] & ~(tmp[150] & tmp[9])); + tmp[60] ^= tmp[160] ^ tmp[199] & tmp[24]; + tmp[11] ^= tmp[9] ^ tmp[199] & tmp[44]; + tmp[37] ^= (tmp[134] | tmp[89]) & tmp[195] ^ (tmp[31] & (tmp[53] ^ tmp[195] & ~tmp[37]) ^ (tmp[50] ^ tmp[42] & (tmp[5] ^ tmp[195] & ~(tmp[53] ^ tmp[89]) ^ tmp[31] & ~(tmp[53] ^ tmp[195] & (tmp[148] ^ tmp[177] & tmp[89]))))); + tmp[15] = tmp[131] ^ (tmp[117] ^ (tmp[78] & tmp[15] ^ (tmp[59] & ~tmp[15] ^ (tmp[79] ^ tmp[57] & (tmp[78] & ((tmp[131] | tmp[59]) ^ tmp[137]) ^ (tmp[59] | tmp[147] ^ tmp[137])))))); + tmp[24] = tmp[160] ^ (tmp[80] ^ tmp[161] & ~tmp[24]); + tmp[183] = tmp[142] ^ (tmp[195] & ~tmp[183] ^ (tmp[31] & ~(tmp[89] ^ tmp[189]) ^ (tmp[188] ^ tmp[42] & ~(tmp[31] & (tmp[40] ^ tmp[149] ^ (tmp[40] ^ tmp[89]) & tmp[195]) ^ (tmp[149] ^ tmp[195] & tmp[183]))))); + tmp[8] = tmp[4] ^ (tmp[62] ^ tmp[145] ^ (tmp[158] | tmp[62] ^ tmp[138]) ^ tmp[34] & ((tmp[158] | tmp[49]) ^ tmp[98]) ^ tmp[131] & ~((tmp[116] | tmp[62] ^ (tmp[158] | tmp[81]) ^ tmp[8]) ^ (tmp[52] ^ tmp[62] ^ tmp[143] & (tmp[139] ^ tmp[98])))); + tmp[44] = tmp[9] ^ (tmp[58] ^ tmp[161] & ~tmp[44]); + tmp[148] = tmp[40] ^ (tmp[190] ^ (tmp[195] & (tmp[5] ^ tmp[89] & (tmp[177] & tmp[179])) ^ (tmp[31] & ~(tmp[53] ^ tmp[149]) ^ (tmp[91] ^ tmp[42] & ~(tmp[31] & (tmp[195] & (tmp[148] ^ tmp[76]) ^ (tmp[148] ^ tmp[89] & ~tmp[5])) ^ (tmp[149] ^ tmp[142] & tmp[178])))))); + tmp[142] = ~tmp[37]; + tmp[149] = ~tmp[15]; + tmp[179] = tmp[89] ^ (tmp[195] & ~(tmp[40] & tmp[89]) ^ (tmp[31] & (tmp[189] ^ tmp[48]) ^ (tmp[27] ^ tmp[42] & ~(tmp[31] & ~(tmp[5] ^ tmp[76] ^ tmp[189]) ^ (tmp[53] & tmp[12] ^ (tmp[89] & ~(tmp[5] & tmp[179]) ^ tmp[195] & tmp[48])))))); + tmp[5] = tmp[183] | tmp[8]; + tmp[98] = tmp[133] ^ (tmp[108] ^ (tmp[62] ^ ((tmp[116] | tmp[158] & ~(tmp[32] ^ tmp[138])) ^ (tmp[73] ^ tmp[131] & (tmp[143] & (tmp[57] & tmp[49]) ^ tmp[81] ^ (tmp[116] | tmp[62] ^ tmp[143] & tmp[81] ^ tmp[98])))))); + tmp[128] = tmp[16] ^ (tmp[102] ^ (tmp[161] & tmp[7] ^ ((tmp[31] | tmp[128] ^ tmp[17] ^ tmp[41] & (tmp[102] ^ tmp[130] ^ tmp[199] & tmp[155])) ^ (tmp[39] ^ tmp[41] & ~(tmp[19] ^ (tmp[128] ^ tmp[164])))))); + tmp[154] = tmp[175] ^ tmp[181] ^ tmp[161] & (tmp[155] ^ tmp[16]) ^ (tmp[72] ^ tmp[41] & (tmp[199] | tmp[42] & tmp[154] ^ tmp[202]) ^ (tmp[31] | tmp[63] ^ tmp[161] & tmp[87] ^ tmp[41] & (tmp[66] ^ tmp[161] & tmp[175] ^ tmp[84]))); + tmp[61] = tmp[115] ^ (tmp[151] ^ ((tmp[184] | tmp[61]) ^ (tmp[59] & ~(tmp[152] ^ tmp[103]) ^ (tmp[77] ^ (tmp[133] | tmp[59] & tmp[103] ^ (tmp[61] ^ tmp[78] & (tmp[146] ^ tmp[6]))))))); + tmp[77] = ~tmp[183]; + tmp[180] ^= tmp[120] & tmp[20] ^ (tmp[88] ^ (tmp[203] | tmp[167])) ^ (tmp[136] | tmp[120] & ~(tmp[88] ^ tmp[20])) ^ tmp[192] & (tmp[13] ^ (tmp[120] & ~tmp[13] ^ tmp[25] & (tmp[146] ^ tmp[156] ^ tmp[120] & (tmp[107] ^ tmp[83])))); + tmp[173] ^= tmp[136] ^ (tmp[123] ^ (tmp[100] & (tmp[68] ^ tmp[2]) ^ (tmp[120] & (tmp[194] & tmp[100] & ~tmp[68] ^ (tmp[100] | tmp[185])) ^ (tmp[197] | tmp[104] ^ tmp[74] ^ tmp[100] & ~tmp[92])))); + tmp[115] = ~tmp[8]; + tmp[202] = tmp[8] ^ tmp[5]; + tmp[199] = ~tmp[44]; + tmp[138] = tmp[158] ^ (tmp[81] ^ (tmp[93] ^ ((tmp[116] | tmp[49] ^ tmp[158] & tmp[118]) ^ (tmp[135] ^ tmp[131] & ~(tmp[143] & (tmp[133] & tmp[62]) ^ tmp[143] & tmp[34] & (tmp[139] ^ tmp[138])))))); + tmp[139] = ~tmp[60] & tmp[98]; + tmp[143] = tmp[60] | tmp[98]; + tmp[62] = tmp[15] & tmp[98]; + tmp[152] = tmp[59] & tmp[196] ^ (tmp[78] & (tmp[47] ^ tmp[131] & tmp[107]) ^ (tmp[113] ^ tmp[70] ^ (tmp[176] ^ tmp[57] & (tmp[59] & ~(tmp[47] ^ tmp[6]) ^ ((tmp[184] | tmp[113] ^ tmp[152] & tmp[107]) ^ (tmp[152] ^ tmp[70])))))); + tmp[113] = tmp[37] | tmp[61]; + tmp[47] = tmp[128] & tmp[61]; + tmp[70] = tmp[128] | tmp[61]; + tmp[57] = ~tmp[148]; + tmp[176] = tmp[8] & tmp[77]; + tmp[78] = tmp[8] | tmp[180]; + tmp[196] = tmp[77] & tmp[180]; + tmp[0] ^= tmp[111] ^ tmp[1] ^ (tmp[100] & ~(tmp[198] ^ tmp[65]) ^ ((tmp[197] | tmp[132] & tmp[25] ^ tmp[100] & tmp[123]) ^ tmp[120] & (tmp[68] ^ (tmp[136] | tmp[65]) ^ tmp[100] & tmp[99] ^ (tmp[197] | tmp[132] ^ tmp[111] ^ tmp[100] & ~(tmp[198] ^ tmp[123]))))); + tmp[118] = ~tmp[98]; + tmp[135] = tmp[128] ^ tmp[61]; + tmp[72] = ~tmp[154]; + tmp[39] = tmp[61] ^ tmp[113]; + tmp[7] = ~tmp[61]; + tmp[73] = tmp[61] ^ tmp[142] & tmp[61]; + tmp[165] = tmp[166] ^ (tmp[104] ^ (tmp[195] ^ (tmp[197] ^ (tmp[177] & (tmp[21] & tmp[165] ^ (tmp[197] ^ tmp[172] ^ tmp[187] & tmp[197] & (tmp[195] ^ tmp[104]))) ^ (tmp[174] ^ tmp[21] & (tmp[187] | tmp[22] ^ tmp[29])))))); + tmp[170] = tmp[18] ^ (tmp[104] & tmp[71] ^ ((tmp[166] | tmp[195] ^ tmp[85]) ^ (tmp[177] & ~(tmp[21] & (tmp[187] & tmp[23] ^ tmp[170]) ^ tmp[187] & (tmp[163] ^ tmp[170])) ^ (tmp[14] ^ tmp[21] & ~(tmp[22] ^ tmp[23] & (tmp[187] & tmp[104]) ^ tmp[64]))))); + tmp[14] = tmp[179] & tmp[138]; + tmp[71] = tmp[138] & tmp[152]; + tmp[18] = tmp[138] | tmp[152]; + tmp[174] = tmp[115] & tmp[78]; + tmp[76] = tmp[148] | tmp[0]; + tmp[48] = tmp[148] & tmp[0]; + tmp[189] = tmp[57] & tmp[0]; + tmp[12] = ~tmp[138]; + tmp[40] = tmp[138] ^ tmp[152]; + tmp[52] = tmp[204] ^ ((tmp[116] | tmp[108] ^ tmp[52]) ^ (tmp[93] ^ (tmp[101] ^ (tmp[112] ^ tmp[131] & ~(tmp[101] ^ (tmp[81] ^ tmp[145] ^ tmp[34] & (tmp[49] ^ ((tmp[133] | tmp[158]) ^ tmp[52])))))))); + tmp[34] = tmp[60] & tmp[118]; + tmp[145] = tmp[15] & tmp[118]; + tmp[81] = ~tmp[143]; + tmp[101] = tmp[15] & (tmp[60] ^ tmp[98]); + tmp[112] = ~tmp[152]; + tmp[108] = tmp[128] & tmp[7]; + tmp[93] = tmp[70] & tmp[7]; + tmp[122] = tmp[147] ^ (tmp[151] ^ (tmp[59] & ~tmp[6] ^ ((tmp[184] | tmp[137] ^ tmp[59] & (tmp[131] ^ tmp[147] & tmp[107])) ^ (tmp[127] ^ (tmp[133] | tmp[59] & (tmp[131] & tmp[146] & tmp[122]) ^ (tmp[146] ^ (tmp[103] ^ (tmp[184] | tmp[146] ^ tmp[117] ^ tmp[59] & tmp[122])))))))); + tmp[117] = tmp[180] & tmp[115] & ~tmp[77]; + tmp[103] = tmp[44] & tmp[170]; + tmp[20] = tmp[200] ^ (tmp[121] ^ (tmp[126] ^ tmp[192] & ~(tmp[120] & tmp[13] ^ tmp[20] ^ (tmp[136] | tmp[201] ^ tmp[20] ^ tmp[120] & (tmp[88] ^ tmp[83]))))); + tmp[83] = tmp[13] ^ tmp[203] ^ (tmp[120] & ~(tmp[140] ^ tmp[3]) ^ (tmp[25] & (tmp[159] ^ tmp[120] & (tmp[107] ^ tmp[156])) ^ (tmp[125] ^ tmp[192] & (tmp[13] ^ tmp[120] & (tmp[193] ^ tmp[83]) ^ (tmp[136] | tmp[94] ^ tmp[120] & (tmp[167] ^ tmp[83])))))); + tmp[193] = tmp[8] ^ tmp[196]; + tmp[13] = tmp[149] & (tmp[180] ^ tmp[202]); + tmp[156] = tmp[149] & (tmp[180] ^ tmp[196]); + tmp[159] = tmp[148] ^ tmp[0]; + tmp[185] = tmp[104] ^ (tmp[100] & tmp[198] ^ (tmp[171] ^ (tmp[194] & (tmp[100] & ~tmp[198] ^ (tmp[132] ^ tmp[25] & tmp[123])) ^ (tmp[55] ^ tmp[120] & ~(tmp[65] ^ tmp[111] ^ tmp[100] & (tmp[92] ^ tmp[171]) ^ (tmp[197] | tmp[2] ^ tmp[92] ^ tmp[100] & tmp[185])))))); + tmp[92] = tmp[57] & tmp[76]; + tmp[90] ^= tmp[85] ^ (tmp[187] & (tmp[195] ^ tmp[51]) ^ (tmp[21] & ~(tmp[195] ^ tmp[166] & tmp[51]) ^ (tmp[106] ^ tmp[177] & ~(tmp[21] & ~(tmp[22] ^ tmp[166] & tmp[178]) ^ (tmp[197] ^ (tmp[172] ^ tmp[187] & (tmp[90] ^ tmp[172]))))))); + tmp[178] = tmp[152] & tmp[12]; + tmp[12] &= tmp[179]; + tmp[22] = tmp[15] & tmp[34]; + tmp[51] = tmp[15] & ~tmp[139]; + tmp[106] = tmp[15] & tmp[81]; + tmp[63] = tmp[66] ^ tmp[19] ^ (tmp[41] & (tmp[102] ^ tmp[84] ^ tmp[161] & ~(tmp[42] ^ tmp[181])) ^ (tmp[161] & ~(tmp[66] & tmp[169] ^ tmp[10]) ^ (tmp[109] ^ (tmp[31] | tmp[102] ^ tmp[42] & tmp[169] ^ tmp[41] & (tmp[161] & tmp[63] ^ (tmp[105] ^ tmp[87])) ^ tmp[161] & ~(tmp[105] ^ tmp[10]))))); + tmp[169] = tmp[179] ^ tmp[71]; + tmp[181] = tmp[18] & tmp[112]; + tmp[84] = tmp[44] & tmp[122]; + tmp[109] = tmp[44] | tmp[122]; + tmp[19] = tmp[199] & tmp[122]; + tmp[2] = tmp[170] & tmp[122]; + tmp[171] = tmp[15] | tmp[193]; + tmp[111] = tmp[148] & ~tmp[0]; + tmp[43] = tmp[132] ^ ((tmp[197] | ~tmp[100] & (tmp[104] ^ tmp[198])) ^ (tmp[74] ^ (tmp[100] & (tmp[25] | tmp[86]) ^ (tmp[38] ^ tmp[120] & ~(tmp[104] ^ tmp[25] & tmp[1] ^ tmp[194] & ((tmp[136] | tmp[104] & tmp[99]) ^ (tmp[68] ^ tmp[100] & (tmp[198] ^ tmp[43])))))))); + tmp[198] = ~tmp[52]; + tmp[99] = ~tmp[34]; + tmp[68] = tmp[173] & ~(tmp[15] ^ tmp[98]); + tmp[1] = ~tmp[122]; + tmp[194] = tmp[122] ^ tmp[2]; + tmp[86] = tmp[44] ^ tmp[122]; + tmp[38] = tmp[180] ^ (tmp[8] ^ tmp[176]); + tmp[74] = ~tmp[83]; + tmp[65] = tmp[148] | tmp[63]; + tmp[123] = tmp[48] | tmp[63]; + tmp[55] = tmp[179] & ~tmp[18]; + tmp[140] = tmp[179] & (tmp[71] | tmp[112]); + tmp[163] = tmp[195] ^ (tmp[172] ^ ((tmp[166] | tmp[191] ^ tmp[29]) ^ (tmp[21] & (tmp[166] & (tmp[163] ^ tmp[172]) ^ tmp[168]) ^ (tmp[141] ^ tmp[177] & (tmp[64] ^ (tmp[197] ^ (tmp[166] | tmp[23] ^ tmp[85])) ^ tmp[21] & ~(tmp[187] & tmp[163] ^ tmp[168])))))); + tmp[75] = tmp[120] ^ (tmp[97] ^ (tmp[167] ^ (tmp[25] & ((tmp[120] | tmp[94]) ^ tmp[75]) ^ (tmp[30] ^ tmp[192] & ~(tmp[97] ^ (tmp[88] ^ tmp[120] & tmp[26]) ^ tmp[25] & (tmp[107] ^ tmp[3] ^ tmp[120] & tmp[75])))))); + tmp[3] = tmp[148] & ~tmp[48]; + tmp[26] = tmp[61] | tmp[43]; + tmp[88] = ~tmp[90]; + tmp[25] = tmp[179] & ~tmp[40]; + tmp[97] = tmp[60] & tmp[99]; + tmp[99] &= tmp[15]; + tmp[94] = ~tmp[63]; + tmp[30] = ~tmp[84]; + tmp[167] = tmp[44] & tmp[1]; + tmp[77] = tmp[174] ^ tmp[8] & (tmp[77] & ~tmp[180]); + tmp[187] = ~tmp[43]; + tmp[85] = ~tmp[86]; + tmp[23] = tmp[61] | tmp[75]; + tmp[168] = tmp[37] | tmp[75]; + tmp[87] = tmp[16] ^ tmp[161] & ~tmp[175] ^ (tmp[105] ^ (tmp[41] & (tmp[66] ^ tmp[161] & tmp[10]) ^ (tmp[46] ^ ~tmp[31] & (tmp[102] ^ (tmp[130] ^ tmp[161] & tmp[130]) ^ tmp[41] & ~(tmp[17] ^ (tmp[164] ^ tmp[161] & (tmp[155] ^ tmp[87]))))))); + tmp[155] = tmp[48] & tmp[94]; + tmp[164] = tmp[76] & tmp[94]; + tmp[17] = tmp[111] & tmp[94]; + tmp[130] = tmp[148] & tmp[94]; + tmp[10] = tmp[65] ^ tmp[3]; + tmp[46] = tmp[179] & ~tmp[181]; + tmp[175] = tmp[170] & tmp[30]; + tmp[105] = tmp[170] & tmp[167]; + tmp[16] = tmp[170] & ~tmp[109]; + tmp[64] = ~tmp[75]; + tmp[172] = tmp[61] ^ tmp[75]; + tmp[141] = tmp[61] & tmp[187]; + tmp[29] = tmp[135] & tmp[187]; + tmp[191] = tmp[128] & tmp[187]; + tmp[125] = tmp[47] ^ tmp[26]; + tmp[201] = tmp[70] & tmp[187]; + tmp[126] = tmp[145] ^ tmp[97]; + tmp[121] = tmp[143] ^ tmp[99]; + tmp[200] = tmp[109] & tmp[1] ^ tmp[175]; + tmp[147] = tmp[170] & tmp[85]; + tmp[137] = tmp[61] & (tmp[142] & tmp[75]); + tmp[127] = tmp[185] | tmp[87]; + tmp[6] = tmp[185] & tmp[87]; + tmp[151] = ~tmp[185] & tmp[87]; + tmp[204] = tmp[61] & tmp[64]; + tmp[27] = tmp[37] | tmp[172]; + tmp[91] = tmp[142] & tmp[172]; + tmp[190] = ~tmp[87]; + tmp[58] = tmp[185] ^ tmp[87]; + tmp[9] = tmp[189] ^ tmp[155]; + tmp[4] = tmp[76] ^ tmp[130]; + tmp[188] = tmp[18] ^ tmp[46]; + tmp[80] = tmp[109] ^ tmp[105]; + tmp[160] = tmp[172] ^ tmp[27]; + tmp[79] = tmp[44] ^ tmp[147]; + tmp[50] = tmp[109] ^ tmp[147]; + tmp[134] = tmp[142] & tmp[204]; + tmp[144] = tmp[127] & tmp[190]; + tmp[190] &= tmp[24]; + tmp[182] = ~tmp[6]; + tmp[119] = tmp[24] & tmp[58]; + tmp[109] = tmp[148] & (tmp[109] ^ tmp[16]); + tmp[113] ^= tmp[204]; + tmp[58] ^= tmp[24]; + tmp[67] = tmp[24] & tmp[182]; + tmp[115] = tmp[166] ^ (tmp[170] | tmp[115] & (tmp[15] & tmp[199]) ^ (tmp[193] ^ tmp[15] & ~tmp[196])) ^ (tmp[15] & tmp[202] ^ tmp[38] ^ (tmp[44] | tmp[15] & tmp[77])); + tmp[166] = tmp[125] ^ (tmp[138] | tmp[61] ^ tmp[141]); + tmp[129] = tmp[97] ^ (tmp[145] ^ ~tmp[173] & tmp[121]); + tmp[35] = tmp[24] & ~tmp[144]; + tmp[162] = tmp[91] ^ (tmp[90] | tmp[113]); + tmp[26] = tmp[90] & (tmp[47] ^ tmp[108] & tmp[187] ^ tmp[138] & ~(tmp[135] ^ tmp[26])); + tmp[182] = tmp[24] & ~(tmp[87] & tmp[182]); + tmp[28] = tmp[93] ^ tmp[201] ^ tmp[138] & (tmp[61] ^ tmp[29]) ^ tmp[90] & (tmp[61] & ~tmp[47] ^ tmp[43] ^ tmp[138] & (tmp[70] ^ tmp[191])); + tmp[141] = tmp[90] & (tmp[191] ^ tmp[138] & ~(tmp[47] ^ (tmp[128] | tmp[43]))) ^ (tmp[135] ^ tmp[201] ^ tmp[138] & ~(tmp[93] ^ tmp[141])); + tmp[29] = tmp[70] ^ (tmp[43] ^ tmp[138] & ~tmp[125]) ^ tmp[90] & ~(tmp[47] & tmp[187] ^ tmp[138] & (tmp[108] ^ tmp[29])); + tmp[108] = tmp[185] ^ (tmp[87] ^ tmp[35]); + tmp[81] = tmp[87] & ~(tmp[60] & tmp[15] & tmp[98] ^ (tmp[173] & ~(tmp[98] ^ tmp[62]) ^ tmp[173] & (tmp[183] & tmp[81]))) ^ tmp[129] ^ (tmp[136] ^ (tmp[183] | tmp[106] ^ tmp[97] ^ tmp[173] & ~tmp[121])); + tmp[55] = (tmp[20] | tmp[179] & tmp[40]) ^ (tmp[188] ^ (tmp[24] & ~(tmp[185] & tmp[25] ^ (tmp[71] ^ tmp[55])) ^ (tmp[56] ^ tmp[185] & ~(tmp[55] ^ tmp[20] & tmp[140])))); + tmp[56] = ~tmp[81]; + tmp[137] = (tmp[90] | tmp[137]) ^ (tmp[75] ^ tmp[142] & tmp[23]) ^ tmp[11] & ~(tmp[204] ^ tmp[27] ^ tmp[88] & tmp[113]) ^ (tmp[195] ^ tmp[63] & ~(tmp[90] & tmp[137] ^ tmp[160] ^ tmp[11] & (tmp[39] & tmp[88] ^ tmp[160]))); + tmp[158] ^= tmp[166] ^ tmp[26] ^ (tmp[20] | tmp[28]); + tmp[42] ^= tmp[29] ^ ~tmp[20] & tmp[141]; + tmp[65] = tmp[48] ^ (tmp[76] | tmp[63]) ^ (tmp[64] & (tmp[76] ^ tmp[159] & tmp[94]) ^ (tmp[165] & ((tmp[52] | (tmp[148] | tmp[75]) ^ tmp[10]) ^ (tmp[3] ^ tmp[164] ^ tmp[94] & (tmp[189] & tmp[64]))) ^ (tmp[203] ^ tmp[198] & (tmp[92] ^ tmp[65] ^ tmp[64] & tmp[9])))); + tmp[130] = tmp[165] & ((tmp[0] | tmp[63]) ^ tmp[64] & (tmp[111] ^ tmp[17])) ^ (tmp[32] ^ ((tmp[63] | tmp[3]) ^ (tmp[0] ^ (tmp[75] | tmp[159] ^ tmp[17])) ^ (tmp[52] | tmp[148] ^ (tmp[130] ^ tmp[64] & tmp[4])))); + tmp[76] = tmp[4] ^ (tmp[64] & (tmp[189] ^ tmp[17]) ^ ((tmp[52] | tmp[123] ^ (tmp[75] | tmp[0] ^ tmp[164])) ^ (tmp[66] ^ tmp[165] & ~(tmp[10] ^ (tmp[76] ^ (tmp[159] | tmp[63])) & tmp[64])))); + tmp[10] = ~tmp[137]; + tmp[28] = tmp[166] ^ (tmp[26] ^ (tmp[120] ^ tmp[20] & tmp[28])); + tmp[120] = ~tmp[158]; + tmp[141] = tmp[29] ^ (tmp[21] ^ tmp[20] & ~tmp[141]); + tmp[181] = tmp[20] ^ (tmp[169] ^ (tmp[185] & ~(tmp[140] ^ (tmp[18] ^ tmp[178] & (tmp[179] & tmp[20]))) ^ (tmp[177] ^ tmp[24] & ~(tmp[185] & (tmp[140] ^ tmp[20] & (tmp[14] ^ tmp[178])) ^ (tmp[152] ^ tmp[20] & ~(tmp[12] ^ tmp[181])))))); + tmp[140] = ~tmp[130]; + tmp[18] = tmp[179] & tmp[112] ^ (tmp[138] ^ (tmp[185] & ~tmp[71] ^ (tmp[20] & ~tmp[188] ^ (tmp[192] ^ tmp[24] & (tmp[185] & ~(tmp[20] & tmp[169] ^ (tmp[138] ^ tmp[179] & tmp[18])) ^ (tmp[152] ^ tmp[20] & (tmp[152] ^ (tmp[138] ^ tmp[12])))))))); + tmp[188] = ~tmp[76]; + tmp[145] = tmp[34] ^ (tmp[99] ^ (tmp[116] ^ tmp[183] & ~(tmp[139] ^ tmp[101] ^ tmp[173] & (tmp[98] ^ tmp[101])) ^ (tmp[173] & (tmp[139] ^ tmp[22]) ^ tmp[87] & (tmp[60] ^ tmp[145] ^ tmp[173] & ~tmp[126] ^ tmp[183] & ~(tmp[173] & (tmp[98] ^ tmp[145]) ^ tmp[126]))))); + tmp[126] = tmp[129] ^ (tmp[183] & (tmp[51] ^ tmp[173] & ~(tmp[139] ^ tmp[15] & ~tmp[97])) ^ (tmp[59] ^ tmp[87] & ~((tmp[60] ^ tmp[15]) & tmp[118] ^ tmp[68] ^ tmp[183] & ~(tmp[68] ^ tmp[126])))); + tmp[107] ^= tmp[83] ^ tmp[58] ^ tmp[118] & (tmp[182] ^ tmp[83] & ~(tmp[87] ^ tmp[24] & tmp[6])) ^ tmp[163] & (tmp[185] ^ tmp[74] & (~tmp[24] & tmp[151]) ^ (tmp[98] | tmp[87] ^ ((tmp[83] | tmp[87]) ^ tmp[67]))); + tmp[68] = tmp[137] | tmp[181]; + tmp[97] = ~tmp[28]; + tmp[59] = tmp[181] ^ tmp[68]; + tmp[129] = ~tmp[181]; + tmp[155] = tmp[165] & ~(tmp[63] & (tmp[198] & tmp[75]) ^ (tmp[75] & (tmp[92] ^ tmp[123]) ^ tmp[9])) ^ (tmp[104] ^ (tmp[63] ^ (tmp[159] ^ (tmp[75] ^ tmp[198] & (tmp[9] ^ tmp[75] & ~(tmp[48] ^ tmp[155])))))); + tmp[80] = tmp[44] ^ ((tmp[148] | tmp[84] ^ tmp[170] & ~(tmp[122] & tmp[30])) ^ (tmp[72] & (tmp[50] ^ tmp[57] & tmp[79]) ^ (tmp[133] ^ tmp[0] & ~(tmp[72] & (tmp[148] ^ tmp[80]) ^ (tmp[80] ^ tmp[109]))))); + tmp[79] = tmp[19] ^ tmp[148] & tmp[85] ^ (tmp[154] | tmp[2] ^ tmp[170] & (tmp[148] & tmp[86])) ^ (tmp[170] ^ (tmp[161] ^ tmp[0] & (tmp[103] ^ tmp[167] ^ tmp[109] ^ tmp[72] & (tmp[170] & tmp[19] ^ tmp[167] ^ tmp[148] & ~tmp[79])))); + tmp[19] = ~tmp[145]; + tmp[167] = ~tmp[126]; + tmp[143] = tmp[139] ^ (tmp[99] ^ (tmp[173] & ~(tmp[98] ^ tmp[99]) ^ (tmp[183] & ~(tmp[34] ^ tmp[22] ^ tmp[173] & tmp[106]) ^ (tmp[53] ^ tmp[87] & (tmp[62] ^ (tmp[34] ^ tmp[173] & ~(tmp[62] ^ tmp[34])) ^ tmp[183] & ~(tmp[60] ^ (tmp[51] ^ tmp[173] & ~(tmp[15] ^ tmp[143])))))))); + tmp[190] = tmp[67] ^ ((tmp[83] | tmp[144] ^ tmp[190]) ^ (tmp[98] | tmp[74] & (tmp[6] ^ tmp[67]))) ^ (tmp[102] ^ tmp[163] & ((tmp[98] | tmp[24] ^ (tmp[83] | tmp[87] ^ tmp[190])) ^ ((tmp[83] | tmp[127]) ^ (tmp[185] ^ tmp[182])))); + tmp[67] = tmp[49] ^ (tmp[163] & ~(tmp[24] & ~tmp[127] ^ tmp[118] & (tmp[185] ^ tmp[67])) ^ (tmp[6] ^ tmp[119] ^ tmp[74] & tmp[108] ^ (tmp[98] | tmp[24] ^ tmp[151] ^ (tmp[83] | tmp[108])))); + tmp[23] = tmp[172] ^ ((tmp[37] | tmp[90]) ^ (tmp[11] & tmp[90] ^ (tmp[184] ^ tmp[63] & ~(tmp[11] & (tmp[75] & tmp[88] ^ (tmp[23] ^ (tmp[37] | tmp[23]))) ^ (tmp[73] ^ tmp[88] & (tmp[37] ^ tmp[204])))))); + tmp[182] = (tmp[98] | tmp[74] & (tmp[151] ^ tmp[119])) ^ (tmp[58] ^ tmp[74] & (tmp[127] ^ tmp[119])) ^ (tmp[197] ^ tmp[163] & ~(tmp[118] & ((tmp[24] | tmp[83]) ^ tmp[35]) ^ (tmp[24] ^ (tmp[83] | tmp[182])))); + tmp[35] = tmp[79] | tmp[190]; + tmp[118] = ~tmp[155]; + tmp[119] = ~tmp[80]; + tmp[105] = tmp[175] ^ (tmp[86] ^ (tmp[148] & ~(tmp[44] ^ tmp[105]) ^ (tmp[72] & (tmp[44] ^ tmp[148] & ~tmp[103]) ^ (tmp[132] ^ tmp[0] & (tmp[72] & (tmp[148] & tmp[194] ^ tmp[200]) ^ (tmp[122] ^ tmp[170] & tmp[84] ^ tmp[148] & ~(tmp[86] ^ tmp[105]))))))); + tmp[84] = ~tmp[79]; + tmp[14] = tmp[152] ^ (tmp[12] ^ (tmp[20] & (tmp[138] ^ tmp[46]) ^ (tmp[185] & ~(tmp[14] ^ (tmp[178] ^ tmp[20] & ~tmp[169])) ^ (tmp[131] ^ tmp[24] & ~(tmp[20] & (tmp[179] ^ tmp[40]) ^ (tmp[152] ^ (tmp[138] ^ tmp[14] & tmp[112])) ^ tmp[185] & ~(tmp[20] & ~(tmp[152] ^ tmp[14]) ^ (tmp[71] ^ tmp[25]))))))); + tmp[25] = ~tmp[190]; + tmp[134] = tmp[100] ^ (tmp[160] ^ tmp[90] & ~(tmp[204] ^ tmp[91]) ^ tmp[11] & ~(tmp[73] & tmp[88] ^ (tmp[204] ^ tmp[134])) ^ tmp[63] & ~(tmp[168] ^ tmp[172] ^ ((tmp[90] | (tmp[37] | tmp[7] & tmp[75]) ^ tmp[204]) ^ tmp[11] & ~((tmp[39] | tmp[90]) ^ (tmp[61] ^ tmp[134]))))); + tmp[39] = tmp[107] & tmp[23]; + tmp[162] = tmp[172] ^ (tmp[37] | tmp[204]) ^ (tmp[88] & (tmp[61] & (tmp[142] ^ tmp[64])) ^ (tmp[11] & (tmp[168] ^ (tmp[90] | tmp[204])) ^ (tmp[41] ^ tmp[63] & (tmp[162] ^ tmp[11] & ~tmp[162])))); + tmp[204] = ~tmp[67]; + tmp[168] = tmp[129] & tmp[182]; + tmp[64] = tmp[181] | tmp[182]; + tmp[142] = tmp[137] | tmp[182]; + tmp[41] = tmp[10] & tmp[182]; + tmp[88] = tmp[115] & tmp[118]; + tmp[172] = ~tmp[23]; + tmp[7] = tmp[130] & tmp[14]; + tmp[73] = tmp[130] | tmp[14]; + tmp[91] = tmp[140] & tmp[14]; + tmp[160] = tmp[158] | tmp[14]; + tmp[100] = tmp[120] & tmp[14]; + tmp[71] = tmp[182] ^ tmp[134]; + tmp[112] = ~tmp[182]; + tmp[40] = tmp[181] ^ tmp[182]; + tmp[169] = ~tmp[105]; + tmp[178] = tmp[182] & tmp[134]; + tmp[131] = tmp[182] | tmp[134]; + tmp[46] = tmp[140] & tmp[162]; + tmp[12] = tmp[130] & tmp[162]; + tmp[103] = tmp[190] | tmp[162]; + tmp[132] = ~tmp[14]; + tmp[175] = tmp[130] ^ tmp[14]; + tmp[127] = tmp[10] & tmp[168]; + tmp[151] = ~tmp[162]; + tmp[74] = tmp[120] & tmp[91]; + tmp[58] = ~tmp[168]; + tmp[197] = tmp[181] & tmp[112]; + tmp[184] = tmp[134] & tmp[112]; + tmp[108] = tmp[182] & tmp[169]; + tmp[6] = (tmp[182] | tmp[105]) ^ tmp[178]; + tmp[49] = tmp[112] & tmp[131]; + tmp[144] = tmp[73] & tmp[132]; + tmp[102] = tmp[105] ^ tmp[71]; + tmp[34] = tmp[40] ^ (tmp[137] | tmp[40]); + tmp[68] ^= tmp[40]; + tmp[147] = tmp[44] ^ (tmp[170] & tmp[1] ^ (tmp[148] & tmp[50] ^ ((tmp[154] | tmp[194] ^ tmp[148] & ~(tmp[2] ^ tmp[86])) ^ (tmp[89] ^ tmp[0] & ~(tmp[148] & ~tmp[200] ^ tmp[72] & (tmp[122] ^ tmp[16] ^ tmp[148] & ~(tmp[122] ^ tmp[147]))))))); + tmp[16] = (tmp[105] | tmp[134]) ^ tmp[178]; + tmp[200] = tmp[182] & ~tmp[134]; + tmp[72] = tmp[182] & tmp[58]; + tmp[86] = tmp[10] & tmp[197]; + tmp[2] = tmp[137] | tmp[197]; + tmp[194] = tmp[105] | tmp[49]; + tmp[89] = tmp[14] & ~tmp[7]; + tmp[50] = tmp[120] & (tmp[130] & tmp[132]); + tmp[1] = tmp[158] | tmp[144]; + tmp[197] ^= tmp[86]; + tmp[62] = tmp[184] ^ tmp[108]; + tmp[51] = tmp[182] ^ tmp[108]; + tmp[178] = tmp[182] & ~tmp[178]; + tmp[106] = tmp[115] & tmp[86]; + tmp[22] = ~tmp[147]; + tmp[99] = (tmp[158] | tmp[7]) ^ tmp[89]; + tmp[184] = tmp[102] ^ tmp[155] & tmp[62] ^ tmp[81] & (tmp[105] ^ tmp[184] ^ (tmp[155] | tmp[62])); + tmp[86] = (tmp[155] | tmp[197] ^ tmp[115] & ~(tmp[64] ^ tmp[142])) ^ (tmp[168] ^ tmp[2] ^ tmp[115] & ~tmp[197]) ^ (tmp[165] ^ tmp[141] & ~(tmp[88] & ~(tmp[182] ^ tmp[142]) ^ (tmp[72] ^ tmp[86]))); + tmp[59] = tmp[68] ^ tmp[115] & (tmp[41] ^ tmp[40]) ^ (tmp[155] | tmp[59] ^ ~tmp[115] & tmp[34]) ^ (tmp[170] ^ tmp[141] & ~(tmp[115] & tmp[127] ^ (tmp[40] ^ tmp[10] & tmp[64]) ^ tmp[118] & (tmp[59] ^ tmp[115] & tmp[41]))); + tmp[142] = tmp[137] ^ tmp[40] ^ tmp[115] & tmp[58] ^ tmp[118] & (tmp[41] ^ tmp[115] & (tmp[10] & tmp[181] ^ tmp[64])) ^ (tmp[163] ^ tmp[141] & (tmp[118] & (tmp[168] ^ tmp[127] ^ tmp[115] & ~tmp[142]) ^ (tmp[142] ^ tmp[106]))); + tmp[194] = tmp[173] ^ tmp[28] & ~(tmp[81] & (tmp[134] ^ (tmp[155] | tmp[134])) ^ tmp[194] ^ (tmp[155] | tmp[194])) ^ (tmp[102] ^ tmp[118] & tmp[62] ^ tmp[81] & ~(tmp[134] ^ (tmp[155] | tmp[51]))); + tmp[68] = tmp[90] ^ (tmp[34] ^ (tmp[115] | tmp[137] ^ tmp[181] & tmp[182]) ^ (tmp[155] | tmp[106]) ^ tmp[141] & (tmp[88] & ~(tmp[137] ^ tmp[182]) ^ (tmp[72] ^ tmp[2] ^ tmp[115] & ~tmp[68]))); + tmp[2] = ~tmp[59]; + tmp[72] = ~tmp[194]; + tmp[88] = ~tmp[68]; + tmp[16] = tmp[185] ^ (tmp[184] ^ (tmp[28] | tmp[16] ^ tmp[155] & ~(tmp[169] & tmp[131]) ^ tmp[81] & ~(tmp[16] ^ (tmp[155] | tmp[105] ^ tmp[131])))); + tmp[138] ^= tmp[14] ^ (tmp[130] & tmp[204] ^ (tmp[158] ^ ((tmp[145] | tmp[7] ^ tmp[1] ^ (tmp[67] | tmp[7] ^ tmp[50])) ^ (tmp[80] | tmp[145] & (tmp[91] ^ tmp[74]) ^ tmp[67] & (tmp[100] ^ tmp[175]))))); + tmp[50] = tmp[67] & ~tmp[144] ^ (tmp[160] ^ (tmp[91] ^ ((tmp[145] | tmp[100] ^ tmp[14] & tmp[204]) ^ (tmp[52] ^ (tmp[80] | tmp[145] & (tmp[73] ^ tmp[160]) ^ tmp[204] & tmp[50]))))); + tmp[144] = tmp[8] ^ (tmp[1] ^ (tmp[67] | tmp[99]) ^ (tmp[145] | tmp[91] ^ tmp[160] ^ tmp[204] & tmp[99]) ^ tmp[119] & (tmp[204] & (tmp[73] ^ tmp[74]) ^ ((tmp[158] | tmp[73]) ^ (tmp[14] ^ tmp[19] & (tmp[175] ^ (tmp[67] | tmp[144])))))); + tmp[73] = tmp[16] | tmp[138]; + tmp[74] = tmp[16] & tmp[138]; + tmp[91] = tmp[175] ^ ((tmp[67] | tmp[100] ^ tmp[89]) ^ (tmp[19] & (tmp[1] ^ tmp[67] & (tmp[91] ^ tmp[120] & tmp[7])) ^ (tmp[98] ^ tmp[119] & (tmp[204] & (tmp[14] ^ tmp[100]) ^ (tmp[158] ^ (tmp[145] | tmp[204] & tmp[91] ^ ((tmp[158] | tmp[130]) ^ tmp[91]))))))); + tmp[204] = ~tmp[16]; + tmp[100] = tmp[16] ^ tmp[138]; + tmp[7] = ~tmp[50]; + tmp[120] = tmp[16] & tmp[91]; + tmp[1] = tmp[16] | tmp[91]; + tmp[98] = tmp[72] & tmp[91]; + tmp[19] = tmp[194] & tmp[91]; + tmp[200] = tmp[43] ^ (tmp[81] & (tmp[105] ^ tmp[118] & (tmp[71] ^ tmp[108])) ^ (tmp[155] ^ (tmp[169] & tmp[200] ^ (tmp[49] ^ tmp[28] & (tmp[81] & (tmp[155] & tmp[6] ^ tmp[51]) ^ ((tmp[155] | tmp[105]) ^ tmp[200] ^ (tmp[105] | tmp[178]))))))); + tmp[51] = tmp[138] & tmp[204]; + tmp[204] &= tmp[91]; + tmp[71] = ~tmp[144]; + tmp[49] = tmp[16] & ~tmp[138]; + tmp[43] = tmp[16] ^ tmp[91]; + tmp[89] = tmp[88] & tmp[200]; + tmp[175] = tmp[68] & tmp[200]; + tmp[99] = tmp[68] | tmp[200]; + tmp[160] = tmp[16] & ~tmp[91]; + tmp[52] = tmp[194] ^ tmp[98]; + tmp[185] = tmp[68] ^ tmp[200]; + tmp[178] = tmp[184] ^ (tmp[0] ^ tmp[28] & (tmp[105] ^ (tmp[131] ^ ((tmp[155] | tmp[131] & (tmp[112] ^ tmp[169])) ^ tmp[81] & ~(tmp[118] & tmp[6] ^ (tmp[108] ^ tmp[178])))))); + tmp[108] = tmp[68] & ~tmp[200]; + tmp[6] = tmp[91] & ~tmp[204]; + tmp[118] = tmp[16] & ~tmp[49]; + tmp[169] = tmp[200] & ~tmp[89]; + tmp[112] = ~tmp[178]; + tmp[196] ^= tmp[8] ^ tmp[202]; + tmp[202] = tmp[180] ^ tmp[196]; + tmp[149] = tmp[150] ^ ((tmp[183] | tmp[174]) ^ (tmp[180] ^ (tmp[8] ^ tmp[171])) ^ tmp[199] & ((tmp[183] | tmp[78]) ^ tmp[149] & tmp[196]) ^ ~tmp[170] & (tmp[180] ^ tmp[149] & tmp[193] ^ tmp[199] & (tmp[5] ^ tmp[180] ^ (tmp[15] | tmp[202])))); + tmp[140] &= tmp[149]; + tmp[174] = tmp[12] & tmp[149]; + tmp[150] = tmp[130] | tmp[149]; + tmp[131] = ~tmp[149]; + tmp[0] = tmp[130] ^ tmp[149]; + tmp[184] = tmp[130] & tmp[131]; + tmp[106] = tmp[162] & ~tmp[0]; + tmp[34] = tmp[130] & ~tmp[184]; + tmp[90] = tmp[145] & ~(tmp[46] ^ tmp[149]) ^ (tmp[149] ^ (tmp[130] ^ tmp[162] & tmp[140])); + tmp[62] = tmp[162] & ~tmp[34]; + tmp[0] = tmp[12] ^ tmp[184] ^ tmp[145] & ~(tmp[149] ^ tmp[162] & tmp[0]); + tmp[131] = tmp[130] & tmp[149] ^ tmp[162] & tmp[131] ^ tmp[145] & ~(tmp[130] ^ tmp[106]); + tmp[106] = tmp[130] ^ tmp[46] ^ tmp[145] & ~(tmp[150] ^ tmp[106]); + tmp[150] = tmp[145] & (tmp[174] ^ tmp[150]) ^ (tmp[149] ^ tmp[62]); + tmp[46] = tmp[130] ^ tmp[145] & ~(tmp[162] ^ tmp[34]); + tmp[34] = tmp[149] ^ tmp[162] & ~tmp[140] ^ tmp[145] & ~(tmp[174] ^ tmp[34]); + tmp[62] ^= tmp[145] & (tmp[151] & tmp[149]) ^ (tmp[149] ^ tmp[130]); + tmp[24] ^= tmp[34] ^ tmp[79] & tmp[62] ^ tmp[55] & ~(tmp[46] ^ tmp[79] & tmp[131]); + tmp[131] = tmp[34] ^ (tmp[79] | tmp[62]) ^ (tmp[60] ^ tmp[55] & ~(tmp[46] ^ tmp[84] & tmp[131])); + tmp[11] ^= tmp[150] ^ (tmp[79] & ~tmp[90] ^ tmp[55] & (tmp[106] ^ tmp[79] & ~tmp[0])); + tmp[0] = tmp[150] ^ (tmp[84] & tmp[90] ^ (tmp[44] ^ tmp[55] & ~((tmp[79] | tmp[0]) ^ tmp[106]))); + tmp[106] = tmp[204] | tmp[24]; + tmp[90] = tmp[1] | tmp[24]; + tmp[150] = tmp[2] & tmp[0]; + tmp[46] = tmp[59] | tmp[0]; + tmp[62] = tmp[59] & tmp[0]; + tmp[60] = ~tmp[24]; + tmp[34] = tmp[0] ^ tmp[150]; + tmp[174] = ~tmp[0]; + tmp[140] = tmp[0] ^ tmp[46]; + tmp[184] = tmp[91] & tmp[60]; + tmp[12] = tmp[204] & tmp[60]; + tmp[102] = tmp[16] & tmp[60]; + tmp[173] = tmp[1] & tmp[60]; + tmp[127] = tmp[204] ^ tmp[106]; + tmp[168] = tmp[16] ^ (tmp[91] | tmp[24]); + tmp[64] = tmp[71] & tmp[34]; + tmp[41] = tmp[43] ^ tmp[184]; + tmp[58] = tmp[16] ^ tmp[102]; + tmp[117] = tmp[31] ^ (tmp[170] | tmp[8] & tmp[180] ^ tmp[156] ^ tmp[199] & (tmp[176] ^ tmp[78] ^ tmp[13])) ^ (tmp[15] & ~tmp[117] ^ ((tmp[44] | tmp[180] ^ (tmp[8] ^ (tmp[5] ^ tmp[15] & tmp[117]))) ^ tmp[202])); + tmp[5] = tmp[162] & tmp[117]; + tmp[78] = tmp[10] & tmp[117]; + tmp[176] = tmp[137] | tmp[117]; + tmp[44] = tmp[162] | tmp[117]; + tmp[202] = tmp[151] & tmp[117]; + tmp[31] = tmp[143] & tmp[117]; + tmp[40] = ~tmp[143] & tmp[117]; + tmp[163] = tmp[143] | tmp[117]; + tmp[197] = tmp[190] | tmp[117]; + tmp[165] = ~tmp[117]; + tmp[53] = tmp[117] ^ tmp[176]; + tmp[139] = tmp[117] ^ tmp[78]; + tmp[109] = tmp[143] ^ tmp[117]; + tmp[85] = tmp[162] ^ tmp[117]; + tmp[161] = tmp[25] & tmp[5]; + tmp[151] &= tmp[44]; + tmp[30] = tmp[10] & tmp[163]; + tmp[57] = tmp[176] ^ tmp[40]; + tmp[133] = tmp[163] & tmp[165]; + tmp[48] = tmp[162] & tmp[165]; + tmp[9] = tmp[10] & tmp[109]; + tmp[109] |= tmp[137]; + tmp[123] = tmp[190] | tmp[85]; + tmp[92] = tmp[25] & tmp[85]; + tmp[198] = tmp[162] & ~tmp[5]; + tmp[159] = tmp[117] & ~tmp[31]; + tmp[104] = tmp[25] & tmp[48]; + tmp[101] = tmp[133] ^ tmp[109]; + tmp[116] = tmp[31] ^ tmp[9]; + tmp[192] = tmp[162] ^ tmp[123]; + tmp[177] = tmp[162] ^ (tmp[190] | tmp[151]); + tmp[21] = tmp[5] ^ tmp[104]; + tmp[29] = tmp[181] | tmp[116]; + tmp[9] = tmp[78] ^ tmp[163] ^ tmp[29] ^ (tmp[147] | tmp[176] ^ tmp[29]) ^ (tmp[179] ^ (tmp[42] | (tmp[147] | tmp[78] ^ (tmp[181] | tmp[9])) ^ (tmp[101] ^ tmp[129] & tmp[116]))); + tmp[101] = (tmp[181] | tmp[139]) ^ (tmp[143] ^ tmp[53]) ^ (tmp[147] | tmp[129] & tmp[139] ^ (tmp[143] ^ tmp[109])) ^ (tmp[183] ^ ~tmp[42] & (tmp[78] ^ tmp[31] ^ (tmp[181] | tmp[30] ^ tmp[159]) ^ tmp[22] & (tmp[101] ^ tmp[129] & (tmp[137] ^ tmp[159])))); + tmp[133] = (tmp[137] | tmp[143]) ^ tmp[117] ^ (tmp[181] | tmp[159]) ^ (tmp[147] | tmp[159] ^ tmp[129] & (tmp[10] & tmp[143] ^ tmp[40])) ^ (tmp[148] ^ (tmp[42] | tmp[22] & (tmp[57] ^ (tmp[181] | tmp[57])) ^ ((tmp[137] | tmp[31]) ^ tmp[159] ^ (tmp[181] | tmp[40] ^ (tmp[137] | tmp[133]))))); + tmp[165] = (tmp[181] | tmp[53]) ^ (tmp[143] ^ tmp[30]) ^ (tmp[147] | tmp[137] & tmp[129] ^ tmp[53]) ^ (tmp[37] ^ (tmp[42] | tmp[22] & (tmp[137] ^ tmp[129] & tmp[53]) ^ (tmp[117] ^ tmp[10] & tmp[40] ^ tmp[129] & (tmp[31] ^ tmp[10] & (tmp[143] & tmp[165]))))); + tmp[48] = (tmp[35] | tmp[5]) ^ tmp[177] ^ (tmp[42] & (tmp[123] ^ tmp[84] & (tmp[117] ^ (tmp[162] ^ tmp[25] & tmp[44]))) ^ (tmp[63] ^ (tmp[76] | tmp[42] & (tmp[92] ^ (tmp[84] & tmp[117] ^ tmp[48])) ^ (tmp[44] ^ tmp[197] ^ tmp[84] & (tmp[103] ^ tmp[198]))))); + tmp[35] = tmp[197] ^ tmp[85] ^ ((tmp[79] | tmp[92]) ^ (tmp[42] & ~tmp[161] ^ (tmp[128] ^ tmp[188] & (tmp[42] & tmp[192] ^ (tmp[25] & tmp[117] ^ (tmp[35] | tmp[198])))))); + tmp[128] = tmp[7] & tmp[133]; + tmp[92] = tmp[50] | tmp[133]; + tmp[85] = ~tmp[101]; + tmp[123] = ~tmp[133]; + tmp[63] = tmp[133] ^ tmp[48]; + tmp[10] = tmp[50] ^ tmp[133]; + tmp[44] = tmp[84] & tmp[197] ^ (tmp[151] ^ (tmp[190] | tmp[198])) ^ (tmp[42] & ~(~tmp[25] & tmp[5] ^ tmp[84] & tmp[192]) ^ (tmp[154] ^ (tmp[76] | tmp[162] ^ tmp[161] ^ (tmp[79] | tmp[103] ^ tmp[202]) ^ tmp[42] & ~(tmp[79] & tmp[44] ^ tmp[104])))); + tmp[104] = tmp[133] & tmp[48]; + tmp[7] &= tmp[48]; + tmp[103] = tmp[165] & tmp[48]; + tmp[161] = tmp[88] & tmp[35]; + tmp[192] = tmp[68] & tmp[35]; + tmp[198] = ~tmp[169] & tmp[35]; + tmp[154] = tmp[48] & tmp[128]; + tmp[151] = ~tmp[48]; + tmp[31] = tmp[91] & tmp[85]; + tmp[40] = tmp[50] & tmp[123]; + tmp[53] = tmp[48] & tmp[123]; + tmp[129] = tmp[178] | tmp[154]; + tmp[5] ^= tmp[25] & tmp[202] ^ tmp[84] & tmp[177] ^ (tmp[42] & (tmp[197] ^ tmp[79] & ~tmp[177]) ^ (tmp[87] ^ tmp[188] & (tmp[5] ^ tmp[79] & ~tmp[21] ^ tmp[42] & ~((tmp[79] | tmp[5]) ^ tmp[21])))); + tmp[21] = tmp[165] & tmp[151]; + tmp[177] = tmp[108] ^ tmp[89] & tmp[35]; + tmp[154] ^= tmp[50]; + tmp[188] = ~tmp[5]; + tmp[196] = tmp[15] ^ tmp[193] ^ tmp[199] & (tmp[180] ^ (tmp[8] ^ (tmp[183] | tmp[180])) ^ (tmp[15] | tmp[77])) ^ (tmp[146] ^ (tmp[170] | tmp[38] ^ (tmp[13] ^ tmp[156] ^ tmp[199] & (tmp[13] ^ tmp[171] ^ (tmp[183] ^ tmp[196]))))); + tmp[183] = tmp[18] | tmp[196]; + tmp[171] = tmp[18] & tmp[196]; + tmp[13] = tmp[23] & tmp[196]; + tmp[199] = tmp[172] & tmp[196]; + tmp[156] = tmp[23] | tmp[196]; + tmp[8] = tmp[107] & tmp[196]; + tmp[77] = ~tmp[196]; + tmp[38] = tmp[18] ^ tmp[196]; + tmp[170] = tmp[23] ^ tmp[196]; + tmp[193] = tmp[107] & tmp[183]; + tmp[146] = tmp[107] & tmp[13]; + tmp[197] = tmp[107] & tmp[199]; + tmp[202] = tmp[183] & tmp[77]; + tmp[25] = tmp[18] & tmp[77]; + tmp[87] = ~tmp[171]; + tmp[77] &= tmp[107]; + tmp[84] = tmp[107] & tmp[25]; + tmp[22] = tmp[196] & tmp[87]; + tmp[87] &= tmp[107]; + tmp[30] = tmp[196] ^ tmp[146]; + tmp[37] = tmp[25] ^ tmp[107] & tmp[38]; + tmp[57] = tmp[171] ^ tmp[77]; + tmp[159] = tmp[107] & ~tmp[38]; + tmp[148] = tmp[107] & ~tmp[170]; + tmp[78] = tmp[107] & ~tmp[202]; + tmp[109] = tmp[28] | tmp[8] ^ tmp[202]; + tmp[139] = ~tmp[18] & tmp[196] ^ tmp[87]; + tmp[116] = tmp[28] | tmp[183] ^ tmp[77]; + tmp[29] = tmp[65] & (tmp[196] ^ ((tmp[28] | tmp[183]) ^ tmp[84]) ^ (tmp[81] | tmp[107] & ~tmp[183] ^ tmp[109])); + tmp[29] ^= tmp[180]; + tmp[146] = (tmp[126] | ~tmp[119] & tmp[8]) ^ (tmp[30] ^ tmp[119] & (tmp[170] ^ tmp[107] & ~tmp[156])) ^ (tmp[152] ^ tmp[132] & (tmp[167] & (tmp[107] ^ (tmp[80] | tmp[107] ^ tmp[196])) ^ (tmp[23] ^ tmp[146] ^ (tmp[80] | tmp[199] ^ tmp[107] & tmp[156])))); + tmp[132] = ~tmp[146]; + tmp[152] = tmp[74] & tmp[132]; + tmp[29] ^= tmp[159] ^ (tmp[28] | tmp[8] ^ tmp[22]) ^ tmp[56] & (tmp[183] ^ tmp[97] & tmp[159]); + tmp[180] = tmp[174] & tmp[29]; + tmp[176] = tmp[0] & tmp[29]; + tmp[163] = tmp[0] | tmp[29]; + tmp[15] ^= tmp[107] ^ ((tmp[126] | tmp[119] & tmp[196]) ^ (tmp[156] ^ (tmp[80] | tmp[170]))) ^ (tmp[14] | tmp[23] ^ ((tmp[80] | tmp[23] ^ tmp[197]) ^ tmp[167] & (tmp[8] ^ tmp[80] & ~(tmp[23] ^ tmp[8])))); + tmp[179] = tmp[0] ^ tmp[29]; + tmp[171] = tmp[196] ^ tmp[193] ^ (tmp[28] | tmp[37]) ^ ((tmp[81] | tmp[159] ^ tmp[97] & tmp[37]) ^ (tmp[75] ^ tmp[65] & ~(tmp[97] & (tmp[171] ^ tmp[8]) ^ tmp[57] ^ tmp[56] & (tmp[159] ^ tmp[109])))); + tmp[109] = tmp[2] & tmp[180]; + tmp[97] = tmp[59] | tmp[180]; + tmp[22] = tmp[38] ^ tmp[87] ^ (tmp[28] | tmp[159]) ^ (tmp[81] | tmp[183] ^ ((tmp[28] | tmp[183] ^ tmp[193]) ^ tmp[78])) ^ (tmp[83] ^ tmp[65] & (tmp[28] & tmp[8] ^ tmp[139] ^ tmp[56] & (tmp[116] ^ (tmp[22] ^ tmp[107] & ~tmp[22])))); + tmp[193] = tmp[194] & tmp[15]; + tmp[183] = tmp[194] | tmp[15]; + tmp[159] = tmp[0] & ~tmp[29]; + tmp[38] = tmp[150] ^ tmp[180]; + tmp[83] = tmp[59] | tmp[179]; + tmp[202] = tmp[57] ^ tmp[28] & (tmp[25] ^ tmp[78]) ^ (tmp[56] & (tmp[84] ^ (tmp[28] | tmp[196] ^ tmp[87])) ^ (tmp[20] ^ tmp[65] & ~(tmp[8] ^ (tmp[28] | tmp[202] ^ tmp[77]) ^ (tmp[81] | tmp[139] ^ tmp[116])))); + tmp[116] = tmp[194] ^ tmp[15]; + tmp[139] = tmp[48] | tmp[171]; + tmp[87] = tmp[48] & tmp[171]; + tmp[84] = ~tmp[168] & tmp[22]; + tmp[78] = tmp[91] & tmp[193]; + tmp[25] = ~tmp[171]; + tmp[20] = tmp[48] ^ tmp[171]; + tmp[56] = tmp[2] & tmp[159]; + tmp[57] = tmp[71] & tmp[38]; + tmp[37] = ~tmp[22]; + tmp[75] = tmp[118] | tmp[202]; + tmp[26] = tmp[49] | tmp[202]; + tmp[166] = tmp[138] | tmp[202]; + tmp[164] = tmp[16] | tmp[202]; + tmp[66] = tmp[51] | tmp[202]; + tmp[17] = tmp[194] & ~tmp[15]; + tmp[189] = tmp[91] & tmp[116]; + tmp[4] = tmp[151] & tmp[139]; + tmp[3] = tmp[165] & tmp[87]; + tmp[77] ^= tmp[23] ^ (tmp[167] & tmp[196] ^ ((tmp[80] | tmp[199] ^ tmp[197]) ^ (tmp[61] ^ (tmp[14] | (tmp[126] | tmp[196] ^ tmp[119] & tmp[77]) ^ (tmp[119] & tmp[39] ^ (tmp[196] ^ tmp[148])))))); + tmp[197] = tmp[163] ^ tmp[83]; + tmp[61] = ~tmp[202]; + tmp[111] = tmp[48] & tmp[25]; + tmp[32] = tmp[87] ^ tmp[3]; + tmp[94] = tmp[165] & tmp[20]; + tmp[203] = tmp[91] & tmp[17]; + tmp[8] = tmp[13] ^ (tmp[107] & tmp[172] ^ (tmp[119] & (tmp[39] ^ tmp[156]) ^ ((tmp[126] | tmp[30] ^ tmp[119] & (~tmp[107] & tmp[170])) ^ (tmp[122] ^ (tmp[14] | tmp[107] & (tmp[119] & ~tmp[199]) ^ tmp[167] & (tmp[119] & (tmp[196] ^ tmp[8]) ^ (tmp[170] ^ tmp[148]))))))); + tmp[148] = tmp[0] & ~tmp[159]; + tmp[170] = tmp[73] & tmp[61]; + tmp[119] = tmp[138] & tmp[61]; + tmp[199] = tmp[74] & tmp[61]; + tmp[167] = ~tmp[17]; + tmp[30] = tmp[194] ^ tmp[189]; + tmp[189] ^= tmp[193]; + tmp[122] = tmp[165] & tmp[111]; + tmp[156] = tmp[48] & ~tmp[87]; + tmp[39] = tmp[59] & tmp[8]; + tmp[172] = tmp[59] | tmp[8]; + tmp[13] = tmp[2] & tmp[8]; + tmp[113] = tmp[0] & tmp[8]; + tmp[27] = tmp[194] & tmp[167]; + tmp[195] = tmp[85] & tmp[189]; + tmp[121] = ~tmp[8]; + tmp[136] = tmp[59] ^ tmp[8]; + tmp[116] = tmp[183] ^ tmp[91] & ~tmp[116]; + tmp[151] = tmp[151] & tmp[171] ^ tmp[122]; + tmp[187] = tmp[2] & tmp[172]; + tmp[47] = ~tmp[39]; + tmp[125] = tmp[150] ^ tmp[39]; + tmp[70] = tmp[59] & tmp[121]; + tmp[167] = tmp[17] ^ tmp[91] & tmp[167]; + tmp[89] ^= tmp[198] ^ ~(tmp[200] & tmp[35]) & tmp[77] ^ (tmp[138] | tmp[185] ^ tmp[108] & tmp[35] ^ ~(tmp[185] ^ tmp[161]) & tmp[77]); + tmp[161] = tmp[99] ^ tmp[175] & tmp[35] ^ (tmp[175] ^ tmp[198]) & tmp[77] ^ (tmp[138] | tmp[198] ^ ~(tmp[99] ^ tmp[161]) & tmp[77]); + tmp[185] = tmp[99] ^ tmp[192] ^ (tmp[185] | ~tmp[35]) & tmp[77] ^ (tmp[138] | tmp[177] ^ ~(tmp[200] ^ tmp[192]) & tmp[77]); + tmp[198] = tmp[59] & tmp[47]; + tmp[175] = tmp[0] & tmp[47]; + tmp[93] = tmp[0] & ~tmp[172]; + tmp[201] = tmp[0] & tmp[70]; + tmp[135] = tmp[91] & ~tmp[27]; + tmp[177] = (tmp[138] | tmp[99] ^ tmp[99] & tmp[35] ^ (tmp[108] ^ tmp[192]) & tmp[77]) ^ (tmp[169] ^ (tmp[35] ^ ~tmp[177] & tmp[77])); + tmp[192] = tmp[0] & ~tmp[187]; + tmp[193] ^= tmp[135]; + tmp[130] ^= tmp[10] ^ (tmp[104] ^ ((tmp[178] | tmp[40] ^ tmp[53]) ^ (tmp[86] & (tmp[112] | tmp[53]) ^ (tmp[86] & tmp[178] & tmp[104] ^ ((tmp[178] | tmp[92]) ^ tmp[48] & (tmp[50] & tmp[133]))) & tmp[25]))); + tmp[7] = tmp[63] ^ (tmp[112] & tmp[154] ^ (tmp[86] & (tmp[104] ^ tmp[178] & ~tmp[104]) ^ (tmp[155] ^ (tmp[129] ^ (tmp[50] ^ tmp[7]) ^ tmp[86] & ~(tmp[7] ^ (tmp[178] | tmp[104]))) & tmp[25]))); + tmp[154] = tmp[10] ^ (tmp[53] ^ (tmp[129] ^ (tmp[86] & ~(tmp[48] & tmp[92] ^ (tmp[112] & tmp[128] ^ tmp[40])) ^ (tmp[65] ^ (tmp[104] ^ tmp[40] ^ (tmp[178] | tmp[154]) ^ tmp[86] & ~(tmp[40] ^ (tmp[178] | tmp[133] ^ tmp[53])) | tmp[171]))))); + tmp[40] = tmp[92] ^ (tmp[48] & tmp[40] ^ (tmp[112] & (tmp[133] ^ tmp[48] & ~tmp[10]) ^ (tmp[86] & ~(tmp[112] & tmp[48]) ^ (tmp[76] ^ (tmp[86] & (tmp[53] ^ tmp[112] & tmp[63]) ^ ((tmp[178] | tmp[128] ^ tmp[48] & ~tmp[92]) ^ (tmp[92] ^ tmp[48] & ~(tmp[50] & ~tmp[40]))) | tmp[171]))))); + tmp[92] = tmp[172] ^ tmp[192]; + tmp[102] = tmp[188] & (tmp[160] & ~tmp[60] ^ (tmp[160] ^ tmp[90] | tmp[22])) ^ (tmp[41] ^ tmp[91] & tmp[37]) ^ (tmp[107] ^ (tmp[142] | tmp[168] ^ (tmp[91] | tmp[22]) ^ (tmp[5] | tmp[1] ^ tmp[106] ^ (tmp[91] ^ tmp[102] | tmp[22])))); + tmp[120] = tmp[43] ^ (tmp[173] ^ (tmp[120] & tmp[60] | tmp[22])) ^ (~tmp[142] & (tmp[6] ^ (tmp[43] | tmp[24]) ^ tmp[127] & tmp[188]) ^ (tmp[67] ^ (tmp[5] | tmp[106] ^ (tmp[120] ^ tmp[12]) & tmp[37]))); + tmp[55] ^= tmp[24] & ~(tmp[138] ^ (tmp[138] | tmp[146]) ^ tmp[9] & (tmp[49] ^ tmp[100] & tmp[132])) ^ (tmp[16] ^ tmp[138] & tmp[132] ^ tmp[202] ^ tmp[9] & ((tmp[146] | tmp[51] ^ tmp[75]) ^ (tmp[138] ^ tmp[170]))); + tmp[43] = ~tmp[130]; + tmp[60] = ~tmp[7]; + tmp[158] ^= tmp[161] ^ (tmp[202] | tmp[89]); + tmp[89] = tmp[161] ^ (tmp[28] ^ tmp[202] & tmp[89]); + tmp[141] ^= (tmp[202] | tmp[185]) ^ tmp[177]; + tmp[185] = tmp[177] ^ (tmp[42] ^ tmp[202] & tmp[185]); + tmp[127] = tmp[182] ^ (tmp[5] | (tmp[204] ^ tmp[184]) & tmp[22]) ^ (tmp[6] ^ tmp[106] ^ (tmp[1] ^ tmp[12] | tmp[22]) ^ (tmp[142] | tmp[1] ^ tmp[90] ^ tmp[184] & tmp[37] ^ tmp[188] & (tmp[127] ^ tmp[58] & tmp[37]))); + tmp[184] = ~tmp[102]; + tmp[90] = ~tmp[120]; + tmp[1] = ~tmp[55]; + tmp[12] = ~tmp[158]; + tmp[204] = ~tmp[89]; + tmp[6] = ~tmp[185]; + tmp[32] = tmp[165] ^ ((tmp[68] | tmp[32]) ^ tmp[156]) ^ (tmp[11] & ~(tmp[88] & tmp[171] ^ tmp[3]) ^ (tmp[137] ^ tmp[77] & ~(tmp[68] & tmp[32] ^ (tmp[103] ^ tmp[68] & tmp[11] & (tmp[103] ^ tmp[171]))))); + tmp[3] = ~tmp[127]; + tmp[84] = tmp[168] ^ tmp[41] & tmp[37] ^ (tmp[188] & (tmp[106] ^ (tmp[16] ^ tmp[173]) & tmp[37]) ^ (tmp[190] ^ (tmp[142] | tmp[41] ^ (tmp[84] ^ tmp[188] & (tmp[58] ^ tmp[84]))))); + tmp[58] = tmp[130] & tmp[1]; + tmp[126] ^= tmp[188] & (tmp[189] ^ tmp[195]) ^ ((tmp[101] | tmp[189]) ^ tmp[116]) ^ (tmp[131] | tmp[193] ^ ((tmp[5] | tmp[91] ^ tmp[31]) ^ tmp[85] & tmp[135])); + tmp[173] = tmp[185] | tmp[32]; + tmp[41] = tmp[6] & tmp[32]; + tmp[37] = tmp[185] & tmp[32]; + tmp[106] = tmp[127] | tmp[32]; + tmp[190] = tmp[32] & tmp[3]; + tmp[23] ^= tmp[20] ^ (tmp[21] ^ (tmp[88] & (tmp[103] ^ tmp[139]) ^ (tmp[11] & (tmp[68] | tmp[4]) ^ tmp[77] & (tmp[21] ^ (tmp[68] | tmp[139]) ^ tmp[11] & tmp[165] & ~tmp[139])))); + tmp[168] = ~tmp[32]; + tmp[137] = tmp[185] ^ tmp[32]; + tmp[182] = tmp[127] ^ tmp[32]; + tmp[42] = ~tmp[126]; + tmp[18] ^= tmp[51] ^ (tmp[132] & (tmp[49] ^ tmp[119]) ^ tmp[9] & ~(tmp[202] ^ tmp[132] & tmp[166])) ^ tmp[24] & ~(tmp[132] & tmp[26] ^ (tmp[118] ^ tmp[170]) ^ tmp[9] & (tmp[16] ^ (tmp[152] ^ tmp[100] & tmp[61]))); + tmp[100] = tmp[49] ^ (tmp[66] ^ (tmp[146] | tmp[118] ^ tmp[49] & tmp[61])) ^ (tmp[9] & (tmp[164] ^ (tmp[73] ^ (tmp[146] | tmp[166]))) ^ (tmp[14] ^ tmp[24] & ~(tmp[9] & (tmp[49] ^ ((tmp[100] | tmp[146]) ^ tmp[26])) ^ (tmp[132] & (tmp[49] ^ tmp[164]) ^ (tmp[51] ^ tmp[119]))))); + tmp[164] = tmp[185] & tmp[168]; + tmp[26] = tmp[127] & tmp[168]; + tmp[119] = tmp[141] | tmp[182]; + tmp[166] = ~tmp[190]; + tmp[97] ^= tmp[159] ^ (tmp[57] ^ (tmp[101] & ~(tmp[38] ^ (tmp[144] | tmp[38])) ^ (tmp[149] ^ tmp[15] & ~(tmp[71] & tmp[140] ^ tmp[197] ^ tmp[101] & (tmp[180] ^ (tmp[64] ^ tmp[97])))))); + tmp[149] = tmp[158] | tmp[100]; + tmp[61] = tmp[12] & tmp[100]; + tmp[52] = tmp[81] ^ (tmp[5] | (tmp[52] | tmp[101]) ^ (tmp[194] ^ tmp[91] & (tmp[72] & tmp[15]))) ^ (tmp[101] & tmp[189] ^ tmp[116] ^ (tmp[131] | (tmp[5] | ~tmp[52] & tmp[101] ^ tmp[30]) ^ (tmp[193] ^ tmp[101] & ~(tmp[78] ^ tmp[27])))); + tmp[30] = tmp[85] & (tmp[183] ^ tmp[91] & ~tmp[183]) ^ (tmp[19] ^ tmp[27]) ^ ((tmp[5] | tmp[194] ^ tmp[203] ^ tmp[195]) ^ (tmp[143] ^ (tmp[131] | tmp[167] ^ ((tmp[101] | tmp[167]) ^ tmp[188] & (tmp[194] ^ tmp[19] ^ tmp[85] & tmp[30]))))); + tmp[46] = tmp[179] ^ (tmp[109] ^ ((tmp[144] | tmp[34]) ^ (tmp[101] & ((tmp[144] | tmp[46]) ^ tmp[180] ^ tmp[56]) ^ (tmp[196] ^ tmp[15] & (tmp[101] & ~(tmp[109] ^ (tmp[144] | tmp[46] ^ tmp[176])) ^ (tmp[83] ^ (tmp[64] ^ tmp[148]))))))); + tmp[163] = tmp[176] ^ ((tmp[59] | tmp[159]) ^ (tmp[71] & (tmp[59] | tmp[163]) ^ tmp[101] & ~(tmp[57] ^ tmp[148]) ^ (tmp[117] ^ tmp[15] & ~(tmp[56] ^ tmp[101] & ~((tmp[144] | tmp[150] ^ tmp[163]) ^ tmp[197]))))); + tmp[197] = tmp[141] & tmp[166]; + tmp[199] = tmp[181] ^ tmp[24] & ~(tmp[75] ^ tmp[132] & tmp[66] ^ tmp[9] & (tmp[152] ^ (tmp[49] ^ tmp[170]))) ^ (tmp[138] ^ tmp[202] ^ ((tmp[51] | tmp[146]) ^ tmp[9] & ~(tmp[49] ^ (tmp[199] ^ tmp[132] & (tmp[74] ^ tmp[199]))))); + tmp[74] = ~tmp[164]; + tmp[132] = ~tmp[26]; + tmp[170] = tmp[127] | tmp[52]; + tmp[135] = tmp[145] ^ (~tmp[131] & ((tmp[5] | tmp[98] ^ tmp[31]) ^ (tmp[78] ^ tmp[17] ^ tmp[85] & (tmp[91] ^ tmp[17]))) ^ (tmp[98] ^ tmp[15] ^ (tmp[101] | tmp[78]) ^ tmp[188] & (tmp[203] ^ tmp[27] ^ (tmp[101] | tmp[17] ^ tmp[135])))); + tmp[148] = (tmp[144] | tmp[140]) ^ tmp[38] ^ (tmp[101] & (tmp[144] | ~tmp[148]) ^ (tmp[115] ^ tmp[15] & (tmp[64] ^ (tmp[159] ^ tmp[2] & tmp[179] ^ tmp[101] & ~((tmp[59] | tmp[29]) ^ (tmp[144] | tmp[148])))))); + tmp[179] = tmp[126] & tmp[46]; + tmp[2] = tmp[184] & tmp[46]; + tmp[159] = tmp[102] | tmp[46]; + tmp[64] = tmp[102] & tmp[46]; + tmp[115] = tmp[18] & tmp[46]; + tmp[140] = tmp[23] & tmp[46]; + tmp[38] = tmp[126] | tmp[46]; + tmp[17] = tmp[185] & tmp[163]; + tmp[27] = tmp[6] & tmp[163]; + tmp[203] = tmp[164] & tmp[163]; + tmp[85] = tmp[37] & tmp[163]; + tmp[78] = tmp[41] & tmp[163]; + tmp[31] = tmp[32] & tmp[199]; + tmp[98] = ~tmp[106] & tmp[199]; + tmp[166] &= tmp[199]; + tmp[188] = tmp[190] & tmp[199]; + tmp[145] = ~tmp[52]; + tmp[49] = ~tmp[30]; + tmp[152] = tmp[185] & tmp[74]; + tmp[74] &= tmp[163]; + tmp[187] = tmp[147] ^ (tmp[0] ^ tmp[136] ^ tmp[44] & ~tmp[13] ^ (tmp[178] | ~tmp[44] & (tmp[8] ^ tmp[201])) ^ tmp[123] & (tmp[44] & (tmp[0] ^ tmp[13]) ^ (tmp[8] ^ tmp[0] & tmp[136]) ^ (tmp[178] | (tmp[44] | tmp[62] ^ tmp[187]) ^ tmp[92]))); + tmp[147] = ~tmp[46]; + tmp[66] = tmp[102] ^ tmp[46]; + tmp[75] = tmp[126] ^ tmp[46]; + tmp[51] = ~tmp[199]; + tmp[181] = tmp[55] | tmp[135]; + tmp[56] = tmp[130] & tmp[135]; + tmp[57] = tmp[43] & tmp[135]; + tmp[71] = tmp[130] | tmp[135]; + tmp[87] = tmp[4] ^ ((tmp[68] | tmp[165] ^ tmp[156]) ^ (tmp[165] & ~tmp[156] ^ (tmp[11] & ~(tmp[111] ^ tmp[122] ^ (tmp[68] | tmp[156])) ^ (tmp[162] ^ tmp[77] & ~(tmp[20] ^ tmp[94] ^ tmp[88] & (tmp[103] ^ tmp[87]) ^ tmp[11] & (tmp[48] ^ tmp[21] ^ (tmp[68] | tmp[21] ^ tmp[87]))))))); + tmp[21] = tmp[184] & tmp[159]; + tmp[156] = tmp[18] & tmp[64]; + tmp[122] = ~tmp[135]; + tmp[111] = tmp[130] ^ tmp[135]; + tmp[162] = tmp[58] ^ tmp[135]; + tmp[117] = tmp[102] & tmp[147]; + tmp[176] = tmp[18] & tmp[147]; + tmp[109] = tmp[23] & tmp[147]; + tmp[83] = tmp[23] ^ tmp[42] & tmp[46]; + tmp[180] = tmp[23] & tmp[75]; + tmp[196] = tmp[37] ^ tmp[203]; + tmp[34] = tmp[32] ^ tmp[78]; + tmp[19] = tmp[182] ^ tmp[31]; + tmp[182] = tmp[127] ^ tmp[182] & tmp[199]; + tmp[167] = ~tmp[145]; + tmp[37] ^= tmp[74]; + tmp[6] &= tmp[87]; + tmp[183] = tmp[185] | tmp[87]; + tmp[195] = tmp[185] & tmp[87]; + tmp[70] = tmp[113] ^ tmp[198] ^ (tmp[44] & tmp[47] ^ (tmp[79] ^ (tmp[133] | (tmp[178] | tmp[44] & tmp[125] ^ (tmp[39] ^ tmp[0] & tmp[13])) ^ (tmp[150] ^ tmp[172] ^ tmp[44] & (tmp[62] ^ tmp[70]))) ^ tmp[112] & (tmp[59] ^ tmp[201] ^ tmp[44] & ~(tmp[8] ^ tmp[192])))); + tmp[192] = ~tmp[187]; + tmp[150] = ~tmp[56]; + tmp[103] = tmp[48] ^ (tmp[165] & tmp[139] ^ ((tmp[68] | tmp[4] ^ tmp[94]) ^ (tmp[11] & ((tmp[68] | tmp[165] ^ tmp[48]) ^ tmp[151]) ^ (tmp[134] ^ tmp[77] & ((tmp[68] | tmp[20] ^ tmp[165] & ~tmp[4]) ^ (tmp[20] ^ tmp[11] & (tmp[88] & tmp[103] ^ tmp[151]))))))); + tmp[88] = tmp[185] ^ tmp[87]; + tmp[125] = tmp[136] ^ (tmp[175] ^ (tmp[44] & tmp[113] ^ ((tmp[178] | tmp[44] & ~(tmp[198] ^ tmp[93])) ^ (tmp[80] ^ tmp[123] & (tmp[112] & (tmp[44] ^ tmp[93]) ^ (tmp[44] & ~tmp[125] ^ (tmp[172] ^ tmp[93]))))))); + tmp[93] = tmp[126] & ~tmp[179]; + tmp[123] = tmp[18] & ~tmp[159]; + tmp[184] &= tmp[18] ^ tmp[159]; + tmp[80] = tmp[102] & ~tmp[64]; + tmp[113] = tmp[102] ^ tmp[156]; + tmp[136] = tmp[18] & tmp[117]; + tmp[4] = tmp[87] | tmp[70]; + tmp[151] = tmp[109] ^ tmp[93]; + tmp[20] = tmp[23] & ~tmp[75]; + tmp[134] = tmp[185] & ~tmp[87]; + tmp[198] = tmp[174] & tmp[44] ^ (tmp[172] ^ tmp[0] & tmp[39]) ^ ((tmp[178] | tmp[59] ^ tmp[0] & tmp[121] ^ tmp[44] & ~tmp[92]) ^ (tmp[105] ^ (tmp[133] | ~(tmp[59] ^ tmp[62]) & tmp[44] ^ (tmp[39] ^ tmp[175]) ^ tmp[112] & (tmp[44] & tmp[13] ^ (tmp[59] ^ tmp[0] & ~tmp[198]))))); + tmp[62] = ~tmp[100] & tmp[125]; + tmp[13] = tmp[100] & tmp[125]; + tmp[175] = tmp[100] | tmp[125]; + tmp[39] = tmp[12] & tmp[125]; + tmp[112] = ~tmp[70]; + tmp[92] = tmp[52] | tmp[184]; + tmp[121] = ~tmp[103]; + tmp[105] = ~tmp[125]; + tmp[172] = tmp[100] ^ tmp[125]; + tmp[174] = tmp[52] | tmp[159] ^ tmp[176]; + tmp[94] = tmp[145] & (tmp[64] ^ tmp[176]); + tmp[139] = tmp[55] | tmp[135] & tmp[150]; + tmp[201] = tmp[87] & ~tmp[6]; + tmp[79] = tmp[70] | tmp[134]; + tmp[47] = tmp[145] & tmp[198]; + tmp[143] = tmp[127] | tmp[198]; + tmp[72] = tmp[3] & tmp[198]; + tmp[193] = tmp[185] & tmp[112]; + tmp[189] = tmp[87] & tmp[112]; + tmp[116] = tmp[195] & tmp[112]; + tmp[81] = tmp[134] & tmp[112]; + tmp[73] = tmp[6] ^ tmp[4]; + tmp[118] = tmp[87] & ~(tmp[181] ^ tmp[56]); + tmp[181] = tmp[87] & (tmp[130] ^ tmp[181]) ^ (tmp[135] ^ (tmp[55] | tmp[111])); + tmp[56] = tmp[162] ^ tmp[87] & (tmp[56] ^ (tmp[55] | tmp[56])); + tmp[150] = tmp[87] & tmp[150] ^ tmp[122] & (tmp[58] ^ tmp[71]); + tmp[14] = tmp[52] ^ tmp[198]; + tmp[177] = tmp[100] & tmp[105]; + tmp[28] = tmp[12] & tmp[172]; + tmp[161] = tmp[3] & tmp[47]; + tmp[67] = tmp[52] & tmp[72]; + tmp[160] = tmp[84] & (tmp[183] ^ tmp[4]); + tmp[107] = tmp[201] ^ tmp[189]; + tmp[128] = tmp[52] & ~tmp[198]; + tmp[63] = tmp[127] ^ tmp[47]; + tmp[12] &= tmp[177]; + tmp[53] = tmp[100] ^ (tmp[100] | (tmp[158] | tmp[125])); + tmp[10] = tmp[71] ^ tmp[1] & tmp[57] ^ tmp[118]; + tmp[71] ^= (tmp[55] | tmp[71]) ^ tmp[118]; + tmp[1] = tmp[162] ^ tmp[87] & ~(tmp[1] & tmp[135] ^ tmp[111]); + tmp[162] = tmp[177] ^ tmp[12]; + tmp[118] = tmp[61] ^ tmp[177]; + tmp[76] = tmp[84] & tmp[107]; + tmp[58] = tmp[87] & (tmp[111] ^ tmp[58] & tmp[122]) ^ (tmp[111] ^ tmp[139]); + tmp[197] = tmp[86] ^ ((tmp[7] | tmp[197] ^ tmp[98] ^ tmp[148] & (tmp[197] ^ tmp[3] & tmp[199])) ^ (tmp[141] & ~tmp[166] ^ (tmp[148] & ~tmp[188] ^ (tmp[127] ^ (tmp[32] ^ tmp[188]))))); + tmp[86] = tmp[127] | tmp[52] & ~tmp[128]; + tmp[31] = tmp[190] ^ tmp[199] ^ (tmp[141] & ~(tmp[127] ^ tmp[31]) ^ tmp[148] & (tmp[127] ^ tmp[199] & tmp[132] ^ tmp[141] & (tmp[26] & tmp[51]))) ^ (tmp[59] ^ (tmp[7] | tmp[26] ^ tmp[141] & (tmp[106] ^ tmp[31]) ^ tmp[148] & (tmp[141] & tmp[26] ^ tmp[19]))); + tmp[139] = tmp[130] ^ tmp[55] ^ tmp[87] & ~(tmp[57] ^ tmp[139]); + tmp[57] = ~tmp[31]; + tmp[22] ^= tmp[204] & (tmp[184] ^ (tmp[52] | tmp[102] ^ tmp[136])) ^ (tmp[80] ^ (tmp[18] & ~tmp[21] ^ (tmp[52] | tmp[21] ^ tmp[136]))) ^ tmp[154] & (tmp[167] & tmp[113] ^ (tmp[89] | tmp[2] ^ tmp[174])); + tmp[0] ^= tmp[112] & tmp[139] ^ (tmp[56] ^ tmp[97] & ((tmp[70] | tmp[181]) ^ tmp[71])); + tmp[203] = tmp[41] ^ (tmp[74] ^ ((tmp[30] | tmp[34]) ^ ((tmp[173] ^ tmp[168] & tmp[163]) & tmp[192] ^ (tmp[165] ^ tmp[199] & (tmp[49] & tmp[196] ^ (tmp[164] ^ ~tmp[173] & tmp[163] ^ (tmp[187] | tmp[173] ^ tmp[203]))))))); + tmp[132] = tmp[68] ^ tmp[60] & (tmp[119] ^ (tmp[98] ^ tmp[148] & ~(tmp[119] ^ tmp[98]))) ^ (tmp[148] & (tmp[182] ^ tmp[141] & ~tmp[19]) ^ (tmp[106] ^ (tmp[166] ^ tmp[141] & ~(tmp[127] ^ tmp[199] & ~(tmp[127] & tmp[132]))))); + tmp[92] ^= tmp[66] ^ tmp[123] ^ (tmp[89] | tmp[167] & (tmp[117] ^ tmp[18] & tmp[66])) ^ (tmp[171] ^ tmp[154] & ~(tmp[117] ^ (tmp[115] ^ tmp[92]) ^ tmp[204] & (tmp[46] & (tmp[102] ^ tmp[18]) ^ tmp[94]))); + tmp[66] = ~tmp[22]; + tmp[156] = (tmp[89] | tmp[145] & (tmp[18] & tmp[2] ^ tmp[117]) ^ (tmp[64] ^ tmp[136])) ^ (tmp[102] ^ tmp[18] & tmp[159] ^ tmp[145] & (tmp[159] ^ tmp[123])) ^ (tmp[202] ^ tmp[154] & (tmp[113] ^ (tmp[52] & ~(tmp[159] ^ tmp[156]) ^ tmp[204] & (tmp[176] ^ tmp[80] ^ tmp[174])))); + tmp[106] = tmp[26] ^ tmp[188] ^ tmp[141] & (tmp[106] ^ tmp[98]) ^ tmp[148] & ~(tmp[141] & tmp[98] ^ (tmp[127] ^ tmp[166])) ^ (tmp[142] ^ (tmp[7] | tmp[148] & ~((tmp[141] | tmp[106]) ^ tmp[182]) ^ (tmp[106] & tmp[51] ^ tmp[141] & ~(tmp[127] ^ (tmp[32] ^ tmp[32] & (tmp[127] & tmp[199])))))); + tmp[182] = ~tmp[0]; + tmp[189] = tmp[35] ^ tmp[84] & ~(tmp[183] ^ tmp[70]) ^ (tmp[195] ^ tmp[70] ^ tmp[40] & (tmp[183] ^ tmp[160]) ^ tmp[163] & ~(tmp[160] ^ tmp[40] & tmp[84] & (tmp[185] ^ tmp[189]))); + tmp[160] = ~tmp[203]; + tmp[35] = tmp[132] ^ tmp[92]; + tmp[51] = ~tmp[132]; + tmp[166] = tmp[132] & tmp[92]; + tmp[98] = tmp[132] | tmp[92]; + tmp[194] ^= ~(tmp[127] ^ tmp[52]) & tmp[103] ^ (tmp[198] ^ (tmp[127] | tmp[47])) ^ ((tmp[7] | tmp[127] & tmp[103] ^ (tmp[52] ^ tmp[161])) ^ tmp[204] & (tmp[7] | tmp[143] ^ tmp[103] & (tmp[143] ^ tmp[14]))); + tmp[188] = ~tmp[92]; + tmp[26] = ~tmp[156]; + tmp[142] = ~tmp[106]; + tmp[181] = tmp[56] ^ (tmp[70] & ~tmp[139] ^ (tmp[11] ^ tmp[97] & ~(tmp[71] ^ tmp[70] & ~tmp[181]))); + tmp[71] = tmp[92] & tmp[51]; + tmp[134] = tmp[163] & (tmp[84] & tmp[193] ^ (tmp[88] ^ tmp[81]) ^ tmp[40] & ~(tmp[183] ^ tmp[84] & tmp[195] ^ tmp[81])) ^ (tmp[44] ^ (tmp[201] ^ tmp[193] ^ tmp[84] & (tmp[201] ^ tmp[79]) ^ tmp[40] & ~(tmp[134] ^ tmp[6] & tmp[112] ^ tmp[84] & ~tmp[73]))); + tmp[196] = tmp[163] ^ ((tmp[173] ^ tmp[78]) & tmp[192] ^ (tmp[152] ^ ((tmp[30] | tmp[17] ^ tmp[187] & ~(tmp[173] ^ tmp[17])) ^ (tmp[101] ^ tmp[199] & ~(tmp[49] & (tmp[17] & tmp[187] ^ tmp[196]) ^ (tmp[85] ^ tmp[152] ^ (tmp[164] ^ ~tmp[137] & tmp[163]) & tmp[192])))))); + tmp[15] ^= tmp[102] & (tmp[100] | ~(tmp[125] & tmp[151])) ^ (tmp[75] ^ (tmp[125] | tmp[126] ^ tmp[180]) ^ tmp[100] & ~(tmp[93] ^ (tmp[109] ^ tmp[105] & (tmp[179] ^ tmp[20])))); + tmp[24] ^= tmp[10] ^ (tmp[70] & ~tmp[58] ^ tmp[97] & ~(tmp[150] ^ tmp[70] & tmp[1])); + tmp[1] = tmp[10] ^ (tmp[112] & tmp[58] ^ (tmp[131] ^ tmp[97] & ~(tmp[150] ^ tmp[112] & tmp[1]))); + tmp[149] = tmp[130] ^ tmp[172] ^ ((tmp[120] | tmp[162] ^ tmp[130] & ~(tmp[149] ^ tmp[172])) ^ (tmp[138] ^ tmp[122] & (tmp[130] & tmp[162] ^ (tmp[177] ^ ((tmp[120] | tmp[130] & ~(tmp[100] ^ tmp[149])) ^ (tmp[158] | tmp[177])))))); + tmp[42] = tmp[179] ^ tmp[109] ^ tmp[140] & tmp[105] ^ (tmp[100] & ~(tmp[38] ^ (tmp[109] ^ (tmp[23] ^ tmp[38]) & tmp[105])) ^ (tmp[146] ^ tmp[102] & ((tmp[42] & tmp[38] | tmp[125]) ^ tmp[100] & ~(tmp[23] ^ tmp[46] ^ (tmp[140] ^ tmp[75]) & tmp[105])))); + tmp[53] = tmp[158] ^ (tmp[125] ^ (tmp[130] & ~tmp[53] ^ ((tmp[135] | tmp[90] & tmp[100] ^ (tmp[62] ^ (tmp[158] | tmp[62]) ^ tmp[130] & ~tmp[175])) ^ (tmp[50] ^ (tmp[120] | tmp[100] ^ tmp[130] & tmp[53]))))); + tmp[50] = tmp[132] & tmp[188]; + tmp[146] = tmp[98] & tmp[188]; + tmp[162] = tmp[132] & tmp[181]; + tmp[138] = tmp[51] & tmp[181]; + tmp[150] = tmp[92] & tmp[181]; + tmp[131] = tmp[194] ^ tmp[196]; + tmp[121] = (tmp[7] | tmp[52] & tmp[121] ^ tmp[67]) ^ tmp[103] & ~(tmp[52] ^ tmp[72]) ^ (tmp[128] ^ tmp[86] ^ (tmp[200] ^ (tmp[89] | tmp[161] ^ tmp[121] & tmp[72] ^ (tmp[7] | tmp[3] & tmp[52] & tmp[103] ^ (tmp[47] ^ tmp[67]))))); + tmp[140] = tmp[93] ^ (tmp[23] ^ ((tmp[83] | tmp[125]) ^ (tmp[100] & (tmp[125] | ~tmp[83]) ^ (tmp[77] ^ tmp[102] & (tmp[179] ^ (tmp[109] ^ (tmp[179] ^ tmp[140] | tmp[125])) ^ tmp[100] & (tmp[179] ^ tmp[83] & tmp[105])))))); + tmp[83] = tmp[194] | tmp[196]; + tmp[77] = tmp[194] & tmp[196]; + tmp[200] = ~tmp[181]; + tmp[58] = tmp[106] | tmp[24]; + tmp[10] = tmp[22] | tmp[24]; + tmp[101] = tmp[66] & tmp[24]; + tmp[81] = tmp[22] & tmp[24]; + tmp[44] = tmp[142] & tmp[24]; + tmp[139] = tmp[196] | tmp[1]; + tmp[11] = tmp[194] | tmp[1]; + tmp[56] = tmp[181] & ~tmp[35]; + tmp[159] = tmp[92] & tmp[53]; + tmp[174] = tmp[92] | tmp[53]; + tmp[112] = tmp[84] & (tmp[195] ^ tmp[88] & tmp[112]) ^ (tmp[183] ^ tmp[79] ^ (tmp[40] & ~(tmp[193] ^ tmp[76]) ^ (tmp[5] ^ tmp[163] & (tmp[40] & (tmp[6] ^ tmp[116] ^ tmp[76]) ^ (tmp[195] ^ tmp[116] ^ tmp[84] & ~(tmp[183] & tmp[112])))))); + tmp[6] = ~tmp[134]; + tmp[78] = tmp[163] ^ (tmp[173] ^ ((tmp[30] | tmp[164] ^ tmp[27]) ^ ((tmp[187] | tmp[34]) ^ (tmp[9] ^ tmp[199] & ~(tmp[185] ^ (tmp[187] | tmp[185] ^ tmp[78]) ^ tmp[49] & (tmp[17] ^ (tmp[41] ^ tmp[163]) & tmp[192])))))); + tmp[17] = ~tmp[196]; + tmp[9] = ~tmp[24]; + tmp[34] = tmp[22] ^ tmp[24]; + tmp[164] = ~tmp[1]; + tmp[173] = tmp[1] ^ tmp[131]; + tmp[76] = tmp[196] & ~tmp[194]; + tmp[193] = tmp[189] & tmp[121]; + tmp[5] = ~tmp[149]; + tmp[2] = ~tmp[42]; + tmp[117] = ~tmp[53]; + tmp[136] = tmp[121] | tmp[140]; + tmp[64] = tmp[189] | tmp[140]; + tmp[13] = tmp[177] ^ ((tmp[158] | tmp[125] & ~tmp[62]) ^ (tmp[130] & ~(tmp[100] ^ tmp[28]) ^ ((tmp[120] | tmp[100] & tmp[39] ^ tmp[130] & tmp[118]) ^ (tmp[91] ^ (tmp[135] | tmp[39] ^ tmp[130] & tmp[28] ^ tmp[90] & (tmp[13] ^ tmp[130] & (tmp[61] ^ tmp[13]))))))); + tmp[39] = tmp[1] | tmp[77]; + tmp[91] = tmp[35] ^ tmp[162]; + tmp[177] = tmp[132] ^ tmp[150]; + tmp[113] = tmp[35] & tmp[200]; + tmp[202] = tmp[142] & tmp[101]; + tmp[171] = tmp[142] & tmp[81]; + tmp[119] = tmp[131] ^ tmp[139]; + tmp[19] = tmp[189] ^ tmp[121]; + tmp[68] = ~tmp[140]; + tmp[168] = tmp[194] & tmp[17]; + tmp[94] = tmp[29] ^ ((tmp[89] | tmp[115] ^ tmp[21] ^ tmp[145] & tmp[184]) ^ (tmp[184] ^ ((tmp[52] | tmp[176]) ^ tmp[154] & ~(tmp[80] ^ (tmp[167] & tmp[123] ^ tmp[204] & (tmp[176] ^ tmp[94])))))); + tmp[147] = tmp[38] ^ (tmp[125] ^ (tmp[23] & ~tmp[93] ^ (tmp[100] & (tmp[75] ^ tmp[109] ^ (tmp[46] ^ tmp[109]) & tmp[105]) ^ (tmp[8] ^ tmp[102] & ~(tmp[100] & (tmp[75] ^ tmp[180] ^ (tmp[125] | tmp[151])) ^ (tmp[179] ^ tmp[23] & (tmp[126] & tmp[147]) ^ tmp[105] & (tmp[46] ^ tmp[20]))))))); + tmp[20] = tmp[58] ^ tmp[10]; + tmp[151] = tmp[22] & tmp[9]; + tmp[180] = tmp[22] ^ tmp[44]; + tmp[75] = tmp[196] & tmp[164]; + tmp[105] = tmp[92] ^ tmp[56]; + tmp[63] = tmp[14] ^ tmp[67] ^ (tmp[103] & ~tmp[63] ^ ((tmp[7] | tmp[47] ^ (tmp[161] ^ tmp[103] & (tmp[198] ^ tmp[72]))) ^ (tmp[16] ^ (tmp[89] | tmp[170] ^ (tmp[128] ^ tmp[103] & tmp[63]) ^ tmp[60] & (tmp[47] ^ tmp[103] & (tmp[14] ^ (tmp[127] | tmp[14]))))))); + tmp[72] = tmp[164] & tmp[76]; + tmp[16] = tmp[24] & tmp[2]; + tmp[67] = ~tmp[159]; + tmp[101] &= tmp[13]; + tmp[179] = ~tmp[112]; + tmp[27] = tmp[137] ^ (tmp[85] ^ ((tmp[187] | tmp[37]) ^ (tmp[49] & (tmp[163] & ~tmp[152] ^ (tmp[32] ^ tmp[27] & tmp[192])) ^ (tmp[133] ^ tmp[199] & ~(tmp[85] ^ (tmp[37] & tmp[192] ^ tmp[49] & (tmp[41] ^ tmp[85] ^ (tmp[32] ^ tmp[27]) & tmp[192]))))))); + tmp[192] = tmp[189] & ~tmp[121]; + tmp[85] = (tmp[189] | tmp[121]) & tmp[68]; + tmp[41] = tmp[121] ^ tmp[64]; + tmp[49] = ~tmp[13]; + tmp[37] = tmp[39] ^ tmp[168]; + tmp[152] = tmp[31] & tmp[94]; + tmp[133] = tmp[57] & tmp[94]; + tmp[137] = tmp[31] | tmp[94]; + tmp[109] = tmp[0] | tmp[147]; + tmp[8] = (tmp[106] | tmp[10]) ^ tmp[101]; + tmp[93] = tmp[142] & tmp[151]; + tmp[139] = tmp[83] ^ (tmp[194] | tmp[139]); + tmp[38] = tmp[2] & tmp[63]; + tmp[176] = tmp[9] & tmp[63]; + tmp[123] = tmp[24] | tmp[63]; + tmp[167] = tmp[24] & tmp[63]; + tmp[80] = tmp[53] & tmp[67]; + tmp[184] = tmp[147] | tmp[27]; + tmp[145] = tmp[147] & tmp[27]; + tmp[21] = tmp[0] | tmp[27]; + tmp[115] = ~tmp[94]; + tmp[29] = tmp[31] ^ tmp[94]; + tmp[165] = tmp[147] ^ tmp[27]; + tmp[74] = ~tmp[147]; + tmp[190] = tmp[147] ^ tmp[109]; + tmp[88] = tmp[183] ^ ((tmp[70] | tmp[201]) ^ (tmp[84] & ~(tmp[185] ^ tmp[116]) ^ (tmp[40] & ~(tmp[4] ^ (tmp[195] ^ tmp[84] & tmp[73])) ^ (tmp[48] ^ tmp[163] & ~(tmp[107] ^ tmp[40] & (tmp[201] ^ (tmp[185] & tmp[84] ^ (tmp[70] | tmp[88]))) ^ tmp[84] & ~(tmp[87] ^ tmp[79])))))); + tmp[79] = ~tmp[63]; + tmp[201] = tmp[24] ^ tmp[63]; + tmp[107] = tmp[42] ^ tmp[63]; + tmp[73] = tmp[121] & ~tmp[193]; + tmp[62] ^= (tmp[158] | tmp[172]) ^ (tmp[130] & ~(tmp[100] ^ (tmp[125] ^ tmp[28])) ^ (tmp[90] & (tmp[175] ^ tmp[43] & tmp[12]) ^ (tmp[144] ^ tmp[122] & (tmp[43] & tmp[118] ^ (tmp[120] | tmp[158] ^ tmp[172] ^ tmp[130] & ~(tmp[61] ^ tmp[62])))))); + tmp[61] = tmp[2] & tmp[176]; + tmp[9] &= tmp[123]; + tmp[172] = tmp[2] & tmp[123]; + tmp[118] = tmp[0] | tmp[184]; + tmp[43] = tmp[0] | tmp[145]; + tmp[12] = tmp[184] & tmp[74]; + tmp[28] = tmp[182] & tmp[147] ^ tmp[145]; + tmp[122] = tmp[42] ^ tmp[176]; + tmp[175] = tmp[24] & tmp[79]; + tmp[144] = tmp[29] & tmp[62]; + tmp[90] = tmp[31] & tmp[62]; + tmp[195] = tmp[57] & tmp[62]; + tmp[4] = tmp[115] & tmp[62]; + tmp[116] = tmp[0] ^ tmp[145]; + tmp[48] = tmp[147] & ~tmp[27]; + tmp[183] = tmp[194] ^ (tmp[196] ^ tmp[83] & tmp[164]); + tmp[59] = ~tmp[88]; + tmp[111] = tmp[94] & ~tmp[133]; + tmp[14] = tmp[103] ^ (tmp[47] ^ (tmp[127] | tmp[128]) ^ ((tmp[7] | (tmp[52] ^ tmp[170]) & tmp[103] ^ tmp[161]) ^ (tmp[178] ^ tmp[204] & (tmp[103] & (tmp[198] ^ tmp[143]) ^ (tmp[170] ^ tmp[128]) ^ tmp[60] & (tmp[103] & (tmp[198] ^ tmp[3] & tmp[14]) ^ (tmp[47] ^ tmp[86])))))); + tmp[3] = tmp[156] & ~tmp[38]; + tmp[86] = tmp[24] & ~tmp[167]; + tmp[47] = tmp[27] ^ tmp[43]; + tmp[143] = tmp[21] ^ tmp[12]; + tmp[2] = tmp[167] ^ tmp[2] & tmp[201]; + tmp[167] = tmp[94] ^ tmp[195]; + tmp[128] = tmp[94] & (tmp[57] ^ tmp[62]); + tmp[170] = tmp[188] & tmp[14]; + tmp[60] = tmp[92] & tmp[14]; + tmp[204] = tmp[159] & tmp[14]; + tmp[161] = tmp[117] & tmp[14]; + tmp[178] = tmp[42] | tmp[86]; + tmp[12] = tmp[184] ^ (tmp[0] | tmp[12]); + tmp[104] = ~tmp[14]; + tmp[65] = tmp[92] & (tmp[197] & tmp[14]); + tmp[129] = tmp[92] ^ tmp[170]; + tmp[25] = tmp[174] ^ tmp[170]; + tmp[155] = tmp[92] ^ tmp[60]; + tmp[108] = tmp[149] & ~tmp[19] ^ (tmp[85] ^ tmp[73]) ^ (tmp[132] | tmp[193] & ~tmp[68] ^ tmp[149] & (tmp[19] ^ tmp[121] & tmp[68])); + tmp[180] ^= (tmp[63] | tmp[179] & (tmp[20] ^ (tmp[13] | tmp[20])) ^ (tmp[24] ^ tmp[44] ^ tmp[13] & tmp[180])) ^ (tmp[120] ^ (tmp[112] | tmp[24] ^ tmp[58] ^ tmp[22] & tmp[13]) ^ tmp[13] & (tmp[58] ^ tmp[22] & ~tmp[81])); + tmp[120] = tmp[197] & tmp[155]; + tmp[73] = tmp[192] ^ (tmp[140] | tmp[73]) ^ tmp[149] & ~(tmp[189] ^ tmp[19] & tmp[68]) ^ tmp[51] & (tmp[193] ^ tmp[149] & (~tmp[189] & tmp[121] ^ tmp[189] & tmp[68])); + tmp[19] = tmp[149] & tmp[136] ^ tmp[41] ^ tmp[51] & (tmp[193] ^ tmp[68] & tmp[192] ^ tmp[149] & ~(tmp[136] ^ tmp[19])); + tmp[68] = ~tmp[180]; + tmp[66] = tmp[24] ^ tmp[142] & tmp[10] ^ tmp[179] & tmp[8] ^ tmp[13] & ~(tmp[66] & tmp[10] ^ tmp[171]) ^ (tmp[127] ^ (tmp[63] | tmp[22] ^ tmp[8] ^ tmp[179] & (tmp[13] & (tmp[22] ^ tmp[58]) ^ tmp[93]))); + tmp[192] ^= tmp[85] ^ tmp[149] & ~(tmp[193] ^ tmp[136]) ^ tmp[51] & (tmp[41] ^ tmp[149] & ~(tmp[64] ^ tmp[192])); + tmp[64] = ~tmp[66]; + tmp[151] = tmp[84] ^ tmp[58] ^ (tmp[81] ^ tmp[13] & ~tmp[20] ^ (tmp[112] | tmp[10] ^ (tmp[13] & tmp[202] ^ tmp[93])) ^ (tmp[63] | tmp[24] & (tmp[22] ^ tmp[142]) ^ tmp[101] ^ tmp[179] & (tmp[101] ^ (tmp[151] ^ tmp[142] & tmp[34])))); + tmp[20] = tmp[44] & tmp[13] ^ (tmp[22] ^ (tmp[24] ^ (tmp[106] | tmp[81]))) ^ tmp[179] & (tmp[202] ^ (tmp[13] | tmp[22] & tmp[142] ^ tmp[34])) ^ (tmp[102] ^ tmp[79] & (tmp[13] & tmp[20] ^ (tmp[10] ^ tmp[171]) ^ tmp[179] & (tmp[202] ^ tmp[20] & tmp[49]))); + tmp[142] = tmp[15] & ~tmp[111] ^ (tmp[29] ^ tmp[62] ^ tmp[17] & (tmp[137] ^ tmp[15] & (tmp[152] ^ tmp[90]))); + tmp[202] = ~tmp[64]; + tmp[173] = tmp[194] ^ (tmp[173] & tmp[49] ^ (tmp[15] & ~(tmp[13] & (tmp[194] ^ tmp[11]) ^ (tmp[139] ^ tmp[13] & (tmp[112] & tmp[76]))) ^ (tmp[135] ^ tmp[112] & ~(tmp[173] ^ (tmp[13] | (tmp[1] | tmp[131]) ^ tmp[168]))))); + tmp[158] ^= tmp[108] ^ (tmp[156] | tmp[73]); + tmp[73] = tmp[108] ^ (tmp[89] ^ tmp[156] & tmp[73]); + tmp[89] = ~tmp[20]; + tmp[168] = tmp[119] ^ (tmp[13] & ~(tmp[194] ^ tmp[75]) ^ (tmp[52] ^ tmp[112] & ~(tmp[13] & (tmp[77] ^ tmp[164] & tmp[168])) ^ tmp[15] & (tmp[139] ^ (tmp[112] & ~(tmp[194] ^ tmp[1] | tmp[13]) ^ (tmp[13] | tmp[183]))))); + tmp[56] = tmp[103] ^ (tmp[160] & (tmp[98] ^ (tmp[166] ^ tmp[138]) & tmp[88]) ^ (tmp[166] ^ (tmp[181] ^ (tmp[71] ^ tmp[138]) & tmp[88])) ^ tmp[140] & ~(tmp[50] ^ (tmp[132] ^ tmp[188] & tmp[181]) & tmp[88] ^ (tmp[203] | tmp[71] ^ (tmp[98] ^ tmp[56] | tmp[88])))); + tmp[35] = tmp[105] ^ ~tmp[113] & tmp[88] ^ (tmp[203] | tmp[91] ^ tmp[113] & tmp[59]) ^ (tmp[87] ^ tmp[140] & ~(tmp[50] ^ tmp[181] & tmp[71] ^ tmp[98] & tmp[200] & tmp[88] ^ (tmp[203] | tmp[35] ^ (tmp[132] ^ tmp[162]) & tmp[88]))); + tmp[111] = tmp[142] ^ (tmp[163] ^ tmp[0] & ~(tmp[17] & (tmp[31] ^ tmp[62] ^ tmp[15] & tmp[144]) ^ (tmp[15] & tmp[111] ^ (tmp[133] ^ tmp[94] & tmp[90])))); + tmp[163] = ~tmp[173]; + tmp[75] = tmp[183] ^ (tmp[13] & ~tmp[72] ^ (tmp[15] & (tmp[11] ^ tmp[72] & tmp[49] ^ tmp[112] & (tmp[76] ^ tmp[196] & tmp[49])) ^ (tmp[126] ^ tmp[112] & ~(tmp[1] ^ tmp[76] ^ tmp[49] & (tmp[77] ^ tmp[75]))))); + tmp[160] = tmp[91] ^ ((tmp[98] | tmp[200]) & tmp[88] ^ ((tmp[203] | tmp[150] ^ (tmp[177] | tmp[88])) ^ (tmp[23] ^ tmp[140] & ~(tmp[71] & tmp[88] ^ ~tmp[150] & (tmp[160] & tmp[88]))))); + tmp[18] ^= tmp[2] ^ ((tmp[156] | tmp[123] ^ tmp[172]) ^ (tmp[149] | tmp[38] ^ tmp[156] & tmp[61]) ^ tmp[78] & (tmp[156] & ~tmp[122] ^ (tmp[149] | tmp[156] & ~(tmp[24] ^ tmp[42]) ^ (tmp[123] ^ (tmp[42] | tmp[9]))))); + tmp[150] = ~tmp[73]; + tmp[71] = tmp[66] ^ tmp[73]; + tmp[141] ^= tmp[19] ^ tmp[26] & tmp[192]; + tmp[23] = tmp[64] & tmp[168]; + tmp[200] = tmp[73] | tmp[56]; + tmp[98] = tmp[151] | tmp[35]; + tmp[91] = ~tmp[168]; + tmp[11] = tmp[168] ^ tmp[18]; + tmp[126] = ~tmp[56]; + tmp[183] = ~tmp[35]; + tmp[117] = tmp[40] ^ (tmp[204] ^ (tmp[188] & tmp[53] ^ tmp[197] & tmp[104]) ^ (tmp[88] | (tmp[92] ^ tmp[53]) & tmp[14] ^ (tmp[174] ^ tmp[65])) ^ tmp[27] & (tmp[92] ^ (tmp[197] | tmp[129]) ^ (tmp[88] | tmp[197] & tmp[188] ^ tmp[174] & (tmp[117] ^ tmp[14])))); + tmp[188] = tmp[168] | tmp[18]; + tmp[40] = tmp[168] & tmp[18]; + tmp[113] = tmp[56] & tmp[150]; + tmp[87] = ~tmp[111]; + tmp[195] = tmp[97] ^ (tmp[182] & (tmp[17] & (tmp[128] ^ tmp[15] & (tmp[133] ^ tmp[195])) ^ (tmp[128] ^ tmp[15] & ~tmp[167])) ^ (tmp[144] ^ (tmp[31] ^ (tmp[15] & (tmp[137] ^ tmp[195]) ^ (tmp[196] | tmp[15] & tmp[133] ^ tmp[128]))))); + tmp[152] = tmp[148] ^ (tmp[31] & (tmp[15] & tmp[115]) ^ (tmp[90] ^ (tmp[133] ^ (tmp[196] | ~tmp[15] & (tmp[152] ^ tmp[62])))) ^ (tmp[0] | (tmp[15] | tmp[167]) ^ (tmp[167] ^ tmp[15] & tmp[17] & ~(tmp[94] ^ tmp[4])))); + tmp[50] = (tmp[203] | tmp[105] & tmp[59]) ^ (tmp[88] ^ (tmp[177] ^ (tmp[32] ^ tmp[140] & ((tmp[146] ^ tmp[162] | (tmp[203] | tmp[88])) ^ (tmp[146] ^ (tmp[181] & tmp[50] ^ tmp[50] & tmp[88])))))); + tmp[162] = tmp[66] | tmp[200]; + tmp[146] = ~tmp[160]; + tmp[65] = ~tmp[197] & tmp[174] ^ ~tmp[80] & tmp[14] ^ ((tmp[88] | tmp[204] ^ tmp[197] & ~(tmp[174] ^ tmp[60])) ^ (tmp[7] ^ tmp[27] & (tmp[59] | ~(tmp[204] ^ tmp[65])))); + tmp[60] = ~tmp[141]; + tmp[192] = tmp[19] ^ (tmp[185] ^ tmp[156] & ~tmp[192]); + tmp[185] = tmp[18] & tmp[91]; + tmp[19] = tmp[73] & tmp[126]; + tmp[7] = tmp[151] & tmp[183]; + tmp[32] = tmp[151] | tmp[117]; + tmp[177] = ~tmp[151] & tmp[117]; + tmp[105] = tmp[35] | tmp[117]; + tmp[3] = (tmp[149] | tmp[3] ^ tmp[86]) ^ (tmp[172] ^ (tmp[24] ^ tmp[156] & ~tmp[107])) ^ (tmp[55] ^ tmp[78] & ~(tmp[61] ^ tmp[26] & tmp[107] ^ tmp[5] & (tmp[175] ^ (tmp[16] ^ tmp[3])))); + tmp[39] = tmp[37] ^ (tmp[49] & (tmp[77] ^ (tmp[1] | tmp[196] & ~tmp[77])) ^ (tmp[112] & (tmp[119] ^ tmp[13] & ~tmp[37]) ^ (tmp[30] ^ tmp[15] & ~(tmp[112] & (tmp[83] ^ (tmp[13] | tmp[119])) ^ (tmp[131] ^ (tmp[72] ^ (tmp[13] | tmp[76] ^ tmp[39]))))))); + tmp[76] = tmp[66] | tmp[113]; + tmp[150] = tmp[168] & (tmp[64] | tmp[150]); + tmp[119] = tmp[163] & tmp[195]; + tmp[72] = tmp[173] | tmp[195]; + tmp[125] ^= tmp[165] ^ tmp[14] ^ (tmp[109] ^ ((tmp[134] | tmp[28] ^ (tmp[165] | tmp[14])) ^ tmp[57] & (tmp[14] & ~tmp[118] ^ tmp[12] ^ (tmp[134] | tmp[21] ^ tmp[48] ^ tmp[190] & tmp[14])))); + tmp[83] = tmp[75] & tmp[146]; + tmp[131] = tmp[151] ^ tmp[117]; + tmp[37] = tmp[168] & ~tmp[18]; + tmp[113] ^= tmp[64] & tmp[200]; + tmp[77] = tmp[173] ^ tmp[195]; + tmp[30] = ~tmp[152]; + tmp[49] = tmp[152] ^ tmp[50]; + tmp[107] = tmp[64] & tmp[19]; + tmp[26] = tmp[35] | tmp[32]; + tmp[55] = tmp[35] | tmp[177]; + tmp[115] = tmp[192] | tmp[39]; + tmp[90] = ~tmp[192]; + tmp[148] = tmp[163] & tmp[125]; + tmp[29] = tmp[142] ^ (tmp[46] ^ tmp[182] & (tmp[133] ^ tmp[15] & tmp[167] ^ tmp[17] & (tmp[31] ^ tmp[4] ^ tmp[15] & ~(tmp[133] ^ tmp[62] & ~tmp[29])))); + tmp[74] = tmp[12] ^ tmp[6] & (tmp[21] ^ tmp[14] & (tmp[182] | ~tmp[165])) ^ (tmp[190] & tmp[104] ^ (tmp[187] ^ tmp[57] & (tmp[47] ^ ((tmp[14] | tmp[27] ^ tmp[182] & (tmp[27] & tmp[74])) ^ tmp[6] & (tmp[145] ^ tmp[14] & (tmp[182] & tmp[165] ^ tmp[48])))))); + tmp[118] = (tmp[134] | tmp[182] & (tmp[27] ^ tmp[14])) ^ (tmp[12] ^ (tmp[14] & tmp[47] ^ (tmp[198] ^ (tmp[31] | tmp[6] & (tmp[27] ^ tmp[21] ^ tmp[14] & ~tmp[28]) ^ (tmp[0] & tmp[145] ^ tmp[14] & ~(tmp[27] ^ tmp[118])))))); + tmp[28] = tmp[151] & ~tmp[117]; + tmp[21] = tmp[105] ^ tmp[131]; + tmp[198] = tmp[183] & tmp[131]; + tmp[47] = ~tmp[3]; + tmp[182] = tmp[173] & ~tmp[195]; + tmp[12] = tmp[50] & tmp[30]; + tmp[57] = tmp[39] & tmp[90]; + tmp[187] = tmp[37] | tmp[29]; + tmp[104] = tmp[39] & tmp[74]; + tmp[190] = tmp[90] & tmp[74]; + tmp[133] = tmp[73] & ~tmp[19]; + tmp[38] = tmp[42] ^ tmp[78] & (tmp[63] ^ tmp[156] & tmp[176] ^ (tmp[149] | tmp[123] ^ tmp[61] ^ tmp[156] & ~(tmp[38] ^ tmp[123]))) ^ (tmp[201] ^ (tmp[156] & ((tmp[24] | tmp[42]) ^ tmp[9]) ^ (tmp[199] ^ tmp[5] & (tmp[2] ^ tmp[156] & ~(tmp[176] ^ tmp[178]))))); + tmp[61] = tmp[74] & ~tmp[39]; + tmp[2] = ~tmp[29]; + tmp[9] = tmp[192] ^ tmp[74]; + tmp[199] = tmp[39] ^ tmp[74]; + tmp[165] = tmp[116] ^ ((tmp[109] ^ tmp[184] | tmp[14]) ^ ((tmp[134] | tmp[143] ^ tmp[116] & tmp[14]) ^ (tmp[70] ^ (tmp[31] | tmp[143] ^ tmp[14] & (tmp[43] ^ tmp[147] & ~tmp[145]) ^ tmp[6] & (tmp[143] ^ tmp[14] & ~((tmp[0] | tmp[165]) ^ tmp[48])))))); + tmp[48] = tmp[151] ^ tmp[198]; + tmp[122] = tmp[123] ^ tmp[178] ^ (tmp[5] & (tmp[201] ^ (tmp[172] ^ tmp[156] & (tmp[123] ^ (tmp[42] | tmp[63])))) ^ (tmp[156] & (tmp[42] | ~tmp[175]) ^ (tmp[100] ^ tmp[78] & ~((tmp[149] | tmp[16] ^ (tmp[201] ^ tmp[156] & tmp[122])) ^ (tmp[176] ^ tmp[172] ^ tmp[156] & (tmp[42] ^ tmp[86])))))); + tmp[86] = tmp[168] & ~tmp[37]; + tmp[201] = tmp[152] ^ tmp[12]; + tmp[172] = tmp[90] & tmp[104]; + tmp[176] = tmp[87] & tmp[190]; + tmp[16] = tmp[66] | tmp[133]; + tmp[120] = tmp[170] ^ (tmp[159] ^ tmp[197] & ~tmp[155]) ^ (tmp[59] & (tmp[25] ^ tmp[197] & ~tmp[129]) ^ (tmp[130] ^ tmp[27] & ~((tmp[88] | tmp[25] ^ tmp[120]) ^ (tmp[204] ^ (tmp[174] ^ tmp[120]))))); + tmp[25] = tmp[111] & (tmp[151] ^ tmp[26]); + tmp[204] = tmp[50] & tmp[38]; + tmp[129] = tmp[152] | tmp[38]; + tmp[30] &= tmp[38]; + tmp[155] = tmp[90] & tmp[61]; + tmp[130] = tmp[168] & tmp[2]; + tmp[159] = tmp[37] & tmp[2]; + tmp[123] = tmp[185] & tmp[2]; + tmp[175] = tmp[37] ^ (tmp[185] | tmp[29]); + tmp[100] = tmp[39] & ~tmp[74]; + tmp[5] = tmp[192] | tmp[199]; + tmp[178] = tmp[90] & tmp[199]; + tmp[145] = tmp[151] ^ (tmp[35] | tmp[28]); + tmp[43] = tmp[160] | tmp[122]; + tmp[143] = tmp[160] & tmp[122]; + tmp[6] = tmp[75] & tmp[122]; + tmp[116] = ~tmp[38]; + tmp[70] = tmp[152] ^ tmp[38]; + tmp[184] = tmp[173] & ~tmp[182]; + tmp[109] = tmp[199] ^ tmp[5]; + tmp[4] = tmp[115] ^ tmp[199]; + tmp[167] = tmp[163] & tmp[120]; + tmp[17] = tmp[173] | tmp[120]; + tmp[46] = tmp[173] & tmp[120]; + tmp[142] = tmp[77] | tmp[120]; + tmp[128] = tmp[125] & tmp[120]; + tmp[137] = ~tmp[122]; + tmp[144] = tmp[160] ^ tmp[122]; + tmp[97] = tmp[50] & tmp[30]; + tmp[138] = ~tmp[120]; + tmp[166] = tmp[173] ^ tmp[120]; + tmp[103] = tmp[152] & tmp[116]; + tmp[164] = tmp[129] & tmp[116]; + tmp[139] = ~(tmp[152] & tmp[38]); + tmp[52] = tmp[168] ^ tmp[40] & tmp[2]; + tmp[108] = tmp[168] ^ tmp[130]; + tmp[135] = tmp[185] ^ tmp[130]; + tmp[171] = tmp[111] | tmp[109]; + tmp[109] &= tmp[87]; + tmp[10] = tmp[125] & tmp[46]; + tmp[34] = tmp[160] & tmp[137]; + tmp[81] = tmp[43] & tmp[137]; + tmp[137] &= tmp[75]; + tmp[179] = tmp[160] ^ tmp[6]; + tmp[44] = tmp[40] ^ (tmp[29] | tmp[86]); + tmp[79] = ~tmp[167]; + tmp[102] = tmp[167] ^ tmp[128]; + tmp[101] = tmp[173] & tmp[138]; + tmp[93] = tmp[50] & tmp[103]; + tmp[58] = tmp[50] & ~tmp[129]; + tmp[84] = tmp[38] & tmp[139]; + tmp[136] = tmp[75] & tmp[34]; + tmp[193] = tmp[122] & ~tmp[143]; + tmp[41] = tmp[152] ^ tmp[50] & tmp[70]; + tmp[85] = tmp[120] & tmp[79]; + tmp[79] &= tmp[125]; + tmp[51] = tmp[195] & tmp[101]; + tmp[8] = tmp[6] ^ tmp[34]; + tmp[127] = ~tmp[81]; + tmp[99] = tmp[160] ^ tmp[137]; + tmp[169] = tmp[125] ^ tmp[101]; + tmp[170] = tmp[14] ^ (tmp[92] ^ (tmp[53] ^ tmp[197] & tmp[161])) ^ (tmp[59] & (tmp[197] ^ tmp[92] ^ tmp[92] & tmp[161]) ^ (tmp[154] ^ tmp[27] & ~(tmp[92] ^ ~tmp[174] & tmp[14] ^ tmp[197] & ~(tmp[80] ^ tmp[161]) ^ (tmp[88] | tmp[92] ^ (tmp[53] ^ (tmp[67] & tmp[14] ^ tmp[197] & ~(tmp[53] ^ tmp[170]))))))); + tmp[67] = tmp[50] & ~tmp[84]; + tmp[161] = tmp[125] & ~tmp[85]; + tmp[80] = tmp[101] ^ tmp[79] ^ tmp[68] & tmp[169]; + tmp[189] ^= tmp[165] & (tmp[98] ^ tmp[177] ^ tmp[25]) ^ (tmp[111] & ~(tmp[183] & tmp[177]) ^ tmp[145] ^ (tmp[192] | tmp[117] ^ tmp[111] & (tmp[98] ^ tmp[32]) ^ (tmp[35] | tmp[151] & ~tmp[28]))); + tmp[174] = tmp[167] ^ tmp[161]; + tmp[161] ^= tmp[46]; + tmp[98] = tmp[88] ^ tmp[165] & ~(tmp[32] ^ tmp[55] ^ tmp[111] & tmp[21]) ^ (tmp[21] ^ tmp[87] & tmp[48] ^ tmp[90] & (tmp[145] ^ (tmp[111] | tmp[28] ^ tmp[198]) ^ tmp[165] & (tmp[35] ^ tmp[131] ^ tmp[111] & (tmp[98] ^ tmp[131])))); + tmp[121] ^= tmp[66] ^ tmp[56] & tmp[91] ^ (tmp[118] & (tmp[168] & ~(tmp[64] & tmp[73]) ^ tmp[107]) ^ tmp[65] & (tmp[118] & ~(tmp[73] ^ tmp[150]) ^ (tmp[73] ^ tmp[168] & ~(tmp[56] ^ tmp[162])))); + tmp[107] = tmp[76] ^ tmp[150] ^ tmp[133] ^ (tmp[14] ^ tmp[118] & ~((tmp[168] | tmp[71]) ^ tmp[113])) ^ tmp[65] & ~(tmp[118] & (tmp[150] ^ tmp[113]) ^ (tmp[202] & (tmp[73] ^ tmp[56]) ^ tmp[168] & ~(tmp[56] ^ tmp[107]))); + tmp[113] = ~tmp[121]; + tmp[150] = tmp[98] & tmp[107]; + tmp[14] = (tmp[3] | tmp[195] ^ tmp[142] ^ tmp[35] & (tmp[184] ^ tmp[17])) ^ (tmp[120] ^ tmp[184] ^ tmp[35] & ~(tmp[184] ^ tmp[195] & tmp[138])); + tmp[104] = tmp[196] ^ ((tmp[38] | tmp[61] ^ tmp[172] ^ tmp[87] & (tmp[104] ^ tmp[155]) ^ tmp[50] & (tmp[190] ^ tmp[87] & tmp[4])) ^ (tmp[50] & (tmp[176] ^ (tmp[192] | tmp[100])) ^ ((tmp[39] | tmp[74]) ^ tmp[178] ^ (tmp[111] | tmp[172] ^ tmp[74] & ~tmp[61])))); + tmp[23] = tmp[168] & tmp[126] ^ (tmp[73] ^ tmp[64] & tmp[56]) ^ ((tmp[66] ^ tmp[23]) & tmp[118] ^ (tmp[194] ^ tmp[65] & ((tmp[23] ^ tmp[200] ^ tmp[76]) & tmp[118] ^ (tmp[168] & tmp[200] ^ (tmp[19] ^ tmp[16]))))); + tmp[76] = ~tmp[107]; + tmp[7] = tmp[35] ^ tmp[177] ^ tmp[111] & ~(tmp[117] ^ tmp[105]) ^ (tmp[165] & ~(tmp[32] ^ tmp[117] & tmp[7]) ^ (tmp[134] ^ (tmp[192] | tmp[117] ^ tmp[111] & (tmp[151] ^ tmp[55]) ^ tmp[165] & (tmp[117] ^ tmp[7] ^ tmp[111] & ~tmp[21])))); + tmp[163] = tmp[47] & (tmp[35] & tmp[163] ^ tmp[72] ^ (tmp[119] | tmp[120])) ^ (tmp[182] ^ tmp[119] & tmp[138] ^ tmp[35] & ~(tmp[119] ^ tmp[51])); + tmp[183] = tmp[182] ^ tmp[120] ^ tmp[35] & ~tmp[142] ^ tmp[47] & (tmp[195] ^ (tmp[142] ^ tmp[183] & (tmp[72] ^ tmp[101]))); + tmp[142] = tmp[107] & tmp[7]; + tmp[202] = tmp[49] ^ (tmp[66] & ~tmp[97] ^ (tmp[65] & (tmp[64] | ~(tmp[204] ^ tmp[30])) ^ (tmp[197] ^ (tmp[141] | tmp[38] ^ tmp[202] & tmp[204] ^ tmp[65] & ~(tmp[152] ^ tmp[66] & tmp[12]))))); + tmp[30] = ~tmp[104]; + tmp[19] = tmp[200] ^ tmp[168] & ~(tmp[73] ^ (tmp[66] | tmp[73])) ^ tmp[16] ^ (tmp[118] & ~(tmp[71] ^ tmp[91] & (tmp[66] ^ tmp[133])) ^ (tmp[63] ^ tmp[65] & ~(tmp[91] & (tmp[200] ^ tmp[162]) ^ tmp[118] & ~(tmp[168] & ~tmp[71] ^ (tmp[73] & tmp[56] ^ (tmp[66] | tmp[19])))))); + tmp[71] = tmp[107] ^ tmp[7]; + tmp[48] = tmp[21] ^ tmp[111] & tmp[145] ^ (tmp[165] & ~(tmp[111] & ~tmp[26]) ^ (tmp[112] ^ tmp[90] & (tmp[117] ^ tmp[25] ^ tmp[165] & (tmp[117] ^ (tmp[35] | tmp[131]) ^ tmp[111] & ~tmp[48])))); + tmp[51] = (tmp[3] | tmp[72] & tmp[138] ^ tmp[35] & (tmp[119] ^ tmp[101])) ^ (tmp[77] ^ ((tmp[72] | tmp[120]) ^ tmp[35] & ~(tmp[184] ^ tmp[51]))); + tmp[5] = (tmp[111] | tmp[57]) ^ (tmp[9] ^ (tmp[50] & ~(tmp[111] & tmp[190] ^ tmp[4]) ^ (tmp[78] ^ tmp[116] & (tmp[50] & (tmp[176] ^ tmp[155]) ^ (tmp[100] ^ tmp[5] ^ tmp[87] & (tmp[57] ^ tmp[100])))))); + tmp[176] = ~tmp[19]; + tmp[171] = tmp[39] ^ ((tmp[192] | tmp[74]) ^ ((tmp[111] | tmp[9]) ^ (tmp[50] & ~(tmp[199] ^ (tmp[87] & (tmp[115] ^ tmp[74]) ^ tmp[178])) ^ (tmp[203] ^ (tmp[38] | tmp[57] ^ tmp[199] ^ tmp[171] ^ tmp[50] & (tmp[74] ^ tmp[171])))))); + tmp[1] ^= tmp[163] ^ ~tmp[165] & tmp[14]; + tmp[81] = (tmp[29] | tmp[20] & (tmp[75] ^ tmp[146] & tmp[122])) ^ (tmp[20] & tmp[137] ^ tmp[8]) ^ (tmp[42] ^ tmp[125] & ~((tmp[29] | tmp[179] ^ tmp[89] & (tmp[75] ^ tmp[143])) ^ (tmp[81] ^ (tmp[20] | tmp[137] ^ tmp[193])))); + tmp[100] = tmp[199] ^ ((tmp[192] | tmp[61]) ^ (tmp[87] & (tmp[39] ^ tmp[155]) ^ (tmp[50] & ~(tmp[115] ^ tmp[109]) ^ (tmp[27] ^ (tmp[38] | ~tmp[87] & tmp[155] ^ tmp[50] & (tmp[192] ^ tmp[100] ^ tmp[109])))))); + tmp[109] = ~tmp[5]; + tmp[181] ^= tmp[51] ^ tmp[165] & tmp[183]; + tmp[34] = tmp[75] & tmp[127] ^ (tmp[20] ^ tmp[193]) ^ (tmp[160] & tmp[2] ^ (tmp[15] ^ tmp[125] & ~(tmp[143] ^ tmp[136] ^ (tmp[29] | tmp[8] ^ tmp[89] & (tmp[34] ^ tmp[137]))))); + tmp[99] ^= tmp[20] & tmp[127] ^ ((tmp[29] | tmp[6] ^ tmp[89] & tmp[122]) ^ (tmp[140] ^ tmp[125] & ~(tmp[20] & ~(tmp[43] ^ tmp[137]) ^ tmp[2] & (tmp[160] ^ tmp[20] & tmp[99])))); + tmp[130] = tmp[168] ^ tmp[29] ^ ~(tmp[168] ^ (tmp[18] | tmp[29])) & tmp[170] ^ (tmp[20] & (~tmp[135] & tmp[170] ^ ((tmp[11] | tmp[29]) ^ tmp[86] ^ tmp[73] & (tmp[37] ^ tmp[130] ^ tmp[130] & tmp[170]))) ^ (tmp[92] ^ tmp[73] & ~(tmp[11] ^ (tmp[185] ^ tmp[159]) & ~tmp[170]))); + tmp[52] = tmp[73] & (~(tmp[185] ^ tmp[123]) | tmp[170]) ^ (tmp[175] ^ ~tmp[52] & tmp[170]) ^ (tmp[22] ^ tmp[20] & ~(tmp[73] & (tmp[175] ^ ~tmp[108] & tmp[170]) ^ (tmp[185] ^ (tmp[159] ^ tmp[52] & tmp[170])))); + tmp[51] ^= (tmp[165] | tmp[183]) ^ tmp[0]; + tmp[14] = tmp[163] ^ (tmp[24] ^ tmp[165] & ~tmp[14]); + tmp[129] = tmp[38] ^ ((tmp[66] | tmp[50] & tmp[116] ^ tmp[164]) ^ (tmp[67] ^ (tmp[132] ^ tmp[65] & ~((tmp[66] | tmp[129] ^ tmp[97]) ^ (tmp[129] ^ tmp[58])) ^ tmp[60] & (tmp[65] & ((tmp[66] | tmp[152]) ^ tmp[201]) ^ (tmp[38] ^ (tmp[152] ^ ((tmp[66] | tmp[152] ^ tmp[204]) ^ tmp[93]))))))); + tmp[135] = tmp[188] ^ (tmp[123] ^ tmp[2] & tmp[170]) ^ (tmp[73] & ~(tmp[18] & tmp[2] ^ ~(tmp[40] ^ tmp[187]) & tmp[170]) ^ (tmp[94] ^ tmp[20] & ~(tmp[18] ^ tmp[29] ^ tmp[44] & tmp[170] ^ tmp[73] & (tmp[135] ^ ~(tmp[168] | tmp[29]) & tmp[170])))); + tmp[40] = tmp[171] | tmp[181]; + tmp[8] = tmp[122] ^ tmp[75] & tmp[43] ^ tmp[20] & (tmp[160] ^ tmp[136]) ^ ((tmp[29] | tmp[179] ^ tmp[20] & tmp[75] & tmp[144]) ^ (tmp[147] ^ tmp[125] & ~(tmp[160] ^ tmp[83] ^ tmp[20] & (tmp[83] ^ tmp[144]) ^ tmp[2] & (tmp[179] ^ tmp[20] & tmp[8])))); + tmp[144] = tmp[76] & tmp[130]; + tmp[83] = tmp[107] | tmp[130]; + tmp[179] = tmp[98] & tmp[130]; + tmp[136] = ~tmp[181]; + tmp[43] = ~tmp[34]; + tmp[147] = ~tmp[99]; + tmp[94] = tmp[181] | tmp[129]; + tmp[132] = ~tmp[171] & tmp[129]; + tmp[116] = tmp[171] | tmp[129]; + tmp[24] = ~tmp[130]; + tmp[163] = tmp[107] ^ tmp[130]; + tmp[0] = tmp[30] & tmp[135]; + tmp[183] = ~tmp[51]; + tmp[175] = ~tmp[14]; + tmp[185] = ~tmp[129]; + tmp[22] = tmp[171] ^ tmp[129]; + tmp[86] = ~tmp[135]; + tmp[92] = tmp[171] & tmp[136]; + tmp[137] = tmp[136] & tmp[132]; + tmp[89] = tmp[98] & tmp[24]; + tmp[6] = tmp[107] & tmp[24]; + tmp[138] = (tmp[180] | tmp[173]) ^ tmp[166] ^ (tmp[125] ^ (tmp[122] & (tmp[125] & tmp[167] ^ (tmp[180] | tmp[166])) ^ (tmp[53] ^ tmp[158] & (tmp[173] ^ tmp[122] & ~(tmp[173] ^ (tmp[148] ^ tmp[125] & (tmp[68] & tmp[138]))))))); + tmp[53] = tmp[171] & tmp[185]; + tmp[201] = tmp[50] ^ (tmp[84] ^ (tmp[65] & ((tmp[66] | tmp[49]) ^ tmp[93]) ^ (tmp[64] & (tmp[103] ^ tmp[50] & tmp[139]) ^ (tmp[31] ^ tmp[60] & ((tmp[66] | tmp[164] ^ tmp[93]) ^ (tmp[204] ^ tmp[65] & ~(tmp[66] & ~tmp[201] ^ tmp[41]))))))); + tmp[93] = tmp[98] ^ tmp[163]; + tmp[2] = tmp[11] ^ ~tmp[123] & tmp[170] ^ (tmp[73] & (tmp[11] & tmp[29] ^ ~tmp[44] & tmp[170]) ^ (tmp[156] ^ tmp[20] & ~(tmp[37] ^ tmp[187] ^ ~(tmp[168] ^ tmp[188] & tmp[2]) & tmp[170] ^ tmp[73] & ~(tmp[11] ^ tmp[159] ^ tmp[108] & tmp[170])))); + tmp[188] = tmp[22] ^ tmp[92]; + tmp[108] = tmp[98] & tmp[6]; + tmp[159] = tmp[129] & tmp[136] ^ tmp[53]; + tmp[11] = tmp[136] & tmp[53]; + tmp[187] = tmp[107] & tmp[201]; + tmp[37] = tmp[76] & tmp[201]; + tmp[44] = tmp[107] | tmp[201]; + tmp[123] = tmp[142] & tmp[201]; + tmp[128] = tmp[46] ^ (tmp[125] & tmp[101] ^ (tmp[68] & (tmp[148] ^ tmp[17]) ^ (tmp[122] & (tmp[46] ^ (tmp[148] ^ tmp[68] & (tmp[167] ^ tmp[125] & tmp[17]))) ^ (tmp[62] ^ tmp[158] & ~(tmp[68] & tmp[102] ^ tmp[122] & (tmp[166] ^ (tmp[128] ^ (tmp[180] | tmp[17] ^ tmp[128])))))))); + tmp[80] = tmp[161] ^ ((tmp[180] | tmp[102]) ^ (tmp[122] & ~tmp[80] ^ (tmp[149] ^ tmp[158] & ~(tmp[173] ^ (tmp[68] & tmp[125] ^ tmp[79] ^ tmp[122] & tmp[80]))))); + tmp[79] = ~tmp[138]; + tmp[149] = ~tmp[201]; + tmp[102] = tmp[107] ^ tmp[201]; + tmp[41] = tmp[97] ^ tmp[164] ^ ((tmp[66] | tmp[152] ^ tmp[67]) ^ (tmp[65] & (tmp[152] ^ tmp[58] ^ (tmp[66] | tmp[84] ^ tmp[50] & ~tmp[70])) ^ (tmp[106] ^ (tmp[141] | (tmp[66] | tmp[84] ^ tmp[67]) ^ (tmp[84] ^ (tmp[67] ^ tmp[65] & (tmp[152] ^ (tmp[12] ^ (tmp[66] | tmp[41]))))))))); + tmp[12] = tmp[8] & tmp[187]; + tmp[70] = tmp[30] & tmp[128]; + tmp[67] = tmp[135] | tmp[128]; + tmp[84] = tmp[135] & tmp[128]; + tmp[58] = tmp[104] | tmp[128]; + tmp[106] = ~tmp[189] & tmp[80]; + tmp[164] = tmp[109] & tmp[80]; + tmp[97] = tmp[5] & tmp[80]; + tmp[166] = tmp[81] & tmp[80]; + tmp[167] = tmp[171] & ~tmp[53]; + tmp[148] = tmp[107] & tmp[149]; + tmp[46] = tmp[7] & tmp[149]; + tmp[62] = tmp[187] ^ tmp[123]; + tmp[101] = tmp[107] ^ tmp[98] & ~tmp[163]; + tmp[156] = tmp[135] ^ tmp[128]; + tmp[204] = tmp[0] ^ tmp[128]; + tmp[139] = ~tmp[80]; + tmp[60] = tmp[189] ^ tmp[80]; + tmp[103] = tmp[5] ^ tmp[80]; + tmp[49] = tmp[19] & tmp[41]; + tmp[31] = tmp[185] & tmp[106]; + tmp[64] = tmp[81] & tmp[164]; + tmp[140] = tmp[81] & tmp[97]; + tmp[127] = tmp[84] ^ (tmp[104] | tmp[67]); + tmp[143] = tmp[30] & tmp[156]; + tmp[15] = tmp[189] & tmp[139]; + tmp[193] = tmp[5] & tmp[139]; + tmp[87] = tmp[81] & tmp[139]; + tmp[155] = tmp[113] & tmp[60]; + tmp[115] = tmp[129] | tmp[60]; + tmp[27] = ~tmp[148]; + tmp[61] = tmp[187] ^ tmp[46]; + tmp[199] = tmp[7] & ~tmp[102]; + tmp[146] = tmp[34] ^ tmp[204]; + tmp[169] = tmp[17] ^ (tmp[10] ^ ((tmp[180] | tmp[174]) ^ (tmp[122] & ~(tmp[10] ^ tmp[85] ^ tmp[68] & tmp[174]) ^ (tmp[13] ^ tmp[158] & ~((tmp[180] | tmp[169]) ^ tmp[161] ^ tmp[122] & ~(tmp[169] ^ tmp[180] & ~tmp[169])))))); + tmp[161] = tmp[19] ^ tmp[49]; + tmp[174] = tmp[129] | tmp[15]; + tmp[68] = tmp[81] & tmp[193]; + tmp[85] = tmp[81] & ~tmp[164]; + tmp[10] = tmp[164] ^ tmp[81] & (tmp[5] | tmp[80]); + tmp[13] = tmp[107] & tmp[27]; + tmp[17] = tmp[19] | tmp[169]; + tmp[42] = tmp[19] & tmp[169]; + tmp[57] = tmp[176] & tmp[169]; + tmp[178] = tmp[43] & tmp[169]; + tmp[203] = tmp[1] & tmp[169]; + tmp[9] = tmp[34] | tmp[169]; + tmp[190] = ~tmp[193]; + tmp[4] = tmp[5] ^ tmp[87]; + tmp[78] = ~tmp[169]; + tmp[184] = tmp[19] ^ tmp[169]; + tmp[119] = tmp[34] ^ tmp[169]; + tmp[72] = tmp[43] & (tmp[135] ^ tmp[143]); + tmp[77] = tmp[1] & (tmp[34] & tmp[169]); + tmp[131] = tmp[1] & tmp[178]; + tmp[113] &= tmp[189] ^ tmp[115]; + tmp[27] = tmp[201] ^ tmp[7] & tmp[27]; + tmp[25] = tmp[41] & tmp[78]; + tmp[26] = tmp[19] & tmp[78]; + tmp[90] = tmp[34] & tmp[78]; + tmp[112] = tmp[203] ^ tmp[9]; + tmp[145] = tmp[203] ^ tmp[119]; + tmp[21] = tmp[178] | tmp[78]; + tmp[162] = tmp[7] & ~tmp[13]; + tmp[200] = tmp[58] ^ tmp[156] ^ tmp[34] & (tmp[128] ^ tmp[143]); + tmp[91] = tmp[169] & ~tmp[42]; + tmp[133] = tmp[1] & tmp[21]; + tmp[63] = tmp[1] & ~tmp[9]; + tmp[16] = tmp[42] ^ tmp[41] & tmp[184]; + tmp[185] = tmp[106] ^ (tmp[121] | tmp[189] ^ (tmp[129] | tmp[106])) ^ tmp[99] & ~(tmp[155] ^ ~tmp[185] & tmp[15]); + tmp[155] = tmp[99] & ~(tmp[31] ^ (tmp[60] ^ tmp[155])) ^ (tmp[189] ^ tmp[174] ^ (tmp[121] | tmp[189] & tmp[80] ^ tmp[174])); + tmp[106] = tmp[41] & ~tmp[91]; + tmp[115] = (tmp[121] | tmp[60] ^ tmp[115]) ^ ((tmp[189] | tmp[80]) ^ tmp[174]) ^ tmp[99] & (tmp[189] ^ tmp[113]); + tmp[197] = tmp[48] & ~(tmp[178] ^ tmp[1] & tmp[78]); + tmp[182] = tmp[91] ^ tmp[106]; + tmp[15] = (tmp[121] | tmp[31] ^ tmp[189] & ~tmp[15]) ^ (tmp[129] ^ tmp[60] ^ tmp[99] & (tmp[174] ^ tmp[113])); + tmp[113] = tmp[48] & ~tmp[182]; + output[0] = tmp[145] ^ (tmp[48] & ~tmp[63] ^ (tmp[168] ^ tmp[104] & ~(tmp[178] ^ tmp[133]) ^ (tmp[23] | tmp[48] & ~tmp[90] ^ tmp[104] & ~(tmp[48] & (tmp[169] ^ tmp[203]) ^ (tmp[119] ^ tmp[77]))))); + output[1] = tmp[201]; + output[2] = tmp[132] ^ (tmp[11] ^ (tmp[99] & ~(tmp[171] ^ tmp[137]) ^ (tmp[24] & (tmp[40] ^ tmp[99] & tmp[129] & (tmp[171] ^ tmp[136])) ^ (tmp[50] ^ tmp[98] & ~(tmp[24] & (tmp[92] ^ tmp[99] & tmp[132]) ^ (tmp[53] ^ tmp[11] ^ tmp[99] & (tmp[22] ^ tmp[136] & (tmp[171] & tmp[129])))))))); + output[3] = tmp[169]; + output[4] = tmp[94] ^ tmp[22] ^ (tmp[99] & tmp[116] ^ ((tmp[130] | tmp[171] ^ tmp[40] ^ tmp[99] & (tmp[171] ^ tmp[94])) ^ (tmp[35] ^ tmp[98] & (tmp[147] & tmp[137] ^ (tmp[130] | tmp[40] ^ tmp[99] & ~tmp[94]))))); + output[5] = tmp[80]; + output[6] = tmp[176] & (tmp[81] ^ tmp[97]) ^ (tmp[68] ^ (tmp[164] ^ (tmp[2] & ~(tmp[164] ^ (tmp[68] ^ tmp[19] & ~tmp[4])) ^ (tmp[122] ^ (tmp[14] | tmp[193] ^ (tmp[64] ^ tmp[176] & (tmp[5] ^ tmp[81] & tmp[103])) ^ tmp[2] & ~(tmp[164] ^ (tmp[19] | tmp[81] ^ tmp[193]))))))); + output[7] = tmp[98]; + output[8] = (tmp[51] | tmp[8] & tmp[62] ^ (tmp[107] ^ tmp[7] & tmp[44])) ^ (tmp[76] & tmp[7] ^ tmp[201] ^ tmp[8] & ~tmp[62]) ^ (tmp[118] ^ tmp[100] & (tmp[71] ^ ~tmp[8] & (tmp[123] ^ tmp[148]) ^ tmp[183] & ((tmp[8] | tmp[44]) ^ tmp[61]))); + output[9] = tmp[135]; + output[10] = tmp[8] ^ (tmp[142] ^ tmp[187]) ^ (tmp[51] | tmp[27] ^ tmp[8] & ~(tmp[107] ^ tmp[7] & tmp[148])) ^ (tmp[74] ^ tmp[100] & (tmp[37] ^ tmp[46] ^ tmp[8] & (tmp[187] ^ tmp[7] & tmp[37]) ^ tmp[183] & (tmp[8] & ~tmp[187] ^ tmp[27]))); + output[11] = tmp[52]; + output[12] = (tmp[104] | tmp[84]) ^ (tmp[156] ^ tmp[34] & tmp[204]) ^ ((tmp[51] | tmp[30] & tmp[86] & tmp[128] ^ tmp[34] & ~tmp[143]) ^ (tmp[195] ^ tmp[149] & (tmp[135] ^ tmp[34] & ~tmp[204] ^ tmp[183] & (tmp[0] ^ tmp[72])))); + output[13] = tmp[121]; + output[14] = (tmp[48] | (tmp[1] ^ tmp[43]) & tmp[169]) ^ (tmp[104] & (tmp[178] ^ tmp[63] ^ tmp[197]) ^ (tmp[133] ^ (tmp[119] ^ (tmp[75] ^ ~tmp[23] & (tmp[77] ^ (tmp[48] | tmp[119]) ^ tmp[104] & ~(tmp[119] ^ (tmp[1] & tmp[90] ^ tmp[48] & ~tmp[119]))))))); + output[15] = tmp[202]; + output[16] = tmp[181] ^ (tmp[167] ^ (tmp[99] & (tmp[129] ^ tmp[11]) ^ tmp[24] & (tmp[116] ^ tmp[99] & tmp[188]) ^ (tmp[56] ^ tmp[98] & ~(tmp[159] ^ tmp[147] & (tmp[129] ^ (tmp[181] | tmp[53])) ^ (tmp[130] | tmp[132] ^ tmp[99] & (tmp[40] ^ tmp[167])))))); + output[17] = tmp[128]; + output[18] = tmp[48] & ~tmp[112] ^ (tmp[133] ^ (tmp[119] ^ (tmp[104] & ~(tmp[77] ^ tmp[48] & ~(tmp[178] ^ tmp[1] & tmp[9])) ^ (tmp[39] ^ (tmp[23] | tmp[119] ^ (tmp[131] ^ tmp[48] & tmp[112]) ^ tmp[104] & (tmp[131] ^ (tmp[178] ^ tmp[48] & ~tmp[145]))))))); + output[19] = tmp[41]; + output[20] = tmp[10] ^ (tmp[19] & tmp[190] ^ ((tmp[14] | tmp[19] & (tmp[5] & tmp[81] ^ tmp[97]) ^ (tmp[85] ^ tmp[5] & tmp[190])) ^ (tmp[3] ^ tmp[2] & ~(tmp[5] & (tmp[81] ^ tmp[139]) ^ tmp[19] & (tmp[5] ^ tmp[140]))))); + output[21] = tmp[189]; + output[22] = tmp[99] ^ (tmp[130] ^ (tmp[159] ^ (tmp[160] ^ tmp[98] & ~(tmp[94] ^ (tmp[171] & tmp[99] ^ tmp[116]) ^ tmp[24] & (tmp[94] ^ (tmp[99] | tmp[188])))))); + output[23] = tmp[138]; + output[24] = tmp[176] & tmp[41] ^ tmp[169] ^ ((tmp[52] | tmp[161] ^ tmp[48] & (tmp[49] ^ tmp[57]) ^ tmp[175] & (tmp[48] & (tmp[49] ^ tmp[169]) ^ tmp[16])) ^ (tmp[113] ^ (tmp[66] ^ (tmp[14] | tmp[19] & (tmp[41] ^ tmp[169]) ^ tmp[48] & (tmp[169] ^ tmp[106]))))); + output[25] = tmp[104]; + output[26] = tmp[111] ^ ((tmp[201] | tmp[51] & (tmp[58] ^ tmp[86] & tmp[67] ^ tmp[34] & (tmp[70] ^ tmp[156])) ^ tmp[200]) ^ (tmp[146] ^ tmp[51] & ~(tmp[156] ^ (tmp[70] ^ tmp[43] & (tmp[104] & tmp[84]))))); + output[27] = tmp[19]; + output[28] = tmp[130] ^ (tmp[150] ^ ((tmp[6] | tmp[138]) ^ (tmp[202] & (tmp[107] ^ tmp[98] & tmp[76] ^ tmp[98] & tmp[100] & ~tmp[83]) ^ (tmp[120] ^ tmp[100] & ~((tmp[179] ^ tmp[6]) & tmp[79] ^ tmp[101]))))); + output[29] = tmp[99]; + output[30] = tmp[146] ^ (tmp[183] & ((tmp[104] | tmp[135]) ^ tmp[156] ^ tmp[34] & tmp[127]) ^ (tmp[29] ^ (tmp[201] | tmp[200] ^ tmp[183] & (tmp[135] ^ (tmp[104] ^ tmp[72]))))); + output[31] = tmp[107]; + output[32] = tmp[98] ^ (tmp[6] ^ ((tmp[179] ^ tmp[163]) & tmp[79] ^ (tmp[100] & (tmp[138] | ~tmp[108]) ^ (tmp[65] ^ tmp[202] & ~(tmp[100] & tmp[108] ^ (tmp[6] ^ tmp[179] & tmp[79])))))); + output[33] = tmp[34]; + output[34] = tmp[15] ^ (tmp[192] ^ tmp[2] & ~tmp[155]); + output[35] = tmp[14]; + output[36] = tmp[34] ^ (tmp[77] ^ (tmp[48] & (tmp[1] ^ tmp[178]) ^ (tmp[104] & ~(tmp[90] ^ tmp[1] & tmp[119] ^ tmp[197]) ^ (tmp[173] ^ (tmp[23] | tmp[104] & (tmp[48] & tmp[21] ^ (tmp[1] & tmp[43] ^ tmp[90])) ^ (tmp[133] ^ (tmp[169] ^ tmp[197]))))))); + output[37] = tmp[129]; + output[38] = tmp[48] & ~(tmp[17] & tmp[78] ^ tmp[41] & ~tmp[17]) ^ tmp[182] ^ ((tmp[52] | tmp[17] ^ (tmp[48] & ((tmp[19] ^ tmp[41]) & tmp[78]) ^ (tmp[48] | tmp[14] | tmp[49] ^ tmp[17]))) ^ (tmp[20] ^ tmp[175] & (tmp[17] ^ tmp[41] & tmp[42] ^ tmp[48] & (tmp[26] ^ tmp[106])))); + output[39] = tmp[100]; + output[40] = tmp[152] ^ (tmp[135] ^ (tmp[104] ^ tmp[34] & (tmp[128] ^ tmp[70]))) ^ ((tmp[201] | tmp[34] & ~tmp[0] ^ tmp[128] ^ tmp[183] & (tmp[43] & tmp[128])) ^ tmp[183] & (tmp[127] ^ tmp[34] & ~tmp[127])); + output[41] = tmp[23]; + output[42] = tmp[19] ^ (tmp[48] ^ (tmp[25] ^ (~tmp[52] & (tmp[169] ^ tmp[48] & tmp[161] ^ tmp[175] & (tmp[26] ^ tmp[48] & (tmp[17] ^ tmp[25]))) ^ (tmp[151] ^ tmp[175] & (tmp[16] ^ tmp[48] & ~(tmp[91] ^ tmp[41] & ~tmp[184])))))); + output[43] = tmp[5]; + output[44] = tmp[41] & tmp[169] ^ tmp[184] ^ (tmp[48] & tmp[106] ^ ((tmp[52] | ~tmp[48] & tmp[42] ^ tmp[175] & (tmp[169] ^ tmp[48] & tmp[57])) ^ (tmp[180] ^ (tmp[14] | tmp[19] ^ tmp[41] & tmp[26] ^ tmp[113])))); + output[45] = tmp[171]; + output[46] = tmp[64] ^ tmp[193] ^ tmp[19] & ~tmp[87] ^ (tmp[2] & tmp[10] ^ (tmp[18] ^ (tmp[14] | tmp[164] ^ tmp[19] & (tmp[164] ^ tmp[85]) ^ tmp[2] & ~(tmp[81] ^ tmp[164] ^ tmp[19] & tmp[4])))); + output[47] = tmp[7]; + output[48] = tmp[141] ^ (~tmp[2] & tmp[155] ^ tmp[15]); + output[49] = tmp[1]; + output[50] = tmp[144] ^ tmp[89] ^ (tmp[202] & ~(tmp[98] & tmp[83] ^ (tmp[98] ^ tmp[107]) & (tmp[100] & tmp[130])) ^ ((tmp[138] | tmp[130] ^ tmp[98] & ~tmp[6]) ^ (tmp[117] ^ tmp[100] & ~(tmp[101] ^ (tmp[138] | tmp[144] ^ tmp[98] & ~tmp[144]))))); + output[51] = tmp[81]; + output[52] = tmp[115] ^ (tmp[158] ^ tmp[2] & tmp[185]); + output[53] = tmp[181]; + output[54] = tmp[93] ^ ((tmp[144] | tmp[138]) ^ (tmp[100] & ~(tmp[130] ^ tmp[89] ^ tmp[79] & (tmp[130] ^ tmp[108])) ^ (tmp[170] ^ tmp[202] & ~(tmp[100] & ((tmp[150] ^ tmp[76]) & tmp[130] ^ (tmp[138] | tmp[93])) ^ (tmp[144] ^ ((tmp[98] ^ tmp[130] | tmp[138]) ^ tmp[98] & (tmp[76] | tmp[6]))))))); + output[55] = tmp[8]; + output[56] = tmp[2] & ~(tmp[19] & tmp[140]) ^ (tmp[19] & (tmp[166] ^ tmp[103]) ^ tmp[4] ^ (tmp[38] ^ (tmp[14] | (tmp[81] ^ tmp[109]) & tmp[80] ^ tmp[19] & (tmp[97] ^ tmp[64]) ^ tmp[2] & (tmp[164] ^ (tmp[87] ^ tmp[19] & (tmp[166] ^ tmp[193])))))); + output[57] = tmp[48]; + output[58] = tmp[12] ^ (tmp[44] ^ tmp[162]) ^ ((tmp[51] | tmp[8] & ~(tmp[107] ^ tmp[123]) ^ (tmp[37] ^ tmp[199])) ^ (tmp[165] ^ tmp[100] & ~(tmp[183] & (tmp[37] ^ tmp[12] ^ tmp[7] & ~tmp[37]) ^ (tmp[201] ^ tmp[199] ^ tmp[8] & (tmp[201] ^ (tmp[107] ^ tmp[7] & ~tmp[44])))))); + output[59] = tmp[2]; + output[60] = tmp[125] ^ tmp[100] & ~(tmp[183] & (tmp[7] & tmp[201] ^ tmp[8] & tmp[37]) ^ (tmp[142] ^ tmp[8] & tmp[61])) ^ (tmp[71] ^ tmp[8] & (tmp[37] ^ tmp[7] & tmp[102]) ^ tmp[183] & (tmp[201] ^ (tmp[46] ^ tmp[8] & ~(tmp[13] ^ tmp[162])))); + output[61] = tmp[130]; + output[62] = tmp[115] ^ (tmp[73] ^ (tmp[2] | tmp[185])); + output[63] = tmp[51]; + return output; + } + } +} diff --git a/PoGoMITM.Launcher/Startup.cs b/PoGoMITM.Launcher/Startup.cs index a63ca9b..ce2bbd6 100644 --- a/PoGoMITM.Launcher/Startup.cs +++ b/PoGoMITM.Launcher/Startup.cs @@ -35,16 +35,16 @@ public static void RegisterGlobals() { RequestContext.Parser = new POGOProtosRequestParser(); - var decryptorPath = Path.Combine(Environment.CurrentDirectory, "PCrypt.dll"); - if (File.Exists(decryptorPath)) - { - var assembly = Assembly.LoadFile(decryptorPath); - var encryptionType = assembly.GetExportedTypes().FirstOrDefault(t => t.Name == "SignatureDecryptor"); - if (encryptionType != null) - { - RequestContext.Parser.SignatureEncryption = Activator.CreateInstance(encryptionType); - } - } + //var decryptorPath = Path.Combine(Environment.CurrentDirectory, "PCrypt.dll"); + //if (File.Exists(decryptorPath)) + //{ + // var assembly = Assembly.LoadFile(decryptorPath); + // var encryptionType = assembly.GetExportedTypes().FirstOrDefault(t => t.Name == "SignatureDecryptor"); + // if (encryptionType != null) + // { + // RequestContext.Parser.SignatureEncryption = Activator.CreateInstance(encryptionType); + // } + //} StaticConfiguration.DisableErrorTraces = false; JsonConvert.DefaultSettings = () => From dbadc92ee25cfbffa68cad598e40baeec479b146 Mon Sep 17 00:00:00 2001 From: Taras Bulba Date: Tue, 30 Aug 2016 23:14:20 +0300 Subject: [PATCH 2/5] Better Exception Handling --- PoGoMITM.Base/Logging/Log4NetHelper.cs | 13 ++++++++++++- PoGoMITM.Base/Models/POGOProtosRequestParser.cs | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/PoGoMITM.Base/Logging/Log4NetHelper.cs b/PoGoMITM.Base/Logging/Log4NetHelper.cs index 14529f3..d05b1eb 100644 --- a/PoGoMITM.Base/Logging/Log4NetHelper.cs +++ b/PoGoMITM.Base/Logging/Log4NetHelper.cs @@ -67,7 +67,18 @@ private static string GenerateLogFileName() public static void LogException(this ILog logger, Exception ex) { - logger.Error($"[{ex.GetType().Name}] {ex.Message}"); + if (ex is AggregateException) + { + foreach (var ex1 in ((AggregateException) ex).InnerExceptions) + { + logger.Error($"[{ex1.GetType().Name}] {ex1.Message}\r\n{ex1.StackTrace}"); + } + } + else + { + logger.Error($"[{ex.GetType().Name}] {ex.Message}\r\n{ex.StackTrace}"); + + } } } } diff --git a/PoGoMITM.Base/Models/POGOProtosRequestParser.cs b/PoGoMITM.Base/Models/POGOProtosRequestParser.cs index 6c9641b..e7a1b7d 100644 --- a/PoGoMITM.Base/Models/POGOProtosRequestParser.cs +++ b/PoGoMITM.Base/Models/POGOProtosRequestParser.cs @@ -80,6 +80,10 @@ public async Task ParseRequest(RequestContext result) var codedResponse = new CodedInputStream(result.ResponseBody); result.ResponseEnvelope = ResponseEnvelope.Parser.ParseFrom(codedResponse); + if (result.ResponseEnvelope.StatusCode == ResponseEnvelope.Types.StatusCode.BadRequest) + { + Console.WriteLine("ERROR: StatusCode.BadRequest, possibly banned account."); + } if (result.ResponseEnvelope?.PlatformReturns != null && result.ResponseEnvelope?.PlatformReturns.Count > 0) { From c030e18996aff081ec3ed187a94d1dec43efb32d Mon Sep 17 00:00:00 2001 From: Taras Bulba Date: Thu, 1 Sep 2016 15:02:49 +0300 Subject: [PATCH 3/5] Plugin Support - Part 1 - DOES NOT COMPILE ATM --- PoGoMITM.Base/Config/AppConfig.cs | 12 +- PoGoMITM.Base/Dumpers/PrettyFileDataDumper.cs | 2 +- PoGoMITM.Base/Logging/Log4NetHelper.cs | 21 +- PoGoMITM.Base/Models/IRequestModifier.cs | 10 + PoGoMITM.Base/Models/IRequestPacker.cs | 9 + PoGoMITM.Base/Models/IRequestParser.cs | 5 +- PoGoMITM.Base/Models/IResponseModifier.cs | 10 + PoGoMITM.Base/Models/IResponsePacker.cs | 9 + PoGoMITM.Base/Models/MessageBlock.cs | 19 - .../Models/POGOProtosRequestPacker.cs | 134 + .../Models/POGOProtosRequestParser.cs | 192 +- .../Models/POGOProtosResponsePacker.cs | 23 + PoGoMITM.Base/Models/RequestContext.cs | 193 +- PoGoMITM.Base/Plugins/PluginLoader.cs | 145 + PoGoMITM.Base/PoGoMITM.Base.csproj | 59 +- PoGoMITM.Base/ProtoHelpers/Protoc.cs | 21 +- PoGoMITM.Base/ProxyHandler.cs | 84 +- .../Encryption.cs} | 4 +- PoGoMITM.Base/Utils/Crypt/Encryption2.cs | 8233 +++++++++++++++++ PoGoMITM.Base/Utils/{ => Crypt}/Unshuffle.cs | 4 +- PoGoMITM.Base/Utils/Crypt/xxHash32.cs | 257 + PoGoMITM.Base/Utils/Crypt/xxHash64.cs | 137 + PoGoMITM.Base/Utils/FileLocation.cs | 46 + PoGoMITM.Base/Utils/LongConverter.cs | 66 + PoGoMITM.Base/Utils/ULongConverter.cs | 66 + PoGoMITM.Base/app.config | 15 + PoGoMITM.Base/packages.config | 39 + PoGoMITM.Launcher/App.config | 12 + .../Models/RawContextListModel.cs | 77 +- PoGoMITM.Launcher/Modules/HomeModule.cs | 43 +- PoGoMITM.Launcher/Plugins/LocationModifier.cs | 624 ++ PoGoMITM.Launcher/Plugins/TestModifier.cs | 37 + PoGoMITM.Launcher/PoGoMITM.Launcher.csproj | 22 +- PoGoMITM.Launcher/Program.cs | 99 +- PoGoMITM.Launcher/Startup.cs | 60 +- PoGoMITM.Launcher/packages.config | 36 +- 36 files changed, 10465 insertions(+), 360 deletions(-) create mode 100644 PoGoMITM.Base/Models/IRequestModifier.cs create mode 100644 PoGoMITM.Base/Models/IRequestPacker.cs create mode 100644 PoGoMITM.Base/Models/IResponseModifier.cs create mode 100644 PoGoMITM.Base/Models/IResponsePacker.cs delete mode 100644 PoGoMITM.Base/Models/MessageBlock.cs create mode 100644 PoGoMITM.Base/Models/POGOProtosRequestPacker.cs create mode 100644 PoGoMITM.Base/Models/POGOProtosResponsePacker.cs create mode 100644 PoGoMITM.Base/Plugins/PluginLoader.cs rename PoGoMITM.Base/Utils/{SignatureDecryptor.cs => Crypt/Encryption.cs} (96%) create mode 100644 PoGoMITM.Base/Utils/Crypt/Encryption2.cs rename PoGoMITM.Base/Utils/{ => Crypt}/Unshuffle.cs (99%) create mode 100644 PoGoMITM.Base/Utils/Crypt/xxHash32.cs create mode 100644 PoGoMITM.Base/Utils/Crypt/xxHash64.cs create mode 100644 PoGoMITM.Base/Utils/FileLocation.cs create mode 100644 PoGoMITM.Base/Utils/LongConverter.cs create mode 100644 PoGoMITM.Base/Utils/ULongConverter.cs create mode 100644 PoGoMITM.Base/app.config create mode 100644 PoGoMITM.Launcher/Plugins/LocationModifier.cs create mode 100644 PoGoMITM.Launcher/Plugins/TestModifier.cs diff --git a/PoGoMITM.Base/Config/AppConfig.cs b/PoGoMITM.Base/Config/AppConfig.cs index 0608920..3cccb7f 100644 --- a/PoGoMITM.Base/Config/AppConfig.cs +++ b/PoGoMITM.Base/Config/AppConfig.cs @@ -3,6 +3,7 @@ using System.Configuration; using System.IO; using System.Linq; +using log4net; using PoGoMITM.Base.Dumpers; namespace PoGoMITM.Base.Config @@ -11,9 +12,10 @@ public static class AppConfig { private static readonly int _bindPort; private static readonly int _webServerPort; - private static readonly bool _dumpRaw; private static readonly bool _dumpProcessed; + public static ILog Logger { get; set; } + public static string ProxyIp { get; private set; } public static int ProxyPort => _bindPort; public static int WebServerPort => _webServerPort; @@ -24,7 +26,11 @@ public static class AppConfig public static string TempFolder { get; private set; } public static List DataDumpers { get; private set; } - public static bool DumpRaw => _dumpRaw; + public static double InitialLatitude { get; set; } + public static double InitialLongitude { get; set; } + + public static bool DumpRaw { get; } + public static bool DumpProcessed => _dumpProcessed; public static HashSet HostsToDump { get; private set; } @@ -61,7 +67,7 @@ static AppConfig() TempFolder = Path.Combine(Environment.CurrentDirectory, TempFolder); } - _dumpRaw = true; + DumpRaw = true; var dumpProcessed = ConfigurationManager.AppSettings["DumpProcessed"] ?? "true"; bool.TryParse(dumpProcessed, out _dumpProcessed); diff --git a/PoGoMITM.Base/Dumpers/PrettyFileDataDumper.cs b/PoGoMITM.Base/Dumpers/PrettyFileDataDumper.cs index 5f8db86..469fd69 100644 --- a/PoGoMITM.Base/Dumpers/PrettyFileDataDumper.cs +++ b/PoGoMITM.Base/Dumpers/PrettyFileDataDumper.cs @@ -27,7 +27,7 @@ public async Task Dump(T context) var requestList = ""; if (context is RequestContext) { - foreach (var request in (context as RequestContext).RequestEnvelope.Requests) + foreach (var request in (context as RequestContext).RequestData.RequestEnvelope.Requests) { requestList += (requestList == "" ? "" : ", ") + request.RequestType.ToString(); } diff --git a/PoGoMITM.Base/Logging/Log4NetHelper.cs b/PoGoMITM.Base/Logging/Log4NetHelper.cs index d05b1eb..bba1530 100644 --- a/PoGoMITM.Base/Logging/Log4NetHelper.cs +++ b/PoGoMITM.Base/Logging/Log4NetHelper.cs @@ -42,10 +42,10 @@ public static IAppender ConsoleAppender(Level threshold) public static IAppender FileAppender(Level threshhold) { - var appender=new FileAppender(); + var appender = new FileAppender(); appender.Name = "FileAppender"; appender.AppendToFile = true; - appender.Encoding=Encoding.UTF8; + appender.Encoding = Encoding.UTF8; appender.ImmediateFlush = true; appender.File = GenerateLogFileName(); appender.Threshold = threshhold; @@ -67,17 +67,18 @@ private static string GenerateLogFileName() public static void LogException(this ILog logger, Exception ex) { - if (ex is AggregateException) + logger.Error($"[{ex.GetType().Name}] {ex.Message}\r\n{ex.StackTrace}"); + if (ex.InnerException != null) { - foreach (var ex1 in ((AggregateException) ex).InnerExceptions) - { - logger.Error($"[{ex1.GetType().Name}] {ex1.Message}\r\n{ex1.StackTrace}"); - } + logger.LogException(ex.InnerException); } - else + var aggregateException = ex as AggregateException; + if (aggregateException != null) { - logger.Error($"[{ex.GetType().Name}] {ex.Message}\r\n{ex.StackTrace}"); - + foreach (var ex1 in aggregateException.InnerExceptions) + { + logger.LogException(ex1); + } } } } diff --git a/PoGoMITM.Base/Models/IRequestModifier.cs b/PoGoMITM.Base/Models/IRequestModifier.cs new file mode 100644 index 0000000..104967d --- /dev/null +++ b/PoGoMITM.Base/Models/IRequestModifier.cs @@ -0,0 +1,10 @@ +using System.Threading.Tasks; + +namespace PoGoMITM.Base.Models +{ + public interface IRequestModifier + { + bool Enabled { get; } + bool ModifyRequest(RequestContext requestContext); + } +} \ No newline at end of file diff --git a/PoGoMITM.Base/Models/IRequestPacker.cs b/PoGoMITM.Base/Models/IRequestPacker.cs new file mode 100644 index 0000000..988f4df --- /dev/null +++ b/PoGoMITM.Base/Models/IRequestPacker.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; + +namespace PoGoMITM.Base.Models +{ + public interface IRequestPacker + { + byte[] GenerateRequestBody(RequestData requestData); + } +} \ No newline at end of file diff --git a/PoGoMITM.Base/Models/IRequestParser.cs b/PoGoMITM.Base/Models/IRequestParser.cs index 52eb711..8284fa2 100644 --- a/PoGoMITM.Base/Models/IRequestParser.cs +++ b/PoGoMITM.Base/Models/IRequestParser.cs @@ -2,9 +2,10 @@ namespace PoGoMITM.Base.Models { - public interface IRequestParser + public interface IProtoParser { - Task ParseRequest(RequestContext requestContext); + void ParseRequest(RequestContext requestContext, RequestData requestData); + void ParseResponse(RequestContext requestContext, ResponseData responseData); object SignatureEncryption { get; set; } } } diff --git a/PoGoMITM.Base/Models/IResponseModifier.cs b/PoGoMITM.Base/Models/IResponseModifier.cs new file mode 100644 index 0000000..89cfe04 --- /dev/null +++ b/PoGoMITM.Base/Models/IResponseModifier.cs @@ -0,0 +1,10 @@ +using System.Threading.Tasks; + +namespace PoGoMITM.Base.Models +{ + public interface IResponseModifier + { + bool Enabled { get; } + bool ModifyResponse(RequestContext requestContext); + } +} \ No newline at end of file diff --git a/PoGoMITM.Base/Models/IResponsePacker.cs b/PoGoMITM.Base/Models/IResponsePacker.cs new file mode 100644 index 0000000..19ac578 --- /dev/null +++ b/PoGoMITM.Base/Models/IResponsePacker.cs @@ -0,0 +1,9 @@ +using System.Threading.Tasks; + +namespace PoGoMITM.Base.Models +{ + public interface IResponsePacker + { + byte[] GenerateResponseBody(ResponseData responseData); + } +} \ No newline at end of file diff --git a/PoGoMITM.Base/Models/MessageBlock.cs b/PoGoMITM.Base/Models/MessageBlock.cs deleted file mode 100644 index 6cff25d..0000000 --- a/PoGoMITM.Base/Models/MessageBlock.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using Google.Protobuf; -using Newtonsoft.Json; -using POGOProtos.Networking.Requests; - -namespace PoGoMITM.Base.Models -{ - public class MessageBlock - { - public DateTime MessageInitialized { get; set; } - public Dictionary ParsedMessages { get; set; } - - public override string ToString() - { - return JsonConvert.SerializeObject(this); - } - } -} diff --git a/PoGoMITM.Base/Models/POGOProtosRequestPacker.cs b/PoGoMITM.Base/Models/POGOProtosRequestPacker.cs new file mode 100644 index 0000000..c8fceee --- /dev/null +++ b/PoGoMITM.Base/Models/POGOProtosRequestPacker.cs @@ -0,0 +1,134 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Threading.Tasks; +using Google.Protobuf; +using Google.Protobuf.Collections; +using PoGoMITM.Base.Utils.Crypt; +using POGOProtos.Networking.Envelopes; +using POGOProtos.Networking.Platform; +using POGOProtos.Networking.Platform.Requests; +using POGOProtos.Networking.Requests; + +namespace PoGoMITM.Base.Models +{ + public class POGOProtosRequestPacker : IRequestPacker + { + public byte[] GenerateRequestBody(RequestData requestData) + { + var requestEnvelope = new RequestEnvelope(requestData.RequestEnvelope); + requestEnvelope.Requests.Clear(); + foreach (var request in requestData.Requests) + { + var requestItem = new Request(); + requestItem.RequestType = request.Key; + requestItem.RequestMessage = request.Value.ToByteString(); + requestEnvelope.Requests.Add(requestItem); + } + + var signatureRequest = GetSignatureRequest(requestData); + requestEnvelope.PlatformRequests.Clear(); + foreach (var platformRequest in requestData.RequestEnvelope.PlatformRequests) + { + if (platformRequest.Type == PlatformRequestType.SendEncryptedSignature) + { + requestEnvelope.PlatformRequests.Add(signatureRequest); + } + else + { + requestEnvelope.PlatformRequests.Add(platformRequest); + } + } + + return requestEnvelope.ToByteArray(); + } + + + private RequestEnvelope.Types.PlatformRequest GetSignatureRequest(RequestData requestData) + { + var serializedTicket = requestData.RequestEnvelope.AuthTicket != null ? requestData.RequestEnvelope.AuthTicket.ToByteArray() : requestData.RequestEnvelope.AuthInfo.ToByteArray(); + var firstHash = CalculateHash32(serializedTicket, 0x61656632); + var locationBytes = BitConverter.GetBytes(requestData.RequestEnvelope.Latitude).Reverse() + .Concat(BitConverter.GetBytes(requestData.RequestEnvelope.Latitude).Reverse()) + .Concat(BitConverter.GetBytes(requestData.RequestEnvelope.Accuracy).Reverse()).ToArray(); + + requestData.DecryptedSignature.LocationHash1 = CalculateHash32(locationBytes, firstHash); + requestData.DecryptedSignature.LocationHash2 = CalculateHash32(locationBytes, 0x61656632); + var seed = xxHash64.CalculateHash(serializedTicket, serializedTicket.Length, 0x61656632); + foreach (var req in requestData.RequestEnvelope.Requests) + { + var reqBytes = req.ToByteArray(); + requestData.DecryptedSignature.RequestHash.Add(xxHash64.CalculateHash(reqBytes, reqBytes.Length, seed)); + //requestContext.DecryptedSignature.Unknown25 = 7363665268261373700; + } + + var platformRequest = new RequestEnvelope.Types.PlatformRequest() + { + Type = PlatformRequestType.SendEncryptedSignature, + RequestMessage = new SendEncryptedSignatureRequest() + { + EncryptedSignature = ByteString.CopyFrom(Encryption.Encrypt(requestData.DecryptedSignature.ToByteArray())), + }.ToByteString(), + }; + return platformRequest; + } + + private uint CalculateHash32(byte[] bytes, uint seed) + { + var xxHash = new xxHash32(); + xxHash.Init(seed); + xxHash.Update(bytes, bytes.Length); + return xxHash.Digest(); + } + + //_requestSeedHasher = new xxHash(64, 0x61656632); + //_locationSeedHasher = new xxHash32(32, 0x61656632); + + ////_unknown25Hasher = new xxHash(64, 0x88533787); + //_unknown25hash = 7363665268261374000; //BitConverter.ToInt64(_unknown25Hasher.ComputeHash(System.Text.Encoding.ASCII.GetBytes("\"b8fa9757195897aae92c53dbcf8a60fb3d86d745\"")), 0); + + + //private RequestEnvelope.Types.PlatformRequest GenerateEncrypterSignaturePlatformRequest(double accuracy, IEnumerable requests, byte[] ticketSerialized, List locationFixes) + //{ + // var _locationSeedHasher = new xxHash32(); + // var sig = new Signature(); + // //sig.Timestamp = (ulong)DateTime.UtcNow.ToUnixMilliseconds(); + // //sig.TimestampSinceStart = sig.Timestamp - LastLoginTime; + // // according to google, normalizing the angles means normalizing *0 to 360* degree values to -180..180 + + + // var locationSeed = BitConverter.ToUInt32(xxHash32.CalculateHash(ticketSerialized, 32, 0x61656632).GetHashCode()); + + // var locationHasher = new xxHash(32, locationSeed); + // var locationBytes = + // BitConverter.GetBytes(CurrentLatitude).Reverse() + // .Concat(BitConverter.GetBytes(CurrentLongitude).Reverse()) + // .Concat(BitConverter.GetBytes(accuracy).Reverse()).ToArray(); + + // sig.LocationHash1 = BitConverter.ToUInt32(locationHasher.ComputeHash(locationBytes), 0); + + // sig.LocationHash2 = BitConverter.ToUInt32(_locationSeedHasher.ComputeHash(locationBytes), 0); + + // var requestSeed = BitConverter.ToUInt64(_requestSeedHasher.ComputeHash(ticketSerialized), 0); + // var requestHasher = new xxHash(64, requestSeed); + // foreach (var req in requests) + // { + // sig.RequestHash.Add(BitConverter.ToUInt64(requestHasher.ComputeHash(req.ToByteArray()), 0)); + // } + + // sig.SessionHash = ByteString.CopyFrom(_sessionHash); + // sig.Unknown25 = _unknown25hash; + + // var platformRequest = new RequestEnvelope.Types.PlatformRequest() + // { + // Type = POGOProtos.Networking.Platform.PlatformRequestType.SendEncryptedSignature, + // RequestMessage = new SendEncryptedSignatureRequest() + // { + // EncryptedSignature = ByteString.CopyFrom(Encrypt(sig.ToByteArray())), + // }.ToByteString(), + // }; + // return platformRequest; + //} + } +} \ No newline at end of file diff --git a/PoGoMITM.Base/Models/POGOProtosRequestParser.cs b/PoGoMITM.Base/Models/POGOProtosRequestParser.cs index e7a1b7d..6e8b0ad 100644 --- a/PoGoMITM.Base/Models/POGOProtosRequestParser.cs +++ b/PoGoMITM.Base/Models/POGOProtosRequestParser.cs @@ -5,117 +5,86 @@ using System.Text; using System.Threading.Tasks; using Google.Protobuf; -using PoGo.Crypt; using PoGoMITM.Base.ProtoHelpers; using PoGoMITM.Base.Utils; +using PoGoMITM.Base.Utils.Crypt; using POGOProtos.Networking.Envelopes; using POGOProtos.Networking.Platform; using POGOProtos.Networking.Requests; namespace PoGoMITM.Base.Models { - public class POGOProtosRequestParser:IRequestParser + public class POGOProtosProtoParser : IProtoParser { - public async Task ParseRequest(RequestContext result) + public void ParseRequest(RequestContext result, RequestData requestData) { //result.RawDecodedRequestBody = await Protoc.DecodeRaw(result.RequestBody); //result.RawDecodedResponseBody = await Protoc.DecodeRaw(result.ResponseBody); - var codedRequest = new CodedInputStream(result.RequestBody); - result.RequestEnvelope = RequestEnvelope.Parser.ParseFrom(codedRequest); - - if (result.RequestEnvelope?.PlatformRequests != null && - result.RequestEnvelope?.PlatformRequests.Count > 0) + if (result.RequestBody != null && result.RequestBody.Length > 0) { - foreach (var platformRequest in result.RequestEnvelope.PlatformRequests) - { - if (Enum.IsDefined(typeof(PlatformRequestType), platformRequest.Type)) - { - var type = - Type.GetType("POGOProtos.Networking.Platform.Requests." + platformRequest.Type + "Request"); - if (type != null) - { - var instance = (IMessage) Activator.CreateInstance(type); - instance.MergeFrom(platformRequest.RequestMessage); - result.PlatformRequests.Add(platformRequest.Type, instance); - } - else - { - result.PlatformRequests.Add(platformRequest.Type, platformRequest); - } - } + var codedRequest = new CodedInputStream(result.RequestBody); + requestData.RequestEnvelope = RequestEnvelope.Parser.ParseFrom(codedRequest); - else - { - result.PlatformRequests.Add(platformRequest.Type, platformRequest); - } - } - } - - if (result.RequestEnvelope?.Requests != null && result.RequestEnvelope.Requests.Count > 0) - { - foreach (var request in result.RequestEnvelope.Requests) + if (requestData.RequestEnvelope?.PlatformRequests != null && + requestData.RequestEnvelope?.PlatformRequests.Count > 0) { - if (Enum.IsDefined(typeof(RequestType), request.RequestType)) + foreach (var platformRequest in requestData.RequestEnvelope.PlatformRequests) { - var type = - Type.GetType("POGOProtos.Networking.Requests.Messages." + request.RequestType + "Message"); - if (type != null) + if (Enum.IsDefined(typeof(PlatformRequestType), platformRequest.Type)) { - var instance = (IMessage) Activator.CreateInstance(type); - instance.MergeFrom(request.RequestMessage); - result.Requests.Add(request.RequestType, instance); + var type = + Type.GetType("POGOProtos.Networking.Platform.Requests." + platformRequest.Type + + "Request"); + if (type != null) + { + var instance = (IMessage)Activator.CreateInstance(type); + instance.MergeFrom(platformRequest.RequestMessage); + requestData.PlatformRequests.Add(platformRequest.Type, instance); + } + else + { + requestData.PlatformRequests.Add(platformRequest.Type, platformRequest); + } } + else { - result.Requests.Add(request.RequestType, request); + requestData.PlatformRequests.Add(platformRequest.Type, platformRequest); } } - else - { - result.Requests.Add(request.RequestType, request); - } } - } - var codedResponse = new CodedInputStream(result.ResponseBody); - result.ResponseEnvelope = ResponseEnvelope.Parser.ParseFrom(codedResponse); - if (result.ResponseEnvelope.StatusCode == ResponseEnvelope.Types.StatusCode.BadRequest) - { - Console.WriteLine("ERROR: StatusCode.BadRequest, possibly banned account."); - } - - if (result.ResponseEnvelope?.PlatformReturns != null && result.ResponseEnvelope?.PlatformReturns.Count > 0) - { - foreach (var platformReturn in result.ResponseEnvelope.PlatformReturns) + if (requestData.RequestEnvelope?.Requests != null && requestData.RequestEnvelope.Requests.Count > 0) { - if (Enum.IsDefined(typeof(PlatformRequestType), platformReturn.Type)) + foreach (var request in requestData.RequestEnvelope.Requests) { - var type = - Type.GetType("POGOProtos.Networking.Platform.Responses." + platformReturn.Type + "Response"); - if (type != null) + if (Enum.IsDefined(typeof(RequestType), request.RequestType)) { - var instance = (IMessage) Activator.CreateInstance(type); - instance.MergeFrom(platformReturn.Response); - result.PlatformResponses.Add(platformReturn.Type, instance); + var type = + Type.GetType("POGOProtos.Networking.Requests.Messages." + request.RequestType + + "Message"); + if (type != null) + { + var instance = (IMessage)Activator.CreateInstance(type); + instance.MergeFrom(request.RequestMessage); + requestData.Requests.Add(request.RequestType, instance); + } + else + { + requestData.Requests.Add(request.RequestType, request); + } } else { - result.PlatformResponses.Add(platformReturn.Type, platformReturn); + requestData.Requests.Add(request.RequestType, request); } } - - else - { - result.PlatformResponses.Add(platformReturn.Type, platformReturn); - } } - } - //if (SignatureEncryption != null) - //{ - var sig = result.RequestEnvelope?.PlatformRequests?.FirstOrDefault( - pr => pr.Type == PlatformRequestType.SendEncryptedSignature); + var sig = + requestData.RequestEnvelope?.PlatformRequests?.FirstOrDefault( + pr => pr.Type == PlatformRequestType.SendEncryptedSignature); if (sig != null) { var req = new POGOProtos.Networking.Platform.Requests.SendEncryptedSignatureRequest(); @@ -126,14 +95,14 @@ public async Task ParseRequest(RequestContext result) { if (bytes.Length > 0) { - result.RawDecryptedSignature = SignatureDecryptor.Decrypt(bytes); + result.RawDecryptedSignature = Encryption.Decrypt(bytes); //result.RawDecryptedSignature = // SignatureEncryption.GetType() // .InvokeMember("Decrypt", BindingFlags.Default | BindingFlags.InvokeMethod, null, // SignatureEncryption, new[] {bytes}) as byte[]; if (result.RawDecryptedSignature != null) { - result.DecryptedSignature = Signature.Parser.ParseFrom(result.RawDecryptedSignature); + requestData.DecryptedSignature = Signature.Parser.ParseFrom(result.RawDecryptedSignature); } } } @@ -142,35 +111,84 @@ public async Task ParseRequest(RequestContext result) } } - //} + } + + + } + + public void ParseResponse(RequestContext result, ResponseData responseData) + { + if (result.ResponseBody != null && result.RequestBody.Length > 0) + { + var codedResponse = new CodedInputStream(result.ResponseBody); + responseData.ResponseEnvelope = ResponseEnvelope.Parser.ParseFrom(codedResponse); + if (responseData.ResponseEnvelope.StatusCode == ResponseEnvelope.Types.StatusCode.BadRequest) + { + Console.WriteLine("ERROR: StatusCode.BadRequest, possibly banned account."); + } + + if (responseData.ResponseEnvelope?.PlatformReturns != null && + responseData.ResponseEnvelope?.PlatformReturns.Count > 0) + { + foreach (var platformReturn in responseData.ResponseEnvelope.PlatformReturns) + { + if (Enum.IsDefined(typeof(PlatformRequestType), platformReturn.Type)) + { + var type = + Type.GetType("POGOProtos.Networking.Platform.Responses." + platformReturn.Type + + "Response"); + if (type != null) + { + var instance = (IMessage)Activator.CreateInstance(type); + instance.MergeFrom(platformReturn.Response); + responseData.PlatformResponses.Add(platformReturn.Type, instance); + } + else + { + responseData.PlatformResponses.Add(platformReturn.Type, platformReturn); + } + } + + else + { + responseData.PlatformResponses.Add(platformReturn.Type, platformReturn); + } + } + } + } + - if (result.ResponseEnvelope?.Returns != null && result.ResponseEnvelope.Returns.Count > 0) + if (responseData.ResponseEnvelope?.Returns != null && responseData.ResponseEnvelope.Returns.Count > 0 && + responseData.ResponseEnvelope.Returns.Any(r => !r.IsEmpty)) { + responseData.Responses.Clear(); + var index = 0; - foreach (var request in result.Requests) + foreach (var request in result.RequestData.Requests) { if (Enum.IsDefined(typeof(RequestType), request.Key)) { - var requestType = (RequestType) request.Key; + var requestType = (RequestType)request.Key; var typeName = "POGOProtos.Networking.Responses." + requestType + "Response"; var type = Type.GetType(typeName); if (type != null) { - var instance = (IMessage) Activator.CreateInstance(type); - instance.MergeFrom(result.ResponseEnvelope.Returns[index]); - result.Responses.Add(requestType, instance); + var instance = (IMessage)Activator.CreateInstance(type); + instance.MergeFrom(responseData.ResponseEnvelope.Returns[index]); + responseData.Responses.Add(requestType, instance); } else { - result.Responses.Add(requestType, null); + responseData.Responses.Add(requestType, null); } } else { - result.Responses.Add(request.Key, null); + responseData.Responses.Add(request.Key, null); } index++; + } } } diff --git a/PoGoMITM.Base/Models/POGOProtosResponsePacker.cs b/PoGoMITM.Base/Models/POGOProtosResponsePacker.cs new file mode 100644 index 0000000..17b91c9 --- /dev/null +++ b/PoGoMITM.Base/Models/POGOProtosResponsePacker.cs @@ -0,0 +1,23 @@ +using System; +using System.Threading.Tasks; +using Google.Protobuf; +using POGOProtos.Networking.Envelopes; +using POGOProtos.Networking.Requests; + +namespace PoGoMITM.Base.Models +{ + public class POGOProtosResponsePacker : IResponsePacker + { + public byte[] GenerateResponseBody(ResponseData responseData) + { + var responseEnvelope = new ResponseEnvelope(responseData.ResponseEnvelope) ; + responseEnvelope.Returns.Clear(); + foreach (var response in responseData.Responses) + { + responseEnvelope.Returns.Add(response.Value.ToByteString()); + } + + return responseEnvelope.ToByteArray(); + } + } +} \ No newline at end of file diff --git a/PoGoMITM.Base/Models/RequestContext.cs b/PoGoMITM.Base/Models/RequestContext.cs index f8d03bc..1a7ce75 100644 --- a/PoGoMITM.Base/Models/RequestContext.cs +++ b/PoGoMITM.Base/Models/RequestContext.cs @@ -1,22 +1,52 @@ using System; using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; using System.Text; using System.Threading.Tasks; using Google.Protobuf; using Newtonsoft.Json; using PoGoMITM.Base.Cache; -using PoGoMITM.Base.ProtoHelpers; -using PoGoMITM.Base.Utils; +using PoGoMITM.Base.Config; +using POGOProtos.Map; using POGOProtos.Networking.Envelopes; using POGOProtos.Networking.Platform; using POGOProtos.Networking.Requests; +using POGOProtos.Networking.Requests.Messages; +using POGOProtos.Networking.Responses; using Titanium.Web.Proxy.Models; namespace PoGoMITM.Base.Models { + public class RequestData + { + public RequestEnvelope RequestEnvelope { get; set; } + public Dictionary Requests { get; set; } = new Dictionary(); + public Dictionary PlatformRequests { get; set; } = new Dictionary(); + public Signature DecryptedSignature { get; set; } + + } + + public class ResponseData + { + public ResponseEnvelope ResponseEnvelope { get; set; } + public Dictionary Responses { get; set; } = new Dictionary(); + public Dictionary PlatformResponses { get; set; } = new Dictionary(); + } + public class RequestContext { - public static IRequestParser Parser { get; set; } + //[JsonIgnore] + public bool RequestParsed { get; set; } + //[JsonIgnore] + public bool ResponseParsed { get; set; } + + public static IProtoParser Parser { get; set; } + public static List RequestModifiers { get; set; } + public static List ResponseModifiers { get; set; } + public static IRequestPacker RequestPacker { get; set; } + public static IResponsePacker ResponsePacker { get; set; } + public Guid Guid { get; set; } public DateTime RequestTime { get; set; } @@ -28,11 +58,10 @@ public class RequestContext public byte[] RequestBody { get; set; } [JsonIgnore] public string RawDecodedRequestBody { get; set; } - public RequestEnvelope RequestEnvelope { get; set; } - public Dictionary Requests { get; set; } = new Dictionary(); public int RequestBodyLength { get; set; } - public Dictionary PlatformRequests { get; set; } = new Dictionary(); + public bool RequestModified { get; set; } + public RequestData RequestData { get; set; } // Response public List ResponseHeaders { get; set; } @@ -40,64 +69,154 @@ public class RequestContext public byte[] ResponseBody { get; set; } [JsonIgnore] public string RawDecodedResponseBody { get; set; } - public ResponseEnvelope ResponseEnvelope { get; set; } - public Dictionary Responses { get; set; } = new Dictionary(); public int ResponseBodyLength { get; set; } - public Dictionary PlatformResponses { get; set; } = new Dictionary(); - - - - public Signature DecryptedSignature { get; set; } + public bool ResponseModified { get; set; } + public ResponseData ResponseData { get; set; } [JsonIgnore] - //[JsonConverter(typeof(ByteArrayConverter))] public byte[] RawDecryptedSignature { get; set; } [JsonIgnore] - //[JsonConverter(typeof(ByteArrayConverter))] public byte[] RawEncryptedSignature { get; set; } - public static async Task GetInstance(RawContext context) + public static RequestContext GetInstance(Guid guid) { - RequestContext requestContext; - if (ContextCache.RequestContext.TryGetValue(context.Guid, out requestContext)) + RequestContext result; + if (ContextCache.RequestContext.TryGetValue(guid, out result)) { - return requestContext; + return result; } - var result = new RequestContext(); + return null; + } + public static RequestContext Create(RawContext context) + { + RequestContext result; + if (!ContextCache.RequestContext.TryGetValue(context.Guid, out result)) + { + result = new RequestContext(); + } result.Guid = context.Guid; result.RequestTime = context.RequestTime; result.RequestUri = context.RequestUri; - result.RequestBody = context.RequestBody; - result.RequestBodyLength = context.RequestBody?.Length ?? 0; - result.ResponseBody = context.ResponseBody; - result.ResponseBodyLength = context.ResponseBody?.Length ?? 0; + ContextCache.RequestContext.AddOrUpdate(context.Guid, result, (g, r) => result); + return result; + } - result.RequestHeaders = context.RequestHeaders; - result.ResponseHeaders = context.ResponseHeaders; + public void CopyRequestData(RawContext rawContext) + { + RequestBody = rawContext.RequestBody; + RequestBodyLength = rawContext.RequestBody?.Length ?? 0; + RequestHeaders = rawContext.RequestHeaders; + } - if (result.RequestUri.Host == "pgorelease.nianticlabs.com") + public void CopyResponseData(RawContext rawContext) + { + ResponseBody = rawContext.ResponseBody; + ResponseBodyLength = rawContext.ResponseBody?.Length ?? 0; + ResponseHeaders = rawContext.ResponseHeaders; + } + + public void ParseRequest() + { + if (RequestUri.Host == "pgorelease.nianticlabs.com") + { + RequestData = new RequestData(); + Parser?.ParseRequest(this, RequestData); + } + else + { + if (RequestBody != null) + RawDecodedRequestBody = Encoding.UTF8.GetString(RequestBody); + } + RequestParsed = true; + + } + + public void ParseResponse() + { + if (RequestUri.Host == "pgorelease.nianticlabs.com") + { + ResponseData = new ResponseData(); + Parser?.ParseResponse(this, ResponseData); + } + else { - if (Parser != null) + if (ResponseBody != null) + RawDecodedResponseBody = Encoding.UTF8.GetString(ResponseBody); + } + + ResponseParsed = true; + + + } + + public void ModifyRequest() + { + if (RequestModifiers != null && RequestBody != null && RequestBody.Length != 0) + { + foreach (var requestModifier in RequestModifiers.Where(r=>r.Enabled)) { - await Parser.ParseRequest(result); + if (RequestData.Requests.ContainsKey(RequestType.GetMapObjects)) + { + Debug.WriteLine("Client Request"); + Debug.WriteLine(string.Join(",", ((GetMapObjectsMessage)RequestData.Requests[RequestType.GetMapObjects]).CellId.OrderBy(c => c))); + } + + if (requestModifier.ModifyRequest(RequestData)) + { + if (RequestData.Requests.ContainsKey(RequestType.GetMapObjects)) + { + Debug.WriteLine("Modified Request"); + Debug.WriteLine(string.Join(",", + ((GetMapObjectsMessage)RequestData.Requests[RequestType.GetMapObjects]).CellId.OrderBy(c => c))); + } + RequestModified = true; + } + } - } - else + + if (RequestPacker != null && RequestModified) { - if (result.RequestBody != null) - result.RawDecodedRequestBody = Encoding.UTF8.GetString(result.RequestBody); - if (result.ResponseBody != null) - result.RawDecodedResponseBody = Encoding.UTF8.GetString(result.ResponseBody); + RequestBody = RequestPacker.GenerateRequestBody(this.RequestData); + ParseRequest(); } + } + public void ModifyResponse() + { + if (ResponseModifiers != null && ResponseBody != null && ResponseBody.Length != 0) + { + foreach (var responseModifier in ResponseModifiers.Where(r => r.Enabled)) + { + if (ResponseData.Responses.ContainsKey(RequestType.GetMapObjects)) + { + Debug.WriteLine("Server Response"); + Debug.WriteLine(string.Join(",", ((GetMapObjectsResponse)ResponseData.Responses[RequestType.GetMapObjects]).MapCells.Select(m => m.S2CellId).OrderBy(c => c).ToList())); + } + if (responseModifier.ModifyResponse(ResponseData)) + { + if (ResponseData.Responses.ContainsKey(RequestType.GetMapObjects)) + { + Debug.WriteLine("Modified Response"); + Debug.WriteLine(string.Join(",", + ((GetMapObjectsResponse)ResponseData.Responses[RequestType.GetMapObjects]).MapCells + .Select(m => m.S2CellId).OrderBy(c=>c).ToList())); + } + ResponseModified = true; + } - ContextCache.RequestContext.TryAdd(context.Guid, result); - return result; + } + } + + if (ResponsePacker != null && ResponseModified) + { + ResponseBody = ResponsePacker.GenerateResponseBody(this.ResponseData); + ParseResponse(); + } } } diff --git a/PoGoMITM.Base/Plugins/PluginLoader.cs b/PoGoMITM.Base/Plugins/PluginLoader.cs new file mode 100644 index 0000000..01f06a9 --- /dev/null +++ b/PoGoMITM.Base/Plugins/PluginLoader.cs @@ -0,0 +1,145 @@ +using System; +using System.CodeDom.Compiler; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using Google.Common.Geometry; +using Google.Protobuf; +using log4net; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using Microsoft.CodeAnalysis.Emit; +using Microsoft.CSharp; +using Newtonsoft.Json; +using PoGoMITM.Base.Config; +using PoGoMITM.Base.Utils; + +namespace PoGoMITM.Base.Plugins +{ + public class PluginLoader + { + private static readonly ILog Logger = LogManager.GetLogger("PluginLoader"); + private static readonly string PluginsFolder; + static PluginLoader() + { + PluginsFolder = FileLocation.GetFolderLocation("Plugins"); + } + public static List LoadPlugins() where T : class + { + var plugins = new List(); + if (PluginsFolder == null) return plugins; + foreach (var file in Directory.GetFiles(PluginsFolder).Where(f => f.EndsWith(".cs"))) + { + var plugin = LoadPlugin(file); + if (plugin != null) + { + plugins.Add(LoadPlugin(file)); + } + } + return plugins; + } + + private static T LoadPlugin(string filename) where T : class + { + var source = File.ReadAllText(filename); + if (string.IsNullOrWhiteSpace(source)) + { + Logger.Error($"Could not load the source for {filename}"); + + return default(T); + } + //var providerOptions = new Dictionary + // { + // {"CompilerVersion", "v4.5"} + // }; + //var provider = new CSharpCodeProvider(providerOptions); + + //var compilerParams = new CompilerParameters + //{ + // GenerateInMemory = true, + // GenerateExecutable = false + //}; + + //CompilerResults results = provider.CompileAssemblyFromSource(compilerParams, source); + + //if (results.Errors.Count != 0) + // throw new Exception("Mission failed!"); + + //var pluginType = + // results.CompiledAssembly.DefinedTypes.FirstOrDefault(t => t.ImplementedInterfaces.Any(i => i == typeof(T))); + //if (pluginType != null) + //{ + // return results.CompiledAssembly.CreateInstance(pluginType.Name) as T; + //} + + var syntaxTree = CSharpSyntaxTree.ParseText(source); + + //var root=syntaxTree.GetRoot() as CompilationUnitSyntax; + //if (root == null) + //{ + // Logger.Error($"Could not get the syntax tree for {filename}"); + // return default(T); + //} + var assemblyName = Path.GetRandomFileName(); + + //MetadataReferenceResolver + var references = new MetadataReference[] + { + + MetadataReference.CreateFromFile(typeof(object).Assembly.Location), + MetadataReference.CreateFromFile(typeof(Enumerable).Assembly.Location), + MetadataReference.CreateFromFile(typeof(PluginLoader).Assembly.Location), + MetadataReference.CreateFromFile(typeof(IMessage).Assembly.Location), + MetadataReference.CreateFromFile(typeof(ILog).Assembly.Location), + MetadataReference.CreateFromFile(typeof(JsonConvert).Assembly.Location), + MetadataReference.CreateFromFile(typeof(S2Cell).Assembly.Location), + + }; + + + var compilation = CSharpCompilation.Create( + assemblyName, + new[] { syntaxTree }, + references, + new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); + + using (var ms = new MemoryStream()) + { + var result = compilation.Emit(ms); + + if (!result.Success) + { + var failures = result.Diagnostics.Where(diagnostic => + diagnostic.IsWarningAsError || + diagnostic.Severity == DiagnosticSeverity.Error); + + Logger.Error($"Could not compile the plugin {filename}"); + + foreach (var diagnostic in failures) + { + Logger.Error($"{diagnostic.Id}: {diagnostic.GetMessage()}"); + } + } + else + { + ms.Seek(0, SeekOrigin.Begin); + var assembly = Assembly.Load(ms.ToArray()); + + var pluginType = + assembly.DefinedTypes.FirstOrDefault(t => t.ImplementedInterfaces.Any(i => i == typeof(T))); + if (pluginType != null) + { + var instance = assembly.CreateInstance(pluginType.FullName); + return (T)instance ; + } + } + } + + return default(T); + } + } +} diff --git a/PoGoMITM.Base/PoGoMITM.Base.csproj b/PoGoMITM.Base/PoGoMITM.Base.csproj index 0529c35..dfb6da2 100644 --- a/PoGoMITM.Base/PoGoMITM.Base.csproj +++ b/PoGoMITM.Base/PoGoMITM.Base.csproj @@ -1,5 +1,6 @@  + Debug @@ -11,6 +12,8 @@ PoGoMITM.Base v4.5.2 512 + + true @@ -42,6 +45,14 @@ ..\packages\log4net.2.0.5\lib\net45-full\log4net.dll True + + ..\packages\Microsoft.CodeAnalysis.Common.1.3.2\lib\net45\Microsoft.CodeAnalysis.dll + True + + + ..\packages\Microsoft.CodeAnalysis.CSharp.1.3.2\lib\net45\Microsoft.CodeAnalysis.CSharp.dll + True + ..\packages\MongoDB.Bson.2.3.0-beta1\lib\net45\MongoDB.Bson.dll True @@ -58,9 +69,28 @@ ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll True + + ..\packages\S2Geometry.1.0.3\lib\portable-net45+wp8+win8\S2Geometry.dll + True + + + ..\packages\System.Collections.Immutable.1.2.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll + True + + + + + + ..\packages\System.Reflection.Metadata.1.3.0\lib\portable-net45+win8\System.Reflection.Metadata.dll + True + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.0.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + True + @@ -81,13 +111,19 @@ + + + + - + + + @@ -114,15 +150,22 @@ + + + + + - - + + + + @@ -133,11 +176,21 @@ Always + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + +