public extension Api { public struct channels { public enum ChannelParticipants { case channelParticipants(count: Int32, participants: [Api.ChannelParticipant], users: [Api.User]) case channelParticipantsNotModified public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .channelParticipants(let count, let participants, let users): if boxed { buffer.appendInt32(-177282392) } serializeInt32(count, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(participants.count)) for item in participants { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break case .channelParticipantsNotModified: if boxed { buffer.appendInt32(-266911767) } break } } static func parse_channelParticipants(_ reader: BufferReader) -> ChannelParticipants? { var _1: Int32? _1 = reader.readInt32() var _2: [Api.ChannelParticipant]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ChannelParticipant.self) } var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.channels.ChannelParticipants.channelParticipants(count: _1!, participants: _2!, users: _3!) } else { return nil } } static func parse_channelParticipantsNotModified(_ reader: BufferReader) -> ChannelParticipants? { return Api.channels.ChannelParticipants.channelParticipantsNotModified } } public enum ChannelParticipant { case channelParticipant(participant: Api.ChannelParticipant, users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .channelParticipant(let participant, let users): if boxed { buffer.appendInt32(-791039645) } participant.serialize(buffer, true) buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_channelParticipant(_ reader: BufferReader) -> ChannelParticipant? { var _1: Api.ChannelParticipant? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.ChannelParticipant } var _2: [Api.User]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.channels.ChannelParticipant.channelParticipant(participant: _1!, users: _2!) } else { return nil } } } public enum AdminLogResults { case adminLogResults(events: [Api.ChannelAdminLogEvent], chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .adminLogResults(let events, let chats, let users): if boxed { buffer.appendInt32(-309659827) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(events.count)) for item in events { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_adminLogResults(_ reader: BufferReader) -> AdminLogResults? { var _1: [Api.ChannelAdminLogEvent]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ChannelAdminLogEvent.self) } var _2: [Api.Chat]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.channels.AdminLogResults.adminLogResults(events: _1!, chats: _2!, users: _3!) } else { return nil } } } } } public extension Api { public struct payments { public enum ValidatedRequestedInfo { case validatedRequestedInfo(flags: Int32, id: String?, shippingOptions: [Api.ShippingOption]?) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .validatedRequestedInfo(let flags, let id, let shippingOptions): if boxed { buffer.appendInt32(-784000893) } serializeInt32(flags, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 0) != 0 {serializeString(id!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 1) != 0 {buffer.appendInt32(481674261) buffer.appendInt32(Int32(shippingOptions!.count)) for item in shippingOptions! { item.serialize(buffer, true) }} break } } static func parse_validatedRequestedInfo(_ reader: BufferReader) -> ValidatedRequestedInfo? { var _1: Int32? _1 = reader.readInt32() var _2: String? if Int(_1!) & Int(1 << 0) != 0 {_2 = parseString(reader) } var _3: [Api.ShippingOption]? if Int(_1!) & Int(1 << 1) != 0 {if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ShippingOption.self) } } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil if _c1 && _c2 && _c3 { return Api.payments.ValidatedRequestedInfo.validatedRequestedInfo(flags: _1!, id: _2, shippingOptions: _3) } else { return nil } } } public enum PaymentResult { case paymentResult(updates: Api.Updates) case paymentVerficationNeeded(url: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .paymentResult(let updates): if boxed { buffer.appendInt32(1314881805) } updates.serialize(buffer, true) break case .paymentVerficationNeeded(let url): if boxed { buffer.appendInt32(1800845601) } serializeString(url, buffer: buffer, boxed: false) break } } static func parse_paymentResult(_ reader: BufferReader) -> PaymentResult? { var _1: Api.Updates? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.Updates } let _c1 = _1 != nil if _c1 { return Api.payments.PaymentResult.paymentResult(updates: _1!) } else { return nil } } static func parse_paymentVerficationNeeded(_ reader: BufferReader) -> PaymentResult? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return Api.payments.PaymentResult.paymentVerficationNeeded(url: _1!) } else { return nil } } } public enum PaymentForm { case paymentForm(flags: Int32, botId: Int32, invoice: Api.Invoice, providerId: Int32, url: String, nativeProvider: String?, nativeParams: Api.DataJSON?, savedInfo: Api.PaymentRequestedInfo?, savedCredentials: Api.PaymentSavedCredentials?, users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .paymentForm(let flags, let botId, let invoice, let providerId, let url, let nativeProvider, let nativeParams, let savedInfo, let savedCredentials, let users): if boxed { buffer.appendInt32(1062645411) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(botId, buffer: buffer, boxed: false) invoice.serialize(buffer, true) serializeInt32(providerId, buffer: buffer, boxed: false) serializeString(url, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 4) != 0 {serializeString(nativeProvider!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 4) != 0 {nativeParams!.serialize(buffer, true)} if Int(flags) & Int(1 << 0) != 0 {savedInfo!.serialize(buffer, true)} if Int(flags) & Int(1 << 1) != 0 {savedCredentials!.serialize(buffer, true)} buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_paymentForm(_ reader: BufferReader) -> PaymentForm? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Api.Invoice? if let signature = reader.readInt32() { _3 = Api.parse(reader, signature: signature) as? Api.Invoice } var _4: Int32? _4 = reader.readInt32() var _5: String? _5 = parseString(reader) var _6: String? if Int(_1!) & Int(1 << 4) != 0 {_6 = parseString(reader) } var _7: Api.DataJSON? if Int(_1!) & Int(1 << 4) != 0 {if let signature = reader.readInt32() { _7 = Api.parse(reader, signature: signature) as? Api.DataJSON } } var _8: Api.PaymentRequestedInfo? if Int(_1!) & Int(1 << 0) != 0 {if let signature = reader.readInt32() { _8 = Api.parse(reader, signature: signature) as? Api.PaymentRequestedInfo } } var _9: Api.PaymentSavedCredentials? if Int(_1!) & Int(1 << 1) != 0 {if let signature = reader.readInt32() { _9 = Api.parse(reader, signature: signature) as? Api.PaymentSavedCredentials } } var _10: [Api.User]? if let _ = reader.readInt32() { _10 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = (Int(_1!) & Int(1 << 4) == 0) || _6 != nil let _c7 = (Int(_1!) & Int(1 << 4) == 0) || _7 != nil let _c8 = (Int(_1!) & Int(1 << 0) == 0) || _8 != nil let _c9 = (Int(_1!) & Int(1 << 1) == 0) || _9 != nil let _c10 = _10 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 { return Api.payments.PaymentForm.paymentForm(flags: _1!, botId: _2!, invoice: _3!, providerId: _4!, url: _5!, nativeProvider: _6, nativeParams: _7, savedInfo: _8, savedCredentials: _9, users: _10!) } else { return nil } } } public enum PaymentReceipt { case paymentReceipt(flags: Int32, date: Int32, botId: Int32, invoice: Api.Invoice, providerId: Int32, info: Api.PaymentRequestedInfo?, shipping: Api.ShippingOption?, currency: String, totalAmount: Int64, credentialsTitle: String, users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .paymentReceipt(let flags, let date, let botId, let invoice, let providerId, let info, let shipping, let currency, let totalAmount, let credentialsTitle, let users): if boxed { buffer.appendInt32(1342771681) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(date, buffer: buffer, boxed: false) serializeInt32(botId, buffer: buffer, boxed: false) invoice.serialize(buffer, true) serializeInt32(providerId, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 0) != 0 {info!.serialize(buffer, true)} if Int(flags) & Int(1 << 1) != 0 {shipping!.serialize(buffer, true)} serializeString(currency, buffer: buffer, boxed: false) serializeInt64(totalAmount, buffer: buffer, boxed: false) serializeString(credentialsTitle, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_paymentReceipt(_ reader: BufferReader) -> PaymentReceipt? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Api.Invoice? if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.Invoice } var _5: Int32? _5 = reader.readInt32() var _6: Api.PaymentRequestedInfo? if Int(_1!) & Int(1 << 0) != 0 {if let signature = reader.readInt32() { _6 = Api.parse(reader, signature: signature) as? Api.PaymentRequestedInfo } } var _7: Api.ShippingOption? if Int(_1!) & Int(1 << 1) != 0 {if let signature = reader.readInt32() { _7 = Api.parse(reader, signature: signature) as? Api.ShippingOption } } var _8: String? _8 = parseString(reader) var _9: Int64? _9 = reader.readInt64() var _10: String? _10 = parseString(reader) var _11: [Api.User]? if let _ = reader.readInt32() { _11 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = (Int(_1!) & Int(1 << 0) == 0) || _6 != nil let _c7 = (Int(_1!) & Int(1 << 1) == 0) || _7 != nil let _c8 = _8 != nil let _c9 = _9 != nil let _c10 = _10 != nil let _c11 = _11 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 { return Api.payments.PaymentReceipt.paymentReceipt(flags: _1!, date: _2!, botId: _3!, invoice: _4!, providerId: _5!, info: _6, shipping: _7, currency: _8!, totalAmount: _9!, credentialsTitle: _10!, users: _11!) } else { return nil } } } public enum SavedInfo { case savedInfo(flags: Int32, savedInfo: Api.PaymentRequestedInfo?) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .savedInfo(let flags, let savedInfo): if boxed { buffer.appendInt32(-74456004) } serializeInt32(flags, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 0) != 0 {savedInfo!.serialize(buffer, true)} break } } static func parse_savedInfo(_ reader: BufferReader) -> SavedInfo? { var _1: Int32? _1 = reader.readInt32() var _2: Api.PaymentRequestedInfo? if Int(_1!) & Int(1 << 0) != 0 {if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.PaymentRequestedInfo } } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil if _c1 && _c2 { return Api.payments.SavedInfo.savedInfo(flags: _1!, savedInfo: _2) } else { return nil } } } } } public extension Api { public struct auth { public enum Authorization { case authorization(flags: Int32, tmpSessions: Int32?, user: Api.User) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .authorization(let flags, let tmpSessions, let user): if boxed { buffer.appendInt32(-855308010) } serializeInt32(flags, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 0) != 0 {serializeInt32(tmpSessions!, buffer: buffer, boxed: false)} user.serialize(buffer, true) break } } static func parse_authorization(_ reader: BufferReader) -> Authorization? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? if Int(_1!) & Int(1 << 0) != 0 {_2 = reader.readInt32() } var _3: Api.User? if let signature = reader.readInt32() { _3 = Api.parse(reader, signature: signature) as? Api.User } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.auth.Authorization.authorization(flags: _1!, tmpSessions: _2, user: _3!) } else { return nil } } } public enum PasswordRecovery { case passwordRecovery(emailPattern: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .passwordRecovery(let emailPattern): if boxed { buffer.appendInt32(326715557) } serializeString(emailPattern, buffer: buffer, boxed: false) break } } static func parse_passwordRecovery(_ reader: BufferReader) -> PasswordRecovery? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return Api.auth.PasswordRecovery.passwordRecovery(emailPattern: _1!) } else { return nil } } } public enum ExportedAuthorization { case exportedAuthorization(id: Int32, bytes: Buffer) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .exportedAuthorization(let id, let bytes): if boxed { buffer.appendInt32(-543777747) } serializeInt32(id, buffer: buffer, boxed: false) serializeBytes(bytes, buffer: buffer, boxed: false) break } } static func parse_exportedAuthorization(_ reader: BufferReader) -> ExportedAuthorization? { var _1: Int32? _1 = reader.readInt32() var _2: Buffer? _2 = parseBytes(reader) let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.auth.ExportedAuthorization.exportedAuthorization(id: _1!, bytes: _2!) } else { return nil } } } public enum CheckedPhone { case checkedPhone(phoneRegistered: Api.Bool) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .checkedPhone(let phoneRegistered): if boxed { buffer.appendInt32(-2128698738) } phoneRegistered.serialize(buffer, true) break } } static func parse_checkedPhone(_ reader: BufferReader) -> CheckedPhone? { var _1: Api.Bool? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.Bool } let _c1 = _1 != nil if _c1 { return Api.auth.CheckedPhone.checkedPhone(phoneRegistered: _1!) } else { return nil } } } public enum SentCode { case sentCode(flags: Int32, type: Api.auth.SentCodeType, phoneCodeHash: String, nextType: Api.auth.CodeType?, timeout: Int32?) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .sentCode(let flags, let type, let phoneCodeHash, let nextType, let timeout): if boxed { buffer.appendInt32(1577067778) } serializeInt32(flags, buffer: buffer, boxed: false) type.serialize(buffer, true) serializeString(phoneCodeHash, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 1) != 0 {nextType!.serialize(buffer, true)} if Int(flags) & Int(1 << 2) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)} break } } static func parse_sentCode(_ reader: BufferReader) -> SentCode? { var _1: Int32? _1 = reader.readInt32() var _2: Api.auth.SentCodeType? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.auth.SentCodeType } var _3: String? _3 = parseString(reader) var _4: Api.auth.CodeType? if Int(_1!) & Int(1 << 1) != 0 {if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.auth.CodeType } } var _5: Int32? if Int(_1!) & Int(1 << 2) != 0 {_5 = reader.readInt32() } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = (Int(_1!) & Int(1 << 1) == 0) || _4 != nil let _c5 = (Int(_1!) & Int(1 << 2) == 0) || _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.auth.SentCode.sentCode(flags: _1!, type: _2!, phoneCodeHash: _3!, nextType: _4, timeout: _5) } else { return nil } } } public enum CodeType { case codeTypeSms case codeTypeCall case codeTypeFlashCall public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .codeTypeSms: if boxed { buffer.appendInt32(1923290508) } break case .codeTypeCall: if boxed { buffer.appendInt32(1948046307) } break case .codeTypeFlashCall: if boxed { buffer.appendInt32(577556219) } break } } static func parse_codeTypeSms(_ reader: BufferReader) -> CodeType? { return Api.auth.CodeType.codeTypeSms } static func parse_codeTypeCall(_ reader: BufferReader) -> CodeType? { return Api.auth.CodeType.codeTypeCall } static func parse_codeTypeFlashCall(_ reader: BufferReader) -> CodeType? { return Api.auth.CodeType.codeTypeFlashCall } } public enum SentCodeType { case sentCodeTypeApp(length: Int32) case sentCodeTypeSms(length: Int32) case sentCodeTypeCall(length: Int32) case sentCodeTypeFlashCall(pattern: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .sentCodeTypeApp(let length): if boxed { buffer.appendInt32(1035688326) } serializeInt32(length, buffer: buffer, boxed: false) break case .sentCodeTypeSms(let length): if boxed { buffer.appendInt32(-1073693790) } serializeInt32(length, buffer: buffer, boxed: false) break case .sentCodeTypeCall(let length): if boxed { buffer.appendInt32(1398007207) } serializeInt32(length, buffer: buffer, boxed: false) break case .sentCodeTypeFlashCall(let pattern): if boxed { buffer.appendInt32(-1425815847) } serializeString(pattern, buffer: buffer, boxed: false) break } } static func parse_sentCodeTypeApp(_ reader: BufferReader) -> SentCodeType? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return Api.auth.SentCodeType.sentCodeTypeApp(length: _1!) } else { return nil } } static func parse_sentCodeTypeSms(_ reader: BufferReader) -> SentCodeType? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return Api.auth.SentCodeType.sentCodeTypeSms(length: _1!) } else { return nil } } static func parse_sentCodeTypeCall(_ reader: BufferReader) -> SentCodeType? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return Api.auth.SentCodeType.sentCodeTypeCall(length: _1!) } else { return nil } } static func parse_sentCodeTypeFlashCall(_ reader: BufferReader) -> SentCodeType? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return Api.auth.SentCodeType.sentCodeTypeFlashCall(pattern: _1!) } else { return nil } } } } } public extension Api { public struct contacts { public enum Blocked { case blocked(blocked: [Api.ContactBlocked], users: [Api.User]) case blockedSlice(count: Int32, blocked: [Api.ContactBlocked], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .blocked(let blocked, let users): if boxed { buffer.appendInt32(471043349) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(blocked.count)) for item in blocked { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break case .blockedSlice(let count, let blocked, let users): if boxed { buffer.appendInt32(-1878523231) } serializeInt32(count, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(blocked.count)) for item in blocked { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_blocked(_ reader: BufferReader) -> Blocked? { var _1: [Api.ContactBlocked]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ContactBlocked.self) } var _2: [Api.User]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.contacts.Blocked.blocked(blocked: _1!, users: _2!) } else { return nil } } static func parse_blockedSlice(_ reader: BufferReader) -> Blocked? { var _1: Int32? _1 = reader.readInt32() var _2: [Api.ContactBlocked]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ContactBlocked.self) } var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.contacts.Blocked.blockedSlice(count: _1!, blocked: _2!, users: _3!) } else { return nil } } } public enum Contacts { case contactsNotModified case contacts(contacts: [Api.Contact], savedCount: Int32, users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .contactsNotModified: if boxed { buffer.appendInt32(-1219778094) } break case .contacts(let contacts, let savedCount, let users): if boxed { buffer.appendInt32(-353862078) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(contacts.count)) for item in contacts { item.serialize(buffer, true) } serializeInt32(savedCount, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_contactsNotModified(_ reader: BufferReader) -> Contacts? { return Api.contacts.Contacts.contactsNotModified } static func parse_contacts(_ reader: BufferReader) -> Contacts? { var _1: [Api.Contact]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Contact.self) } var _2: Int32? _2 = reader.readInt32() var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.contacts.Contacts.contacts(contacts: _1!, savedCount: _2!, users: _3!) } else { return nil } } } public enum ResolvedPeer { case resolvedPeer(peer: Api.Peer, chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .resolvedPeer(let peer, let chats, let users): if boxed { buffer.appendInt32(2131196633) } peer.serialize(buffer, true) buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_resolvedPeer(_ reader: BufferReader) -> ResolvedPeer? { var _1: Api.Peer? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.Peer } var _2: [Api.Chat]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.contacts.ResolvedPeer.resolvedPeer(peer: _1!, chats: _2!, users: _3!) } else { return nil } } } public enum Link { case link(myLink: Api.ContactLink, foreignLink: Api.ContactLink, user: Api.User) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .link(let myLink, let foreignLink, let user): if boxed { buffer.appendInt32(986597452) } myLink.serialize(buffer, true) foreignLink.serialize(buffer, true) user.serialize(buffer, true) break } } static func parse_link(_ reader: BufferReader) -> Link? { var _1: Api.ContactLink? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.ContactLink } var _2: Api.ContactLink? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.ContactLink } var _3: Api.User? if let signature = reader.readInt32() { _3 = Api.parse(reader, signature: signature) as? Api.User } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.contacts.Link.link(myLink: _1!, foreignLink: _2!, user: _3!) } else { return nil } } } public enum ImportedContacts { case importedContacts(imported: [Api.ImportedContact], popularInvites: [Api.PopularContact], retryContacts: [Int64], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .importedContacts(let imported, let popularInvites, let retryContacts, let users): if boxed { buffer.appendInt32(2010127419) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(imported.count)) for item in imported { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(popularInvites.count)) for item in popularInvites { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(retryContacts.count)) for item in retryContacts { serializeInt64(item, buffer: buffer, boxed: false) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_importedContacts(_ reader: BufferReader) -> ImportedContacts? { var _1: [Api.ImportedContact]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.ImportedContact.self) } var _2: [Api.PopularContact]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.PopularContact.self) } var _3: [Int64]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 570911930, elementType: Int64.self) } var _4: [Api.User]? if let _ = reader.readInt32() { _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return Api.contacts.ImportedContacts.importedContacts(imported: _1!, popularInvites: _2!, retryContacts: _3!, users: _4!) } else { return nil } } } public enum Found { case found(myResults: [Api.Peer], results: [Api.Peer], chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .found(let myResults, let results, let chats, let users): if boxed { buffer.appendInt32(-1290580579) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(myResults.count)) for item in myResults { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(results.count)) for item in results { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_found(_ reader: BufferReader) -> Found? { var _1: [Api.Peer]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Peer.self) } var _2: [Api.Peer]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Peer.self) } var _3: [Api.Chat]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _4: [Api.User]? if let _ = reader.readInt32() { _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return Api.contacts.Found.found(myResults: _1!, results: _2!, chats: _3!, users: _4!) } else { return nil } } } public enum TopPeers { case topPeersNotModified case topPeers(categories: [Api.TopPeerCategoryPeers], chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .topPeersNotModified: if boxed { buffer.appendInt32(-567906571) } break case .topPeers(let categories, let chats, let users): if boxed { buffer.appendInt32(1891070632) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(categories.count)) for item in categories { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_topPeersNotModified(_ reader: BufferReader) -> TopPeers? { return Api.contacts.TopPeers.topPeersNotModified } static func parse_topPeers(_ reader: BufferReader) -> TopPeers? { var _1: [Api.TopPeerCategoryPeers]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.TopPeerCategoryPeers.self) } var _2: [Api.Chat]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.contacts.TopPeers.topPeers(categories: _1!, chats: _2!, users: _3!) } else { return nil } } } } } public extension Api { public struct help { public enum AppUpdate { case appUpdate(id: Int32, critical: Api.Bool, url: String, text: String) case noAppUpdate public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .appUpdate(let id, let critical, let url, let text): if boxed { buffer.appendInt32(-1987579119) } serializeInt32(id, buffer: buffer, boxed: false) critical.serialize(buffer, true) serializeString(url, buffer: buffer, boxed: false) serializeString(text, buffer: buffer, boxed: false) break case .noAppUpdate: if boxed { buffer.appendInt32(-1000708810) } break } } static func parse_appUpdate(_ reader: BufferReader) -> AppUpdate? { var _1: Int32? _1 = reader.readInt32() var _2: Api.Bool? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.Bool } var _3: String? _3 = parseString(reader) var _4: String? _4 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return Api.help.AppUpdate.appUpdate(id: _1!, critical: _2!, url: _3!, text: _4!) } else { return nil } } static func parse_noAppUpdate(_ reader: BufferReader) -> AppUpdate? { return Api.help.AppUpdate.noAppUpdate } } public enum ProxyData { case proxyDataEmpty(expires: Int32) case proxyDataPromo(expires: Int32, peer: Api.Peer, chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .proxyDataEmpty(let expires): if boxed { buffer.appendInt32(-526508104) } serializeInt32(expires, buffer: buffer, boxed: false) break case .proxyDataPromo(let expires, let peer, let chats, let users): if boxed { buffer.appendInt32(737668643) } serializeInt32(expires, buffer: buffer, boxed: false) peer.serialize(buffer, true) buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_proxyDataEmpty(_ reader: BufferReader) -> ProxyData? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return Api.help.ProxyData.proxyDataEmpty(expires: _1!) } else { return nil } } static func parse_proxyDataPromo(_ reader: BufferReader) -> ProxyData? { var _1: Int32? _1 = reader.readInt32() var _2: Api.Peer? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.Peer } var _3: [Api.Chat]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _4: [Api.User]? if let _ = reader.readInt32() { _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil if _c1 && _c2 && _c3 && _c4 { return Api.help.ProxyData.proxyDataPromo(expires: _1!, peer: _2!, chats: _3!, users: _4!) } else { return nil } } } public enum TermsOfService { case termsOfService(text: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .termsOfService(let text): if boxed { buffer.appendInt32(-236044656) } serializeString(text, buffer: buffer, boxed: false) break } } static func parse_termsOfService(_ reader: BufferReader) -> TermsOfService? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return Api.help.TermsOfService.termsOfService(text: _1!) } else { return nil } } } public enum RecentMeUrls { case recentMeUrls(urls: [Api.RecentMeUrl], chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .recentMeUrls(let urls, let chats, let users): if boxed { buffer.appendInt32(235081943) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(urls.count)) for item in urls { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_recentMeUrls(_ reader: BufferReader) -> RecentMeUrls? { var _1: [Api.RecentMeUrl]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.RecentMeUrl.self) } var _2: [Api.Chat]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _3: [Api.User]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.help.RecentMeUrls.recentMeUrls(urls: _1!, chats: _2!, users: _3!) } else { return nil } } } public enum Support { case support(phoneNumber: String, user: Api.User) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .support(let phoneNumber, let user): if boxed { buffer.appendInt32(398898678) } serializeString(phoneNumber, buffer: buffer, boxed: false) user.serialize(buffer, true) break } } static func parse_support(_ reader: BufferReader) -> Support? { var _1: String? _1 = parseString(reader) var _2: Api.User? if let signature = reader.readInt32() { _2 = Api.parse(reader, signature: signature) as? Api.User } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.help.Support.support(phoneNumber: _1!, user: _2!) } else { return nil } } } public enum InviteText { case inviteText(message: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .inviteText(let message): if boxed { buffer.appendInt32(415997816) } serializeString(message, buffer: buffer, boxed: false) break } } static func parse_inviteText(_ reader: BufferReader) -> InviteText? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return Api.help.InviteText.inviteText(message: _1!) } else { return nil } } } } } public extension Api { public struct updates { public enum Difference { case differenceEmpty(date: Int32, seq: Int32) case difference(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], state: Api.updates.State) case differenceSlice(newMessages: [Api.Message], newEncryptedMessages: [Api.EncryptedMessage], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User], intermediateState: Api.updates.State) case differenceTooLong(pts: Int32) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .differenceEmpty(let date, let seq): if boxed { buffer.appendInt32(1567990072) } serializeInt32(date, buffer: buffer, boxed: false) serializeInt32(seq, buffer: buffer, boxed: false) break case .difference(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let state): if boxed { buffer.appendInt32(16030880) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(newMessages.count)) for item in newMessages { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(newEncryptedMessages.count)) for item in newEncryptedMessages { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(otherUpdates.count)) for item in otherUpdates { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } state.serialize(buffer, true) break case .differenceSlice(let newMessages, let newEncryptedMessages, let otherUpdates, let chats, let users, let intermediateState): if boxed { buffer.appendInt32(-1459938943) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(newMessages.count)) for item in newMessages { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(newEncryptedMessages.count)) for item in newEncryptedMessages { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(otherUpdates.count)) for item in otherUpdates { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } intermediateState.serialize(buffer, true) break case .differenceTooLong(let pts): if boxed { buffer.appendInt32(1258196845) } serializeInt32(pts, buffer: buffer, boxed: false) break } } static func parse_differenceEmpty(_ reader: BufferReader) -> Difference? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.updates.Difference.differenceEmpty(date: _1!, seq: _2!) } else { return nil } } static func parse_difference(_ reader: BufferReader) -> Difference? { var _1: [Api.Message]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self) } var _2: [Api.EncryptedMessage]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.EncryptedMessage.self) } var _3: [Api.Update]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self) } var _4: [Api.Chat]? if let _ = reader.readInt32() { _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _5: [Api.User]? if let _ = reader.readInt32() { _5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } var _6: Api.updates.State? if let signature = reader.readInt32() { _6 = Api.parse(reader, signature: signature) as? Api.updates.State } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 { return Api.updates.Difference.difference(newMessages: _1!, newEncryptedMessages: _2!, otherUpdates: _3!, chats: _4!, users: _5!, state: _6!) } else { return nil } } static func parse_differenceSlice(_ reader: BufferReader) -> Difference? { var _1: [Api.Message]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self) } var _2: [Api.EncryptedMessage]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.EncryptedMessage.self) } var _3: [Api.Update]? if let _ = reader.readInt32() { _3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self) } var _4: [Api.Chat]? if let _ = reader.readInt32() { _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _5: [Api.User]? if let _ = reader.readInt32() { _5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } var _6: Api.updates.State? if let signature = reader.readInt32() { _6 = Api.parse(reader, signature: signature) as? Api.updates.State } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 { return Api.updates.Difference.differenceSlice(newMessages: _1!, newEncryptedMessages: _2!, otherUpdates: _3!, chats: _4!, users: _5!, intermediateState: _6!) } else { return nil } } static func parse_differenceTooLong(_ reader: BufferReader) -> Difference? { var _1: Int32? _1 = reader.readInt32() let _c1 = _1 != nil if _c1 { return Api.updates.Difference.differenceTooLong(pts: _1!) } else { return nil } } } public enum State { case state(pts: Int32, qts: Int32, date: Int32, seq: Int32, unreadCount: Int32) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .state(let pts, let qts, let date, let seq, let unreadCount): if boxed { buffer.appendInt32(-1519637954) } serializeInt32(pts, buffer: buffer, boxed: false) serializeInt32(qts, buffer: buffer, boxed: false) serializeInt32(date, buffer: buffer, boxed: false) serializeInt32(seq, buffer: buffer, boxed: false) serializeInt32(unreadCount, buffer: buffer, boxed: false) break } } static func parse_state(_ reader: BufferReader) -> State? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? _3 = reader.readInt32() var _4: Int32? _4 = reader.readInt32() var _5: Int32? _5 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.updates.State.state(pts: _1!, qts: _2!, date: _3!, seq: _4!, unreadCount: _5!) } else { return nil } } } public enum ChannelDifference { case channelDifferenceEmpty(flags: Int32, pts: Int32, timeout: Int32?) case channelDifferenceTooLong(flags: Int32, pts: Int32, timeout: Int32?, topMessage: Int32, readInboxMaxId: Int32, readOutboxMaxId: Int32, unreadCount: Int32, unreadMentionsCount: Int32, messages: [Api.Message], chats: [Api.Chat], users: [Api.User]) case channelDifference(flags: Int32, pts: Int32, timeout: Int32?, newMessages: [Api.Message], otherUpdates: [Api.Update], chats: [Api.Chat], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .channelDifferenceEmpty(let flags, let pts, let timeout): if boxed { buffer.appendInt32(1041346555) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(pts, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)} break case .channelDifferenceTooLong(let flags, let pts, let timeout, let topMessage, let readInboxMaxId, let readOutboxMaxId, let unreadCount, let unreadMentionsCount, let messages, let chats, let users): if boxed { buffer.appendInt32(1788705589) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(pts, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)} serializeInt32(topMessage, buffer: buffer, boxed: false) serializeInt32(readInboxMaxId, buffer: buffer, boxed: false) serializeInt32(readOutboxMaxId, buffer: buffer, boxed: false) serializeInt32(unreadCount, buffer: buffer, boxed: false) serializeInt32(unreadMentionsCount, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(messages.count)) for item in messages { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break case .channelDifference(let flags, let pts, let timeout, let newMessages, let otherUpdates, let chats, let users): if boxed { buffer.appendInt32(543450958) } serializeInt32(flags, buffer: buffer, boxed: false) serializeInt32(pts, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 1) != 0 {serializeInt32(timeout!, buffer: buffer, boxed: false)} buffer.appendInt32(481674261) buffer.appendInt32(Int32(newMessages.count)) for item in newMessages { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(otherUpdates.count)) for item in otherUpdates { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(chats.count)) for item in chats { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_channelDifferenceEmpty(_ reader: BufferReader) -> ChannelDifference? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil if _c1 && _c2 && _c3 { return Api.updates.ChannelDifference.channelDifferenceEmpty(flags: _1!, pts: _2!, timeout: _3) } else { return nil } } static func parse_channelDifferenceTooLong(_ reader: BufferReader) -> ChannelDifference? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() } var _4: Int32? _4 = reader.readInt32() var _5: Int32? _5 = reader.readInt32() var _6: Int32? _6 = reader.readInt32() var _7: Int32? _7 = reader.readInt32() var _8: Int32? _8 = reader.readInt32() var _9: [Api.Message]? if let _ = reader.readInt32() { _9 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self) } var _10: [Api.Chat]? if let _ = reader.readInt32() { _10 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _11: [Api.User]? if let _ = reader.readInt32() { _11 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil let _c8 = _8 != nil let _c9 = _9 != nil let _c10 = _10 != nil let _c11 = _11 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 && _c8 && _c9 && _c10 && _c11 { return Api.updates.ChannelDifference.channelDifferenceTooLong(flags: _1!, pts: _2!, timeout: _3, topMessage: _4!, readInboxMaxId: _5!, readOutboxMaxId: _6!, unreadCount: _7!, unreadMentionsCount: _8!, messages: _9!, chats: _10!, users: _11!) } else { return nil } } static func parse_channelDifference(_ reader: BufferReader) -> ChannelDifference? { var _1: Int32? _1 = reader.readInt32() var _2: Int32? _2 = reader.readInt32() var _3: Int32? if Int(_1!) & Int(1 << 1) != 0 {_3 = reader.readInt32() } var _4: [Api.Message]? if let _ = reader.readInt32() { _4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self) } var _5: [Api.Update]? if let _ = reader.readInt32() { _5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Update.self) } var _6: [Api.Chat]? if let _ = reader.readInt32() { _6 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self) } var _7: [Api.User]? if let _ = reader.readInt32() { _7 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = (Int(_1!) & Int(1 << 1) == 0) || _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil let _c6 = _6 != nil let _c7 = _7 != nil if _c1 && _c2 && _c3 && _c4 && _c5 && _c6 && _c7 { return Api.updates.ChannelDifference.channelDifference(flags: _1!, pts: _2!, timeout: _3, newMessages: _4!, otherUpdates: _5!, chats: _6!, users: _7!) } else { return nil } } } } } public extension Api { public struct upload { public enum WebFile { case webFile(size: Int32, mimeType: String, fileType: Api.storage.FileType, mtime: Int32, bytes: Buffer) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .webFile(let size, let mimeType, let fileType, let mtime, let bytes): if boxed { buffer.appendInt32(568808380) } serializeInt32(size, buffer: buffer, boxed: false) serializeString(mimeType, buffer: buffer, boxed: false) fileType.serialize(buffer, true) serializeInt32(mtime, buffer: buffer, boxed: false) serializeBytes(bytes, buffer: buffer, boxed: false) break } } static func parse_webFile(_ reader: BufferReader) -> WebFile? { var _1: Int32? _1 = reader.readInt32() var _2: String? _2 = parseString(reader) var _3: Api.storage.FileType? if let signature = reader.readInt32() { _3 = Api.parse(reader, signature: signature) as? Api.storage.FileType } var _4: Int32? _4 = reader.readInt32() var _5: Buffer? _5 = parseBytes(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.upload.WebFile.webFile(size: _1!, mimeType: _2!, fileType: _3!, mtime: _4!, bytes: _5!) } else { return nil } } } public enum File { case file(type: Api.storage.FileType, mtime: Int32, bytes: Buffer) case fileCdnRedirect(dcId: Int32, fileToken: Buffer, encryptionKey: Buffer, encryptionIv: Buffer, fileHashes: [Api.FileHash]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .file(let type, let mtime, let bytes): if boxed { buffer.appendInt32(157948117) } type.serialize(buffer, true) serializeInt32(mtime, buffer: buffer, boxed: false) serializeBytes(bytes, buffer: buffer, boxed: false) break case .fileCdnRedirect(let dcId, let fileToken, let encryptionKey, let encryptionIv, let fileHashes): if boxed { buffer.appendInt32(-242427324) } serializeInt32(dcId, buffer: buffer, boxed: false) serializeBytes(fileToken, buffer: buffer, boxed: false) serializeBytes(encryptionKey, buffer: buffer, boxed: false) serializeBytes(encryptionIv, buffer: buffer, boxed: false) buffer.appendInt32(481674261) buffer.appendInt32(Int32(fileHashes.count)) for item in fileHashes { item.serialize(buffer, true) } break } } static func parse_file(_ reader: BufferReader) -> File? { var _1: Api.storage.FileType? if let signature = reader.readInt32() { _1 = Api.parse(reader, signature: signature) as? Api.storage.FileType } var _2: Int32? _2 = reader.readInt32() var _3: Buffer? _3 = parseBytes(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil if _c1 && _c2 && _c3 { return Api.upload.File.file(type: _1!, mtime: _2!, bytes: _3!) } else { return nil } } static func parse_fileCdnRedirect(_ reader: BufferReader) -> File? { var _1: Int32? _1 = reader.readInt32() var _2: Buffer? _2 = parseBytes(reader) var _3: Buffer? _3 = parseBytes(reader) var _4: Buffer? _4 = parseBytes(reader) var _5: [Api.FileHash]? if let _ = reader.readInt32() { _5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.FileHash.self) } let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.upload.File.fileCdnRedirect(dcId: _1!, fileToken: _2!, encryptionKey: _3!, encryptionIv: _4!, fileHashes: _5!) } else { return nil } } } public enum CdnFile { case cdnFileReuploadNeeded(requestToken: Buffer) case cdnFile(bytes: Buffer) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .cdnFileReuploadNeeded(let requestToken): if boxed { buffer.appendInt32(-290921362) } serializeBytes(requestToken, buffer: buffer, boxed: false) break case .cdnFile(let bytes): if boxed { buffer.appendInt32(-1449145777) } serializeBytes(bytes, buffer: buffer, boxed: false) break } } static func parse_cdnFileReuploadNeeded(_ reader: BufferReader) -> CdnFile? { var _1: Buffer? _1 = parseBytes(reader) let _c1 = _1 != nil if _c1 { return Api.upload.CdnFile.cdnFileReuploadNeeded(requestToken: _1!) } else { return nil } } static func parse_cdnFile(_ reader: BufferReader) -> CdnFile? { var _1: Buffer? _1 = parseBytes(reader) let _c1 = _1 != nil if _c1 { return Api.upload.CdnFile.cdnFile(bytes: _1!) } else { return nil } } } } } public extension Api { public struct storage { public enum FileType { case fileUnknown case filePartial case fileJpeg case fileGif case filePng case filePdf case fileMp3 case fileMov case fileMp4 case fileWebp public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .fileUnknown: if boxed { buffer.appendInt32(-1432995067) } break case .filePartial: if boxed { buffer.appendInt32(1086091090) } break case .fileJpeg: if boxed { buffer.appendInt32(8322574) } break case .fileGif: if boxed { buffer.appendInt32(-891180321) } break case .filePng: if boxed { buffer.appendInt32(172975040) } break case .filePdf: if boxed { buffer.appendInt32(-1373745011) } break case .fileMp3: if boxed { buffer.appendInt32(1384777335) } break case .fileMov: if boxed { buffer.appendInt32(1258941372) } break case .fileMp4: if boxed { buffer.appendInt32(-1278304028) } break case .fileWebp: if boxed { buffer.appendInt32(276907596) } break } } static func parse_fileUnknown(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileUnknown } static func parse_filePartial(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.filePartial } static func parse_fileJpeg(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileJpeg } static func parse_fileGif(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileGif } static func parse_filePng(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.filePng } static func parse_filePdf(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.filePdf } static func parse_fileMp3(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileMp3 } static func parse_fileMov(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileMov } static func parse_fileMp4(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileMp4 } static func parse_fileWebp(_ reader: BufferReader) -> FileType? { return Api.storage.FileType.fileWebp } } } } public extension Api { public struct account { public enum TmpPassword { case tmpPassword(tmpPassword: Buffer, validUntil: Int32) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .tmpPassword(let tmpPassword, let validUntil): if boxed { buffer.appendInt32(-614138572) } serializeBytes(tmpPassword, buffer: buffer, boxed: false) serializeInt32(validUntil, buffer: buffer, boxed: false) break } } static func parse_tmpPassword(_ reader: BufferReader) -> TmpPassword? { var _1: Buffer? _1 = parseBytes(reader) var _2: Int32? _2 = reader.readInt32() let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.account.TmpPassword.tmpPassword(tmpPassword: _1!, validUntil: _2!) } else { return nil } } } public enum PasswordSettings { case passwordSettings(email: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .passwordSettings(let email): if boxed { buffer.appendInt32(-1212732749) } serializeString(email, buffer: buffer, boxed: false) break } } static func parse_passwordSettings(_ reader: BufferReader) -> PasswordSettings? { var _1: String? _1 = parseString(reader) let _c1 = _1 != nil if _c1 { return Api.account.PasswordSettings.passwordSettings(email: _1!) } else { return nil } } } public enum PasswordInputSettings { case passwordInputSettings(flags: Int32, newSalt: Buffer?, newPasswordHash: Buffer?, hint: String?, email: String?) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .passwordInputSettings(let flags, let newSalt, let newPasswordHash, let hint, let email): if boxed { buffer.appendInt32(-2037289493) } serializeInt32(flags, buffer: buffer, boxed: false) if Int(flags) & Int(1 << 0) != 0 {serializeBytes(newSalt!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 0) != 0 {serializeBytes(newPasswordHash!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 0) != 0 {serializeString(hint!, buffer: buffer, boxed: false)} if Int(flags) & Int(1 << 1) != 0 {serializeString(email!, buffer: buffer, boxed: false)} break } } static func parse_passwordInputSettings(_ reader: BufferReader) -> PasswordInputSettings? { var _1: Int32? _1 = reader.readInt32() var _2: Buffer? if Int(_1!) & Int(1 << 0) != 0 {_2 = parseBytes(reader) } var _3: Buffer? if Int(_1!) & Int(1 << 0) != 0 {_3 = parseBytes(reader) } var _4: String? if Int(_1!) & Int(1 << 0) != 0 {_4 = parseString(reader) } var _5: String? if Int(_1!) & Int(1 << 1) != 0 {_5 = parseString(reader) } let _c1 = _1 != nil let _c2 = (Int(_1!) & Int(1 << 0) == 0) || _2 != nil let _c3 = (Int(_1!) & Int(1 << 0) == 0) || _3 != nil let _c4 = (Int(_1!) & Int(1 << 0) == 0) || _4 != nil let _c5 = (Int(_1!) & Int(1 << 1) == 0) || _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.account.PasswordInputSettings.passwordInputSettings(flags: _1!, newSalt: _2, newPasswordHash: _3, hint: _4, email: _5) } else { return nil } } } public enum WebAuthorizations { case webAuthorizations(authorizations: [Api.WebAuthorization], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .webAuthorizations(let authorizations, let users): if boxed { buffer.appendInt32(-313079300) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(authorizations.count)) for item in authorizations { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_webAuthorizations(_ reader: BufferReader) -> WebAuthorizations? { var _1: [Api.WebAuthorization]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.WebAuthorization.self) } var _2: [Api.User]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.account.WebAuthorizations.webAuthorizations(authorizations: _1!, users: _2!) } else { return nil } } } public enum Authorizations { case authorizations(authorizations: [Api.Authorization]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .authorizations(let authorizations): if boxed { buffer.appendInt32(307276766) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(authorizations.count)) for item in authorizations { item.serialize(buffer, true) } break } } static func parse_authorizations(_ reader: BufferReader) -> Authorizations? { var _1: [Api.Authorization]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Authorization.self) } let _c1 = _1 != nil if _c1 { return Api.account.Authorizations.authorizations(authorizations: _1!) } else { return nil } } } public enum Password { case noPassword(newSalt: Buffer, emailUnconfirmedPattern: String) case password(currentSalt: Buffer, newSalt: Buffer, hint: String, hasRecovery: Api.Bool, emailUnconfirmedPattern: String) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .noPassword(let newSalt, let emailUnconfirmedPattern): if boxed { buffer.appendInt32(-1764049896) } serializeBytes(newSalt, buffer: buffer, boxed: false) serializeString(emailUnconfirmedPattern, buffer: buffer, boxed: false) break case .password(let currentSalt, let newSalt, let hint, let hasRecovery, let emailUnconfirmedPattern): if boxed { buffer.appendInt32(2081952796) } serializeBytes(currentSalt, buffer: buffer, boxed: false) serializeBytes(newSalt, buffer: buffer, boxed: false) serializeString(hint, buffer: buffer, boxed: false) hasRecovery.serialize(buffer, true) serializeString(emailUnconfirmedPattern, buffer: buffer, boxed: false) break } } static func parse_noPassword(_ reader: BufferReader) -> Password? { var _1: Buffer? _1 = parseBytes(reader) var _2: String? _2 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.account.Password.noPassword(newSalt: _1!, emailUnconfirmedPattern: _2!) } else { return nil } } static func parse_password(_ reader: BufferReader) -> Password? { var _1: Buffer? _1 = parseBytes(reader) var _2: Buffer? _2 = parseBytes(reader) var _3: String? _3 = parseString(reader) var _4: Api.Bool? if let signature = reader.readInt32() { _4 = Api.parse(reader, signature: signature) as? Api.Bool } var _5: String? _5 = parseString(reader) let _c1 = _1 != nil let _c2 = _2 != nil let _c3 = _3 != nil let _c4 = _4 != nil let _c5 = _5 != nil if _c1 && _c2 && _c3 && _c4 && _c5 { return Api.account.Password.password(currentSalt: _1!, newSalt: _2!, hint: _3!, hasRecovery: _4!, emailUnconfirmedPattern: _5!) } else { return nil } } } public enum PrivacyRules { case privacyRules(rules: [Api.PrivacyRule], users: [Api.User]) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { switch self { case .privacyRules(let rules, let users): if boxed { buffer.appendInt32(1430961007) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(rules.count)) for item in rules { item.serialize(buffer, true) } buffer.appendInt32(481674261) buffer.appendInt32(Int32(users.count)) for item in users { item.serialize(buffer, true) } break } } static func parse_privacyRules(_ reader: BufferReader) -> PrivacyRules? { var _1: [Api.PrivacyRule]? if let _ = reader.readInt32() { _1 = Api.parseVector(reader, elementSignature: 0, elementType: Api.PrivacyRule.self) } var _2: [Api.User]? if let _ = reader.readInt32() { _2 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self) } let _c1 = _1 != nil let _c2 = _2 != nil if _c1 && _c2 { return Api.account.PrivacyRules.privacyRules(rules: _1!, users: _2!) } else { return nil } } } } }