You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: tl_supergroup_gen.go
    path of file: ./repos/td/tdapi
    
    the code of the file until where you have to start completion: // Code generated by gotdgen, DO NOT EDIT.

package tdapi

import (
	"context"
	"errors"
	"fmt"
	"sort"
	"strings"

	"go.uber.org/multierr"

	"github.com/gotd/td/bin
    
func (s *Supergroup) DecodeBare(b *bin.Buffer) error {
	if s == nil {
		return fmt.Errorf("can't decode supergroup#39a14289 to nil")
	}
	{
		value, err := b.Int53()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field id: %w", err)
		}
		s.ID = value
	}
	{
		if err := s.Usernames.Decode(b); err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field usernames: %w", err)
		}
	}
	{
		value, err := b.Int32()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field date: %w", err)
		}
		s.Date = value
	}
	{
		value, err := DecodeChatMemberStatus(b)
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field status: %w", err)
		}
		s.Status = value
	}
	{
		value, err := b.Int32()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field member_count: %w", err)
		}
		s.MemberCount = value
	}
	{
		value, err := b.Int32()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field boost_level: %w", err)
		}
		s.BoostLevel = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field has_linked_chat: %w", err)
		}
		s.HasLinkedChat = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field has_location: %w", err)
		}
		s.HasLocation = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field sign_messages: %w", err)
		}
		s.SignMessages = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field join_to_send_messages: %w", err)
		}
		s.JoinToSendMessages = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field join_by_request: %w", err)
		}
		s.JoinByRequest = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_slow_mode_enabled: %w", err)
		}
		s.IsSlowModeEnabled = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_channel: %w", err)
		}
		s.IsChannel = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_broadcast_group: %w", err)
		}
		s.IsBroadcastGroup = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_forum: %w", err)
		}
		s.IsForum = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_verified: %w", err)
		}
		s.IsVerified = value
	}
	{
		value, err := b.String()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field restriction_reason: %w", err)
		}
		s.RestrictionReason = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_scam: %w", err)
		}
		s.IsScam = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field is_fake: %w", err)
		}
		s.IsFake = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field has_active_stories: %w", err)
		}
		s.HasActiveStories = value
	}
	{
		value, err := b.Bool()
		if err != nil {
			return fmt.Errorf("unable to decode supergroup#39a14289: field has_unread_active_stories: %w", err)
		}
		s.HasUnreadActiveStories = value
	}
	return nil
}