public override TLObject FromBytes(byte[] bytes, ref int position)
        {
            bytes.ThrowExceptionIfIncorrect(ref position, Signature);

            _flags          = GetObject <TLInt>(bytes, ref position);
            _email          = GetObject <TLString>(Flags, (int)PasswordSettingsFlags.Email, null, bytes, ref position);
            _secureSettings = GetObject <TLSecureSecretSettings>(Flags, (int)PasswordSettingsFlags.SecureSettings, null, bytes, ref position);

            return(this);
        }
        public override TLObject FromBytes(byte[] bytes, ref int position)
        {
            bytes.ThrowExceptionIfIncorrect(ref position, Signature);

            Flags              = GetObject <TLInt>(bytes, ref position);
            _newAlgo           = GetObject <TLPasswordKdfAlgoBase>(Flags, (int)PasswordInputSettingsFlags.Password, null, bytes, ref position);
            _newPasswordHash   = GetObject <TLString>(Flags, (int)PasswordInputSettingsFlags.Password, null, bytes, ref position);
            _hint              = GetObject <TLString>(Flags, (int)PasswordInputSettingsFlags.Password, null, bytes, ref position);
            _email             = GetObject <TLString>(Flags, (int)PasswordInputSettingsFlags.Email, null, bytes, ref position);
            _newSecureSettings = GetObject <TLSecureSecretSettings>(Flags, (int)PasswordInputSettingsFlags.NewSecureSecret, null, bytes, ref position);

            return(this);
        }