Exemplo n.º 1
0
 /// <inheritdoc/>
 protected override void SetConverters()
 {
     Converters.Add(new UltravioletJsonConverter());
 }
 /// <summary>
 /// Sets the converters specified by this settings object.
 /// </summary>
 protected virtual void SetConverters()
 {
     Converters.Add(new CoreJsonConverter());
 }
Exemplo n.º 3
0
        public async Task <object> SaveUpdateAsync(ApplicationUserDTO modelDTO)
        {
            ApplicationUser model;
            IdentityResult  result = null;

            modelDTO.UpdatedDate = Converters.GetCurrentEpochTime();
            if (string.IsNullOrEmpty(modelDTO.Id))
            {
                model = new ApplicationUser()
                {
                    UserName    = modelDTO.UserName,
                    FirstName   = modelDTO.FirstName,
                    MiddleName  = modelDTO.MiddleName,
                    LastName    = modelDTO.LastName,
                    Email       = modelDTO.Email,
                    PhoneNumber = modelDTO.PhoneNumber,
                    CreatedBy   = this.Request.userID,
                    UpdatedBy   = this.Request.userID,

                    IsActive    = true,
                    IsDeleted   = false,
                    CreatedDate = modelDTO.UpdatedDate,
                    UpdatedDate = modelDTO.UpdatedDate,
                };
                result = await this.userManager.CreateAsync(model, modelDTO.PasswordHash);

                //add user in role
                if (!string.IsNullOrEmpty(modelDTO.RoleName) && result.Succeeded)
                {
                    try
                    {
                        result = await this.userManager.AddToRoleAsync(model, modelDTO.RoleName);

                        if (!result.Succeeded)
                        {
                            //delete added user as it is not added in role
                            await this.userManager.DeleteAsync(model);
                        }
                    }
                    catch (Exception ex)
                    {
                        //delete added user as it is not added in role
                        await this.userManager.DeleteAsync(model);

                        this.IsSuccess     = false;
                        this.ErrorMessages = new List <ErrorMessageDTO>()
                        {
                            new ErrorMessageDTO()
                            {
                                Message = ex.ToString()
                            }
                        };
                    }
                }
            }
            else
            {
                model = await this.userManager.FindByIdAsync(modelDTO.Id);

                model.UserName    = modelDTO.UserName;
                model.FirstName   = modelDTO.FirstName;
                model.MiddleName  = modelDTO.MiddleName;
                model.LastName    = modelDTO.LastName;
                model.Email       = modelDTO.Email;
                model.PhoneNumber = modelDTO.PhoneNumber;
                model.UpdatedBy   = this.Request.userID;

                model.IsActive    = modelDTO.IsActive;
                model.IsDeleted   = modelDTO.IsDeleted;
                model.UpdatedDate = modelDTO.UpdatedDate;

                result = await this.userManager.UpdateAsync(model);

                //update user in role
                if (!string.IsNullOrEmpty(modelDTO.RoleName) && result.Succeeded)
                {
                    try
                    {
                        //get current user role
                        var currentRoleDetails = await this.userManager.GetRolesAsync(model);

                        var currentRole = currentRoleDetails.FirstOrDefault();
                        if (string.IsNullOrEmpty(currentRole))
                        {
                            //if role is not assigned
                            result = await this.userManager.AddToRoleAsync(model, modelDTO.RoleName);
                        }
                        else if (currentRole != modelDTO.RoleName)
                        {
                            //update user role
                            result = await this.userManager.RemoveFromRoleAsync(model, currentRole);

                            result = await this.userManager.AddToRoleAsync(model, modelDTO.RoleName);
                        }
                    }
                    catch (Exception ex)
                    {
                        //delete added user as it is not added in role
                        await this.userManager.DeleteAsync(model);

                        this.IsSuccess     = false;
                        this.ErrorMessages = new List <ErrorMessageDTO>()
                        {
                            new ErrorMessageDTO()
                            {
                                Message = ex.ToString()
                            }
                        };
                    }
                }
            }

            if (result.Succeeded)
            {
                model = await this.userManager.FindByIdAsync(model.Id);

                modelDTO = Mapper.Map <ApplicationUser, ApplicationUserDTO>(model);
                return(modelDTO);
            }
            else
            {
                this.IsSuccess = false;
                List <ErrorMessageDTO> errors = new List <ErrorMessageDTO>();
                foreach (var item in result.Errors)
                {
                    errors.Add(new ErrorMessageDTO()
                    {
                        Message = item.Description, Code = item.Code
                    });
                }
                this.ErrorMessages = errors;
                return(null);
            }
        }
Exemplo n.º 4
0
 protected override void TransformBlock(byte[] a_data, int a_index)
 {
     m_state[0] = Converters.ConvertBytesToULongSwapOrder(a_data, a_index);
     InjectMsg(false);
 }
Exemplo n.º 5
0
 public void Remove(Vector3D start)
 {
     Remove(Converters.From3Dto3I(start));
 }
Exemplo n.º 6
0
 public bool ContainsWithinVector(Vector3D target)
 {
     return(ContainsWithinVector(Converters.From3Dto3I(target)));
 }
Exemplo n.º 7
0
        public static void Main(string[] args)
        {
            // Prepare temp file.
            string file_name = Path.GetTempFileName();

            using (var fs = new FileStream(file_name, FileMode.Open))
            {
                byte[] v = new byte[256];
                new Random().NextBytes(v);
                fs.Write(v, 0, v.Length);
            }

            // Prepare stream.
            MemoryStream ms = new MemoryStream(new byte[] { 2, 3, 4, 5, 6, 7 });

            // Choose algorithm. Explore HashFactory for more algorithms.
            IHash hash = HashFactory.Crypto.CreateSHA256();

            // Hash data immediate.
            HashResult r = hash.ComputeString("test", Encoding.ASCII);

            // Hash data.
            hash.Initialize(); // Not mandatory after Compute and TransformFinal
            hash.TransformULong(6);
            hash.TransformString("test");
            r = hash.TransformFinal();

            // Calculate 32-bits hash.
            hash = HashFactory.Checksum.CreateCRC32_IEEE();
            uint crc32 = hash.ComputeString("test", Encoding.ASCII).GetUInt();

            // For CRCs you may specify parameters.
            hash = HashFactory.Checksum.CreateCRC32(
                HashLib.Checksum.CRC32Polynomials.IEEE_802_3, uint.MaxValue, uint.MaxValue);
            hash = HashFactory.Checksum.CreateCRC32(
                0xF0F0F0F0, uint.MaxValue, uint.MaxValue);

            // Most hashes can be created in two ways.
            hash = HashFactory.Crypto.CreateHaval(HashRounds.Rounds3, HashSize.HashSize256);
            hash = HashFactory.Crypto.CreateHaval_3_256();

            // Calculate 64-bits hash.
            hash = HashFactory.Hash64.CreateMurmur2();
            ulong crc64 = hash.ComputeString("test", Encoding.ASCII).GetULong();

            // Calculate hash with key.
            var hash_with_key = HashFactory.Hash128.CreateMurmur3_128();

            hash_with_key.Key = new MersenneTwister().NextBytes(hash_with_key.KeyLength.Value);
            r = hash_with_key.ComputeString("test", Encoding.ASCII);
            // This will restore default key.
            hash_with_key.Key = null;

            // Get some information about algorithm. BlockSize has only informative meaning.
            System.Console.WriteLine("{0}, {1}, {2}", hash.BlockSize, hash.HashSize, hash.Name);

            // Here you can find algorithms grouped by its properties.
            foreach (var h in Hashes.CryptoAll)
            {
                System.Console.WriteLine(((IHash)Activator.CreateInstance(h)).Name);
            }
            foreach (var h in Hashes.CryptoNotBuildIn)
            {
                System.Console.WriteLine(((IHash)Activator.CreateInstance(h)).Name);
            }
            foreach (var h in Hashes.CryptoBuildIn)
            {
                System.Console.WriteLine(((IHash)Activator.CreateInstance(h)).Name);
            }
            foreach (var h in Hashes.Checksums)
            {
                System.Console.WriteLine(((IHash)Activator.CreateInstance(h)).Name);
            }
            // ... And more

            // Hash stream.
            r           = hash.ComputeStream(ms);
            ms.Position = 2;
            r           = hash.ComputeStream(ms);    // Compute all bytes starting from 2
            ms.Position = 3;
            r           = hash.ComputeStream(ms, 2); // Compute 2 bytes starting from 3

            hash.TransformInt(111);
            ms.Position = 0;
            hash.TransformStream(ms);
            r = hash.TransformFinal();

            // Hash file
            r = hash.ComputeFile(file_name);
            r = hash.ComputeFile(file_name, 10);     // Compute all bytes starting from 10
            r = hash.ComputeFile(file_name, 12, 10); // Compute 10 bytes starting from 12.

            hash.TransformInt(111);
            hash.TransformFile(file_name);
            r = hash.TransformFinal();

            // Calculate HMAC.
            IHMAC hmac = HashFactory.HMAC.CreateHMAC(HashFactory.Crypto.CreateSHA256());

            hmac.Key = Converters.ConvertStringToBytes("secret", Encoding.ASCII);
            r        = hmac.ComputeString("test", Encoding.ASCII);
            Debug.Assert(hmac.KeyLength == null, "NULL means key can be any length");

            // Get System.Security.Cryptography.HashAlgorithm wrapper for algorithms from this library.
            System.Security.Cryptography.HashAlgorithm hash2 = HashFactory.Wrappers.HashToHashAlgorithm(hash);

            // And back.
            hash = HashFactory.Wrappers.HashAlgorithmToHash(hash2);

            // Some algorithms have fast specialized methods for calculating hashes for all data types.
            // They are designed for calculating good-behaving hash codes for hash-tables.
            hash = HashFactory.Hash32.CreateMurmur2();
            Debug.Assert(hash is IFastHash32);

            // Some algorithms can calculated hashes only when they had all needed data,
            // they accumulated data to the very end.
            hash = HashFactory.Hash32.CreateMurmur2();
            Debug.Assert(hash is INonBlockHash);

            // Use build-in cryptography hash algorithms.
            hash = HashFactory.Crypto.BuildIn.CreateSHA256Cng();

            // Delete temp file.
            new FileInfo(file_name).Delete();
        }
Exemplo n.º 8
0
 public List <VectorRangeI> GetStartVectors(Vector3D target)
 {
     return(GetStartVectors(Converters.From3Dto3I(target)));
 }
Exemplo n.º 9
0
        protected override void TransformBlock(byte[] a_data, int a_index, bool a_final)
        {
            int[] y = new int[128];

            for (int i = 0; i < 64; i++)
            {
                y[i] = a_data[i + a_index];
            }

            int tmp = y[63];

            for (int i = 0; i < 63; i++)
            {
                y[64 + i] = ((y[i] * FFT128_2_64_Twiddle[i] & 255) - (y[i] * FFT128_2_64_Twiddle[i] >> 8));
            }

            if (a_final)
            {
                int tmp2 = y[61];
                y[61]  = (((tmp2 + 1) & 255) - ((tmp2 + 1) >> 8));
                y[125] = (((tmp2 - 1) * FFT128_2_64_Twiddle[61] & 255) - ((tmp2 - 1) * FFT128_2_64_Twiddle[61] >> 8));
            }

            y[63]  = (((tmp + 1) & 255) - ((tmp + 1) >> 8));
            y[127] = (((tmp - 1) * FFT128_2_64_Twiddle[63] & 255) - ((tmp - 1) * FFT128_2_64_Twiddle[63] >> 8));

            FFT64(y, 0);
            FFT64(y, 64);

            uint[] state = new uint[16];
            Array.Copy(m_state, 0, state, 0, m_state.Length);

            uint[] message = Converters.ConvertBytesToUInts(a_data, a_index, 64);

            for (int i = 0; i < 16; i++)
            {
                m_state[i] ^= message[i];
            }

            Round4(y, 0, 3, 23, 17, 27);
            Round4(y, 1, 28, 19, 22, 7);
            Round4(y, 2, 29, 9, 15, 5);
            Round4(y, 3, 4, 13, 10, 25);

            uint[] R = new uint[4];

            for (int j = 0; j < 4; j++)
            {
                R[j] = ((m_state[0 + j] << 4) | (m_state[0 + j] >> (32 - 4)));
            }

            for (int j = 0; j < 4; j++)
            {
                m_state[12 + j] = m_state[12 + j] + state[0 + j] + ((((m_state[4 + j]) ^ (m_state[8 + j])) &
                                                                     (m_state[0 + j])) ^ (m_state[8 + j]));
                m_state[12 + j] = ((m_state[12 + j] << 13) | (m_state[12 + j] >> (32 - 13))) + R[(j ^ (((32) % 3) + 1))];
                m_state[0 + j]  = R[j];
            }

            for (int j = 0; j < 4; j++)
            {
                R[j] = ((m_state[12 + j] << 13) | (m_state[12 + j] >> (32 - 13)));
            }

            for (int j = 0; j < 4; j++)
            {
                m_state[8 + j] = m_state[8 + j] + state[4 + j] + ((((m_state[0 + j]) ^ (m_state[4 + j])) &
                                                                   (m_state[12 + j])) ^ (m_state[4 + j]));
                m_state[8 + j]  = ((m_state[8 + j] << 10) | (m_state[8 + j] >> (32 - 10))) + R[(j ^ (((33) % 3) + 1))];
                m_state[12 + j] = R[j];
            }

            for (int j = 0; j < 4; j++)
            {
                R[j] = ((m_state[8 + j] << 10) | (m_state[8 + j] >> (32 - 10)));
            }

            for (int j = 0; j < 4; j++)
            {
                m_state[4 + j] = m_state[4 + j] + state[8 + j] + ((((m_state[12 + j]) ^ (m_state[0 + j])) &
                                                                   (m_state[8 + j])) ^ (m_state[0 + j]));
                m_state[4 + j] = ((m_state[4 + j] << 25) | (m_state[4 + j] >> (32 - 25))) + R[(j ^ (((34) % 3) + 1))];
                m_state[8 + j] = R[j];
            }

            for (int j = 0; j < 4; j++)
            {
                R[j] = ((m_state[4 + j] << 25) | (m_state[4 + j] >> (32 - 25)));
            }

            for (int j = 0; j < 4; j++)
            {
                m_state[0 + j] = m_state[0 + j] + state[12 + j] + ((((m_state[8 + j]) ^ (m_state[12 + j])) &
                                                                    (m_state[4 + j])) ^ (m_state[12 + j]));
                m_state[0 + j] = ((m_state[0 + j] << 4) | (m_state[0 + j] >> (32 - 4))) + R[(j ^ (((35) % 3) + 1))];
                m_state[4 + j] = R[j];
            }
        }
Exemplo n.º 10
0
        protected override void TransformBlock(byte[] a_data, int a_index, bool a_final)
        {
            int[] y = new int[256];

            for (int i = 0; i < 128; i++)
            {
                y[i] = a_data[i + a_index];
            }

            int tmp = y[127];

            for (int i = 0; i < 127; i++)
            {
                y[128 + i] = ((y[i] * FFT256_2_128_Twiddle[i] & 255) - (y[i] * FFT256_2_128_Twiddle[i] >> 8));
            }

            if (a_final)
            {
                int tmp2 = y[125];
                y[125] = (((tmp2 + 1) & 255) - ((tmp2 + 1) >> 8));
                y[253] = (((tmp2 - 1) * FFT256_2_128_Twiddle[125] & 255) - ((tmp2 - 1) * FFT256_2_128_Twiddle[125] >> 8));
            }

            y[127] = (((tmp + 1) & 255) - ((tmp + 1) >> 8));
            y[255] = (((tmp - 1) * FFT256_2_128_Twiddle[127] & 255) - ((tmp - 1) * FFT256_2_128_Twiddle[127] >> 8));

            FFT128(y, 0);
            FFT128(y, 128);

            uint[] state = new uint[32];
            Array.Copy(m_state, 0, state, 0, 32);

            uint[] message = Converters.ConvertBytesToUInts(a_data, a_index, 128);

            for (int i = 0; i < 32; i++)
            {
                m_state[i] ^= message[i];
            }

            Round8(y, 0, 3, 23, 17, 27);
            Round8(y, 1, 28, 19, 22, 7);
            Round8(y, 2, 29, 9, 15, 5);
            Round8(y, 3, 4, 13, 10, 25);

            uint[] R = new uint[8];

            for (int j = 0; j < 8; j++)
            {
                R[j] = ((m_state[0 + j] << 4) | (m_state[0 + j] >> (32 - 4)));
            }

            for (int j = 0; j < 8; j++)
            {
                m_state[24 + j] = m_state[24 + j] + state[0 + j] + ((((m_state[8 + j]) ^ (m_state[16 + j])) &
                                                                     (m_state[0 + j])) ^ (m_state[16 + j]));
                m_state[24 + j] = ((m_state[24 + j] << 13) | (m_state[24 + j] >> (32 - 13))) + R[j ^ p8_xor[(32) % 7]];
                m_state[0 + j]  = R[j];
            }

            for (int j = 0; j < 8; j++)
            {
                R[j] = ((m_state[24 + j] << 13) | (m_state[24 + j] >> (32 - 13)));
            }

            for (int j = 0; j < 8; j++)
            {
                m_state[16 + j] = m_state[16 + j] + state[8 + j] + ((((m_state[0 + j]) ^ (m_state[8 + j])) &
                                                                     (m_state[24 + j])) ^ (m_state[8 + j]));
                m_state[16 + j] = ((m_state[16 + j] << 10) | (m_state[16 + j] >> (32 - 10))) + R[j ^ p8_xor[(33) % 7]];
                m_state[24 + j] = R[j];
            }

            for (int j = 0; j < 8; j++)
            {
                R[j] = ((m_state[16 + j] << 10) | (m_state[16 + j] >> (32 - 10)));
            }

            for (int j = 0; j < 8; j++)
            {
                m_state[8 + j] = m_state[8 + j] + state[16 + j] + ((((m_state[24 + j]) ^ (m_state[0 + j])) &
                                                                    (m_state[16 + j])) ^ (m_state[0 + j]));
                m_state[8 + j]  = ((m_state[8 + j] << 25) | (m_state[8 + j] >> (32 - 25))) + R[j ^ p8_xor[(34) % 7]];
                m_state[16 + j] = R[j];
            }

            for (int j = 0; j < 8; j++)
            {
                R[j] = ((m_state[8 + j] << 25) | (m_state[8 + j] >> (32 - 25)));
            }

            for (int j = 0; j < 8; j++)
            {
                m_state[0 + j] = m_state[0 + j] + state[24 + j] + ((((m_state[16 + j]) ^ (m_state[24 + j])) &
                                                                    (m_state[8 + j])) ^ (m_state[24 + j]));
                m_state[0 + j] = ((m_state[0 + j] << 4) | (m_state[0 + j] >> (32 - 4))) + R[j ^ p8_xor[(35) % 7]];
                m_state[8 + j] = R[j];
            }
        }
Exemplo n.º 11
0
 protected override byte[] GetResult()
 {
     return(Converters.ConvertUIntsToBytes(m_state, 0, HashSize / 4));
 }
Exemplo n.º 12
0
 public ShowSelectedCarViewModel(ref CarEntity car)
 {
     this.car  = car;
     mainImage = Converters.BitmapFromByteArray(car.PictureOne);
 }
Exemplo n.º 13
0
        protected override void TransformBlock(byte[] a_data, int a_index)
        {
            uint data0  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 0);
            uint data1  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 1);
            uint data2  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 2);
            uint data3  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 3);
            uint data4  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 4);
            uint data5  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 5);
            uint data6  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 6);
            uint data7  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 7);
            uint data8  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 8);
            uint data9  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 9);
            uint data10 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 10);
            uint data11 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 11);
            uint data12 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 12);
            uint data13 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 13);
            uint data14 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 14);
            uint data15 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 15);

            uint A = m_state[0];
            uint B = m_state[1];
            uint C = m_state[2];
            uint D = m_state[3];

            A = data0 + 0xd76aa478 + A + ((B & C) | (~B & D));
            A = ((A << 7) | (A >> (32 - 7))) + B;
            D = data1 + 0xe8c7b756 + D + ((A & B) | (~A & C));
            D = ((D << 12) | (D >> (32 - 12))) + A;
            C = data2 + 0x242070db + C + ((D & A) | (~D & B));
            C = ((C << 17) | (C >> (32 - 17))) + D;
            B = data3 + 0xc1bdceee + B + ((C & D) | (~C & A));
            B = ((B << 22) | (B >> (32 - 22))) + C;
            A = data4 + 0xf57c0faf + A + ((B & C) | (~B & D));
            A = ((A << 7) | (A >> (32 - 7))) + B;
            D = data5 + 0x4787c62a + D + ((A & B) | (~A & C));
            D = ((D << 12) | (D >> (32 - 12))) + A;
            C = data6 + 0xa8304613 + C + ((D & A) | (~D & B));
            C = ((C << 17) | (C >> (32 - 17))) + D;
            B = data7 + 0xfd469501 + B + ((C & D) | (~C & A));
            B = ((B << 22) | (B >> (32 - 22))) + C;
            A = data8 + 0x698098d8 + A + ((B & C) | (~B & D));
            A = ((A << 7) | (A >> (32 - 7))) + B;
            D = data9 + 0x8b44f7af + D + ((A & B) | (~A & C));
            D = ((D << 12) | (D >> (32 - 12))) + A;
            C = data10 + 0xffff5bb1 + C + ((D & A) | (~D & B));
            C = ((C << 17) | (C >> (32 - 17))) + D;
            B = data11 + 0x895cd7be + B + ((C & D) | (~C & A));
            B = ((B << 22) | (B >> (32 - 22))) + C;
            A = data12 + 0x6b901122 + A + ((B & C) | (~B & D));
            A = ((A << 7) | (A >> (32 - 7))) + B;
            D = data13 + 0xfd987193 + D + ((A & B) | (~A & C));
            D = ((D << 12) | (D >> (32 - 12))) + A;
            C = data14 + 0xa679438e + C + ((D & A) | (~D & B));
            C = ((C << 17) | (C >> (32 - 17))) + D;
            B = data15 + 0x49b40821 + B + ((C & D) | (~C & A));
            B = ((B << 22) | (B >> (32 - 22))) + C;

            A = data1 + 0xf61e2562 + A + ((B & D) | (C & ~D));
            A = ((A << 5) | (A >> (32 - 5))) + B;
            D = data6 + 0xc040b340 + D + ((A & C) | (B & ~C));
            D = ((D << 9) | (D >> (32 - 9))) + A;
            C = data11 + 0x265e5a51 + C + ((D & B) | (A & ~B));
            C = ((C << 14) | (C >> (32 - 14))) + D;
            B = data0 + 0xe9b6c7aa + B + ((C & A) | (D & ~A));
            B = ((B << 20) | (B >> (32 - 20))) + C;
            A = data5 + 0xd62f105d + A + ((B & D) | (C & ~D));
            A = ((A << 5) | (A >> (32 - 5))) + B;
            D = data10 + 0x2441453 + D + ((A & C) | (B & ~C));
            D = ((D << 9) | (D >> (32 - 9))) + A;
            C = data15 + 0xd8a1e681 + C + ((D & B) | (A & ~B));
            C = ((C << 14) | (C >> (32 - 14))) + D;
            B = data4 + 0xe7d3fbc8 + B + ((C & A) | (D & ~A));
            B = ((B << 20) | (B >> (32 - 20))) + C;
            A = data9 + 0x21e1cde6 + A + ((B & D) | (C & ~D));
            A = ((A << 5) | (A >> (32 - 5))) + B;
            D = data14 + 0xc33707d6 + D + ((A & C) | (B & ~C));
            D = ((D << 9) | (D >> (32 - 9))) + A;
            C = data3 + 0xf4d50d87 + C + ((D & B) | (A & ~B));
            C = ((C << 14) | (C >> (32 - 14))) + D;
            B = data8 + 0x455a14ed + B + ((C & A) | (D & ~A));
            B = ((B << 20) | (B >> (32 - 20))) + C;
            A = data13 + 0xa9e3e905 + A + ((B & D) | (C & ~D));
            A = ((A << 5) | (A >> (32 - 5))) + B;
            D = data2 + 0xfcefa3f8 + D + ((A & C) | (B & ~C));
            D = ((D << 9) | (D >> (32 - 9))) + A;
            C = data7 + 0x676f02d9 + C + ((D & B) | (A & ~B));
            C = ((C << 14) | (C >> (32 - 14))) + D;
            B = data12 + 0x8d2a4c8a + B + ((C & A) | (D & ~A));
            B = ((B << 20) | (B >> (32 - 20))) + C;

            A = data5 + 0xfffa3942 + A + (B ^ C ^ D);
            A = ((A << 4) | (A >> (32 - 4))) + B;
            D = data8 + 0x8771f681 + D + (A ^ B ^ C);
            D = ((D << 11) | (D >> (32 - 11))) + A;
            C = data11 + 0x6d9d6122 + C + (D ^ A ^ B);
            C = ((C << 16) | (C >> (32 - 16))) + D;
            B = data14 + 0xfde5380c + B + (C ^ D ^ A);
            B = ((B << 23) | (B >> (32 - 23))) + C;
            A = data1 + 0xa4beea44 + A + (B ^ C ^ D);
            A = ((A << 4) | (A >> (32 - 4))) + B;
            D = data4 + 0x4bdecfa9 + D + (A ^ B ^ C);
            D = ((D << 11) | (D >> (32 - 11))) + A;
            C = data7 + 0xf6bb4b60 + C + (D ^ A ^ B);
            C = ((C << 16) | (C >> (32 - 16))) + D;
            B = data10 + 0xbebfbc70 + B + (C ^ D ^ A);
            B = ((B << 23) | (B >> (32 - 23))) + C;
            A = data13 + 0x289b7ec6 + A + (B ^ C ^ D);
            A = ((A << 4) | (A >> (32 - 4))) + B;
            D = data0 + 0xeaa127fa + D + (A ^ B ^ C);
            D = ((D << 11) | (D >> (32 - 11))) + A;
            C = data3 + 0xd4ef3085 + C + (D ^ A ^ B);
            C = ((C << 16) | (C >> (32 - 16))) + D;
            B = data6 + 0x4881d05 + B + (C ^ D ^ A);
            B = ((B << 23) | (B >> (32 - 23))) + C;
            A = data9 + 0xd9d4d039 + A + (B ^ C ^ D);
            A = ((A << 4) | (A >> (32 - 4))) + B;
            D = data12 + 0xe6db99e5 + D + (A ^ B ^ C);
            D = ((D << 11) | (D >> (32 - 11))) + A;
            C = data15 + 0x1fa27cf8 + C + (D ^ A ^ B);
            C = ((C << 16) | (C >> (32 - 16))) + D;
            B = data2 + 0xc4ac5665 + B + (C ^ D ^ A);
            B = ((B << 23) | (B >> (32 - 23))) + C;

            A = data0 + 0xf4292244 + A + (C ^ (B | ~D));
            A = ((A << 6) | (A >> (32 - 6))) + B;
            D = data7 + 0x432aff97 + D + (B ^ (A | ~C));
            D = ((D << 10) | (D >> (32 - 10))) + A;
            C = data14 + 0xab9423a7 + C + (A ^ (D | ~B));
            C = ((C << 15) | (C >> (32 - 15))) + D;
            B = data5 + 0xfc93a039 + B + (D ^ (C | ~A));
            B = ((B << 21) | (B >> (32 - 21))) + C;
            A = data12 + 0x655b59c3 + A + (C ^ (B | ~D));
            A = ((A << 6) | (A >> (32 - 6))) + B;
            D = data3 + 0x8f0ccc92 + D + (B ^ (A | ~C));
            D = ((D << 10) | (D >> (32 - 10))) + A;
            C = data10 + 0xffeff47d + C + (A ^ (D | ~B));
            C = ((C << 15) | (C >> (32 - 15))) + D;
            B = data1 + 0x85845dd1 + B + (D ^ (C | ~A));
            B = ((B << 21) | (B >> (32 - 21))) + C;
            A = data8 + 0x6fa87e4f + A + (C ^ (B | ~D));
            A = ((A << 6) | (A >> (32 - 6))) + B;
            D = data15 + 0xfe2ce6e0 + D + (B ^ (A | ~C));
            D = ((D << 10) | (D >> (32 - 10))) + A;
            C = data6 + 0xa3014314 + C + (A ^ (D | ~B));
            C = ((C << 15) | (C >> (32 - 15))) + D;
            B = data13 + 0x4e0811a1 + B + (D ^ (C | ~A));
            B = ((B << 21) | (B >> (32 - 21))) + C;
            A = data4 + 0xf7537e82 + A + (C ^ (B | ~D));
            A = ((A << 6) | (A >> (32 - 6))) + B;
            D = data11 + 0xbd3af235 + D + (B ^ (A | ~C));
            D = ((D << 10) | (D >> (32 - 10))) + A;
            C = data2 + 0x2ad7d2bb + C + (A ^ (D | ~B));
            C = ((C << 15) | (C >> (32 - 15))) + D;
            B = data9 + 0xeb86d391 + B + (D ^ (C | ~A));
            B = ((B << 21) | (B >> (32 - 21))) + C;

            m_state[0] += A;
            m_state[1] += B;
            m_state[2] += C;
            m_state[3] += D;
        }
Exemplo n.º 14
0
        protected override void TransformBlock(byte[] a_data, int a_index)
        {
            ulong state0  = m_processed_bytes;
            ulong state1  = m_temp2;
            ulong state2  = state0 ^ state1;
            ulong state3  = m_state[0];
            ulong state4  = m_state[1];
            ulong state5  = m_state[2];
            ulong state6  = m_state[3];
            ulong state7  = m_state[4];
            ulong state8  = m_state[5];
            ulong state9  = m_state[6];
            ulong state10 = m_state[7];
            ulong state11 = state3 ^ state4 ^ state5 ^ state6 ^ state7 ^ state8 ^ state9 ^ state10 ^ 0x1BD11BDAA9FC1A22;

            ulong[] data = Converters.ConvertBytesToULongs(a_data, a_index, BlockSize);

            ulong X0 = data[0] + state3;
            ulong X1 = data[1] + state4;
            ulong X2 = data[2] + state5;
            ulong X3 = data[3] + state6;
            ulong X4 = data[4] + state7;
            ulong X5 = data[5] + state8 + state0;
            ulong X6 = data[6] + state9 + state1;
            ulong X7 = data[7] + state10;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state4;
            X1 += state5;
            X2 += state6;
            X3 += state7;
            X4 += state8;
            X5 += state9 + state1;
            X6 += state10 + state2;
            X7 += state11 + 1;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state5;
            X1 += state6;
            X2 += state7;
            X3 += state8;
            X4 += state9;
            X5 += state10 + state2;
            X6 += state11 + state0;
            X7 += state3 + 2;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state6;
            X1 += state7;
            X2 += state8;
            X3 += state9;
            X4 += state10;
            X5 += state11 + state0;
            X6 += state3 + state1;
            X7 += state4 + 3;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state7;
            X1 += state8;
            X2 += state9;
            X3 += state10;
            X4 += state11;
            X5 += state3 + state1;
            X6 += state4 + state2;
            X7 += state5 + 4;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state8;
            X1 += state9;
            X2 += state10;
            X3 += state11;
            X4 += state3;
            X5 += state4 + state2;
            X6 += state5 + state0;
            X7 += state6 + 5;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state9;
            X1 += state10;
            X2 += state11;
            X3 += state3;
            X4 += state4;
            X5 += state5 + state0;
            X6 += state6 + state1;
            X7 += state7 + 6;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state10;
            X1 += state11;
            X2 += state3;
            X3 += state4;
            X4 += state5;
            X5 += state6 + state1;
            X6 += state7 + state2;
            X7 += state8 + 7;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state11;
            X1 += state3;
            X2 += state4;
            X3 += state5;
            X4 += state6;
            X5 += state7 + state2;
            X6 += state8 + state0;
            X7 += state9 + 8;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state3;
            X1 += state4;
            X2 += state5;
            X3 += state6;
            X4 += state7;
            X5 += state8 + state0;
            X6 += state9 + state1;
            X7 += state10 + 9;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state4;
            X1 += state5;
            X2 += state6;
            X3 += state7;
            X4 += state8;
            X5 += state9 + state1;
            X6 += state10 + state2;
            X7 += state11 + 10;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state5;
            X1 += state6;
            X2 += state7;
            X3 += state8;
            X4 += state9;
            X5 += state10 + state2;
            X6 += state11 + state0;
            X7 += state3 + 11;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state6;
            X1 += state7;
            X2 += state8;
            X3 += state9;
            X4 += state10;
            X5 += state11 + state0;
            X6 += state3 + state1;
            X7 += state4 + 12;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state7;
            X1 += state8;
            X2 += state9;
            X3 += state10;
            X4 += state11;
            X5 += state3 + state1;
            X6 += state4 + state2;
            X7 += state5 + 13;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state8;
            X1 += state9;
            X2 += state10;
            X3 += state11;
            X4 += state3;
            X5 += state4 + state2;
            X6 += state5 + state0;
            X7 += state6 + 14;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state9;
            X1 += state10;
            X2 += state11;
            X3 += state3;
            X4 += state4;
            X5 += state5 + state0;
            X6 += state6 + state1;
            X7 += state7 + 15;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state10;
            X1 += state11;
            X2 += state3;
            X3 += state4;
            X4 += state5;
            X5 += state6 + state1;
            X6 += state7 + state2;
            X7 += state8 + 16;

            X0 += X1;
            X1  = (X1 << 46) | (X1 >> (64 - 46));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 36) | (X3 >> (64 - 36));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 19) | (X5 >> (64 - 19));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 37) | (X7 >> (64 - 37));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 33) | (X1 >> (64 - 33));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 27) | (X7 >> (64 - 27));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 14) | (X5 >> (64 - 14));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 42) | (X3 >> (64 - 42));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 17) | (X1 >> (64 - 17));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 49) | (X3 >> (64 - 49));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 36) | (X5 >> (64 - 36));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 39) | (X7 >> (64 - 39));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 44) | (X1 >> (64 - 44));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 9) | (X7 >> (64 - 9));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 54) | (X5 >> (64 - 54));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 56) | (X3 >> (64 - 56));
            X3 ^= X4;
            X0 += state11;
            X1 += state3;
            X2 += state4;
            X3 += state5;
            X4 += state6;
            X5 += state7 + state2;
            X6 += state8 + state0;
            X7 += state9 + 17;
            X0 += X1;
            X1  = (X1 << 39) | (X1 >> (64 - 39));
            X1 ^= X0;
            X2 += X3;
            X3  = (X3 << 30) | (X3 >> (64 - 30));
            X3 ^= X2;
            X4 += X5;
            X5  = (X5 << 34) | (X5 >> (64 - 34));
            X5 ^= X4;
            X6 += X7;
            X7  = (X7 << 24) | (X7 >> (64 - 24));
            X7 ^= X6;
            X2 += X1;
            X1  = (X1 << 13) | (X1 >> (64 - 13));
            X1 ^= X2;
            X4 += X7;
            X7  = (X7 << 50) | (X7 >> (64 - 50));
            X7 ^= X4;
            X6 += X5;
            X5  = (X5 << 10) | (X5 >> (64 - 10));
            X5 ^= X6;
            X0 += X3;
            X3  = (X3 << 17) | (X3 >> (64 - 17));
            X3 ^= X0;
            X4 += X1;
            X1  = (X1 << 25) | (X1 >> (64 - 25));
            X1 ^= X4;
            X6 += X3;
            X3  = (X3 << 29) | (X3 >> (64 - 29));
            X3 ^= X6;
            X0 += X5;
            X5  = (X5 << 39) | (X5 >> (64 - 39));
            X5 ^= X0;
            X2 += X7;
            X7  = (X7 << 43) | (X7 >> (64 - 43));
            X7 ^= X2;
            X6 += X1;
            X1  = (X1 << 8) | (X1 >> (64 - 8));
            X1 ^= X6;
            X0 += X7;
            X7  = (X7 << 35) | (X7 >> (64 - 35));
            X7 ^= X0;
            X2 += X5;
            X5  = (X5 << 56) | (X5 >> (64 - 56));
            X5 ^= X2;
            X4 += X3;
            X3  = (X3 << 22) | (X3 >> (64 - 22));
            X3 ^= X4;
            X0 += state3;
            X1 += state4;
            X2 += state5;
            X3 += state6;
            X4 += state7;
            X5 += state8 + state0;
            X6 += state9 + state1;
            X7 += state10 + 18;

            m_state[0] = X0 ^ data[0];
            m_state[1] = X1 ^ data[1];
            m_state[2] = X2 ^ data[2];
            m_state[3] = X3 ^ data[3];
            m_state[4] = X4 ^ data[4];
            m_state[5] = X5 ^ data[5];
            m_state[6] = X6 ^ data[6];
            m_state[7] = X7 ^ data[7];

            m_temp2 = state1 & ~0x4000000000000000U;
        }
Exemplo n.º 15
0
 public void Click()
 {
     Gold.AddGold(Converters.StringToBigInt(goldToAddOnClick));
 }
Exemplo n.º 16
0
 public void DataChanged(double width)
 {
     virtualArea = new Rect(0, 0, width, Converters.ToRowExtent(commits.Count));
     TriggerInvalidated();
 }
Exemplo n.º 17
0
        protected override void TransformBlock(byte[] a_data, int a_index)
        {
            uint data0  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 0);
            uint data1  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 1);
            uint data2  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 2);
            uint data3  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 3);
            uint data4  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 4);
            uint data5  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 5);
            uint data6  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 6);
            uint data7  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 7);
            uint data8  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 8);
            uint data9  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 9);
            uint data10 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 10);
            uint data11 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 11);
            uint data12 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 12);
            uint data13 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 13);
            uint data14 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 14);
            uint data15 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 15);

            uint a  = m_state[0];
            uint b  = m_state[1];
            uint c  = m_state[2];
            uint d  = m_state[3];
            uint e  = m_state[4];
            uint aa = m_state[5];
            uint bb = m_state[6];
            uint cc = m_state[7];
            uint dd = m_state[8];
            uint ee = m_state[9];

            a += data0 + (b ^ c ^ d);
            a  = ((a << 11) | (a >> (32 - 11))) + e;
            c  = (c << 10) | (c >> (32 - 10));
            e += data1 + (a ^ b ^ c);
            e  = ((e << 14) | (e >> (32 - 14))) + d;
            b  = (b << 10) | (b >> (32 - 10));
            d += data2 + (e ^ a ^ b);
            d  = ((d << 15) | (d >> (32 - 15))) + c;
            a  = (a << 10) | (a >> (32 - 10));
            c += data3 + (d ^ e ^ a);
            c  = ((c << 12) | (c >> (32 - 12))) + b;
            e  = (e << 10) | (e >> (32 - 10));
            b += data4 + (c ^ d ^ e);
            b  = ((b << 5) | (b >> (32 - 5))) + a;
            d  = (d << 10) | (d >> (32 - 10));
            a += data5 + (b ^ c ^ d);
            a  = ((a << 8) | (a >> (32 - 8))) + e;
            c  = (c << 10) | (c >> (32 - 10));
            e += data6 + (a ^ b ^ c);
            e  = ((e << 7) | (e >> (32 - 7))) + d;
            b  = (b << 10) | (b >> (32 - 10));
            d += data7 + (e ^ a ^ b);
            d  = ((d << 9) | (d >> (32 - 9))) + c;
            a  = (a << 10) | (a >> (32 - 10));
            c += data8 + (d ^ e ^ a);
            c  = ((c << 11) | (c >> (32 - 11))) + b;
            e  = (e << 10) | (e >> (32 - 10));
            b += data9 + (c ^ d ^ e);
            b  = ((b << 13) | (b >> (32 - 13))) + a;
            d  = (d << 10) | (d >> (32 - 10));
            a += data10 + (b ^ c ^ d);
            a  = ((a << 14) | (a >> (32 - 14))) + e;
            c  = (c << 10) | (c >> (32 - 10));
            e += data11 + (a ^ b ^ c);
            e  = ((e << 15) | (e >> (32 - 15))) + d;
            b  = (b << 10) | (b >> (32 - 10));
            d += data12 + (e ^ a ^ b);
            d  = ((d << 6) | (d >> (32 - 6))) + c;
            a  = (a << 10) | (a >> (32 - 10));
            c += data13 + (d ^ e ^ a);
            c  = ((c << 7) | (c >> (32 - 7))) + b;
            e  = (e << 10) | (e >> (32 - 10));
            b += data14 + (c ^ d ^ e);
            b  = ((b << 9) | (b >> (32 - 9))) + a;
            d  = (d << 10) | (d >> (32 - 10));
            a += data15 + (b ^ c ^ d);
            a  = ((a << 8) | (a >> (32 - 8))) + e;
            c  = (c << 10) | (c >> (32 - 10));

            aa += data5 + C1 + (bb ^ (cc | ~dd));
            aa  = ((aa << 8) | (aa >> (32 - 8))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data14 + C1 + (aa ^ (bb | ~cc));
            ee  = ((ee << 9) | (ee >> (32 - 9))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data7 + C1 + (ee ^ (aa | ~bb));
            dd  = ((dd << 9) | (dd >> (32 - 9))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data0 + C1 + (dd ^ (ee | ~aa));
            cc  = ((cc << 11) | (cc >> (32 - 11))) + bb;
            ee  = (ee << 10) | (ee >> (32 - 10));
            bb += data9 + C1 + (cc ^ (dd | ~ee));
            bb  = ((bb << 13) | (bb >> (32 - 13))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));
            aa += data2 + C1 + (bb ^ (cc | ~dd));
            aa  = ((aa << 15) | (aa >> (32 - 15))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data11 + C1 + (aa ^ (bb | ~cc));
            ee  = ((ee << 15) | (ee >> (32 - 15))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data4 + C1 + (ee ^ (aa | ~bb));
            dd  = ((dd << 5) | (dd >> (32 - 5))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data13 + C1 + (dd ^ (ee | ~aa));
            cc  = ((cc << 7) | (cc >> (32 - 7))) + bb;
            ee  = (ee << 10) | (ee >> (32 - 10));
            bb += data6 + C1 + (cc ^ (dd | ~ee));
            bb  = ((bb << 7) | (bb >> (32 - 7))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));
            aa += data15 + C1 + (bb ^ (cc | ~dd));
            aa  = ((aa << 8) | (aa >> (32 - 8))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data8 + C1 + (aa ^ (bb | ~cc));
            ee  = ((ee << 11) | (ee >> (32 - 11))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data1 + C1 + (ee ^ (aa | ~bb));
            dd  = ((dd << 14) | (dd >> (32 - 14))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data10 + C1 + (dd ^ (ee | ~aa));
            cc  = ((cc << 14) | (cc >> (32 - 14))) + bb;
            ee  = (ee << 10) | (ee >> (32 - 10));
            bb += data3 + C1 + (cc ^ (dd | ~ee));
            bb  = ((bb << 12) | (bb >> (32 - 12))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));
            aa += data12 + C1 + (bb ^ (cc | ~dd));
            aa  = ((aa << 6) | (aa >> (32 - 6))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));

            e  += data7 + C2 + ((aa & b) | (~aa & c));
            e   = ((e << 7) | (e >> (32 - 7))) + d;
            b   = (b << 10) | (b >> (32 - 10));
            d  += data4 + C2 + ((e & aa) | (~e & b));
            d   = ((d << 6) | (d >> (32 - 6))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));
            c  += data13 + C2 + ((d & e) | (~d & aa));
            c   = ((c << 8) | (c >> (32 - 8))) + b;
            e   = (e << 10) | (e >> (32 - 10));
            b  += data1 + C2 + ((c & d) | (~c & e));
            b   = ((b << 13) | (b >> (32 - 13))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data10 + C2 + ((b & c) | (~b & d));
            aa  = ((aa << 11) | (aa >> (32 - 11))) + e;
            c   = (c << 10) | (c >> (32 - 10));
            e  += data6 + C2 + ((aa & b) | (~aa & c));
            e   = ((e << 9) | (e >> (32 - 9))) + d;
            b   = (b << 10) | (b >> (32 - 10));
            d  += data15 + C2 + ((e & aa) | (~e & b));
            d   = ((d << 7) | (d >> (32 - 7))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));
            c  += data3 + C2 + ((d & e) | (~d & aa));
            c   = ((c << 15) | (c >> (32 - 15))) + b;
            e   = (e << 10) | (e >> (32 - 10));
            b  += data12 + C2 + ((c & d) | (~c & e));
            b   = ((b << 7) | (b >> (32 - 7))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data0 + C2 + ((b & c) | (~b & d));
            aa  = ((aa << 12) | (aa >> (32 - 12))) + e;
            c   = (c << 10) | (c >> (32 - 10));
            e  += data9 + C2 + ((aa & b) | (~aa & c));
            e   = ((e << 15) | (e >> (32 - 15))) + d;
            b   = (b << 10) | (b >> (32 - 10));
            d  += data5 + C2 + ((e & aa) | (~e & b));
            d   = ((d << 9) | (d >> (32 - 9))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));
            c  += data2 + C2 + ((d & e) | (~d & aa));
            c   = ((c << 11) | (c >> (32 - 11))) + b;
            e   = (e << 10) | (e >> (32 - 10));
            b  += data14 + C2 + ((c & d) | (~c & e));
            b   = ((b << 7) | (b >> (32 - 7))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data11 + C2 + ((b & c) | (~b & d));
            aa  = ((aa << 13) | (aa >> (32 - 13))) + e;
            c   = (c << 10) | (c >> (32 - 10));
            e  += data8 + C2 + ((aa & b) | (~aa & c));
            e   = ((e << 12) | (e >> (32 - 12))) + d;
            b   = (b << 10) | (b >> (32 - 10));

            ee += data6 + C3 + ((a & cc) | (bb & ~cc));
            ee  = ((ee << 9) | (ee >> (32 - 9))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data11 + C3 + ((ee & bb) | (a & ~bb));
            dd  = ((dd << 13) | (dd >> (32 - 13))) + cc;
            a   = (a << 10) | (a >> (32 - 10));
            cc += data3 + C3 + ((dd & a) | (ee & ~a));
            cc  = ((cc << 15) | (cc >> (32 - 15))) + bb;
            ee  = (ee << 10) | (ee >> (32 - 10));
            bb += data7 + C3 + ((cc & ee) | (dd & ~ee));
            bb  = ((bb << 7) | (bb >> (32 - 7))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data0 + C3 + ((bb & dd) | (cc & ~dd));
            a   = ((a << 12) | (a >> (32 - 12))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data13 + C3 + ((a & cc) | (bb & ~cc));
            ee  = ((ee << 8) | (ee >> (32 - 8))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data5 + C3 + ((ee & bb) | (a & ~bb));
            dd  = ((dd << 9) | (dd >> (32 - 9))) + cc;
            a   = (a << 10) | (a >> (32 - 10));
            cc += data10 + C3 + ((dd & a) | (ee & ~a));
            cc  = ((cc << 11) | (cc >> (32 - 11))) + bb;
            ee  = (ee << 10) | (ee >> (32 - 10));
            bb += data14 + C3 + ((cc & ee) | (dd & ~ee));
            bb  = ((bb << 7) | (bb >> (32 - 7))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data15 + C3 + ((bb & dd) | (cc & ~dd));
            a   = ((a << 7) | (a >> (32 - 7))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data8 + C3 + ((a & cc) | (bb & ~cc));
            ee  = ((ee << 12) | (ee >> (32 - 12))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data12 + C3 + ((ee & bb) | (a & ~bb));
            dd  = ((dd << 7) | (dd >> (32 - 7))) + cc;
            a   = (a << 10) | (a >> (32 - 10));
            cc += data4 + C3 + ((dd & a) | (ee & ~a));
            cc  = ((cc << 6) | (cc >> (32 - 6))) + bb;
            ee  = (ee << 10) | (ee >> (32 - 10));
            bb += data9 + C3 + ((cc & ee) | (dd & ~ee));
            bb  = ((bb << 15) | (bb >> (32 - 15))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data1 + C3 + ((bb & dd) | (cc & ~dd));
            a   = ((a << 13) | (a >> (32 - 13))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data2 + C3 + ((a & cc) | (bb & ~cc));
            ee  = ((ee << 11) | (ee >> (32 - 11))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));

            d  += data3 + C4 + ((e | ~aa) ^ bb);
            d   = ((d << 11) | (d >> (32 - 11))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));
            c  += data10 + C4 + ((d | ~e) ^ aa);
            c   = ((c << 13) | (c >> (32 - 13))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data14 + C4 + ((c | ~d) ^ e);
            bb  = ((bb << 6) | (bb >> (32 - 6))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data4 + C4 + ((bb | ~c) ^ d);
            aa  = ((aa << 7) | (aa >> (32 - 7))) + e;
            c   = (c << 10) | (c >> (32 - 10));
            e  += data9 + C4 + ((aa | ~bb) ^ c);
            e   = ((e << 14) | (e >> (32 - 14))) + d;
            bb  = (bb << 10) | (bb >> (32 - 10));
            d  += data15 + C4 + ((e | ~aa) ^ bb);
            d   = ((d << 9) | (d >> (32 - 9))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));
            c  += data8 + C4 + ((d | ~e) ^ aa);
            c   = ((c << 13) | (c >> (32 - 13))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data1 + C4 + ((c | ~d) ^ e);
            bb  = ((bb << 15) | (bb >> (32 - 15))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data2 + C4 + ((bb | ~c) ^ d);
            aa  = ((aa << 14) | (aa >> (32 - 14))) + e;
            c   = (c << 10) | (c >> (32 - 10));
            e  += data7 + C4 + ((aa | ~bb) ^ c);
            e   = ((e << 8) | (e >> (32 - 8))) + d;
            bb  = (bb << 10) | (bb >> (32 - 10));
            d  += data0 + C4 + ((e | ~aa) ^ bb);
            d   = ((d << 13) | (d >> (32 - 13))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));
            c  += data6 + C4 + ((d | ~e) ^ aa);
            c   = ((c << 6) | (c >> (32 - 6))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data13 + C4 + ((c | ~d) ^ e);
            bb  = ((bb << 5) | (bb >> (32 - 5))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data11 + C4 + ((bb | ~c) ^ d);
            aa  = ((aa << 12) | (aa >> (32 - 12))) + e;
            c   = (c << 10) | (c >> (32 - 10));
            e  += data5 + C4 + ((aa | ~bb) ^ c);
            e   = ((e << 7) | (e >> (32 - 7))) + d;
            bb  = (bb << 10) | (bb >> (32 - 10));
            d  += data12 + C4 + ((e | ~aa) ^ bb);
            d   = ((d << 5) | (d >> (32 - 5))) + c;
            aa  = (aa << 10) | (aa >> (32 - 10));

            dd += data15 + C5 + ((ee | ~a) ^ b);
            dd  = ((dd << 9) | (dd >> (32 - 9))) + cc;
            a   = (a << 10) | (a >> (32 - 10));
            cc += data5 + C5 + ((dd | ~ee) ^ a);
            cc  = ((cc << 7) | (cc >> (32 - 7))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data1 + C5 + ((cc | ~dd) ^ ee);
            b   = ((b << 15) | (b >> (32 - 15))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data3 + C5 + ((b | ~cc) ^ dd);
            a   = ((a << 11) | (a >> (32 - 11))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data7 + C5 + ((a | ~b) ^ cc);
            ee  = ((ee << 8) | (ee >> (32 - 8))) + dd;
            b   = (b << 10) | (b >> (32 - 10));
            dd += data14 + C5 + ((ee | ~a) ^ b);
            dd  = ((dd << 6) | (dd >> (32 - 6))) + cc;
            a   = (a << 10) | (a >> (32 - 10));
            cc += data6 + C5 + ((dd | ~ee) ^ a);
            cc  = ((cc << 6) | (cc >> (32 - 6))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data9 + C5 + ((cc | ~dd) ^ ee);
            b   = ((b << 14) | (b >> (32 - 14))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data11 + C5 + ((b | ~cc) ^ dd);
            a   = ((a << 12) | (a >> (32 - 12))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data8 + C5 + ((a | ~b) ^ cc);
            ee  = ((ee << 13) | (ee >> (32 - 13))) + dd;
            b   = (b << 10) | (b >> (32 - 10));
            dd += data12 + C5 + ((ee | ~a) ^ b);
            dd  = ((dd << 5) | (dd >> (32 - 5))) + cc;
            a   = (a << 10) | (a >> (32 - 10));
            cc += data2 + C5 + ((dd | ~ee) ^ a);
            cc  = ((cc << 14) | (cc >> (32 - 14))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data10 + C5 + ((cc | ~dd) ^ ee);
            b   = ((b << 13) | (b >> (32 - 13))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data0 + C5 + ((b | ~cc) ^ dd);
            a   = ((a << 13) | (a >> (32 - 13))) + ee;
            cc  = (cc << 10) | (cc >> (32 - 10));
            ee += data4 + C5 + ((a | ~b) ^ cc);
            ee  = ((ee << 7) | (ee >> (32 - 7))) + dd;
            b   = (b << 10) | (b >> (32 - 10));
            dd += data13 + C5 + ((ee | ~a) ^ b);
            dd  = ((dd << 5) | (dd >> (32 - 5))) + cc;
            a   = (a << 10) | (a >> (32 - 10));

            cc += data1 + C6 + ((d & aa) | (e & ~aa));
            cc  = ((cc << 11) | (cc >> (32 - 11))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data9 + C6 + ((cc & e) | (d & ~e));
            bb  = ((bb << 12) | (bb >> (32 - 12))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data11 + C6 + ((bb & d) | (cc & ~d));
            aa  = ((aa << 14) | (aa >> (32 - 14))) + e;
            cc  = (cc << 10) | (cc >> (32 - 10));
            e  += data10 + C6 + ((aa & cc) | (bb & ~cc));
            e   = ((e << 15) | (e >> (32 - 15))) + d;
            bb  = (bb << 10) | (bb >> (32 - 10));
            d  += data0 + C6 + ((e & bb) | (aa & ~bb));
            d   = ((d << 14) | (d >> (32 - 14))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data8 + C6 + ((d & aa) | (e & ~aa));
            cc  = ((cc << 15) | (cc >> (32 - 15))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data12 + C6 + ((cc & e) | (d & ~e));
            bb  = ((bb << 9) | (bb >> (32 - 9))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data4 + C6 + ((bb & d) | (cc & ~d));
            aa  = ((aa << 8) | (aa >> (32 - 8))) + e;
            cc  = (cc << 10) | (cc >> (32 - 10));
            e  += data13 + C6 + ((aa & cc) | (bb & ~cc));
            e   = ((e << 9) | (e >> (32 - 9))) + d;
            bb  = (bb << 10) | (bb >> (32 - 10));
            d  += data3 + C6 + ((e & bb) | (aa & ~bb));
            d   = ((d << 14) | (d >> (32 - 14))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data7 + C6 + ((d & aa) | (e & ~aa));
            cc  = ((cc << 5) | (cc >> (32 - 5))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data15 + C6 + ((cc & e) | (d & ~e));
            bb  = ((bb << 6) | (bb >> (32 - 6))) + aa;
            d   = (d << 10) | (d >> (32 - 10));
            aa += data14 + C6 + ((bb & d) | (cc & ~d));
            aa  = ((aa << 8) | (aa >> (32 - 8))) + e;
            cc  = (cc << 10) | (cc >> (32 - 10));
            e  += data5 + C6 + ((aa & cc) | (bb & ~cc));
            e   = ((e << 6) | (e >> (32 - 6))) + d;
            bb  = (bb << 10) | (bb >> (32 - 10));
            d  += data6 + C6 + ((e & bb) | (aa & ~bb));
            d   = ((d << 5) | (d >> (32 - 5))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data2 + C6 + ((d & aa) | (e & ~aa));
            cc  = ((cc << 12) | (cc >> (32 - 12))) + bb;
            e   = (e << 10) | (e >> (32 - 10));

            c  += data8 + C7 + ((dd & ee) | (~dd & a));
            c   = ((c << 15) | (c >> (32 - 15))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data6 + C7 + ((c & dd) | (~c & ee));
            b   = ((b << 5) | (b >> (32 - 5))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data4 + C7 + ((b & c) | (~b & dd));
            a   = ((a << 8) | (a >> (32 - 8))) + ee;
            c   = (c << 10) | (c >> (32 - 10));
            ee += data1 + C7 + ((a & b) | (~a & c));
            ee  = ((ee << 11) | (ee >> (32 - 11))) + dd;
            b   = (b << 10) | (b >> (32 - 10));
            dd += data3 + C7 + ((ee & a) | (~ee & b));
            dd  = ((dd << 14) | (dd >> (32 - 14))) + c;
            a   = (a << 10) | (a >> (32 - 10));
            c  += data11 + C7 + ((dd & ee) | (~dd & a));
            c   = ((c << 14) | (c >> (32 - 14))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data15 + C7 + ((c & dd) | (~c & ee));
            b   = ((b << 6) | (b >> (32 - 6))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data0 + C7 + ((b & c) | (~b & dd));
            a   = ((a << 14) | (a >> (32 - 14))) + ee;
            c   = (c << 10) | (c >> (32 - 10));
            ee += data5 + C7 + ((a & b) | (~a & c));
            ee  = ((ee << 6) | (ee >> (32 - 6))) + dd;
            b   = (b << 10) | (b >> (32 - 10));
            dd += data12 + C7 + ((ee & a) | (~ee & b));
            dd  = ((dd << 9) | (dd >> (32 - 9))) + c;
            a   = (a << 10) | (a >> (32 - 10));
            c  += data2 + C7 + ((dd & ee) | (~dd & a));
            c   = ((c << 12) | (c >> (32 - 12))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data13 + C7 + ((c & dd) | (~c & ee));
            b   = ((b << 9) | (b >> (32 - 9))) + a;
            dd  = (dd << 10) | (dd >> (32 - 10));
            a  += data9 + C7 + ((b & c) | (~b & dd));
            a   = ((a << 12) | (a >> (32 - 12))) + ee;
            c   = (c << 10) | (c >> (32 - 10));
            ee += data7 + C7 + ((a & b) | (~a & c));
            ee  = ((ee << 5) | (ee >> (32 - 5))) + dd;
            b   = (b << 10) | (b >> (32 - 10));
            dd += data10 + C7 + ((ee & a) | (~ee & b));
            dd  = ((dd << 15) | (dd >> (32 - 15))) + c;
            a   = (a << 10) | (a >> (32 - 10));
            c  += data14 + C7 + ((dd & ee) | (~dd & a));
            c   = ((c << 8) | (c >> (32 - 8))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));

            bb += data4 + C8 + (cc ^ (dd | ~e));
            bb  = ((bb << 9) | (bb >> (32 - 9))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));
            aa += data0 + C8 + (bb ^ (cc | ~dd));
            aa  = ((aa << 15) | (aa >> (32 - 15))) + e;
            cc  = (cc << 10) | (cc >> (32 - 10));
            e  += data5 + C8 + (aa ^ (bb | ~cc));
            e   = ((e << 5) | (e >> (32 - 5))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data9 + C8 + (e ^ (aa | ~bb));
            dd  = ((dd << 11) | (dd >> (32 - 11))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data7 + C8 + (dd ^ (e | ~aa));
            cc  = ((cc << 6) | (cc >> (32 - 6))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data12 + C8 + (cc ^ (dd | ~e));
            bb  = ((bb << 8) | (bb >> (32 - 8))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));
            aa += data2 + C8 + (bb ^ (cc | ~dd));
            aa  = ((aa << 13) | (aa >> (32 - 13))) + e;
            cc  = (cc << 10) | (cc >> (32 - 10));
            e  += data10 + C8 + (aa ^ (bb | ~cc));
            e   = ((e << 12) | (e >> (32 - 12))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data14 + C8 + (e ^ (aa | ~bb));
            dd  = ((dd << 5) | (dd >> (32 - 5))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data1 + C8 + (dd ^ (e | ~aa));
            cc  = ((cc << 12) | (cc >> (32 - 12))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data3 + C8 + (cc ^ (dd | ~e));
            bb  = ((bb << 13) | (bb >> (32 - 13))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));
            aa += data8 + C8 + (bb ^ (cc | ~dd));
            aa  = ((aa << 14) | (aa >> (32 - 14))) + e;
            cc  = (cc << 10) | (cc >> (32 - 10));
            e  += data11 + C8 + (aa ^ (bb | ~cc));
            e   = ((e << 11) | (e >> (32 - 11))) + dd;
            bb  = (bb << 10) | (bb >> (32 - 10));
            dd += data6 + C8 + (e ^ (aa | ~bb));
            dd  = ((dd << 8) | (dd >> (32 - 8))) + cc;
            aa  = (aa << 10) | (aa >> (32 - 10));
            cc += data15 + C8 + (dd ^ (e | ~aa));
            cc  = ((cc << 5) | (cc >> (32 - 5))) + bb;
            e   = (e << 10) | (e >> (32 - 10));
            bb += data13 + C8 + (cc ^ (dd | ~e));
            bb  = ((bb << 6) | (bb >> (32 - 6))) + aa;
            dd  = (dd << 10) | (dd >> (32 - 10));

            b  += data12 + (c ^ d ^ ee);
            b   = ((b << 8) | (b >> (32 - 8))) + a;
            d   = (d << 10) | (d >> (32 - 10));
            a  += data15 + (b ^ c ^ d);
            a   = ((a << 5) | (a >> (32 - 5))) + ee;
            c   = (c << 10) | (c >> (32 - 10));
            ee += data10 + (a ^ b ^ c);
            ee  = ((ee << 12) | (ee >> (32 - 12))) + d;
            b   = (b << 10) | (b >> (32 - 10));
            d  += data4 + (ee ^ a ^ b);
            d   = ((d << 9) | (d >> (32 - 9))) + c;
            a   = (a << 10) | (a >> (32 - 10));
            c  += data1 + (d ^ ee ^ a);
            c   = ((c << 12) | (c >> (32 - 12))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data5 + (c ^ d ^ ee);
            b   = ((b << 5) | (b >> (32 - 5))) + a;
            d   = (d << 10) | (d >> (32 - 10));
            a  += data8 + (b ^ c ^ d);
            a   = ((a << 14) | (a >> (32 - 14))) + ee;
            c   = (c << 10) | (c >> (32 - 10));
            ee += data7 + (a ^ b ^ c);
            ee  = ((ee << 6) | (ee >> (32 - 6))) + d;
            b   = (b << 10) | (b >> (32 - 10));
            d  += data6 + (ee ^ a ^ b);
            d   = ((d << 8) | (d >> (32 - 8))) + c;
            a   = (a << 10) | (a >> (32 - 10));
            c  += data2 + (d ^ ee ^ a);
            c   = ((c << 13) | (c >> (32 - 13))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data13 + (c ^ d ^ ee);
            b   = ((b << 6) | (b >> (32 - 6))) + a;
            d   = (d << 10) | (d >> (32 - 10));
            a  += data14 + (b ^ c ^ d);
            a   = ((a << 5) | (a >> (32 - 5))) + ee;
            c   = (c << 10) | (c >> (32 - 10));
            ee += data0 + (a ^ b ^ c);
            ee  = ((ee << 15) | (ee >> (32 - 15))) + d;
            b   = (b << 10) | (b >> (32 - 10));
            d  += data3 + (ee ^ a ^ b);
            d   = ((d << 13) | (d >> (32 - 13))) + c;
            a   = (a << 10) | (a >> (32 - 10));
            c  += data9 + (d ^ ee ^ a);
            c   = ((c << 11) | (c >> (32 - 11))) + b;
            ee  = (ee << 10) | (ee >> (32 - 10));
            b  += data11 + (c ^ d ^ ee);
            b   = ((b << 11) | (b >> (32 - 11))) + a;
            d   = (d << 10) | (d >> (32 - 10));

            m_state[0] += aa;
            m_state[1] += bb;
            m_state[2] += cc;
            m_state[3] += dd;
            m_state[4] += ee;
            m_state[5] += a;
            m_state[6] += b;
            m_state[7] += c;
            m_state[8] += d;
            m_state[9] += e;
        }
Exemplo n.º 18
0
 public void Add(Vector3D start, Vector3D end, string particleCode)
 {
     Add(Converters.From3Dto3I(start), Converters.From3Dto3I(end), particleCode);
 }
 public static string ToStringRepresentation(this decimal d)
 {
     return(Converters.ConvertToStringRepresentation(d));
 }
Exemplo n.º 20
0
 public List <Entity> GetRange(VectorRangeI range, Vector3D top)
 {
     return(GetRange(range, Converters.From3Dto3I(top)));
 }
Exemplo n.º 21
0
        protected override void TransformBlock(byte[] a_data, int a_index)
        {
            uint data0  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 0);
            uint data1  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 1);
            uint data2  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 2);
            uint data3  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 3);
            uint data4  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 4);
            uint data5  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 5);
            uint data6  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 6);
            uint data7  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 7);
            uint data8  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 8);
            uint data9  = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 9);
            uint data10 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 10);
            uint data11 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 11);
            uint data12 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 12);
            uint data13 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 13);
            uint data14 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 14);
            uint data15 = Converters.ConvertBytesToUInt(a_data, a_index + 4 * 15);

            uint a  = m_state[0];
            uint b  = m_state[1];
            uint c  = m_state[2];
            uint d  = m_state[3];
            uint aa = a;
            uint bb = b;
            uint cc = c;
            uint dd = d;

            a += data0 + (b ^ c ^ d);
            a  = (a << 11) | (a >> (32 - 11));
            d += data1 + (a ^ b ^ c);
            d  = (d << 14) | (d >> (32 - 14));
            c += data2 + (d ^ a ^ b);
            c  = (c << 15) | (c >> (32 - 15));
            b += data3 + (c ^ d ^ a);
            b  = (b << 12) | (b >> (32 - 12));
            a += data4 + (b ^ c ^ d);
            a  = (a << 5) | (a >> (32 - 5));
            d += data5 + (a ^ b ^ c);
            d  = (d << 8) | (d >> (32 - 8));
            c += data6 + (d ^ a ^ b);
            c  = (c << 7) | (c >> (32 - 7));
            b += data7 + (c ^ d ^ a);
            b  = (b << 9) | (b >> (32 - 9));
            a += data8 + (b ^ c ^ d);
            a  = (a << 11) | (a >> (32 - 11));
            d += data9 + (a ^ b ^ c);
            d  = (d << 13) | (d >> (32 - 13));
            c += data10 + (d ^ a ^ b);
            c  = (c << 14) | (c >> (32 - 14));
            b += data11 + (c ^ d ^ a);
            b  = (b << 15) | (b >> (32 - 15));
            a += data12 + (b ^ c ^ d);
            a  = (a << 6) | (a >> (32 - 6));
            d += data13 + (a ^ b ^ c);
            d  = (d << 7) | (d >> (32 - 7));
            c += data14 + (d ^ a ^ b);
            c  = (c << 9) | (c >> (32 - 9));
            b += data15 + (c ^ d ^ a);
            b  = (b << 8) | (b >> (32 - 8));

            a += data7 + C2 + ((b & c) | (~b & d));
            a  = (a << 7) | (a >> (32 - 7));
            d += data4 + C2 + ((a & b) | (~a & c));
            d  = (d << 6) | (d >> (32 - 6));
            c += data13 + C2 + ((d & a) | (~d & b));
            c  = (c << 8) | (c >> (32 - 8));
            b += data1 + C2 + ((c & d) | (~c & a));
            b  = (b << 13) | (b >> (32 - 13));
            a += data10 + C2 + ((b & c) | (~b & d));
            a  = (a << 11) | (a >> (32 - 11));
            d += data6 + C2 + ((a & b) | (~a & c));
            d  = (d << 9) | (d >> (32 - 9));
            c += data15 + C2 + ((d & a) | (~d & b));
            c  = (c << 7) | (c >> (32 - 7));
            b += data3 + C2 + ((c & d) | (~c & a));
            b  = (b << 15) | (b >> (32 - 15));
            a += data12 + C2 + ((b & c) | (~b & d));
            a  = (a << 7) | (a >> (32 - 7));
            d += data0 + C2 + ((a & b) | (~a & c));
            d  = (d << 12) | (d >> (32 - 12));
            c += data9 + C2 + ((d & a) | (~d & b));
            c  = (c << 15) | (c >> (32 - 15));
            b += data5 + C2 + ((c & d) | (~c & a));
            b  = (b << 9) | (b >> (32 - 9));
            a += data2 + C2 + ((b & c) | (~b & d));
            a  = (a << 11) | (a >> (32 - 11));
            d += data14 + C2 + ((a & b) | (~a & c));
            d  = (d << 7) | (d >> (32 - 7));
            c += data11 + C2 + ((d & a) | (~d & b));
            c  = (c << 13) | (c >> (32 - 13));
            b += data8 + C2 + ((c & d) | (~c & a));
            b  = (b << 12) | (b >> (32 - 12));

            a += data3 + C4 + ((b | ~c) ^ d);
            a  = (a << 11) | (a >> (32 - 11));
            d += data10 + C4 + ((a | ~b) ^ c);
            d  = (d << 13) | (d >> (32 - 13));
            c += data14 + C4 + ((d | ~a) ^ b);
            c  = (c << 6) | (c >> (32 - 6));
            b += data4 + C4 + ((c | ~d) ^ a);
            b  = (b << 7) | (b >> (32 - 7));
            a += data9 + C4 + ((b | ~c) ^ d);
            a  = (a << 14) | (a >> (32 - 14));
            d += data15 + C4 + ((a | ~b) ^ c);
            d  = (d << 9) | (d >> (32 - 9));
            c += data8 + C4 + ((d | ~a) ^ b);
            c  = (c << 13) | (c >> (32 - 13));
            b += data1 + C4 + ((c | ~d) ^ a);
            b  = (b << 15) | (b >> (32 - 15));
            a += data2 + C4 + ((b | ~c) ^ d);
            a  = (a << 14) | (a >> (32 - 14));
            d += data7 + C4 + ((a | ~b) ^ c);
            d  = (d << 8) | (d >> (32 - 8));
            c += data0 + C4 + ((d | ~a) ^ b);
            c  = (c << 13) | (c >> (32 - 13));
            b += data6 + C4 + ((c | ~d) ^ a);
            b  = (b << 6) | (b >> (32 - 6));
            a += data13 + C4 + ((b | ~c) ^ d);
            a  = (a << 5) | (a >> (32 - 5));
            d += data11 + C4 + ((a | ~b) ^ c);
            d  = (d << 12) | (d >> (32 - 12));
            c += data5 + C4 + ((d | ~a) ^ b);
            c  = (c << 7) | (c >> (32 - 7));
            b += data12 + C4 + ((c | ~d) ^ a);
            b  = (b << 5) | (b >> (32 - 5));

            a += data1 + C6 + ((b & d) | (c & ~d));
            a  = (a << 11) | (a >> (32 - 11));
            d += data9 + C6 + ((a & c) | (b & ~c));
            d  = (d << 12) | (d >> (32 - 12));
            c += data11 + C6 + ((d & b) | (a & ~b));
            c  = (c << 14) | (c >> (32 - 14));
            b += data10 + C6 + ((c & a) | (d & ~a));
            b  = (b << 15) | (b >> (32 - 15));
            a += data0 + C6 + ((b & d) | (c & ~d));
            a  = (a << 14) | (a >> (32 - 14));
            d += data8 + C6 + ((a & c) | (b & ~c));
            d  = (d << 15) | (d >> (32 - 15));
            c += data12 + C6 + ((d & b) | (a & ~b));
            c  = (c << 9) | (c >> (32 - 9));
            b += data4 + C6 + ((c & a) | (d & ~a));
            b  = (b << 8) | (b >> (32 - 8));
            a += data13 + C6 + ((b & d) | (c & ~d));
            a  = (a << 9) | (a >> (32 - 9));
            d += data3 + C6 + ((a & c) | (b & ~c));
            d  = (d << 14) | (d >> (32 - 14));
            c += data7 + C6 + ((d & b) | (a & ~b));
            c  = (c << 5) | (c >> (32 - 5));
            b += data15 + C6 + ((c & a) | (d & ~a));
            b  = (b << 6) | (b >> (32 - 6));
            a += data14 + C6 + ((b & d) | (c & ~d));
            a  = (a << 8) | (a >> (32 - 8));
            d += data5 + C6 + ((a & c) | (b & ~c));
            d  = (d << 6) | (d >> (32 - 6));
            c += data6 + C6 + ((d & b) | (a & ~b));
            c  = (c << 5) | (c >> (32 - 5));
            b += data2 + C6 + ((c & a) | (d & ~a));
            b  = (b << 12) | (b >> (32 - 12));

            aa += data5 + C1 + ((bb & dd) | (cc & ~dd));
            aa  = (aa << 8) | (aa >> (32 - 8));
            dd += data14 + C1 + ((aa & cc) | (bb & ~cc));
            dd  = (dd << 9) | (dd >> (32 - 9));
            cc += data7 + C1 + ((dd & bb) | (aa & ~bb));
            cc  = (cc << 9) | (cc >> (32 - 9));
            bb += data0 + C1 + ((cc & aa) | (dd & ~aa));
            bb  = (bb << 11) | (bb >> (32 - 11));
            aa += data9 + C1 + ((bb & dd) | (cc & ~dd));
            aa  = (aa << 13) | (aa >> (32 - 13));
            dd += data2 + C1 + ((aa & cc) | (bb & ~cc));
            dd  = (dd << 15) | (dd >> (32 - 15));
            cc += data11 + C1 + ((dd & bb) | (aa & ~bb));
            cc  = (cc << 15) | (cc >> (32 - 15));
            bb += data4 + C1 + ((cc & aa) | (dd & ~aa));
            bb  = (bb << 5) | (bb >> (32 - 5));
            aa += data13 + C1 + ((bb & dd) | (cc & ~dd));
            aa  = (aa << 7) | (aa >> (32 - 7));
            dd += data6 + C1 + ((aa & cc) | (bb & ~cc));
            dd  = (dd << 7) | (dd >> (32 - 7));
            cc += data15 + C1 + ((dd & bb) | (aa & ~bb));
            cc  = (cc << 8) | (cc >> (32 - 8));
            bb += data8 + C1 + ((cc & aa) | (dd & ~aa));
            bb  = (bb << 11) | (bb >> (32 - 11));
            aa += data1 + C1 + ((bb & dd) | (cc & ~dd));
            aa  = (aa << 14) | (aa >> (32 - 14));
            dd += data10 + C1 + ((aa & cc) | (bb & ~cc));
            dd  = (dd << 14) | (dd >> (32 - 14));
            cc += data3 + C1 + ((dd & bb) | (aa & ~bb));
            cc  = (cc << 12) | (cc >> (32 - 12));
            bb += data12 + C1 + ((cc & aa) | (dd & ~aa));
            bb  = (bb << 6) | (bb >> (32 - 6));

            aa += data6 + C3 + ((bb | ~cc) ^ dd);
            aa  = (aa << 9) | (aa >> (32 - 9));
            dd += data11 + C3 + ((aa | ~bb) ^ cc);
            dd  = (dd << 13) | (dd >> (32 - 13));
            cc += data3 + C3 + ((dd | ~aa) ^ bb);
            cc  = (cc << 15) | (cc >> (32 - 15));
            bb += data7 + C3 + ((cc | ~dd) ^ aa);
            bb  = (bb << 7) | (bb >> (32 - 7));
            aa += data0 + C3 + ((bb | ~cc) ^ dd);
            aa  = (aa << 12) | (aa >> (32 - 12));
            dd += data13 + C3 + ((aa | ~bb) ^ cc);
            dd  = (dd << 8) | (dd >> (32 - 8));
            cc += data5 + C3 + ((dd | ~aa) ^ bb);
            cc  = (cc << 9) | (cc >> (32 - 9));
            bb += data10 + C3 + ((cc | ~dd) ^ aa);
            bb  = (bb << 11) | (bb >> (32 - 11));
            aa += data14 + C3 + ((bb | ~cc) ^ dd);
            aa  = (aa << 7) | (aa >> (32 - 7));
            dd += data15 + C3 + ((aa | ~bb) ^ cc);
            dd  = (dd << 7) | (dd >> (32 - 7));
            cc += data8 + C3 + ((dd | ~aa) ^ bb);
            cc  = (cc << 12) | (cc >> (32 - 12));
            bb += data12 + C3 + ((cc | ~dd) ^ aa);
            bb  = (bb << 7) | (bb >> (32 - 7));
            aa += data4 + C3 + ((bb | ~cc) ^ dd);
            aa  = (aa << 6) | (aa >> (32 - 6));
            dd += data9 + C3 + ((aa | ~bb) ^ cc);
            dd  = (dd << 15) | (dd >> (32 - 15));
            cc += data1 + C3 + ((dd | ~aa) ^ bb);
            cc  = (cc << 13) | (cc >> (32 - 13));
            bb += data2 + C3 + ((cc | ~dd) ^ aa);
            bb  = (bb << 11) | (bb >> (32 - 11));

            aa += data15 + C5 + ((bb & cc) | (~bb & dd));
            aa  = (aa << 9) | (aa >> (32 - 9));
            dd += data5 + C5 + ((aa & bb) | (~aa & cc));
            dd  = (dd << 7) | (dd >> (32 - 7));
            cc += data1 + C5 + ((dd & aa) | (~dd & bb));
            cc  = (cc << 15) | (cc >> (32 - 15));
            bb += data3 + C5 + ((cc & dd) | (~cc & aa));
            bb  = (bb << 11) | (bb >> (32 - 11));
            aa += data7 + C5 + ((bb & cc) | (~bb & dd));
            aa  = (aa << 8) | (aa >> (32 - 8));
            dd += data14 + C5 + ((aa & bb) | (~aa & cc));
            dd  = (dd << 6) | (dd >> (32 - 6));
            cc += data6 + C5 + ((dd & aa) | (~dd & bb));
            cc  = (cc << 6) | (cc >> (32 - 6));
            bb += data9 + C5 + ((cc & dd) | (~cc & aa));
            bb  = (bb << 14) | (bb >> (32 - 14));
            aa += data11 + C5 + ((bb & cc) | (~bb & dd));
            aa  = (aa << 12) | (aa >> (32 - 12));
            dd += data8 + C5 + ((aa & bb) | (~aa & cc));
            dd  = (dd << 13) | (dd >> (32 - 13));
            cc += data12 + C5 + ((dd & aa) | (~dd & bb));
            cc  = (cc << 5) | (cc >> (32 - 5));
            bb += data2 + C5 + ((cc & dd) | (~cc & aa));
            bb  = (bb << 14) | (bb >> (32 - 14));
            aa += data10 + C5 + ((bb & cc) | (~bb & dd));
            aa  = (aa << 13) | (aa >> (32 - 13));
            dd += data0 + C5 + ((aa & bb) | (~aa & cc));
            dd  = (dd << 13) | (dd >> (32 - 13));
            cc += data4 + C5 + ((dd & aa) | (~dd & bb));
            cc  = (cc << 7) | (cc >> (32 - 7));
            bb += data13 + C5 + ((cc & dd) | (~cc & aa));
            bb  = (bb << 5) | (bb >> (32 - 5));

            aa += data8 + (bb ^ cc ^ dd);
            aa  = (aa << 15) | (aa >> (32 - 15));
            dd += data6 + (aa ^ bb ^ cc);
            dd  = (dd << 5) | (dd >> (32 - 5));
            cc += data4 + (dd ^ aa ^ bb);
            cc  = (cc << 8) | (cc >> (32 - 8));
            bb += data1 + (cc ^ dd ^ aa);
            bb  = (bb << 11) | (bb >> (32 - 11));
            aa += data3 + (bb ^ cc ^ dd);
            aa  = (aa << 14) | (aa >> (32 - 14));
            dd += data11 + (aa ^ bb ^ cc);
            dd  = (dd << 14) | (dd >> (32 - 14));
            cc += data15 + (dd ^ aa ^ bb);
            cc  = (cc << 6) | (cc >> (32 - 6));
            bb += data0 + (cc ^ dd ^ aa);
            bb  = (bb << 14) | (bb >> (32 - 14));
            aa += data5 + (bb ^ cc ^ dd);
            aa  = (aa << 6) | (aa >> (32 - 6));
            dd += data12 + (aa ^ bb ^ cc);
            dd  = (dd << 9) | (dd >> (32 - 9));
            cc += data2 + (dd ^ aa ^ bb);
            cc  = (cc << 12) | (cc >> (32 - 12));
            bb += data13 + (cc ^ dd ^ aa);
            bb  = (bb << 9) | (bb >> (32 - 9));
            aa += data9 + (bb ^ cc ^ dd);
            aa  = (aa << 12) | (aa >> (32 - 12));
            dd += data7 + (aa ^ bb ^ cc);
            dd  = (dd << 5) | (dd >> (32 - 5));
            cc += data10 + (dd ^ aa ^ bb);
            cc  = (cc << 15) | (cc >> (32 - 15));
            bb += data14 + (cc ^ dd ^ aa);
            bb  = (bb << 8) | (bb >> (32 - 8));

            dd        += c + m_state[1];
            m_state[1] = m_state[2] + d + aa;
            m_state[2] = m_state[3] + a + bb;
            m_state[3] = m_state[0] + b + cc;
            m_state[0] = dd;
        }
Exemplo n.º 22
0
 static PageManager()
 {
     Converters.Register(typeof(Page), new PageConverter());
 }
Exemplo n.º 23
0
        private void Start()
        {
            rigidBody    = GetComponent <Rigidbody2D>();
            gameManager  = FindObjectOfType <GameManager>();
            audioManager = GameObject.FindGameObjectWithTag("AudioManager").GetComponent <AudioManager>();
            mainCamera   = Camera.main;
            thisCollider = GetComponent <CircleCollider2D>();
            positions    = new Vector2[2];
            lR           = GetComponent <LineRenderer>();

            // sets the player to 0,0,0
            transform.position = Vector3.zero;


            Gradient _grad = new Gradient();

            _grad.colorKeys  = new GradientColorKey[] { new GradientColorKey(Converters.ConvertFloatArrayToColor(gameManager.saveData.playerColour), 0f), new GradientColorKey(Converters.ConvertFloatArrayToColor(gameManager.saveData.playerColour), 1f) };
            _grad.alphaKeys  = new GradientAlphaKey[] { new GradientAlphaKey(1f, 0f), new GradientAlphaKey(1f, 1f) };
            lR.colorGradient = _grad;
        }
Exemplo n.º 24
0
 public DiscogsSerializerSettings()
 {
     Converters.Add(new StringEnumConverter());
     Converters.Add(new SearchResourceConverter());
     ContractResolver = new DiscogsContractResolver();
 }
Exemplo n.º 25
0
        protected override byte[] GetResult()
        {
            ulong b = m_v0 ^ m_v1 ^ m_v2 ^ m_v3;

            return(Converters.ConvertULongToBytes(b));
        }
Exemplo n.º 26
0
 protected override byte[] GetResult()
 {
     return(Converters.ConvertULongsToBytesSwapOrder(m_state, COLUMNS - HashSize / ROWS, HashSize / ROWS));
 }
Exemplo n.º 27
0
        protected override void Finish()
        {
            ulong left = m_processed_bytes % (ulong)BlockSize;
            ulong b    = m_processed_bytes << 56;

            byte[] buffer = m_buffer.GetBytesZeroPadded();
            b |= Converters.ConvertBytesToULong(buffer, 0);

            m_v3 ^= b;

            m_v0 += m_v1;
            m_v1  = (m_v1 << 13) | (m_v1 >> (64 - 13));
            m_v1 ^= m_v0;
            m_v0  = (m_v0 << 32) | (m_v0 >> (64 - 32));
            m_v2 += m_v3;
            m_v3  = (m_v3 << 16) | (m_v3 >> (64 - 16));
            m_v3 ^= m_v2;
            m_v0 += m_v3;
            m_v3  = (m_v3 << 21) | (m_v3 >> (64 - 21));
            m_v3 ^= m_v0;
            m_v2 += m_v1;
            m_v1  = (m_v1 << 17) | (m_v1 >> (64 - 17));
            m_v1 ^= m_v2;
            m_v2  = (m_v2 << 32) | (m_v2 >> (64 - 32));

            m_v0 += m_v1;
            m_v1  = (m_v1 << 13) | (m_v1 >> (64 - 13));
            m_v1 ^= m_v0;
            m_v0  = (m_v0 << 32) | (m_v0 >> (64 - 32));
            m_v2 += m_v3;
            m_v3  = (m_v3 << 16) | (m_v3 >> (64 - 16));
            m_v3 ^= m_v2;
            m_v0 += m_v3;
            m_v3  = (m_v3 << 21) | (m_v3 >> (64 - 21));
            m_v3 ^= m_v0;
            m_v2 += m_v1;
            m_v1  = (m_v1 << 17) | (m_v1 >> (64 - 17));
            m_v1 ^= m_v2;
            m_v2  = (m_v2 << 32) | (m_v2 >> (64 - 32));

            m_v0 ^= b;
            m_v2 ^= 0xff;

            m_v0 += m_v1;
            m_v1  = (m_v1 << 13) | (m_v1 >> (64 - 13));
            m_v1 ^= m_v0;
            m_v0  = (m_v0 << 32) | (m_v0 >> (64 - 32));
            m_v2 += m_v3;
            m_v3  = (m_v3 << 16) | (m_v3 >> (64 - 16));
            m_v3 ^= m_v2;
            m_v0 += m_v3;
            m_v3  = (m_v3 << 21) | (m_v3 >> (64 - 21));
            m_v3 ^= m_v0;
            m_v2 += m_v1;
            m_v1  = (m_v1 << 17) | (m_v1 >> (64 - 17));
            m_v1 ^= m_v2;
            m_v2  = (m_v2 << 32) | (m_v2 >> (64 - 32));

            m_v0 += m_v1;
            m_v1  = (m_v1 << 13) | (m_v1 >> (64 - 13));
            m_v1 ^= m_v0;
            m_v0  = (m_v0 << 32) | (m_v0 >> (64 - 32));
            m_v2 += m_v3;
            m_v3  = (m_v3 << 16) | (m_v3 >> (64 - 16));
            m_v3 ^= m_v2;
            m_v0 += m_v3;
            m_v3  = (m_v3 << 21) | (m_v3 >> (64 - 21));
            m_v3 ^= m_v0;
            m_v2 += m_v1;
            m_v1  = (m_v1 << 17) | (m_v1 >> (64 - 17));
            m_v1 ^= m_v2;
            m_v2  = (m_v2 << 32) | (m_v2 >> (64 - 32));

            m_v0 += m_v1;
            m_v1  = (m_v1 << 13) | (m_v1 >> (64 - 13));
            m_v1 ^= m_v0;
            m_v0  = (m_v0 << 32) | (m_v0 >> (64 - 32));
            m_v2 += m_v3;
            m_v3  = (m_v3 << 16) | (m_v3 >> (64 - 16));
            m_v3 ^= m_v2;
            m_v0 += m_v3;
            m_v3  = (m_v3 << 21) | (m_v3 >> (64 - 21));
            m_v3 ^= m_v0;
            m_v2 += m_v1;
            m_v1  = (m_v1 << 17) | (m_v1 >> (64 - 17));
            m_v1 ^= m_v2;
            m_v2  = (m_v2 << 32) | (m_v2 >> (64 - 32));

            m_v0 += m_v1;
            m_v1  = (m_v1 << 13) | (m_v1 >> (64 - 13));
            m_v1 ^= m_v0;
            m_v0  = (m_v0 << 32) | (m_v0 >> (64 - 32));
            m_v2 += m_v3;
            m_v3  = (m_v3 << 16) | (m_v3 >> (64 - 16));
            m_v3 ^= m_v2;
            m_v0 += m_v3;
            m_v3  = (m_v3 << 21) | (m_v3 >> (64 - 21));
            m_v3 ^= m_v0;
            m_v2 += m_v1;
            m_v1  = (m_v1 << 17) | (m_v1 >> (64 - 17));
            m_v1 ^= m_v2;
            m_v2  = (m_v2 << 32) | (m_v2 >> (64 - 32));
        }
Exemplo n.º 28
0
 protected override Task <ParseValue <TValue> > ParseValueFromStringAsync(string value)
 {
     if (Converters.TryChangeType <TValue>(value, out var result, CurrentCultureInfo))
     {
         return(Task.FromResult(new ParseValue <TValue>(true, result, null)));
     }
Exemplo n.º 29
0
 public ICanAddConverter AddConverter(IValueConverter valueConverter)
 {
     Converters = Converters == null ? new[] { valueConverter } : Converters.Union(new[] { valueConverter });
     return(this);
 }
Exemplo n.º 30
0
        private static string AudioSettingsQuery(frmMain mainWindow)
        {
            // Queries for each option
            string tracks      = string.Empty;
            string encoders    = string.Empty;
            string mixdowns    = string.Empty;
            string samplerates = string.Empty;
            string bitrates    = string.Empty;
            string drvValues   = string.Empty;
            string gainValues  = string.Empty;
            string trackNames  = string.Empty;

            // If we have no audio tracks, set the query to none
            if (mainWindow.AudioSettings.AudioTracks.ToList().Count == 0)
            {
                return(" -a none");
            }

            // Generate the sub queries
            foreach (AudioTrack audioTrack in mainWindow.AudioSettings.AudioTracks)
            {
                // Audio Track (-a)
                string track = audioTrack.Track.HasValue ? audioTrack.Track.ToString() : "1"; // Default to "1"
                tracks += string.IsNullOrEmpty(tracks) ? track : string.Format(",{0}", track);

                // Audio Encoder  (-E)
                encoders += string.IsNullOrEmpty(encoders)
                              ? Converters.GetCliAudioEncoder(audioTrack.Encoder)
                              : string.Format(",{0}", Converters.GetCliAudioEncoder(audioTrack.Encoder));

                // Audio Mixdowns (-6)
                mixdowns += string.IsNullOrEmpty(mixdowns)
                              ? Converters.GetCliMixDown(audioTrack.MixDown)
                              : string.Format(",{0}", Converters.GetCliMixDown(audioTrack.MixDown));

                // Audio Samplerates (-R)
                string rate = audioTrack.SampleRate == 0 ? "Auto" : audioTrack.SampleRate.ToString(); // Default to "Auto"
                samplerates += string.IsNullOrEmpty(samplerates) ? rate : string.Format(",{0}", rate);

                // Audio Bitrates (-B)
                bitrates += string.IsNullOrEmpty(bitrates)
                                ? audioTrack.Bitrate.ToString(Culture)
                                : string.Format(",{0}", audioTrack.Bitrate);

                // Audio DRC Values
                drvValues += string.IsNullOrEmpty(drvValues) ? audioTrack.DRC.ToString(Culture) : string.Format(",{0}", audioTrack.DRC.ToString(Culture));

                // Audio Gain Control
                gainValues += string.IsNullOrEmpty(gainValues) ? audioTrack.Gain.ToString(Culture) : string.Format(",{0}", audioTrack.Gain.ToString(Culture));

                trackNames += string.IsNullOrEmpty(trackNames)
                                ? string.IsNullOrEmpty(audioTrack.TrackName) ? "\"\"" : string.Format("\"{0}\"", audioTrack.TrackName.Trim())
                                : string.IsNullOrEmpty(audioTrack.TrackName) ? ",\"\"" : string.Format(",\"{0}\"", audioTrack.TrackName.Trim());
            }

            string audioQuery = string.Format(
                " -a {0} -E {1} -B {2} -6 {3} -R {4} -D {5} --gain={6}",
                tracks,
                encoders,
                bitrates,
                mixdowns,
                samplerates,
                drvValues,
                gainValues);

            if (!string.IsNullOrEmpty(trackNames.Trim()) && !string.IsNullOrEmpty(trackNames.Replace("\"", string.Empty).Replace(",", string.Empty).Trim()))
            {
                audioQuery += string.Format(" --aname={0}", trackNames);
            }

            return(audioQuery);
        }
Exemplo n.º 31
0
 public NuspecDefinition()
 {
   ManifestFiles = new List<ManifestFile>();
   _converters = new Converters();
 }