package tg
import (
"context"
"errors"
"fmt"
"sort"
"strings"
"go.uber.org/multierr"
"github.com/gotd/td/bin"
"github.com/gotd/td/tdjson"
"github.com/gotd/td/tdp"
"github.com/gotd/td/tgerr"
)
var (
_ = bin .Buffer {}
_ = context .Background ()
_ = fmt .Stringer (nil )
_ = strings .Builder {}
_ = errors .Is
_ = multierr .AppendInto
_ = sort .Ints
_ = tdp .Format
_ = tgerr .Error {}
_ = tdjson .Encoder {}
)
type AuthSentCodeTypeApp struct {
Length int
}
const AuthSentCodeTypeAppTypeID = 0x3dbb5986
func (s AuthSentCodeTypeApp ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeApp {}
_ bin .Decoder = &AuthSentCodeTypeApp {}
_ bin .BareEncoder = &AuthSentCodeTypeApp {}
_ bin .BareDecoder = &AuthSentCodeTypeApp {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeApp {}
)
func (s *AuthSentCodeTypeApp ) Zero () bool {
if s == nil {
return true
}
if !(s .Length == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeApp ) String () string {
if s == nil {
return "AuthSentCodeTypeApp(nil)"
}
type Alias AuthSentCodeTypeApp
return fmt .Sprintf ("AuthSentCodeTypeApp%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeApp ) FillFrom (from interface {
GetLength () (value int )
}) {
s .Length = from .GetLength ()
}
func (*AuthSentCodeTypeApp ) TypeID () uint32 {
return AuthSentCodeTypeAppTypeID
}
func (*AuthSentCodeTypeApp ) TypeName () string {
return "auth.sentCodeTypeApp"
}
func (s *AuthSentCodeTypeApp ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeApp" ,
ID : AuthSentCodeTypeAppTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Length" ,
SchemaName : "length" ,
},
}
return typ
}
func (s *AuthSentCodeTypeApp ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeApp#3dbb5986 as nil" )
}
b .PutID (AuthSentCodeTypeAppTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeApp ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeApp#3dbb5986 as nil" )
}
b .PutInt (s .Length )
return nil
}
func (s *AuthSentCodeTypeApp ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeApp#3dbb5986 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeAppTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeApp#3dbb5986: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeApp ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeApp#3dbb5986 to nil" )
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeApp#3dbb5986: field length: %w" , err )
}
s .Length = value
}
return nil
}
func (s *AuthSentCodeTypeApp ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
type AuthSentCodeTypeSMS struct {
Length int
}
const AuthSentCodeTypeSMSTypeID = 0xc000bba2
func (s AuthSentCodeTypeSMS ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeSMS {}
_ bin .Decoder = &AuthSentCodeTypeSMS {}
_ bin .BareEncoder = &AuthSentCodeTypeSMS {}
_ bin .BareDecoder = &AuthSentCodeTypeSMS {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeSMS {}
)
func (s *AuthSentCodeTypeSMS ) Zero () bool {
if s == nil {
return true
}
if !(s .Length == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeSMS ) String () string {
if s == nil {
return "AuthSentCodeTypeSMS(nil)"
}
type Alias AuthSentCodeTypeSMS
return fmt .Sprintf ("AuthSentCodeTypeSMS%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeSMS ) FillFrom (from interface {
GetLength () (value int )
}) {
s .Length = from .GetLength ()
}
func (*AuthSentCodeTypeSMS ) TypeID () uint32 {
return AuthSentCodeTypeSMSTypeID
}
func (*AuthSentCodeTypeSMS ) TypeName () string {
return "auth.sentCodeTypeSms"
}
func (s *AuthSentCodeTypeSMS ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeSms" ,
ID : AuthSentCodeTypeSMSTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Length" ,
SchemaName : "length" ,
},
}
return typ
}
func (s *AuthSentCodeTypeSMS ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeSms#c000bba2 as nil" )
}
b .PutID (AuthSentCodeTypeSMSTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeSMS ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeSms#c000bba2 as nil" )
}
b .PutInt (s .Length )
return nil
}
func (s *AuthSentCodeTypeSMS ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeSms#c000bba2 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeSMSTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeSms#c000bba2: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeSMS ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeSms#c000bba2 to nil" )
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeSms#c000bba2: field length: %w" , err )
}
s .Length = value
}
return nil
}
func (s *AuthSentCodeTypeSMS ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
type AuthSentCodeTypeCall struct {
Length int
}
const AuthSentCodeTypeCallTypeID = 0x5353e5a7
func (s AuthSentCodeTypeCall ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeCall {}
_ bin .Decoder = &AuthSentCodeTypeCall {}
_ bin .BareEncoder = &AuthSentCodeTypeCall {}
_ bin .BareDecoder = &AuthSentCodeTypeCall {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeCall {}
)
func (s *AuthSentCodeTypeCall ) Zero () bool {
if s == nil {
return true
}
if !(s .Length == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeCall ) String () string {
if s == nil {
return "AuthSentCodeTypeCall(nil)"
}
type Alias AuthSentCodeTypeCall
return fmt .Sprintf ("AuthSentCodeTypeCall%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeCall ) FillFrom (from interface {
GetLength () (value int )
}) {
s .Length = from .GetLength ()
}
func (*AuthSentCodeTypeCall ) TypeID () uint32 {
return AuthSentCodeTypeCallTypeID
}
func (*AuthSentCodeTypeCall ) TypeName () string {
return "auth.sentCodeTypeCall"
}
func (s *AuthSentCodeTypeCall ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeCall" ,
ID : AuthSentCodeTypeCallTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Length" ,
SchemaName : "length" ,
},
}
return typ
}
func (s *AuthSentCodeTypeCall ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeCall#5353e5a7 as nil" )
}
b .PutID (AuthSentCodeTypeCallTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeCall ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeCall#5353e5a7 as nil" )
}
b .PutInt (s .Length )
return nil
}
func (s *AuthSentCodeTypeCall ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeCall#5353e5a7 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeCallTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeCall#5353e5a7: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeCall ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeCall#5353e5a7 to nil" )
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeCall#5353e5a7: field length: %w" , err )
}
s .Length = value
}
return nil
}
func (s *AuthSentCodeTypeCall ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
type AuthSentCodeTypeFlashCall struct {
Pattern string
}
const AuthSentCodeTypeFlashCallTypeID = 0xab03c6d9
func (s AuthSentCodeTypeFlashCall ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeFlashCall {}
_ bin .Decoder = &AuthSentCodeTypeFlashCall {}
_ bin .BareEncoder = &AuthSentCodeTypeFlashCall {}
_ bin .BareDecoder = &AuthSentCodeTypeFlashCall {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeFlashCall {}
)
func (s *AuthSentCodeTypeFlashCall ) Zero () bool {
if s == nil {
return true
}
if !(s .Pattern == "" ) {
return false
}
return true
}
func (s *AuthSentCodeTypeFlashCall ) String () string {
if s == nil {
return "AuthSentCodeTypeFlashCall(nil)"
}
type Alias AuthSentCodeTypeFlashCall
return fmt .Sprintf ("AuthSentCodeTypeFlashCall%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeFlashCall ) FillFrom (from interface {
GetPattern () (value string )
}) {
s .Pattern = from .GetPattern ()
}
func (*AuthSentCodeTypeFlashCall ) TypeID () uint32 {
return AuthSentCodeTypeFlashCallTypeID
}
func (*AuthSentCodeTypeFlashCall ) TypeName () string {
return "auth.sentCodeTypeFlashCall"
}
func (s *AuthSentCodeTypeFlashCall ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeFlashCall" ,
ID : AuthSentCodeTypeFlashCallTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Pattern" ,
SchemaName : "pattern" ,
},
}
return typ
}
func (s *AuthSentCodeTypeFlashCall ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeFlashCall#ab03c6d9 as nil" )
}
b .PutID (AuthSentCodeTypeFlashCallTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeFlashCall ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeFlashCall#ab03c6d9 as nil" )
}
b .PutString (s .Pattern )
return nil
}
func (s *AuthSentCodeTypeFlashCall ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeFlashCall#ab03c6d9 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeFlashCallTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFlashCall#ab03c6d9: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeFlashCall ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeFlashCall#ab03c6d9 to nil" )
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFlashCall#ab03c6d9: field pattern: %w" , err )
}
s .Pattern = value
}
return nil
}
func (s *AuthSentCodeTypeFlashCall ) GetPattern () (value string ) {
if s == nil {
return
}
return s .Pattern
}
type AuthSentCodeTypeMissedCall struct {
Prefix string
Length int
}
const AuthSentCodeTypeMissedCallTypeID = 0x82006484
func (s AuthSentCodeTypeMissedCall ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeMissedCall {}
_ bin .Decoder = &AuthSentCodeTypeMissedCall {}
_ bin .BareEncoder = &AuthSentCodeTypeMissedCall {}
_ bin .BareDecoder = &AuthSentCodeTypeMissedCall {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeMissedCall {}
)
func (s *AuthSentCodeTypeMissedCall ) Zero () bool {
if s == nil {
return true
}
if !(s .Prefix == "" ) {
return false
}
if !(s .Length == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeMissedCall ) String () string {
if s == nil {
return "AuthSentCodeTypeMissedCall(nil)"
}
type Alias AuthSentCodeTypeMissedCall
return fmt .Sprintf ("AuthSentCodeTypeMissedCall%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeMissedCall ) FillFrom (from interface {
GetPrefix () (value string )
GetLength () (value int )
}) {
s .Prefix = from .GetPrefix ()
s .Length = from .GetLength ()
}
func (*AuthSentCodeTypeMissedCall ) TypeID () uint32 {
return AuthSentCodeTypeMissedCallTypeID
}
func (*AuthSentCodeTypeMissedCall ) TypeName () string {
return "auth.sentCodeTypeMissedCall"
}
func (s *AuthSentCodeTypeMissedCall ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeMissedCall" ,
ID : AuthSentCodeTypeMissedCallTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Prefix" ,
SchemaName : "prefix" ,
},
{
Name : "Length" ,
SchemaName : "length" ,
},
}
return typ
}
func (s *AuthSentCodeTypeMissedCall ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeMissedCall#82006484 as nil" )
}
b .PutID (AuthSentCodeTypeMissedCallTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeMissedCall ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeMissedCall#82006484 as nil" )
}
b .PutString (s .Prefix )
b .PutInt (s .Length )
return nil
}
func (s *AuthSentCodeTypeMissedCall ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeMissedCall#82006484 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeMissedCallTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeMissedCall#82006484: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeMissedCall ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeMissedCall#82006484 to nil" )
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeMissedCall#82006484: field prefix: %w" , err )
}
s .Prefix = value
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeMissedCall#82006484: field length: %w" , err )
}
s .Length = value
}
return nil
}
func (s *AuthSentCodeTypeMissedCall ) GetPrefix () (value string ) {
if s == nil {
return
}
return s .Prefix
}
func (s *AuthSentCodeTypeMissedCall ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
type AuthSentCodeTypeEmailCode struct {
Flags bin .Fields
AppleSigninAllowed bool
GoogleSigninAllowed bool
EmailPattern string
Length int
ResetAvailablePeriod int
ResetPendingDate int
}
const AuthSentCodeTypeEmailCodeTypeID = 0xf450f59b
func (s AuthSentCodeTypeEmailCode ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeEmailCode {}
_ bin .Decoder = &AuthSentCodeTypeEmailCode {}
_ bin .BareEncoder = &AuthSentCodeTypeEmailCode {}
_ bin .BareDecoder = &AuthSentCodeTypeEmailCode {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeEmailCode {}
)
func (s *AuthSentCodeTypeEmailCode ) Zero () bool {
if s == nil {
return true
}
if !(s .Flags .Zero ()) {
return false
}
if !(s .AppleSigninAllowed == false ) {
return false
}
if !(s .GoogleSigninAllowed == false ) {
return false
}
if !(s .EmailPattern == "" ) {
return false
}
if !(s .Length == 0 ) {
return false
}
if !(s .ResetAvailablePeriod == 0 ) {
return false
}
if !(s .ResetPendingDate == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeEmailCode ) String () string {
if s == nil {
return "AuthSentCodeTypeEmailCode(nil)"
}
type Alias AuthSentCodeTypeEmailCode
return fmt .Sprintf ("AuthSentCodeTypeEmailCode%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeEmailCode ) FillFrom (from interface {
GetAppleSigninAllowed () (value bool )
GetGoogleSigninAllowed () (value bool )
GetEmailPattern () (value string )
GetLength () (value int )
GetResetAvailablePeriod () (value int , ok bool )
GetResetPendingDate () (value int , ok bool )
}) {
s .AppleSigninAllowed = from .GetAppleSigninAllowed ()
s .GoogleSigninAllowed = from .GetGoogleSigninAllowed ()
s .EmailPattern = from .GetEmailPattern ()
s .Length = from .GetLength ()
if val , ok := from .GetResetAvailablePeriod (); ok {
s .ResetAvailablePeriod = val
}
if val , ok := from .GetResetPendingDate (); ok {
s .ResetPendingDate = val
}
}
func (*AuthSentCodeTypeEmailCode ) TypeID () uint32 {
return AuthSentCodeTypeEmailCodeTypeID
}
func (*AuthSentCodeTypeEmailCode ) TypeName () string {
return "auth.sentCodeTypeEmailCode"
}
func (s *AuthSentCodeTypeEmailCode ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeEmailCode" ,
ID : AuthSentCodeTypeEmailCodeTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "AppleSigninAllowed" ,
SchemaName : "apple_signin_allowed" ,
Null : !s .Flags .Has (0 ),
},
{
Name : "GoogleSigninAllowed" ,
SchemaName : "google_signin_allowed" ,
Null : !s .Flags .Has (1 ),
},
{
Name : "EmailPattern" ,
SchemaName : "email_pattern" ,
},
{
Name : "Length" ,
SchemaName : "length" ,
},
{
Name : "ResetAvailablePeriod" ,
SchemaName : "reset_available_period" ,
Null : !s .Flags .Has (3 ),
},
{
Name : "ResetPendingDate" ,
SchemaName : "reset_pending_date" ,
Null : !s .Flags .Has (4 ),
},
}
return typ
}
func (s *AuthSentCodeTypeEmailCode ) SetFlags () {
if !(s .AppleSigninAllowed == false ) {
s .Flags .Set (0 )
}
if !(s .GoogleSigninAllowed == false ) {
s .Flags .Set (1 )
}
if !(s .ResetAvailablePeriod == 0 ) {
s .Flags .Set (3 )
}
if !(s .ResetPendingDate == 0 ) {
s .Flags .Set (4 )
}
}
func (s *AuthSentCodeTypeEmailCode ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeEmailCode#f450f59b as nil" )
}
b .PutID (AuthSentCodeTypeEmailCodeTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeEmailCode ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeEmailCode#f450f59b as nil" )
}
s .SetFlags ()
if err := s .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode auth.sentCodeTypeEmailCode#f450f59b: field flags: %w" , err )
}
b .PutString (s .EmailPattern )
b .PutInt (s .Length )
if s .Flags .Has (3 ) {
b .PutInt (s .ResetAvailablePeriod )
}
if s .Flags .Has (4 ) {
b .PutInt (s .ResetPendingDate )
}
return nil
}
func (s *AuthSentCodeTypeEmailCode ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeEmailCode#f450f59b to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeEmailCodeTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeEmailCode#f450f59b: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeEmailCode ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeEmailCode#f450f59b to nil" )
}
{
if err := s .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeEmailCode#f450f59b: field flags: %w" , err )
}
}
s .AppleSigninAllowed = s .Flags .Has (0 )
s .GoogleSigninAllowed = s .Flags .Has (1 )
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeEmailCode#f450f59b: field email_pattern: %w" , err )
}
s .EmailPattern = value
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeEmailCode#f450f59b: field length: %w" , err )
}
s .Length = value
}
if s .Flags .Has (3 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeEmailCode#f450f59b: field reset_available_period: %w" , err )
}
s .ResetAvailablePeriod = value
}
if s .Flags .Has (4 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeEmailCode#f450f59b: field reset_pending_date: %w" , err )
}
s .ResetPendingDate = value
}
return nil
}
func (s *AuthSentCodeTypeEmailCode ) SetAppleSigninAllowed (value bool ) {
if value {
s .Flags .Set (0 )
s .AppleSigninAllowed = true
} else {
s .Flags .Unset (0 )
s .AppleSigninAllowed = false
}
}
func (s *AuthSentCodeTypeEmailCode ) GetAppleSigninAllowed () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (0 )
}
func (s *AuthSentCodeTypeEmailCode ) SetGoogleSigninAllowed (value bool ) {
if value {
s .Flags .Set (1 )
s .GoogleSigninAllowed = true
} else {
s .Flags .Unset (1 )
s .GoogleSigninAllowed = false
}
}
func (s *AuthSentCodeTypeEmailCode ) GetGoogleSigninAllowed () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (1 )
}
func (s *AuthSentCodeTypeEmailCode ) GetEmailPattern () (value string ) {
if s == nil {
return
}
return s .EmailPattern
}
func (s *AuthSentCodeTypeEmailCode ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
func (s *AuthSentCodeTypeEmailCode ) SetResetAvailablePeriod (value int ) {
s .Flags .Set (3 )
s .ResetAvailablePeriod = value
}
func (s *AuthSentCodeTypeEmailCode ) GetResetAvailablePeriod () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (3 ) {
return value , false
}
return s .ResetAvailablePeriod , true
}
func (s *AuthSentCodeTypeEmailCode ) SetResetPendingDate (value int ) {
s .Flags .Set (4 )
s .ResetPendingDate = value
}
func (s *AuthSentCodeTypeEmailCode ) GetResetPendingDate () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (4 ) {
return value , false
}
return s .ResetPendingDate , true
}
type AuthSentCodeTypeSetUpEmailRequired struct {
Flags bin .Fields
AppleSigninAllowed bool
GoogleSigninAllowed bool
}
const AuthSentCodeTypeSetUpEmailRequiredTypeID = 0xa5491dea
func (s AuthSentCodeTypeSetUpEmailRequired ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeSetUpEmailRequired {}
_ bin .Decoder = &AuthSentCodeTypeSetUpEmailRequired {}
_ bin .BareEncoder = &AuthSentCodeTypeSetUpEmailRequired {}
_ bin .BareDecoder = &AuthSentCodeTypeSetUpEmailRequired {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeSetUpEmailRequired {}
)
func (s *AuthSentCodeTypeSetUpEmailRequired ) Zero () bool {
if s == nil {
return true
}
if !(s .Flags .Zero ()) {
return false
}
if !(s .AppleSigninAllowed == false ) {
return false
}
if !(s .GoogleSigninAllowed == false ) {
return false
}
return true
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) String () string {
if s == nil {
return "AuthSentCodeTypeSetUpEmailRequired(nil)"
}
type Alias AuthSentCodeTypeSetUpEmailRequired
return fmt .Sprintf ("AuthSentCodeTypeSetUpEmailRequired%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) FillFrom (from interface {
GetAppleSigninAllowed () (value bool )
GetGoogleSigninAllowed () (value bool )
}) {
s .AppleSigninAllowed = from .GetAppleSigninAllowed ()
s .GoogleSigninAllowed = from .GetGoogleSigninAllowed ()
}
func (*AuthSentCodeTypeSetUpEmailRequired ) TypeID () uint32 {
return AuthSentCodeTypeSetUpEmailRequiredTypeID
}
func (*AuthSentCodeTypeSetUpEmailRequired ) TypeName () string {
return "auth.sentCodeTypeSetUpEmailRequired"
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeSetUpEmailRequired" ,
ID : AuthSentCodeTypeSetUpEmailRequiredTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "AppleSigninAllowed" ,
SchemaName : "apple_signin_allowed" ,
Null : !s .Flags .Has (0 ),
},
{
Name : "GoogleSigninAllowed" ,
SchemaName : "google_signin_allowed" ,
Null : !s .Flags .Has (1 ),
},
}
return typ
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) SetFlags () {
if !(s .AppleSigninAllowed == false ) {
s .Flags .Set (0 )
}
if !(s .GoogleSigninAllowed == false ) {
s .Flags .Set (1 )
}
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeSetUpEmailRequired#a5491dea as nil" )
}
b .PutID (AuthSentCodeTypeSetUpEmailRequiredTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeSetUpEmailRequired#a5491dea as nil" )
}
s .SetFlags ()
if err := s .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode auth.sentCodeTypeSetUpEmailRequired#a5491dea: field flags: %w" , err )
}
return nil
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeSetUpEmailRequired#a5491dea to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeSetUpEmailRequiredTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeSetUpEmailRequired#a5491dea: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeSetUpEmailRequired#a5491dea to nil" )
}
{
if err := s .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeSetUpEmailRequired#a5491dea: field flags: %w" , err )
}
}
s .AppleSigninAllowed = s .Flags .Has (0 )
s .GoogleSigninAllowed = s .Flags .Has (1 )
return nil
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) SetAppleSigninAllowed (value bool ) {
if value {
s .Flags .Set (0 )
s .AppleSigninAllowed = true
} else {
s .Flags .Unset (0 )
s .AppleSigninAllowed = false
}
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) GetAppleSigninAllowed () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (0 )
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) SetGoogleSigninAllowed (value bool ) {
if value {
s .Flags .Set (1 )
s .GoogleSigninAllowed = true
} else {
s .Flags .Unset (1 )
s .GoogleSigninAllowed = false
}
}
func (s *AuthSentCodeTypeSetUpEmailRequired ) GetGoogleSigninAllowed () (value bool ) {
if s == nil {
return
}
return s .Flags .Has (1 )
}
type AuthSentCodeTypeFragmentSMS struct {
URL string
Length int
}
const AuthSentCodeTypeFragmentSMSTypeID = 0xd9565c39
func (s AuthSentCodeTypeFragmentSMS ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeFragmentSMS {}
_ bin .Decoder = &AuthSentCodeTypeFragmentSMS {}
_ bin .BareEncoder = &AuthSentCodeTypeFragmentSMS {}
_ bin .BareDecoder = &AuthSentCodeTypeFragmentSMS {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeFragmentSMS {}
)
func (s *AuthSentCodeTypeFragmentSMS ) Zero () bool {
if s == nil {
return true
}
if !(s .URL == "" ) {
return false
}
if !(s .Length == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeFragmentSMS ) String () string {
if s == nil {
return "AuthSentCodeTypeFragmentSMS(nil)"
}
type Alias AuthSentCodeTypeFragmentSMS
return fmt .Sprintf ("AuthSentCodeTypeFragmentSMS%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeFragmentSMS ) FillFrom (from interface {
GetURL () (value string )
GetLength () (value int )
}) {
s .URL = from .GetURL ()
s .Length = from .GetLength ()
}
func (*AuthSentCodeTypeFragmentSMS ) TypeID () uint32 {
return AuthSentCodeTypeFragmentSMSTypeID
}
func (*AuthSentCodeTypeFragmentSMS ) TypeName () string {
return "auth.sentCodeTypeFragmentSms"
}
func (s *AuthSentCodeTypeFragmentSMS ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeFragmentSms" ,
ID : AuthSentCodeTypeFragmentSMSTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "URL" ,
SchemaName : "url" ,
},
{
Name : "Length" ,
SchemaName : "length" ,
},
}
return typ
}
func (s *AuthSentCodeTypeFragmentSMS ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeFragmentSms#d9565c39 as nil" )
}
b .PutID (AuthSentCodeTypeFragmentSMSTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeFragmentSMS ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeFragmentSms#d9565c39 as nil" )
}
b .PutString (s .URL )
b .PutInt (s .Length )
return nil
}
func (s *AuthSentCodeTypeFragmentSMS ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeFragmentSms#d9565c39 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeFragmentSMSTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFragmentSms#d9565c39: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeFragmentSMS ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeFragmentSms#d9565c39 to nil" )
}
{
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFragmentSms#d9565c39: field url: %w" , err )
}
s .URL = value
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFragmentSms#d9565c39: field length: %w" , err )
}
s .Length = value
}
return nil
}
func (s *AuthSentCodeTypeFragmentSMS ) GetURL () (value string ) {
if s == nil {
return
}
return s .URL
}
func (s *AuthSentCodeTypeFragmentSMS ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
type AuthSentCodeTypeFirebaseSMS struct {
Flags bin .Fields
Nonce []byte
Receipt string
PushTimeout int
Length int
}
const AuthSentCodeTypeFirebaseSMSTypeID = 0xe57b1432
func (s AuthSentCodeTypeFirebaseSMS ) construct () AuthSentCodeTypeClass { return &s }
var (
_ bin .Encoder = &AuthSentCodeTypeFirebaseSMS {}
_ bin .Decoder = &AuthSentCodeTypeFirebaseSMS {}
_ bin .BareEncoder = &AuthSentCodeTypeFirebaseSMS {}
_ bin .BareDecoder = &AuthSentCodeTypeFirebaseSMS {}
_ AuthSentCodeTypeClass = &AuthSentCodeTypeFirebaseSMS {}
)
func (s *AuthSentCodeTypeFirebaseSMS ) Zero () bool {
if s == nil {
return true
}
if !(s .Flags .Zero ()) {
return false
}
if !(s .Nonce == nil ) {
return false
}
if !(s .Receipt == "" ) {
return false
}
if !(s .PushTimeout == 0 ) {
return false
}
if !(s .Length == 0 ) {
return false
}
return true
}
func (s *AuthSentCodeTypeFirebaseSMS ) String () string {
if s == nil {
return "AuthSentCodeTypeFirebaseSMS(nil)"
}
type Alias AuthSentCodeTypeFirebaseSMS
return fmt .Sprintf ("AuthSentCodeTypeFirebaseSMS%+v" , Alias (*s ))
}
func (s *AuthSentCodeTypeFirebaseSMS ) FillFrom (from interface {
GetNonce () (value []byte , ok bool )
GetReceipt () (value string , ok bool )
GetPushTimeout () (value int , ok bool )
GetLength () (value int )
}) {
if val , ok := from .GetNonce (); ok {
s .Nonce = val
}
if val , ok := from .GetReceipt (); ok {
s .Receipt = val
}
if val , ok := from .GetPushTimeout (); ok {
s .PushTimeout = val
}
s .Length = from .GetLength ()
}
func (*AuthSentCodeTypeFirebaseSMS ) TypeID () uint32 {
return AuthSentCodeTypeFirebaseSMSTypeID
}
func (*AuthSentCodeTypeFirebaseSMS ) TypeName () string {
return "auth.sentCodeTypeFirebaseSms"
}
func (s *AuthSentCodeTypeFirebaseSMS ) TypeInfo () tdp .Type {
typ := tdp .Type {
Name : "auth.sentCodeTypeFirebaseSms" ,
ID : AuthSentCodeTypeFirebaseSMSTypeID ,
}
if s == nil {
typ .Null = true
return typ
}
typ .Fields = []tdp .Field {
{
Name : "Nonce" ,
SchemaName : "nonce" ,
Null : !s .Flags .Has (0 ),
},
{
Name : "Receipt" ,
SchemaName : "receipt" ,
Null : !s .Flags .Has (1 ),
},
{
Name : "PushTimeout" ,
SchemaName : "push_timeout" ,
Null : !s .Flags .Has (1 ),
},
{
Name : "Length" ,
SchemaName : "length" ,
},
}
return typ
}
func (s *AuthSentCodeTypeFirebaseSMS ) SetFlags () {
if !(s .Nonce == nil ) {
s .Flags .Set (0 )
}
if !(s .Receipt == "" ) {
s .Flags .Set (1 )
}
if !(s .PushTimeout == 0 ) {
s .Flags .Set (1 )
}
}
func (s *AuthSentCodeTypeFirebaseSMS ) Encode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeFirebaseSms#e57b1432 as nil" )
}
b .PutID (AuthSentCodeTypeFirebaseSMSTypeID )
return s .EncodeBare (b )
}
func (s *AuthSentCodeTypeFirebaseSMS ) EncodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't encode auth.sentCodeTypeFirebaseSms#e57b1432 as nil" )
}
s .SetFlags ()
if err := s .Flags .Encode (b ); err != nil {
return fmt .Errorf ("unable to encode auth.sentCodeTypeFirebaseSms#e57b1432: field flags: %w" , err )
}
if s .Flags .Has (0 ) {
b .PutBytes (s .Nonce )
}
if s .Flags .Has (1 ) {
b .PutString (s .Receipt )
}
if s .Flags .Has (1 ) {
b .PutInt (s .PushTimeout )
}
b .PutInt (s .Length )
return nil
}
func (s *AuthSentCodeTypeFirebaseSMS ) Decode (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeFirebaseSms#e57b1432 to nil" )
}
if err := b .ConsumeID (AuthSentCodeTypeFirebaseSMSTypeID ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFirebaseSms#e57b1432: %w" , err )
}
return s .DecodeBare (b )
}
func (s *AuthSentCodeTypeFirebaseSMS ) DecodeBare (b *bin .Buffer ) error {
if s == nil {
return fmt .Errorf ("can't decode auth.sentCodeTypeFirebaseSms#e57b1432 to nil" )
}
{
if err := s .Flags .Decode (b ); err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFirebaseSms#e57b1432: field flags: %w" , err )
}
}
if s .Flags .Has (0 ) {
value , err := b .Bytes ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFirebaseSms#e57b1432: field nonce: %w" , err )
}
s .Nonce = value
}
if s .Flags .Has (1 ) {
value , err := b .String ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFirebaseSms#e57b1432: field receipt: %w" , err )
}
s .Receipt = value
}
if s .Flags .Has (1 ) {
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFirebaseSms#e57b1432: field push_timeout: %w" , err )
}
s .PushTimeout = value
}
{
value , err := b .Int ()
if err != nil {
return fmt .Errorf ("unable to decode auth.sentCodeTypeFirebaseSms#e57b1432: field length: %w" , err )
}
s .Length = value
}
return nil
}
func (s *AuthSentCodeTypeFirebaseSMS ) SetNonce (value []byte ) {
s .Flags .Set (0 )
s .Nonce = value
}
func (s *AuthSentCodeTypeFirebaseSMS ) GetNonce () (value []byte , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (0 ) {
return value , false
}
return s .Nonce , true
}
func (s *AuthSentCodeTypeFirebaseSMS ) SetReceipt (value string ) {
s .Flags .Set (1 )
s .Receipt = value
}
func (s *AuthSentCodeTypeFirebaseSMS ) GetReceipt () (value string , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (1 ) {
return value , false
}
return s .Receipt , true
}
func (s *AuthSentCodeTypeFirebaseSMS ) SetPushTimeout (value int ) {
s .Flags .Set (1 )
s .PushTimeout = value
}
func (s *AuthSentCodeTypeFirebaseSMS ) GetPushTimeout () (value int , ok bool ) {
if s == nil {
return
}
if !s .Flags .Has (1 ) {
return value , false
}
return s .PushTimeout , true
}
func (s *AuthSentCodeTypeFirebaseSMS ) GetLength () (value int ) {
if s == nil {
return
}
return s .Length
}
const AuthSentCodeTypeClassName = "auth.SentCodeType"
type AuthSentCodeTypeClass interface {
bin .Encoder
bin .Decoder
bin .BareEncoder
bin .BareDecoder
construct () AuthSentCodeTypeClass
TypeID () uint32
TypeName () string
String () string
Zero () bool
}
func DecodeAuthSentCodeType (buf *bin .Buffer ) (AuthSentCodeTypeClass , error ) {
id , err := buf .PeekID ()
if err != nil {
return nil , err
}
switch id {
case AuthSentCodeTypeAppTypeID :
v := AuthSentCodeTypeApp {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeSMSTypeID :
v := AuthSentCodeTypeSMS {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeCallTypeID :
v := AuthSentCodeTypeCall {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeFlashCallTypeID :
v := AuthSentCodeTypeFlashCall {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeMissedCallTypeID :
v := AuthSentCodeTypeMissedCall {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeEmailCodeTypeID :
v := AuthSentCodeTypeEmailCode {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeSetUpEmailRequiredTypeID :
v := AuthSentCodeTypeSetUpEmailRequired {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeFragmentSMSTypeID :
v := AuthSentCodeTypeFragmentSMS {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
case AuthSentCodeTypeFirebaseSMSTypeID :
v := AuthSentCodeTypeFirebaseSMS {}
if err := v .Decode (buf ); err != nil {
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , err )
}
return &v , nil
default :
return nil , fmt .Errorf ("unable to decode AuthSentCodeTypeClass: %w" , bin .NewUnexpectedID (id ))
}
}
type AuthSentCodeTypeBox struct {
SentCodeType AuthSentCodeTypeClass
}
func (b *AuthSentCodeTypeBox ) Decode (buf *bin .Buffer ) error {
if b == nil {
return fmt .Errorf ("unable to decode AuthSentCodeTypeBox to nil" )
}
v , err := DecodeAuthSentCodeType (buf )
if err != nil {
return fmt .Errorf ("unable to decode boxed value: %w" , err )
}
b .SentCodeType = v
return nil
}
func (b *AuthSentCodeTypeBox ) Encode (buf *bin .Buffer ) error {
if b == nil || b .SentCodeType == nil {
return fmt .Errorf ("unable to encode AuthSentCodeTypeClass as nil" )
}
return b .SentCodeType .Encode (buf )
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .