// Equal - returns whether two credentials are equal or not.
168145
func (cred Credentials) Equal(ccred Credentials) bool {
	if !ccred.IsValid() {
		return false
	}
	return (cred.AccessKey == ccred.AccessKey && subtle.ConstantTimeCompare([]byte(cred.SecretKey), []byte(ccred.SecretKey)) == 1 &&
		subtle.ConstantTimeCompare([]byte(cred.SessionToken), []byte(ccred.SessionToken)) == 1)
}
1290976
func (c ConnectionData) Equal(b ConnectionData) bool {
	if c.NetworkType != b.NetworkType {
		return false
	}
	if c.AddressType != b.AddressType {
		return false
	}
	if !c.IP.Equal(b.IP) {
		return false
	}
	if c.TTL != b.TTL {
		return false
	}
	if c.Addresses != b.Addresses {
		return false
	}
	return true
}
1115857
func (o *LimitOption) Equal(o2 *LimitOption) bool {
	if o2 == nil {
		return o.value == 10
	}
	return o.value == o2.value
}
242797
func (s IPPermissionSet) Equal(s2 IPPermissionSet) bool {
	return len(s) == len(s2) && s.IsSuperset(s2)
}
457292
func (o *ClearExistingRulesOption) Equal(o2 *ClearExistingRulesOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
177807
func (o *AroundLatLngViaIPOption) Equal(o2 *AroundLatLngViaIPOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
50256
func (id sha1) Equal(s2 interface{}) bool {
	switch v := s2.(type) {
	case string:
		if len(v) != 40 {
			return false
		}
		return v == id.String()
	case []byte:
		if len(v) != 20 {
			return false
		}
		for i, v := range v {
			if id[i] != v {
				return false
			}
		}
	case sha1:
		for i, v := range v {
			if id[i] != v {
				return false
			}
		}
	default:
		return false
	}
	return true
}
690004
func (o *ClusterNameOption) Equal(o2 *ClusterNameOption) bool {
	if o2 == nil {
		return o.value == ""
	}
	return o.value == o2.value
}
493968
func (o *EnableRulesOption) Equal(o2 *EnableRulesOption) bool {
	if o2 == nil {
		return o.value == true
	}
	return o.value == o2.value
}
1112465
func (o *AllowTyposOnNumericTokensOption) Equal(o2 *AllowTyposOnNumericTokensOption) bool {
	if o2 == nil {
		return o.value == true
	}
	return o.value == o2.value
}
773850
func (o *AdvancedSyntaxOption) Equal(o2 *AdvancedSyntaxOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
758708
func (u UUID) Equal(another UUID) bool {
	return bytes.EqualFold(u[:], another[:])
}
724472
func (s *xorKeySpace) Equal(k1, k2 Key) bool {
	return bytes.Equal(k1.Bytes, k2.Bytes)
}
330036
func (o *Origin) Equal(b Origin) bool {
	if o.Username != b.Username {
		return false
	}
	if o.SessionID != b.SessionID {
		return false
	}
	if o.SessionVersion != b.SessionVersion {
		return false
	}
	if o.NetworkType != b.NetworkType {
		return false
	}
	if o.AddressType != b.AddressType {
		return false
	}
	if o.Address != b.Address {
		return false
	}
	return true
}
1200846
func (o *IgnorePluralsOption) Equal(o2 *IgnorePluralsOption) bool {
	if o2 == nil {
		return !o.ignorePlurals && len(o.languages) == 0
	}
	return reflect.DeepEqual(o, o2)
}
636682
func (o *EnablePersonalizationOption) Equal(o2 *EnablePersonalizationOption) bool {
	if o2 == nil {
		return o.value == false
	}
	return o.value == o2.value
}
1197292
func (o *MinProximityOption) Equal(o2 *MinProximityOption) bool {
	if o2 == nil {
		return o.value == 1
	}
	return o.value == o2.value
}