// Code generated by gotdgen, DO NOT EDIT.

package tg

import (
	
	
	
	
	

	

	
	
	
	
)

// No-op definition for keeping imports.
var (
	_ = bin.Buffer{}
	_ = context.Background()
	_ = fmt.Stringer(nil)
	_ = strings.Builder{}
	_ = errors.Is
	_ = multierr.AppendInto
	_ = sort.Ints
	_ = tdp.Format
	_ = tgerr.Error{}
	_ = tdjson.Encoder{}
)

// UserFull represents TL type `userFull#6cbe645`.
// Extended user info
// When updating the local peer database »¹, all fields from the newly received
// constructor take priority over the old constructor cached locally (including by
// removing fields that aren't set in the new constructor).
//
// Links:
//  1. https://core.telegram.org/api/peers
//
// See https://core.telegram.org/constructor/userFull for reference.
type UserFull struct {
	// Flags, see TL conditional fields¹
	//
	// Links:
	//  1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
	Flags bin.Fields
	// Whether you have blocked this user
	Blocked bool
	// Whether this user can make VoIP calls
	PhoneCallsAvailable bool
	// Whether this user's privacy settings allow you to call them
	PhoneCallsPrivate bool
	// Whether you can pin messages in the chat with this user, you can do this only for a
	// chat with yourself
	CanPinMessage bool
	// Whether scheduled messages¹ are available
	//
	// Links:
	//  1) https://core.telegram.org/api/scheduled-messages
	HasScheduled bool
	// Whether the user can receive video calls
	VideoCallsAvailable bool
	// Whether this user doesn't allow sending voice messages in a private chat with them
	VoiceMessagesForbidden bool
	// Whether the real-time chat translation popup¹ should be hidden.
	//
	// Links:
	//  1) https://core.telegram.org/api/translation
	TranslationsDisabled bool
	// Whether this user has some pinned stories¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/stories#pinned-or-archived-stories
	StoriesPinnedAvailable bool
	// Whether we've blocked this user, preventing them from seeing our stories »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/block
	BlockedMyStoriesFrom bool
	// Whether the other user has chosen a custom wallpaper for us using messages
	// setChatWallPaper¹ and the for_both flag, see here »² for more info.
	//
	// Links:
	//  1) https://core.telegram.org/method/messages.setChatWallPaper
	//  2) https://core.telegram.org/api/wallpapers#installing-wallpapers-in-a-specific-chat-or-channel
	WallpaperOverridden bool
	// If set, we cannot write to this user: subscribe to Telegram Premium¹ to get
	// permission to write to this user. To set this flag for ourselves invoke account
	// setGlobalPrivacySettings², setting the settings.new_noncontact_peers_require_premium
	// flag, see here »³ for more info.
	//
	// Links:
	//  1) https://core.telegram.org/api/premium
	//  2) https://core.telegram.org/method/account.setGlobalPrivacySettings
	//  3) https://core.telegram.org/api/privacy#require-premium-for-new-non-contact-users
	ContactRequirePremium bool
	// If set, we cannot fetch the exact read date of messages we send to this user using
	// messages.getOutboxReadDate¹.  The exact read date of messages might still be
	// unavailable for other reasons, see here »² for more info.  To set this flag for
	// ourselves invoke account.setGlobalPrivacySettings³, setting the settings
	// hide_read_marks flag.
	//
	// Links:
	//  1) https://core.telegram.org/method/messages.getOutboxReadDate
	//  2) https://core.telegram.org/method/messages.getOutboxReadDate
	//  3) https://core.telegram.org/method/account.setGlobalPrivacySettings
	ReadDatesPrivate bool
	// Flags, see TL conditional fields¹
	//
	// Links:
	//  1) https://core.telegram.org/mtproto/TL-combinators#conditional-fields
	Flags2 bin.Fields
	// Whether ads were re-enabled for the current account (only accessible to the currently
	// logged-in user), see here »¹ for more info.
	//
	// Links:
	//  1) https://core.telegram.org/api/business#re-enable-ads
	SponsoredEnabled bool
	// If set, this user can view ad revenue statistics »¹ for this bot.
	//
	// Links:
	//  1) https://core.telegram.org/api/revenue#revenue-statistics
	CanViewRevenue bool
	// If set, this is a bot that can change our emoji status »¹
	//
	// Links:
	//  1) https://core.telegram.org/api/emoji-status#setting-an-emoji-status-from-a-bot
	BotCanManageEmojiStatus bool
	// If this flag is set for both us and another user (changed through
	// globalPrivacySettings¹), a gift button should always be displayed in the text field
	// in private chats with the other user: once clicked, the gift UI should be displayed,
	// offering the user options to gift Telegram Premium »² subscriptions or Telegram
	// Gifts »³.
	//
	// Links:
	//  1) https://core.telegram.org/constructor/globalPrivacySettings
	//  2) https://core.telegram.org/api/premium
	//  3) https://core.telegram.org/api/gifts
	DisplayGiftsButton bool
	// If set, content protection »¹ was enabled in this private chat by us.
	//
	// Links:
	//  1) https://core.telegram.org/api/content-protection#for-users
	NoforwardsMyEnabled bool
	// If set, content protection »¹ was enabled in this private chat by this user.
	//
	// Links:
	//  1) https://core.telegram.org/api/content-protection#for-users
	NoforwardsPeerEnabled bool
	// UnofficialSecurityRisk field of UserFull.
	UnofficialSecurityRisk bool
	// User ID
	ID int64
	// Bio of the user
	//
	// Use SetAbout and GetAbout helpers.
	About string
	// Peer settings
	Settings PeerSettings
	// Personal profile photo, to be shown instead of profile_photo.
	//
	// Use SetPersonalPhoto and GetPersonalPhoto helpers.
	PersonalPhoto PhotoClass
	// Profile photo
	//
	// Use SetProfilePhoto and GetProfilePhoto helpers.
	ProfilePhoto PhotoClass
	// Fallback profile photo, displayed if no photo is present in profile_photo or
	// personal_photo, due to privacy settings.
	//
	// Use SetFallbackPhoto and GetFallbackPhoto helpers.
	FallbackPhoto PhotoClass
	// Notification settings
	NotifySettings PeerNotifySettings
	// For bots, info about the bot (bot commands, etc)
	//
	// Use SetBotInfo and GetBotInfo helpers.
	BotInfo BotInfo
	// Message ID of the last pinned message¹
	//
	// Links:
	//  1) https://core.telegram.org/api/pin
	//
	// Use SetPinnedMsgID and GetPinnedMsgID helpers.
	PinnedMsgID int
	// Chats in common with this user
	CommonChatsCount int
	// Peer folder ID, for more info click here¹
	//
	// Links:
	//  1) https://core.telegram.org/api/folders#peer-folders
	//
	// Use SetFolderID and GetFolderID helpers.
	FolderID int
	// Time To Live of all messages in this chat; once a message is this many seconds old, it
	// must be deleted.
	//
	// Use SetTTLPeriod and GetTTLPeriod helpers.
	TTLPeriod int
	// The chat theme associated with this user »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/themes#chat-themes
	//
	// Use SetTheme and GetTheme helpers.
	Theme ChatThemeClass
	// Anonymized text to be shown instead of the user's name on forwarded messages
	//
	// Use SetPrivateForwardName and GetPrivateForwardName helpers.
	PrivateForwardName string
	// A suggested set of administrator rights¹ for the bot, to be shown when adding the bot
	// as admin to a group, see here for more info on how to handle them »².
	//
	// Links:
	//  1) https://core.telegram.org/api/rights#suggested-bot-rights
	//  2) https://core.telegram.org/api/rights#suggested-bot-rights
	//
	// Use SetBotGroupAdminRights and GetBotGroupAdminRights helpers.
	BotGroupAdminRights ChatAdminRights
	// A suggested set of administrator rights¹ for the bot, to be shown when adding the bot
	// as admin to a channel, see here for more info on how to handle them »².
	//
	// Links:
	//  1) https://core.telegram.org/api/rights#suggested-bot-rights
	//  2) https://core.telegram.org/api/rights#suggested-bot-rights
	//
	// Use SetBotBroadcastAdminRights and GetBotBroadcastAdminRights helpers.
	BotBroadcastAdminRights ChatAdminRights
	// Wallpaper¹ to use in the private chat with the user.
	//
	// Links:
	//  1) https://core.telegram.org/api/wallpapers
	//
	// Use SetWallpaper and GetWallpaper helpers.
	Wallpaper WallPaperClass
	// Active stories »¹
	//
	// Links:
	//  1) https://core.telegram.org/api/stories
	//
	// Use SetStories and GetStories helpers.
	Stories PeerStories
	// Telegram Business working hours »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/business#opening-hours
	//
	// Use SetBusinessWorkHours and GetBusinessWorkHours helpers.
	BusinessWorkHours BusinessWorkHours
	// Telegram Business location »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/business#location
	//
	// Use SetBusinessLocation and GetBusinessLocation helpers.
	BusinessLocation BusinessLocation
	// Telegram Business greeting message »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/business#greeting-messages
	//
	// Use SetBusinessGreetingMessage and GetBusinessGreetingMessage helpers.
	BusinessGreetingMessage BusinessGreetingMessage
	// Telegram Business away message »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/business#away-messages
	//
	// Use SetBusinessAwayMessage and GetBusinessAwayMessage helpers.
	BusinessAwayMessage BusinessAwayMessage
	// Specifies a custom Telegram Business profile introduction »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/business#business-introduction
	//
	// Use SetBusinessIntro and GetBusinessIntro helpers.
	BusinessIntro BusinessIntro
	// Contains info about the user's birthday »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/profile#birthday
	//
	// Use SetBirthday and GetBirthday helpers.
	Birthday Birthday
	// ID of the associated personal channel »¹, that should be shown in the profile page².
	//
	// Links:
	//  1) https://core.telegram.org/api/channel
	//  2) https://core.telegram.org/api/profile#personal-channel
	//
	// Use SetPersonalChannelID and GetPersonalChannelID helpers.
	PersonalChannelID int64
	// ID of the latest message of the associated personal channel »¹, that should be
	// previewed in the profile page².
	//
	// Links:
	//  1) https://core.telegram.org/api/channel
	//  2) https://core.telegram.org/api/profile#personal-channel
	//
	// Use SetPersonalChannelMessage and GetPersonalChannelMessage helpers.
	PersonalChannelMessage int
	// Number of gifts¹ the user has chosen to display on their profile
	//
	// Links:
	//  1) https://core.telegram.org/api/gifts
	//
	// Use SetStargiftsCount and GetStargiftsCount helpers.
	StargiftsCount int
	// This bot has an active referral program »¹
	//
	// Links:
	//  1) https://core.telegram.org/api/bots/referrals
	//
	// Use SetStarrefProgram and GetStarrefProgram helpers.
	StarrefProgram StarRefProgram
	// Describes a bot verification icon »¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/bots/verification
	//
	// Use SetBotVerification and GetBotVerification helpers.
	BotVerification BotVerification
	// If set and bigger than 0, this user has enabled paid messages »¹ and we must pay the
	// specified amount of Stars² to send messages to them, see here »³ for the full flow.
	// If set and equal to 0, the user requires payment in general but we were exempted from
	// paying for any of the reasons specified in the docs »⁴.
	//
	// Links:
	//  1) https://core.telegram.org/api/paid-messages
	//  2) https://core.telegram.org/api/stars
	//  3) https://core.telegram.org/api/paid-messages
	//  4) https://core.telegram.org/api/paid-messages
	//
	// Use SetSendPaidMessagesStars and GetSendPaidMessagesStars helpers.
	SendPaidMessagesStars int64
	// Disallows the reception of specific gift types.
	//
	// Use SetDisallowedGifts and GetDisallowedGifts helpers.
	DisallowedGifts DisallowedGiftsSettings
	// The user's star rating¹.
	//
	// Links:
	//  1) https://core.telegram.org/api/stars#star-rating
	//
	// Use SetStarsRating and GetStarsRating helpers.
	StarsRating StarsRating
	// Our pending star rating¹, only visible for ourselves.
	//
	// Links:
	//  1) https://core.telegram.org/api/stars#star-rating
	//
	// Use SetStarsMyPendingRating and GetStarsMyPendingRating helpers.
	StarsMyPendingRating StarsRating
	// When the pending star rating¹ will be applied, only visible for ourselves.
	//
	// Links:
	//  1) https://core.telegram.org/api/stars#star-rating
	//
	// Use SetStarsMyPendingRatingDate and GetStarsMyPendingRatingDate helpers.
	StarsMyPendingRatingDate int
	// The main tab for the user's profile, see here »¹ for more info.
	//
	// Links:
	//  1) https://core.telegram.org/api/profile#tabs
	//
	// Use SetMainTab and GetMainTab helpers.
	MainTab ProfileTabClass
	// The first song on the music tab of the profile, see here »¹ for more info on the
	// music profile tab.
	//
	// Links:
	//  1) https://core.telegram.org/api/profile#music
	//
	// Use SetSavedMusic and GetSavedMusic helpers.
	SavedMusic DocumentClass
	// A private note for this contact, only visible to us; see here »¹ for more info on
	// contact notes.
	//
	// Links:
	//  1) https://core.telegram.org/api/contacts#private-notes-for-contacts
	//
	// Use SetNote and GetNote helpers.
	Note TextWithEntities
	// BotManagerID field of UserFull.
	//
	// Use SetBotManagerID and GetBotManagerID helpers.
	BotManagerID int64
}

// UserFullTypeID is TL type id of UserFull.
const UserFullTypeID = 0x6cbe645

// Ensuring interfaces in compile-time for UserFull.
var (
	_ bin.Encoder     = &UserFull{}
	_ bin.Decoder     = &UserFull{}
	_ bin.BareEncoder = &UserFull{}
	_ bin.BareDecoder = &UserFull{}
)

func ( *UserFull) () bool {
	if  == nil {
		return true
	}
	if !(.Flags.Zero()) {
		return false
	}
	if !(.Blocked == false) {
		return false
	}
	if !(.PhoneCallsAvailable == false) {
		return false
	}
	if !(.PhoneCallsPrivate == false) {
		return false
	}
	if !(.CanPinMessage == false) {
		return false
	}
	if !(.HasScheduled == false) {
		return false
	}
	if !(.VideoCallsAvailable == false) {
		return false
	}
	if !(.VoiceMessagesForbidden == false) {
		return false
	}
	if !(.TranslationsDisabled == false) {
		return false
	}
	if !(.StoriesPinnedAvailable == false) {
		return false
	}
	if !(.BlockedMyStoriesFrom == false) {
		return false
	}
	if !(.WallpaperOverridden == false) {
		return false
	}
	if !(.ContactRequirePremium == false) {
		return false
	}
	if !(.ReadDatesPrivate == false) {
		return false
	}
	if !(.Flags2.Zero()) {
		return false
	}
	if !(.SponsoredEnabled == false) {
		return false
	}
	if !(.CanViewRevenue == false) {
		return false
	}
	if !(.BotCanManageEmojiStatus == false) {
		return false
	}
	if !(.DisplayGiftsButton == false) {
		return false
	}
	if !(.NoforwardsMyEnabled == false) {
		return false
	}
	if !(.NoforwardsPeerEnabled == false) {
		return false
	}
	if !(.UnofficialSecurityRisk == false) {
		return false
	}
	if !(.ID == 0) {
		return false
	}
	if !(.About == "") {
		return false
	}
	if !(.Settings.Zero()) {
		return false
	}
	if !(.PersonalPhoto == nil) {
		return false
	}
	if !(.ProfilePhoto == nil) {
		return false
	}
	if !(.FallbackPhoto == nil) {
		return false
	}
	if !(.NotifySettings.Zero()) {
		return false
	}
	if !(.BotInfo.Zero()) {
		return false
	}
	if !(.PinnedMsgID == 0) {
		return false
	}
	if !(.CommonChatsCount == 0) {
		return false
	}
	if !(.FolderID == 0) {
		return false
	}
	if !(.TTLPeriod == 0) {
		return false
	}
	if !(.Theme == nil) {
		return false
	}
	if !(.PrivateForwardName == "") {
		return false
	}
	if !(.BotGroupAdminRights.Zero()) {
		return false
	}
	if !(.BotBroadcastAdminRights.Zero()) {
		return false
	}
	if !(.Wallpaper == nil) {
		return false
	}
	if !(.Stories.Zero()) {
		return false
	}
	if !(.BusinessWorkHours.Zero()) {
		return false
	}
	if !(.BusinessLocation.Zero()) {
		return false
	}
	if !(.BusinessGreetingMessage.Zero()) {
		return false
	}
	if !(.BusinessAwayMessage.Zero()) {
		return false
	}
	if !(.BusinessIntro.Zero()) {
		return false
	}
	if !(.Birthday.Zero()) {
		return false
	}
	if !(.PersonalChannelID == 0) {
		return false
	}
	if !(.PersonalChannelMessage == 0) {
		return false
	}
	if !(.StargiftsCount == 0) {
		return false
	}
	if !(.StarrefProgram.Zero()) {
		return false
	}
	if !(.BotVerification.Zero()) {
		return false
	}
	if !(.SendPaidMessagesStars == 0) {
		return false
	}
	if !(.DisallowedGifts.Zero()) {
		return false
	}
	if !(.StarsRating.Zero()) {
		return false
	}
	if !(.StarsMyPendingRating.Zero()) {
		return false
	}
	if !(.StarsMyPendingRatingDate == 0) {
		return false
	}
	if !(.MainTab == nil) {
		return false
	}
	if !(.SavedMusic == nil) {
		return false
	}
	if !(.Note.Zero()) {
		return false
	}
	if !(.BotManagerID == 0) {
		return false
	}

	return true
}

// String implements fmt.Stringer.
func ( *UserFull) () string {
	if  == nil {
		return "UserFull(nil)"
	}
	type  UserFull
	return fmt.Sprintf("UserFull%+v", (*))
}

// FillFrom fills UserFull from given interface.
func ( *UserFull) ( interface {
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( bool)
	() ( int64)
	() ( string,  bool)
	() ( PeerSettings)
	() ( PhotoClass,  bool)
	() ( PhotoClass,  bool)
	() ( PhotoClass,  bool)
	() ( PeerNotifySettings)
	() ( BotInfo,  bool)
	() ( int,  bool)
	() ( int)
	() ( int,  bool)
	() ( int,  bool)
	() ( ChatThemeClass,  bool)
	() ( string,  bool)
	() ( ChatAdminRights,  bool)
	() ( ChatAdminRights,  bool)
	() ( WallPaperClass,  bool)
	() ( PeerStories,  bool)
	() ( BusinessWorkHours,  bool)
	() ( BusinessLocation,  bool)
	() ( BusinessGreetingMessage,  bool)
	() ( BusinessAwayMessage,  bool)
	() ( BusinessIntro,  bool)
	() ( Birthday,  bool)
	() ( int64,  bool)
	() ( int,  bool)
	() ( int,  bool)
	() ( StarRefProgram,  bool)
	() ( BotVerification,  bool)
	() ( int64,  bool)
	() ( DisallowedGiftsSettings,  bool)
	() ( StarsRating,  bool)
	() ( StarsRating,  bool)
	() ( int,  bool)
	() ( ProfileTabClass,  bool)
	() ( DocumentClass,  bool)
	() ( TextWithEntities,  bool)
	() ( int64,  bool)
}) {
	.Blocked = .()
	.PhoneCallsAvailable = .()
	.PhoneCallsPrivate = .()
	.CanPinMessage = .()
	.HasScheduled = .()
	.VideoCallsAvailable = .()
	.VoiceMessagesForbidden = .()
	.TranslationsDisabled = .()
	.StoriesPinnedAvailable = .()
	.BlockedMyStoriesFrom = .()
	.WallpaperOverridden = .()
	.ContactRequirePremium = .()
	.ReadDatesPrivate = .()
	.SponsoredEnabled = .()
	.CanViewRevenue = .()
	.BotCanManageEmojiStatus = .()
	.DisplayGiftsButton = .()
	.NoforwardsMyEnabled = .()
	.NoforwardsPeerEnabled = .()
	.UnofficialSecurityRisk = .()
	.ID = .()
	if ,  := .();  {
		.About = 
	}

	.Settings = .()
	if ,  := .();  {
		.PersonalPhoto = 
	}

	if ,  := .();  {
		.ProfilePhoto = 
	}

	if ,  := .();  {
		.FallbackPhoto = 
	}

	.NotifySettings = .()
	if ,  := .();  {
		.BotInfo = 
	}

	if ,  := .();  {
		.PinnedMsgID = 
	}

	.CommonChatsCount = .()
	if ,  := .();  {
		.FolderID = 
	}

	if ,  := .();  {
		.TTLPeriod = 
	}

	if ,  := .();  {
		.Theme = 
	}

	if ,  := .();  {
		.PrivateForwardName = 
	}

	if ,  := .();  {
		.BotGroupAdminRights = 
	}

	if ,  := .();  {
		.BotBroadcastAdminRights = 
	}

	if ,  := .();  {
		.Wallpaper = 
	}

	if ,  := .();  {
		.Stories = 
	}

	if ,  := .();  {
		.BusinessWorkHours = 
	}

	if ,  := .();  {
		.BusinessLocation = 
	}

	if ,  := .();  {
		.BusinessGreetingMessage = 
	}

	if ,  := .();  {
		.BusinessAwayMessage = 
	}

	if ,  := .();  {
		.BusinessIntro = 
	}

	if ,  := .();  {
		.Birthday = 
	}

	if ,  := .();  {
		.PersonalChannelID = 
	}

	if ,  := .();  {
		.PersonalChannelMessage = 
	}

	if ,  := .();  {
		.StargiftsCount = 
	}

	if ,  := .();  {
		.StarrefProgram = 
	}

	if ,  := .();  {
		.BotVerification = 
	}

	if ,  := .();  {
		.SendPaidMessagesStars = 
	}

	if ,  := .();  {
		.DisallowedGifts = 
	}

	if ,  := .();  {
		.StarsRating = 
	}

	if ,  := .();  {
		.StarsMyPendingRating = 
	}

	if ,  := .();  {
		.StarsMyPendingRatingDate = 
	}

	if ,  := .();  {
		.MainTab = 
	}

	if ,  := .();  {
		.SavedMusic = 
	}

	if ,  := .();  {
		.Note = 
	}

	if ,  := .();  {
		.BotManagerID = 
	}

}

// TypeID returns type id in TL schema.
//
// See https://core.telegram.org/mtproto/TL-tl#remarks.
func (*UserFull) () uint32 {
	return UserFullTypeID
}

// TypeName returns name of type in TL schema.
func (*UserFull) () string {
	return "userFull"
}

// TypeInfo returns info about TL type.
func ( *UserFull) () tdp.Type {
	 := tdp.Type{
		Name: "userFull",
		ID:   UserFullTypeID,
	}
	if  == nil {
		.Null = true
		return 
	}
	.Fields = []tdp.Field{
		{
			Name:       "Blocked",
			SchemaName: "blocked",
			Null:       !.Flags.Has(0),
		},
		{
			Name:       "PhoneCallsAvailable",
			SchemaName: "phone_calls_available",
			Null:       !.Flags.Has(4),
		},
		{
			Name:       "PhoneCallsPrivate",
			SchemaName: "phone_calls_private",
			Null:       !.Flags.Has(5),
		},
		{
			Name:       "CanPinMessage",
			SchemaName: "can_pin_message",
			Null:       !.Flags.Has(7),
		},
		{
			Name:       "HasScheduled",
			SchemaName: "has_scheduled",
			Null:       !.Flags.Has(12),
		},
		{
			Name:       "VideoCallsAvailable",
			SchemaName: "video_calls_available",
			Null:       !.Flags.Has(13),
		},
		{
			Name:       "VoiceMessagesForbidden",
			SchemaName: "voice_messages_forbidden",
			Null:       !.Flags.Has(20),
		},
		{
			Name:       "TranslationsDisabled",
			SchemaName: "translations_disabled",
			Null:       !.Flags.Has(23),
		},
		{
			Name:       "StoriesPinnedAvailable",
			SchemaName: "stories_pinned_available",
			Null:       !.Flags.Has(26),
		},
		{
			Name:       "BlockedMyStoriesFrom",
			SchemaName: "blocked_my_stories_from",
			Null:       !.Flags.Has(27),
		},
		{
			Name:       "WallpaperOverridden",
			SchemaName: "wallpaper_overridden",
			Null:       !.Flags.Has(28),
		},
		{
			Name:       "ContactRequirePremium",
			SchemaName: "contact_require_premium",
			Null:       !.Flags.Has(29),
		},
		{
			Name:       "ReadDatesPrivate",
			SchemaName: "read_dates_private",
			Null:       !.Flags.Has(30),
		},
		{
			Name:       "SponsoredEnabled",
			SchemaName: "sponsored_enabled",
			Null:       !.Flags2.Has(7),
		},
		{
			Name:       "CanViewRevenue",
			SchemaName: "can_view_revenue",
			Null:       !.Flags2.Has(9),
		},
		{
			Name:       "BotCanManageEmojiStatus",
			SchemaName: "bot_can_manage_emoji_status",
			Null:       !.Flags2.Has(10),
		},
		{
			Name:       "DisplayGiftsButton",
			SchemaName: "display_gifts_button",
			Null:       !.Flags2.Has(16),
		},
		{
			Name:       "NoforwardsMyEnabled",
			SchemaName: "noforwards_my_enabled",
			Null:       !.Flags2.Has(23),
		},
		{
			Name:       "NoforwardsPeerEnabled",
			SchemaName: "noforwards_peer_enabled",
			Null:       !.Flags2.Has(24),
		},
		{
			Name:       "UnofficialSecurityRisk",
			SchemaName: "unofficial_security_risk",
			Null:       !.Flags2.Has(26),
		},
		{
			Name:       "ID",
			SchemaName: "id",
		},
		{
			Name:       "About",
			SchemaName: "about",
			Null:       !.Flags.Has(1),
		},
		{
			Name:       "Settings",
			SchemaName: "settings",
		},
		{
			Name:       "PersonalPhoto",
			SchemaName: "personal_photo",
			Null:       !.Flags.Has(21),
		},
		{
			Name:       "ProfilePhoto",
			SchemaName: "profile_photo",
			Null:       !.Flags.Has(2),
		},
		{
			Name:       "FallbackPhoto",
			SchemaName: "fallback_photo",
			Null:       !.Flags.Has(22),
		},
		{
			Name:       "NotifySettings",
			SchemaName: "notify_settings",
		},
		{
			Name:       "BotInfo",
			SchemaName: "bot_info",
			Null:       !.Flags.Has(3),
		},
		{
			Name:       "PinnedMsgID",
			SchemaName: "pinned_msg_id",
			Null:       !.Flags.Has(6),
		},
		{
			Name:       "CommonChatsCount",
			SchemaName: "common_chats_count",
		},
		{
			Name:       "FolderID",
			SchemaName: "folder_id",
			Null:       !.Flags.Has(11),
		},
		{
			Name:       "TTLPeriod",
			SchemaName: "ttl_period",
			Null:       !.Flags.Has(14),
		},
		{
			Name:       "Theme",
			SchemaName: "theme",
			Null:       !.Flags.Has(15),
		},
		{
			Name:       "PrivateForwardName",
			SchemaName: "private_forward_name",
			Null:       !.Flags.Has(16),
		},
		{
			Name:       "BotGroupAdminRights",
			SchemaName: "bot_group_admin_rights",
			Null:       !.Flags.Has(17),
		},
		{
			Name:       "BotBroadcastAdminRights",
			SchemaName: "bot_broadcast_admin_rights",
			Null:       !.Flags.Has(18),
		},
		{
			Name:       "Wallpaper",
			SchemaName: "wallpaper",
			Null:       !.Flags.Has(24),
		},
		{
			Name:       "Stories",
			SchemaName: "stories",
			Null:       !.Flags.Has(25),
		},
		{
			Name:       "BusinessWorkHours",
			SchemaName: "business_work_hours",
			Null:       !.Flags2.Has(0),
		},
		{
			Name:       "BusinessLocation",
			SchemaName: "business_location",
			Null:       !.Flags2.Has(1),
		},
		{
			Name:       "BusinessGreetingMessage",
			SchemaName: "business_greeting_message",
			Null:       !.Flags2.Has(2),
		},
		{
			Name:       "BusinessAwayMessage",
			SchemaName: "business_away_message",
			Null:       !.Flags2.Has(3),
		},
		{
			Name:       "BusinessIntro",
			SchemaName: "business_intro",
			Null:       !.Flags2.Has(4),
		},
		{
			Name:       "Birthday",
			SchemaName: "birthday",
			Null:       !.Flags2.Has(5),
		},
		{
			Name:       "PersonalChannelID",
			SchemaName: "personal_channel_id",
			Null:       !.Flags2.Has(6),
		},
		{
			Name:       "PersonalChannelMessage",
			SchemaName: "personal_channel_message",
			Null:       !.Flags2.Has(6),
		},
		{
			Name:       "StargiftsCount",
			SchemaName: "stargifts_count",
			Null:       !.Flags2.Has(8),
		},
		{
			Name:       "StarrefProgram",
			SchemaName: "starref_program",
			Null:       !.Flags2.Has(11),
		},
		{
			Name:       "BotVerification",
			SchemaName: "bot_verification",
			Null:       !.Flags2.Has(12),
		},
		{
			Name:       "SendPaidMessagesStars",
			SchemaName: "send_paid_messages_stars",
			Null:       !.Flags2.Has(14),
		},
		{
			Name:       "DisallowedGifts",
			SchemaName: "disallowed_gifts",
			Null:       !.Flags2.Has(15),
		},
		{
			Name:       "StarsRating",
			SchemaName: "stars_rating",
			Null:       !.Flags2.Has(17),
		},
		{
			Name:       "StarsMyPendingRating",
			SchemaName: "stars_my_pending_rating",
			Null:       !.Flags2.Has(18),
		},
		{
			Name:       "StarsMyPendingRatingDate",
			SchemaName: "stars_my_pending_rating_date",
			Null:       !.Flags2.Has(18),
		},
		{
			Name:       "MainTab",
			SchemaName: "main_tab",
			Null:       !.Flags2.Has(20),
		},
		{
			Name:       "SavedMusic",
			SchemaName: "saved_music",
			Null:       !.Flags2.Has(21),
		},
		{
			Name:       "Note",
			SchemaName: "note",
			Null:       !.Flags2.Has(22),
		},
		{
			Name:       "BotManagerID",
			SchemaName: "bot_manager_id",
			Null:       !.Flags2.Has(25),
		},
	}
	return 
}

// SetFlags sets flags for non-zero fields.
func ( *UserFull) () {
	if !(.Blocked == false) {
		.Flags.Set(0)
	}
	if !(.PhoneCallsAvailable == false) {
		.Flags.Set(4)
	}
	if !(.PhoneCallsPrivate == false) {
		.Flags.Set(5)
	}
	if !(.CanPinMessage == false) {
		.Flags.Set(7)
	}
	if !(.HasScheduled == false) {
		.Flags.Set(12)
	}
	if !(.VideoCallsAvailable == false) {
		.Flags.Set(13)
	}
	if !(.VoiceMessagesForbidden == false) {
		.Flags.Set(20)
	}
	if !(.TranslationsDisabled == false) {
		.Flags.Set(23)
	}
	if !(.StoriesPinnedAvailable == false) {
		.Flags.Set(26)
	}
	if !(.BlockedMyStoriesFrom == false) {
		.Flags.Set(27)
	}
	if !(.WallpaperOverridden == false) {
		.Flags.Set(28)
	}
	if !(.ContactRequirePremium == false) {
		.Flags.Set(29)
	}
	if !(.ReadDatesPrivate == false) {
		.Flags.Set(30)
	}
	if !(.SponsoredEnabled == false) {
		.Flags2.Set(7)
	}
	if !(.CanViewRevenue == false) {
		.Flags2.Set(9)
	}
	if !(.BotCanManageEmojiStatus == false) {
		.Flags2.Set(10)
	}
	if !(.DisplayGiftsButton == false) {
		.Flags2.Set(16)
	}
	if !(.NoforwardsMyEnabled == false) {
		.Flags2.Set(23)
	}
	if !(.NoforwardsPeerEnabled == false) {
		.Flags2.Set(24)
	}
	if !(.UnofficialSecurityRisk == false) {
		.Flags2.Set(26)
	}
	if !(.About == "") {
		.Flags.Set(1)
	}
	if !(.PersonalPhoto == nil) {
		.Flags.Set(21)
	}
	if !(.ProfilePhoto == nil) {
		.Flags.Set(2)
	}
	if !(.FallbackPhoto == nil) {
		.Flags.Set(22)
	}
	if !(.BotInfo.Zero()) {
		.Flags.Set(3)
	}
	if !(.PinnedMsgID == 0) {
		.Flags.Set(6)
	}
	if !(.FolderID == 0) {
		.Flags.Set(11)
	}
	if !(.TTLPeriod == 0) {
		.Flags.Set(14)
	}
	if !(.Theme == nil) {
		.Flags.Set(15)
	}
	if !(.PrivateForwardName == "") {
		.Flags.Set(16)
	}
	if !(.BotGroupAdminRights.Zero()) {
		.Flags.Set(17)
	}
	if !(.BotBroadcastAdminRights.Zero()) {
		.Flags.Set(18)
	}
	if !(.Wallpaper == nil) {
		.Flags.Set(24)
	}
	if !(.Stories.Zero()) {
		.Flags.Set(25)
	}
	if !(.BusinessWorkHours.Zero()) {
		.Flags2.Set(0)
	}
	if !(.BusinessLocation.Zero()) {
		.Flags2.Set(1)
	}
	if !(.BusinessGreetingMessage.Zero()) {
		.Flags2.Set(2)
	}
	if !(.BusinessAwayMessage.Zero()) {
		.Flags2.Set(3)
	}
	if !(.BusinessIntro.Zero()) {
		.Flags2.Set(4)
	}
	if !(.Birthday.Zero()) {
		.Flags2.Set(5)
	}
	if !(.PersonalChannelID == 0) {
		.Flags2.Set(6)
	}
	if !(.PersonalChannelMessage == 0) {
		.Flags2.Set(6)
	}
	if !(.StargiftsCount == 0) {
		.Flags2.Set(8)
	}
	if !(.StarrefProgram.Zero()) {
		.Flags2.Set(11)
	}
	if !(.BotVerification.Zero()) {
		.Flags2.Set(12)
	}
	if !(.SendPaidMessagesStars == 0) {
		.Flags2.Set(14)
	}
	if !(.DisallowedGifts.Zero()) {
		.Flags2.Set(15)
	}
	if !(.StarsRating.Zero()) {
		.Flags2.Set(17)
	}
	if !(.StarsMyPendingRating.Zero()) {
		.Flags2.Set(18)
	}
	if !(.StarsMyPendingRatingDate == 0) {
		.Flags2.Set(18)
	}
	if !(.MainTab == nil) {
		.Flags2.Set(20)
	}
	if !(.SavedMusic == nil) {
		.Flags2.Set(21)
	}
	if !(.Note.Zero()) {
		.Flags2.Set(22)
	}
	if !(.BotManagerID == 0) {
		.Flags2.Set(25)
	}
}

// Encode implements bin.Encoder.
func ( *UserFull) ( *bin.Buffer) error {
	if  == nil {
		return fmt.Errorf("can't encode userFull#6cbe645 as nil")
	}
	.PutID(UserFullTypeID)
	return .EncodeBare()
}

// EncodeBare implements bin.BareEncoder.
func ( *UserFull) ( *bin.Buffer) error {
	if  == nil {
		return fmt.Errorf("can't encode userFull#6cbe645 as nil")
	}
	.SetFlags()
	if  := .Flags.Encode();  != nil {
		return fmt.Errorf("unable to encode userFull#6cbe645: field flags: %w", )
	}
	if  := .Flags2.Encode();  != nil {
		return fmt.Errorf("unable to encode userFull#6cbe645: field flags2: %w", )
	}
	.PutLong(.ID)
	if .Flags.Has(1) {
		.PutString(.About)
	}
	if  := .Settings.Encode();  != nil {
		return fmt.Errorf("unable to encode userFull#6cbe645: field settings: %w", )
	}
	if .Flags.Has(21) {
		if .PersonalPhoto == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field personal_photo is nil")
		}
		if  := .PersonalPhoto.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field personal_photo: %w", )
		}
	}
	if .Flags.Has(2) {
		if .ProfilePhoto == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field profile_photo is nil")
		}
		if  := .ProfilePhoto.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field profile_photo: %w", )
		}
	}
	if .Flags.Has(22) {
		if .FallbackPhoto == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field fallback_photo is nil")
		}
		if  := .FallbackPhoto.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field fallback_photo: %w", )
		}
	}
	if  := .NotifySettings.Encode();  != nil {
		return fmt.Errorf("unable to encode userFull#6cbe645: field notify_settings: %w", )
	}
	if .Flags.Has(3) {
		if  := .BotInfo.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field bot_info: %w", )
		}
	}
	if .Flags.Has(6) {
		.PutInt(.PinnedMsgID)
	}
	.PutInt(.CommonChatsCount)
	if .Flags.Has(11) {
		.PutInt(.FolderID)
	}
	if .Flags.Has(14) {
		.PutInt(.TTLPeriod)
	}
	if .Flags.Has(15) {
		if .Theme == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field theme is nil")
		}
		if  := .Theme.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field theme: %w", )
		}
	}
	if .Flags.Has(16) {
		.PutString(.PrivateForwardName)
	}
	if .Flags.Has(17) {
		if  := .BotGroupAdminRights.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field bot_group_admin_rights: %w", )
		}
	}
	if .Flags.Has(18) {
		if  := .BotBroadcastAdminRights.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field bot_broadcast_admin_rights: %w", )
		}
	}
	if .Flags.Has(24) {
		if .Wallpaper == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field wallpaper is nil")
		}
		if  := .Wallpaper.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field wallpaper: %w", )
		}
	}
	if .Flags.Has(25) {
		if  := .Stories.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field stories: %w", )
		}
	}
	if .Flags2.Has(0) {
		if  := .BusinessWorkHours.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field business_work_hours: %w", )
		}
	}
	if .Flags2.Has(1) {
		if  := .BusinessLocation.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field business_location: %w", )
		}
	}
	if .Flags2.Has(2) {
		if  := .BusinessGreetingMessage.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field business_greeting_message: %w", )
		}
	}
	if .Flags2.Has(3) {
		if  := .BusinessAwayMessage.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field business_away_message: %w", )
		}
	}
	if .Flags2.Has(4) {
		if  := .BusinessIntro.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field business_intro: %w", )
		}
	}
	if .Flags2.Has(5) {
		if  := .Birthday.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field birthday: %w", )
		}
	}
	if .Flags2.Has(6) {
		.PutLong(.PersonalChannelID)
	}
	if .Flags2.Has(6) {
		.PutInt(.PersonalChannelMessage)
	}
	if .Flags2.Has(8) {
		.PutInt(.StargiftsCount)
	}
	if .Flags2.Has(11) {
		if  := .StarrefProgram.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field starref_program: %w", )
		}
	}
	if .Flags2.Has(12) {
		if  := .BotVerification.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field bot_verification: %w", )
		}
	}
	if .Flags2.Has(14) {
		.PutLong(.SendPaidMessagesStars)
	}
	if .Flags2.Has(15) {
		if  := .DisallowedGifts.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field disallowed_gifts: %w", )
		}
	}
	if .Flags2.Has(17) {
		if  := .StarsRating.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field stars_rating: %w", )
		}
	}
	if .Flags2.Has(18) {
		if  := .StarsMyPendingRating.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field stars_my_pending_rating: %w", )
		}
	}
	if .Flags2.Has(18) {
		.PutInt(.StarsMyPendingRatingDate)
	}
	if .Flags2.Has(20) {
		if .MainTab == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field main_tab is nil")
		}
		if  := .MainTab.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field main_tab: %w", )
		}
	}
	if .Flags2.Has(21) {
		if .SavedMusic == nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field saved_music is nil")
		}
		if  := .SavedMusic.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field saved_music: %w", )
		}
	}
	if .Flags2.Has(22) {
		if  := .Note.Encode();  != nil {
			return fmt.Errorf("unable to encode userFull#6cbe645: field note: %w", )
		}
	}
	if .Flags2.Has(25) {
		.PutLong(.BotManagerID)
	}
	return nil
}

// Decode implements bin.Decoder.
func ( *UserFull) ( *bin.Buffer) error {
	if  == nil {
		return fmt.Errorf("can't decode userFull#6cbe645 to nil")
	}
	if  := .ConsumeID(UserFullTypeID);  != nil {
		return fmt.Errorf("unable to decode userFull#6cbe645: %w", )
	}
	return .DecodeBare()
}

// DecodeBare implements bin.BareDecoder.
func ( *UserFull) ( *bin.Buffer) error {
	if  == nil {
		return fmt.Errorf("can't decode userFull#6cbe645 to nil")
	}
	{
		if  := .Flags.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field flags: %w", )
		}
	}
	.Blocked = .Flags.Has(0)
	.PhoneCallsAvailable = .Flags.Has(4)
	.PhoneCallsPrivate = .Flags.Has(5)
	.CanPinMessage = .Flags.Has(7)
	.HasScheduled = .Flags.Has(12)
	.VideoCallsAvailable = .Flags.Has(13)
	.VoiceMessagesForbidden = .Flags.Has(20)
	.TranslationsDisabled = .Flags.Has(23)
	.StoriesPinnedAvailable = .Flags.Has(26)
	.BlockedMyStoriesFrom = .Flags.Has(27)
	.WallpaperOverridden = .Flags.Has(28)
	.ContactRequirePremium = .Flags.Has(29)
	.ReadDatesPrivate = .Flags.Has(30)
	{
		if  := .Flags2.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field flags2: %w", )
		}
	}
	.SponsoredEnabled = .Flags2.Has(7)
	.CanViewRevenue = .Flags2.Has(9)
	.BotCanManageEmojiStatus = .Flags2.Has(10)
	.DisplayGiftsButton = .Flags2.Has(16)
	.NoforwardsMyEnabled = .Flags2.Has(23)
	.NoforwardsPeerEnabled = .Flags2.Has(24)
	.UnofficialSecurityRisk = .Flags2.Has(26)
	{
		,  := .Long()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field id: %w", )
		}
		.ID = 
	}
	if .Flags.Has(1) {
		,  := .String()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field about: %w", )
		}
		.About = 
	}
	{
		if  := .Settings.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field settings: %w", )
		}
	}
	if .Flags.Has(21) {
		,  := DecodePhoto()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field personal_photo: %w", )
		}
		.PersonalPhoto = 
	}
	if .Flags.Has(2) {
		,  := DecodePhoto()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field profile_photo: %w", )
		}
		.ProfilePhoto = 
	}
	if .Flags.Has(22) {
		,  := DecodePhoto()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field fallback_photo: %w", )
		}
		.FallbackPhoto = 
	}
	{
		if  := .NotifySettings.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field notify_settings: %w", )
		}
	}
	if .Flags.Has(3) {
		if  := .BotInfo.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field bot_info: %w", )
		}
	}
	if .Flags.Has(6) {
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field pinned_msg_id: %w", )
		}
		.PinnedMsgID = 
	}
	{
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field common_chats_count: %w", )
		}
		.CommonChatsCount = 
	}
	if .Flags.Has(11) {
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field folder_id: %w", )
		}
		.FolderID = 
	}
	if .Flags.Has(14) {
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field ttl_period: %w", )
		}
		.TTLPeriod = 
	}
	if .Flags.Has(15) {
		,  := DecodeChatTheme()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field theme: %w", )
		}
		.Theme = 
	}
	if .Flags.Has(16) {
		,  := .String()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field private_forward_name: %w", )
		}
		.PrivateForwardName = 
	}
	if .Flags.Has(17) {
		if  := .BotGroupAdminRights.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field bot_group_admin_rights: %w", )
		}
	}
	if .Flags.Has(18) {
		if  := .BotBroadcastAdminRights.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field bot_broadcast_admin_rights: %w", )
		}
	}
	if .Flags.Has(24) {
		,  := DecodeWallPaper()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field wallpaper: %w", )
		}
		.Wallpaper = 
	}
	if .Flags.Has(25) {
		if  := .Stories.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field stories: %w", )
		}
	}
	if .Flags2.Has(0) {
		if  := .BusinessWorkHours.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field business_work_hours: %w", )
		}
	}
	if .Flags2.Has(1) {
		if  := .BusinessLocation.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field business_location: %w", )
		}
	}
	if .Flags2.Has(2) {
		if  := .BusinessGreetingMessage.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field business_greeting_message: %w", )
		}
	}
	if .Flags2.Has(3) {
		if  := .BusinessAwayMessage.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field business_away_message: %w", )
		}
	}
	if .Flags2.Has(4) {
		if  := .BusinessIntro.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field business_intro: %w", )
		}
	}
	if .Flags2.Has(5) {
		if  := .Birthday.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field birthday: %w", )
		}
	}
	if .Flags2.Has(6) {
		,  := .Long()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field personal_channel_id: %w", )
		}
		.PersonalChannelID = 
	}
	if .Flags2.Has(6) {
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field personal_channel_message: %w", )
		}
		.PersonalChannelMessage = 
	}
	if .Flags2.Has(8) {
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field stargifts_count: %w", )
		}
		.StargiftsCount = 
	}
	if .Flags2.Has(11) {
		if  := .StarrefProgram.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field starref_program: %w", )
		}
	}
	if .Flags2.Has(12) {
		if  := .BotVerification.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field bot_verification: %w", )
		}
	}
	if .Flags2.Has(14) {
		,  := .Long()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field send_paid_messages_stars: %w", )
		}
		.SendPaidMessagesStars = 
	}
	if .Flags2.Has(15) {
		if  := .DisallowedGifts.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field disallowed_gifts: %w", )
		}
	}
	if .Flags2.Has(17) {
		if  := .StarsRating.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field stars_rating: %w", )
		}
	}
	if .Flags2.Has(18) {
		if  := .StarsMyPendingRating.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field stars_my_pending_rating: %w", )
		}
	}
	if .Flags2.Has(18) {
		,  := .Int()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field stars_my_pending_rating_date: %w", )
		}
		.StarsMyPendingRatingDate = 
	}
	if .Flags2.Has(20) {
		,  := DecodeProfileTab()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field main_tab: %w", )
		}
		.MainTab = 
	}
	if .Flags2.Has(21) {
		,  := DecodeDocument()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field saved_music: %w", )
		}
		.SavedMusic = 
	}
	if .Flags2.Has(22) {
		if  := .Note.Decode();  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field note: %w", )
		}
	}
	if .Flags2.Has(25) {
		,  := .Long()
		if  != nil {
			return fmt.Errorf("unable to decode userFull#6cbe645: field bot_manager_id: %w", )
		}
		.BotManagerID = 
	}
	return nil
}

// SetBlocked sets value of Blocked conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(0)
		.Blocked = true
	} else {
		.Flags.Unset(0)
		.Blocked = false
	}
}

// GetBlocked returns value of Blocked conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(0)
}

// SetPhoneCallsAvailable sets value of PhoneCallsAvailable conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(4)
		.PhoneCallsAvailable = true
	} else {
		.Flags.Unset(4)
		.PhoneCallsAvailable = false
	}
}

// GetPhoneCallsAvailable returns value of PhoneCallsAvailable conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(4)
}

// SetPhoneCallsPrivate sets value of PhoneCallsPrivate conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(5)
		.PhoneCallsPrivate = true
	} else {
		.Flags.Unset(5)
		.PhoneCallsPrivate = false
	}
}

// GetPhoneCallsPrivate returns value of PhoneCallsPrivate conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(5)
}

// SetCanPinMessage sets value of CanPinMessage conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(7)
		.CanPinMessage = true
	} else {
		.Flags.Unset(7)
		.CanPinMessage = false
	}
}

// GetCanPinMessage returns value of CanPinMessage conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(7)
}

// SetHasScheduled sets value of HasScheduled conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(12)
		.HasScheduled = true
	} else {
		.Flags.Unset(12)
		.HasScheduled = false
	}
}

// GetHasScheduled returns value of HasScheduled conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(12)
}

// SetVideoCallsAvailable sets value of VideoCallsAvailable conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(13)
		.VideoCallsAvailable = true
	} else {
		.Flags.Unset(13)
		.VideoCallsAvailable = false
	}
}

// GetVideoCallsAvailable returns value of VideoCallsAvailable conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(13)
}

// SetVoiceMessagesForbidden sets value of VoiceMessagesForbidden conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(20)
		.VoiceMessagesForbidden = true
	} else {
		.Flags.Unset(20)
		.VoiceMessagesForbidden = false
	}
}

// GetVoiceMessagesForbidden returns value of VoiceMessagesForbidden conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(20)
}

// SetTranslationsDisabled sets value of TranslationsDisabled conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(23)
		.TranslationsDisabled = true
	} else {
		.Flags.Unset(23)
		.TranslationsDisabled = false
	}
}

// GetTranslationsDisabled returns value of TranslationsDisabled conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(23)
}

// SetStoriesPinnedAvailable sets value of StoriesPinnedAvailable conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(26)
		.StoriesPinnedAvailable = true
	} else {
		.Flags.Unset(26)
		.StoriesPinnedAvailable = false
	}
}

// GetStoriesPinnedAvailable returns value of StoriesPinnedAvailable conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(26)
}

// SetBlockedMyStoriesFrom sets value of BlockedMyStoriesFrom conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(27)
		.BlockedMyStoriesFrom = true
	} else {
		.Flags.Unset(27)
		.BlockedMyStoriesFrom = false
	}
}

// GetBlockedMyStoriesFrom returns value of BlockedMyStoriesFrom conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(27)
}

// SetWallpaperOverridden sets value of WallpaperOverridden conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(28)
		.WallpaperOverridden = true
	} else {
		.Flags.Unset(28)
		.WallpaperOverridden = false
	}
}

// GetWallpaperOverridden returns value of WallpaperOverridden conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(28)
}

// SetContactRequirePremium sets value of ContactRequirePremium conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(29)
		.ContactRequirePremium = true
	} else {
		.Flags.Unset(29)
		.ContactRequirePremium = false
	}
}

// GetContactRequirePremium returns value of ContactRequirePremium conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(29)
}

// SetReadDatesPrivate sets value of ReadDatesPrivate conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags.Set(30)
		.ReadDatesPrivate = true
	} else {
		.Flags.Unset(30)
		.ReadDatesPrivate = false
	}
}

// GetReadDatesPrivate returns value of ReadDatesPrivate conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags.Has(30)
}

// SetSponsoredEnabled sets value of SponsoredEnabled conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(7)
		.SponsoredEnabled = true
	} else {
		.Flags2.Unset(7)
		.SponsoredEnabled = false
	}
}

// GetSponsoredEnabled returns value of SponsoredEnabled conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(7)
}

// SetCanViewRevenue sets value of CanViewRevenue conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(9)
		.CanViewRevenue = true
	} else {
		.Flags2.Unset(9)
		.CanViewRevenue = false
	}
}

// GetCanViewRevenue returns value of CanViewRevenue conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(9)
}

// SetBotCanManageEmojiStatus sets value of BotCanManageEmojiStatus conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(10)
		.BotCanManageEmojiStatus = true
	} else {
		.Flags2.Unset(10)
		.BotCanManageEmojiStatus = false
	}
}

// GetBotCanManageEmojiStatus returns value of BotCanManageEmojiStatus conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(10)
}

// SetDisplayGiftsButton sets value of DisplayGiftsButton conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(16)
		.DisplayGiftsButton = true
	} else {
		.Flags2.Unset(16)
		.DisplayGiftsButton = false
	}
}

// GetDisplayGiftsButton returns value of DisplayGiftsButton conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(16)
}

// SetNoforwardsMyEnabled sets value of NoforwardsMyEnabled conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(23)
		.NoforwardsMyEnabled = true
	} else {
		.Flags2.Unset(23)
		.NoforwardsMyEnabled = false
	}
}

// GetNoforwardsMyEnabled returns value of NoforwardsMyEnabled conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(23)
}

// SetNoforwardsPeerEnabled sets value of NoforwardsPeerEnabled conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(24)
		.NoforwardsPeerEnabled = true
	} else {
		.Flags2.Unset(24)
		.NoforwardsPeerEnabled = false
	}
}

// GetNoforwardsPeerEnabled returns value of NoforwardsPeerEnabled conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(24)
}

// SetUnofficialSecurityRisk sets value of UnofficialSecurityRisk conditional field.
func ( *UserFull) ( bool) {
	if  {
		.Flags2.Set(26)
		.UnofficialSecurityRisk = true
	} else {
		.Flags2.Unset(26)
		.UnofficialSecurityRisk = false
	}
}

// GetUnofficialSecurityRisk returns value of UnofficialSecurityRisk conditional field.
func ( *UserFull) () ( bool) {
	if  == nil {
		return
	}
	return .Flags2.Has(26)
}

// GetID returns value of ID field.
func ( *UserFull) () ( int64) {
	if  == nil {
		return
	}
	return .ID
}

// SetAbout sets value of About conditional field.
func ( *UserFull) ( string) {
	.Flags.Set(1)
	.About = 
}

// GetAbout returns value of About conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( string,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(1) {
		return , false
	}
	return .About, true
}

// GetSettings returns value of Settings field.
func ( *UserFull) () ( PeerSettings) {
	if  == nil {
		return
	}
	return .Settings
}

// SetPersonalPhoto sets value of PersonalPhoto conditional field.
func ( *UserFull) ( PhotoClass) {
	.Flags.Set(21)
	.PersonalPhoto = 
}

// GetPersonalPhoto returns value of PersonalPhoto conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( PhotoClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(21) {
		return , false
	}
	return .PersonalPhoto, true
}

// SetProfilePhoto sets value of ProfilePhoto conditional field.
func ( *UserFull) ( PhotoClass) {
	.Flags.Set(2)
	.ProfilePhoto = 
}

// GetProfilePhoto returns value of ProfilePhoto conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( PhotoClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(2) {
		return , false
	}
	return .ProfilePhoto, true
}

// SetFallbackPhoto sets value of FallbackPhoto conditional field.
func ( *UserFull) ( PhotoClass) {
	.Flags.Set(22)
	.FallbackPhoto = 
}

// GetFallbackPhoto returns value of FallbackPhoto conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( PhotoClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(22) {
		return , false
	}
	return .FallbackPhoto, true
}

// GetNotifySettings returns value of NotifySettings field.
func ( *UserFull) () ( PeerNotifySettings) {
	if  == nil {
		return
	}
	return .NotifySettings
}

// SetBotInfo sets value of BotInfo conditional field.
func ( *UserFull) ( BotInfo) {
	.Flags.Set(3)
	.BotInfo = 
}

// GetBotInfo returns value of BotInfo conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BotInfo,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(3) {
		return , false
	}
	return .BotInfo, true
}

// SetPinnedMsgID sets value of PinnedMsgID conditional field.
func ( *UserFull) ( int) {
	.Flags.Set(6)
	.PinnedMsgID = 
}

// GetPinnedMsgID returns value of PinnedMsgID conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(6) {
		return , false
	}
	return .PinnedMsgID, true
}

// GetCommonChatsCount returns value of CommonChatsCount field.
func ( *UserFull) () ( int) {
	if  == nil {
		return
	}
	return .CommonChatsCount
}

// SetFolderID sets value of FolderID conditional field.
func ( *UserFull) ( int) {
	.Flags.Set(11)
	.FolderID = 
}

// GetFolderID returns value of FolderID conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(11) {
		return , false
	}
	return .FolderID, true
}

// SetTTLPeriod sets value of TTLPeriod conditional field.
func ( *UserFull) ( int) {
	.Flags.Set(14)
	.TTLPeriod = 
}

// GetTTLPeriod returns value of TTLPeriod conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(14) {
		return , false
	}
	return .TTLPeriod, true
}

// SetTheme sets value of Theme conditional field.
func ( *UserFull) ( ChatThemeClass) {
	.Flags.Set(15)
	.Theme = 
}

// GetTheme returns value of Theme conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( ChatThemeClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(15) {
		return , false
	}
	return .Theme, true
}

// SetPrivateForwardName sets value of PrivateForwardName conditional field.
func ( *UserFull) ( string) {
	.Flags.Set(16)
	.PrivateForwardName = 
}

// GetPrivateForwardName returns value of PrivateForwardName conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( string,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(16) {
		return , false
	}
	return .PrivateForwardName, true
}

// SetBotGroupAdminRights sets value of BotGroupAdminRights conditional field.
func ( *UserFull) ( ChatAdminRights) {
	.Flags.Set(17)
	.BotGroupAdminRights = 
}

// GetBotGroupAdminRights returns value of BotGroupAdminRights conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( ChatAdminRights,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(17) {
		return , false
	}
	return .BotGroupAdminRights, true
}

// SetBotBroadcastAdminRights sets value of BotBroadcastAdminRights conditional field.
func ( *UserFull) ( ChatAdminRights) {
	.Flags.Set(18)
	.BotBroadcastAdminRights = 
}

// GetBotBroadcastAdminRights returns value of BotBroadcastAdminRights conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( ChatAdminRights,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(18) {
		return , false
	}
	return .BotBroadcastAdminRights, true
}

// SetWallpaper sets value of Wallpaper conditional field.
func ( *UserFull) ( WallPaperClass) {
	.Flags.Set(24)
	.Wallpaper = 
}

// GetWallpaper returns value of Wallpaper conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( WallPaperClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(24) {
		return , false
	}
	return .Wallpaper, true
}

// SetStories sets value of Stories conditional field.
func ( *UserFull) ( PeerStories) {
	.Flags.Set(25)
	.Stories = 
}

// GetStories returns value of Stories conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( PeerStories,  bool) {
	if  == nil {
		return
	}
	if !.Flags.Has(25) {
		return , false
	}
	return .Stories, true
}

// SetBusinessWorkHours sets value of BusinessWorkHours conditional field.
func ( *UserFull) ( BusinessWorkHours) {
	.Flags2.Set(0)
	.BusinessWorkHours = 
}

// GetBusinessWorkHours returns value of BusinessWorkHours conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BusinessWorkHours,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(0) {
		return , false
	}
	return .BusinessWorkHours, true
}

// SetBusinessLocation sets value of BusinessLocation conditional field.
func ( *UserFull) ( BusinessLocation) {
	.Flags2.Set(1)
	.BusinessLocation = 
}

// GetBusinessLocation returns value of BusinessLocation conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BusinessLocation,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(1) {
		return , false
	}
	return .BusinessLocation, true
}

// SetBusinessGreetingMessage sets value of BusinessGreetingMessage conditional field.
func ( *UserFull) ( BusinessGreetingMessage) {
	.Flags2.Set(2)
	.BusinessGreetingMessage = 
}

// GetBusinessGreetingMessage returns value of BusinessGreetingMessage conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BusinessGreetingMessage,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(2) {
		return , false
	}
	return .BusinessGreetingMessage, true
}

// SetBusinessAwayMessage sets value of BusinessAwayMessage conditional field.
func ( *UserFull) ( BusinessAwayMessage) {
	.Flags2.Set(3)
	.BusinessAwayMessage = 
}

// GetBusinessAwayMessage returns value of BusinessAwayMessage conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BusinessAwayMessage,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(3) {
		return , false
	}
	return .BusinessAwayMessage, true
}

// SetBusinessIntro sets value of BusinessIntro conditional field.
func ( *UserFull) ( BusinessIntro) {
	.Flags2.Set(4)
	.BusinessIntro = 
}

// GetBusinessIntro returns value of BusinessIntro conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BusinessIntro,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(4) {
		return , false
	}
	return .BusinessIntro, true
}

// SetBirthday sets value of Birthday conditional field.
func ( *UserFull) ( Birthday) {
	.Flags2.Set(5)
	.Birthday = 
}

// GetBirthday returns value of Birthday conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( Birthday,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(5) {
		return , false
	}
	return .Birthday, true
}

// SetPersonalChannelID sets value of PersonalChannelID conditional field.
func ( *UserFull) ( int64) {
	.Flags2.Set(6)
	.PersonalChannelID = 
}

// GetPersonalChannelID returns value of PersonalChannelID conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int64,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(6) {
		return , false
	}
	return .PersonalChannelID, true
}

// SetPersonalChannelMessage sets value of PersonalChannelMessage conditional field.
func ( *UserFull) ( int) {
	.Flags2.Set(6)
	.PersonalChannelMessage = 
}

// GetPersonalChannelMessage returns value of PersonalChannelMessage conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(6) {
		return , false
	}
	return .PersonalChannelMessage, true
}

// SetStargiftsCount sets value of StargiftsCount conditional field.
func ( *UserFull) ( int) {
	.Flags2.Set(8)
	.StargiftsCount = 
}

// GetStargiftsCount returns value of StargiftsCount conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(8) {
		return , false
	}
	return .StargiftsCount, true
}

// SetStarrefProgram sets value of StarrefProgram conditional field.
func ( *UserFull) ( StarRefProgram) {
	.Flags2.Set(11)
	.StarrefProgram = 
}

// GetStarrefProgram returns value of StarrefProgram conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( StarRefProgram,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(11) {
		return , false
	}
	return .StarrefProgram, true
}

// SetBotVerification sets value of BotVerification conditional field.
func ( *UserFull) ( BotVerification) {
	.Flags2.Set(12)
	.BotVerification = 
}

// GetBotVerification returns value of BotVerification conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( BotVerification,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(12) {
		return , false
	}
	return .BotVerification, true
}

// SetSendPaidMessagesStars sets value of SendPaidMessagesStars conditional field.
func ( *UserFull) ( int64) {
	.Flags2.Set(14)
	.SendPaidMessagesStars = 
}

// GetSendPaidMessagesStars returns value of SendPaidMessagesStars conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int64,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(14) {
		return , false
	}
	return .SendPaidMessagesStars, true
}

// SetDisallowedGifts sets value of DisallowedGifts conditional field.
func ( *UserFull) ( DisallowedGiftsSettings) {
	.Flags2.Set(15)
	.DisallowedGifts = 
}

// GetDisallowedGifts returns value of DisallowedGifts conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( DisallowedGiftsSettings,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(15) {
		return , false
	}
	return .DisallowedGifts, true
}

// SetStarsRating sets value of StarsRating conditional field.
func ( *UserFull) ( StarsRating) {
	.Flags2.Set(17)
	.StarsRating = 
}

// GetStarsRating returns value of StarsRating conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( StarsRating,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(17) {
		return , false
	}
	return .StarsRating, true
}

// SetStarsMyPendingRating sets value of StarsMyPendingRating conditional field.
func ( *UserFull) ( StarsRating) {
	.Flags2.Set(18)
	.StarsMyPendingRating = 
}

// GetStarsMyPendingRating returns value of StarsMyPendingRating conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( StarsRating,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(18) {
		return , false
	}
	return .StarsMyPendingRating, true
}

// SetStarsMyPendingRatingDate sets value of StarsMyPendingRatingDate conditional field.
func ( *UserFull) ( int) {
	.Flags2.Set(18)
	.StarsMyPendingRatingDate = 
}

// GetStarsMyPendingRatingDate returns value of StarsMyPendingRatingDate conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(18) {
		return , false
	}
	return .StarsMyPendingRatingDate, true
}

// SetMainTab sets value of MainTab conditional field.
func ( *UserFull) ( ProfileTabClass) {
	.Flags2.Set(20)
	.MainTab = 
}

// GetMainTab returns value of MainTab conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( ProfileTabClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(20) {
		return , false
	}
	return .MainTab, true
}

// SetSavedMusic sets value of SavedMusic conditional field.
func ( *UserFull) ( DocumentClass) {
	.Flags2.Set(21)
	.SavedMusic = 
}

// GetSavedMusic returns value of SavedMusic conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( DocumentClass,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(21) {
		return , false
	}
	return .SavedMusic, true
}

// SetNote sets value of Note conditional field.
func ( *UserFull) ( TextWithEntities) {
	.Flags2.Set(22)
	.Note = 
}

// GetNote returns value of Note conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( TextWithEntities,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(22) {
		return , false
	}
	return .Note, true
}

// SetBotManagerID sets value of BotManagerID conditional field.
func ( *UserFull) ( int64) {
	.Flags2.Set(25)
	.BotManagerID = 
}

// GetBotManagerID returns value of BotManagerID conditional field and
// boolean which is true if field was set.
func ( *UserFull) () ( int64,  bool) {
	if  == nil {
		return
	}
	if !.Flags2.Has(25) {
		return , false
	}
	return .BotManagerID, true
}

// GetPersonalPhotoAsNotEmpty returns mapped value of PersonalPhoto conditional field and
// boolean which is true if field was set.
func ( *UserFull) () (*Photo, bool) {
	if ,  := .GetPersonalPhoto();  {
		return .AsNotEmpty()
	}
	return nil, false
}

// GetProfilePhotoAsNotEmpty returns mapped value of ProfilePhoto conditional field and
// boolean which is true if field was set.
func ( *UserFull) () (*Photo, bool) {
	if ,  := .GetProfilePhoto();  {
		return .AsNotEmpty()
	}
	return nil, false
}

// GetFallbackPhotoAsNotEmpty returns mapped value of FallbackPhoto conditional field and
// boolean which is true if field was set.
func ( *UserFull) () (*Photo, bool) {
	if ,  := .GetFallbackPhoto();  {
		return .AsNotEmpty()
	}
	return nil, false
}

// GetSavedMusicAsNotEmpty returns mapped value of SavedMusic conditional field and
// boolean which is true if field was set.
func ( *UserFull) () (*Document, bool) {
	if ,  := .GetSavedMusic();  {
		return .AsNotEmpty()
	}
	return nil, false
}