diff --git a/Telegram-iOS/en.lproj/Localizable.strings b/Telegram-iOS/en.lproj/Localizable.strings index 39b1b9e03c..03195dd3be 100644 --- a/Telegram-iOS/en.lproj/Localizable.strings +++ b/Telegram-iOS/en.lproj/Localizable.strings @@ -4398,12 +4398,12 @@ Any member of this group will be able to see messages in the channel."; "Contacts.AddPeopleNearby" = "Add People Nearby"; "PeopleNearby.Title" = "People Nearby"; -"PeopleNearby.Description" = "Use this section to quickly find people and groups near you."; -"PeopleNearby.Users" = "People Around You"; -"PeopleNearby.UsersEmpty" = "No one else is viewing \"People Nearby\" around you now"; -"PeopleNearby.Groups" = "Groups Around You"; -"PeopleNearby.CreateGroup" = "Start a Group Chat Here"; -"PeopleNearby.Channels" = "Channels Around You"; +"PeopleNearby.Description" = "Ask your friend nearby to open this page to exchange phone numbers."; +"PeopleNearby.Users" = "People Nearby"; +"PeopleNearby.UsersEmpty" = "Looking for users around you..."; +"PeopleNearby.Groups" = "Groups Nearby"; +"PeopleNearby.CreateGroup" = "Create a Group Here"; +"PeopleNearby.Channels" = "Channels Nearby"; "Channel.Management.LabelOwner" = "Owner"; "Channel.Management.LabelAdministrator" = "Administrator"; @@ -4412,12 +4412,8 @@ Any member of this group will be able to see messages in the channel."; "Common.ActionNotAllowedError" = "Sorry, you are not allowed to do this."; "Group.Location.Title" = "Location"; -"Group.Location.SetLocation" = "Set Location"; "Group.Location.ChangeLocation" = "Change Location"; -"Group.Location.RemoveLocation" = "Remove Location"; -"Group.Location.Info" = "People will be able to find your group in the Groups Nearby section (Contacts > Add People Nearby)."; - -"Group.Username.Title" = "Username"; +"Group.Location.Info" = "People can find your group using People Nearby section."; "Channel.AdminLog.MessageTransferedName" = "transferred ownership to %1$@"; "Channel.AdminLog.MessageTransferedNameUsername" = "transferred ownership to %1$@ (%2$@)"; @@ -4432,9 +4428,16 @@ Any member of this group will be able to see messages in the channel."; "Permissions.PeopleNearbyAllow.v0" = "Allow Access"; "Permissions.PeopleNearbyAllowInSettings.v0" = "Allow in Settings"; -"Conversation.ReportGroupLocation" = "Group unrelated to tocation?"; +"Conversation.ReportGroupLocation" = "Group unrelated to location?"; "ReportGroupLocation.Title" = "Report Unrelated Group"; "ReportGroupLocation.Text" = "Please tell us if this group is not related to this location."; "ReportGroupLocation.Report" = "Report"; -"Group.Setup.TypePublicWithLocationHelp" = "Public groups can be found in search, chat history is available to everyone and anyone can join.\n\nTo make your group public, set a username or add a location."; +"LocalGroup.Title" = "Create a Local Group"; +"LocalGroup.Text" = "Anyone close to this location (neighbors, co-workers, fellow students, event attendees, visitors of a venue) will see your group in the People Nearby section."; +"LocalGroup.ButtonTitle" = "Start Group"; +"LocalGroup.IrrelevantWarning" = "If you start an unrelated group at this location, you may get restricted in creating new location-based groups."; + +"GroupInfo.Location" = "Location"; +"GroupInfo.PublicLink" = "Public Link"; +"GroupInfo.PublicLinkAdd" = "Add"; diff --git a/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.h b/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.h index b85ee3bbf9..6f76489ad3 100644 --- a/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.h +++ b/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.h @@ -14,7 +14,7 @@ typedef enum { @interface TGLocationPickerController : TGLocationMapViewController -@property (nonatomic, copy) void (^locationPicked)(CLLocationCoordinate2D coordinate, TGVenueAttachment *venue); +@property (nonatomic, copy) void (^locationPicked)(CLLocationCoordinate2D coordinate, TGVenueAttachment *venue, NSString *address); @property (nonatomic, copy) SSignal *(^nearbyPlacesSignal)(NSString *query, CLLocation *coordinate); diff --git a/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.m b/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.m index fdc5c42d5a..15702d3fc8 100644 --- a/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.m +++ b/submodules/LegacyComponents/LegacyComponents/TGLocationPickerController.m @@ -345,7 +345,7 @@ const CGPoint TGLocationPickerPinOffset = { 0.0f, 33.0f }; coordinate = [self mapCenterCoordinateForPickerPin]; if (self.locationPicked != nil) - self.locationPicked(coordinate, nil); + self.locationPicked(coordinate, nil, _customAddress); } - (void)searchButtonPressed @@ -520,7 +520,7 @@ const CGPoint TGLocationPickerPinOffset = { 0.0f, 33.0f }; NSString *address = @""; if (result != nil) - address = result.displayAddress; + address = result.fullAddress; strongSelf->_customAddress = address; [strongSelf updateCurrentLocationCell]; @@ -662,9 +662,9 @@ const CGPoint TGLocationPickerPinOffset = { 0.0f, 33.0f }; _ownLocationView.hidden = true; _pickerPinWrapper.hidden = false; - if (_intent != TGLocationPickerControllerCustomLocationIntent) { + //if (_intent != TGLocationPickerControllerCustomLocationIntent) { [_pickerPinView setCustomPin:true animated:true]; - } + //} _mapView.tapEnabled = false; _mapView.longPressAsTapEnabled = false; @@ -1128,7 +1128,7 @@ const CGPoint TGLocationPickerPinOffset = { 0.0f, 33.0f }; } if (self.locationPicked != nil) - self.locationPicked(venue.coordinate, [venue venueAttachment]); + self.locationPicked(venue.coordinate, [venue venueAttachment], _customAddress); } } diff --git a/submodules/LegacyComponents/LegacyComponents/TGLocationPinAnnotationView.m b/submodules/LegacyComponents/LegacyComponents/TGLocationPinAnnotationView.m index bd7adacbe8..0f93d8c45b 100644 --- a/submodules/LegacyComponents/LegacyComponents/TGLocationPinAnnotationView.m +++ b/submodules/LegacyComponents/LegacyComponents/TGLocationPinAnnotationView.m @@ -435,6 +435,7 @@ NSString *const TGLocationPinAnnotationKind = @"TGLocationPinAnnotation"; - (void)setPinRaised:(bool)raised avatar:(bool)avatar animated:(bool)animated completion:(void (^)(void))completion { _pinRaised = raised; + avatar = false; [_shadowView.layer removeAllAnimations]; if (iosMajorVersion() < 7) @@ -491,6 +492,9 @@ NSString *const TGLocationPinAnnotationKind = @"TGLocationPinAnnotation"; _iconView.image = image; [_backgroundView addSubview:_avatarView]; _avatarView.center = CGPointMake(_backgroundView.frame.size.width / 2.0f, _backgroundView.frame.size.height / 2.0f - 5.0f); + _shadowView.center = CGPointMake(TGScreenPixel, -36.0f); + _backgroundView.center = CGPointMake(_shadowView.frame.size.width / 2.0f, _shadowView.frame.size.height / 2.0f); + _iconView.center = CGPointMake(_shadowView.frame.size.width / 2.0f, _shadowView.frame.size.height / 2.0f - 5.0f); TGDispatchAfter(0.01, dispatch_get_main_queue(), ^ { @@ -504,8 +508,11 @@ NSString *const TGLocationPinAnnotationKind = @"TGLocationPinAnnotation"; if (!customPin) [self addSubview:_avatarView]; _animating = false; + [self setNeedsLayout]; }]; }); + + [self setNeedsLayout]; } else { diff --git a/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.h b/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.h index b3aba81dbc..02dd86e16f 100644 --- a/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.h +++ b/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.h @@ -14,6 +14,8 @@ @property (nonatomic, readonly) NSString *city; @property (nonatomic, readonly) NSString *district; @property (nonatomic, readonly) NSString *street; + +@property (nonatomic, readonly) NSString *fullAddress; + (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithDictionary:(NSDictionary *)dictionary; + (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithPlacemark:(CLPlacemark *)placemark; diff --git a/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.m b/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.m index bcb0edce7e..0274544642 100644 --- a/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.m +++ b/submodules/LegacyComponents/LegacyComponents/TGLocationReverseGeocodeResult.m @@ -69,5 +69,17 @@ return nil; } + +- (NSString *)fullAddress +{ + NSMutableArray *components = [[NSMutableArray alloc] init]; + if (self.street.length > 0) + [components addObject:self.street]; + if (self.city.length > 0) + [components addObject:self.city]; + if (self.country.length > 0) + [components addObject:self.country]; + return [components componentsJoinedByString:@", "]; +} @end diff --git a/submodules/TelegramApi/Sources/Api3.swift b/submodules/TelegramApi/Sources/Api3.swift index c063c822b7..3c6ea492d4 100644 --- a/submodules/TelegramApi/Sources/Api3.swift +++ b/submodules/TelegramApi/Sources/Api3.swift @@ -3073,22 +3073,6 @@ public extension Api { }) } - public static func createChannel(flags: Int32, title: String, about: String) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { - let buffer = Buffer() - buffer.appendInt32(-192332417) - serializeInt32(flags, buffer: buffer, boxed: false) - serializeString(title, buffer: buffer, boxed: false) - serializeString(about, buffer: buffer, boxed: false) - return (FunctionDescription(name: "channels.createChannel", parameters: [("flags", flags), ("title", title), ("about", about)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in - let reader = BufferReader(buffer) - var result: Api.Updates? - if let signature = reader.readInt32() { - result = Api.parse(reader, signature: signature) as? Api.Updates - } - return result - }) - } - public static func editTitle(channel: Api.InputChannel, title: String) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { let buffer = Buffer() buffer.appendInt32(1450044624) @@ -3241,20 +3225,6 @@ public extension Api { }) } - public static func getAdminedPublicChannels() -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { - let buffer = Buffer() - buffer.appendInt32(-1920105769) - - return (FunctionDescription(name: "channels.getAdminedPublicChannels", parameters: []), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.messages.Chats? in - let reader = BufferReader(buffer) - var result: Api.messages.Chats? - if let signature = reader.readInt32() { - result = Api.parse(reader, signature: signature) as? Api.messages.Chats - } - return result - }) - } - public static func getAdminLog(flags: Int32, channel: Api.InputChannel, q: String, eventsFilter: Api.ChannelAdminLogEventsFilter?, admins: [Api.InputUser]?, maxId: Int64, minId: Int64, limit: Int32) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { let buffer = Buffer() buffer.appendInt32(870184064) @@ -3503,6 +3473,38 @@ public extension Api { return result }) } + + public static func createChannel(flags: Int32, title: String, about: String, geoPoint: Api.InputGeoPoint?, address: String?) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(1029681423) + serializeInt32(flags, buffer: buffer, boxed: false) + serializeString(title, buffer: buffer, boxed: false) + serializeString(about, buffer: buffer, boxed: false) + if Int(flags) & Int(1 << 2) != 0 {geoPoint!.serialize(buffer, true)} + if Int(flags) & Int(1 << 2) != 0 {serializeString(address!, buffer: buffer, boxed: false)} + return (FunctionDescription(name: "channels.createChannel", parameters: [("flags", flags), ("title", title), ("about", about), ("geoPoint", geoPoint), ("address", address)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.Updates? in + let reader = BufferReader(buffer) + var result: Api.Updates? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.Updates + } + return result + }) + } + + public static func getAdminedPublicChannels(flags: Int32) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { + let buffer = Buffer() + buffer.appendInt32(-122669393) + serializeInt32(flags, buffer: buffer, boxed: false) + return (FunctionDescription(name: "channels.getAdminedPublicChannels", parameters: [("flags", flags)]), buffer, DeserializeFunctionResponse { (buffer: Buffer) -> Api.messages.Chats? in + let reader = BufferReader(buffer) + var result: Api.messages.Chats? + if let signature = reader.readInt32() { + result = Api.parse(reader, signature: signature) as? Api.messages.Chats + } + return result + }) + } } public struct payments { public static func getPaymentForm(msgId: Int32) -> (FunctionDescription, Buffer, DeserializeFunctionResponse) { diff --git a/submodules/TelegramCore/TelegramCore/AddressNames.swift b/submodules/TelegramCore/TelegramCore/AddressNames.swift index 7aec4ebbe7..69af6f389f 100644 --- a/submodules/TelegramCore/TelegramCore/AddressNames.swift +++ b/submodules/TelegramCore/TelegramCore/AddressNames.swift @@ -157,8 +157,13 @@ public func updateAddressName(account: Account, domain: AddressNameDomain, name: } |> mapError { _ -> UpdateAddressNameError in return .generic } |> switchToLatest } -public func adminedPublicChannels(account: Account) -> Signal<[Peer], NoError> { - return account.network.request(Api.functions.channels.getAdminedPublicChannels()) +public func adminedPublicChannels(account: Account, location: Bool = false) -> Signal<[Peer], NoError> { + var flags: Int32 = 0 + if location { + flags |= (1 << 0) + } + + return account.network.request(Api.functions.channels.getAdminedPublicChannels(flags: flags)) |> retryRequest |> mapToSignal { result -> Signal<[Peer], NoError> in var peers: [Peer] = [] diff --git a/submodules/TelegramCore/TelegramCore/CachedChannelData.swift b/submodules/TelegramCore/TelegramCore/CachedChannelData.swift index ce9417df28..651117d7e2 100644 --- a/submodules/TelegramCore/TelegramCore/CachedChannelData.swift +++ b/submodules/TelegramCore/TelegramCore/CachedChannelData.swift @@ -22,6 +22,7 @@ public struct CachedChannelFlags: OptionSet { public static let canSetStickerSet = CachedChannelFlags(rawValue: 1 << 2) public static let preHistoryEnabled = CachedChannelFlags(rawValue: 1 << 3) public static let canViewStats = CachedChannelFlags(rawValue: 1 << 4) + public static let canChangePeerGeoLocation = CachedChannelFlags(rawValue: 1 << 5) } public struct CachedChannelParticipantsSummary: PostboxCoding, Equatable { diff --git a/submodules/TelegramCore/TelegramCore/ChannelCreation.swift b/submodules/TelegramCore/TelegramCore/ChannelCreation.swift index e9ce45e372..888a1a1450 100644 --- a/submodules/TelegramCore/TelegramCore/ChannelCreation.swift +++ b/submodules/TelegramCore/TelegramCore/ChannelCreation.swift @@ -14,9 +14,29 @@ import Foundation #endif import TelegramApi -private func createChannel(account: Account, title: String, description: String?, isSupergroup:Bool) -> Signal { +public enum CreateChannelError { + case generic + case restricted +} + +private func createChannel(account: Account, title: String, description: String?, isSupergroup:Bool, location: (latitude: Double, longitude: Double, address: String)? = nil) -> Signal { return account.postbox.transaction { transaction -> Signal in - return account.network.request(Api.functions.channels.createChannel(flags: isSupergroup ? 1 << 1 : 1 << 0, title: title, about: description ?? ""), automaticFloodWait: false) + var flags: Int32 = 0 + if isSupergroup { + flags |= (1 << 1) + } else { + flags |= (1 << 0) + } + + var geoPoint: Api.InputGeoPoint? + var address: String? + if let location = location { + flags |= (1 << 2) + geoPoint = .inputGeoPoint(lat: location.latitude, long: location.longitude) + address = location.address + } + + return account.network.request(Api.functions.channels.createChannel(flags: flags, title: title, about: description ?? "", geoPoint: geoPoint, address: address), automaticFloodWait: false) |> mapError { error -> CreateChannelError in if error.errorDescription == "USER_RESTRICTED" { return .restricted @@ -46,17 +66,12 @@ private func createChannel(account: Account, title: String, description: String? |> switchToLatest } -public enum CreateChannelError { - case generic - case restricted -} - public func createChannel(account: Account, title: String, description: String?) -> Signal { return createChannel(account: account, title: title, description: description, isSupergroup: false) } -public func createSupergroup(account: Account, title: String, description: String?) -> Signal { - return createChannel(account: account, title: title, description: description, isSupergroup: true) +public func createSupergroup(account: Account, title: String, description: String?, location: (latitude: Double, longitude: Double, address: String)? = nil) -> Signal { + return createChannel(account: account, title: title, description: description, isSupergroup: true, location: location) } public enum DeleteChannelError { diff --git a/submodules/TelegramCore/TelegramCore/ChannelOwnershipTransfer.swift b/submodules/TelegramCore/TelegramCore/ChannelOwnershipTransfer.swift index 2549158702..e8b929ef0e 100644 --- a/submodules/TelegramCore/TelegramCore/ChannelOwnershipTransfer.swift +++ b/submodules/TelegramCore/TelegramCore/ChannelOwnershipTransfer.swift @@ -90,7 +90,13 @@ public func updateChannelOwnership(postbox: Postbox, network: Network, accountSt } let checkPassword = twoStepAuthData(network) - |> mapError { _ in ChannelOwnershipTransferError.generic } + |> mapError { error -> ChannelOwnershipTransferError in + if error.errorDescription.hasPrefix("FLOOD_WAIT") { + return .limitExceeded + } else { + return .generic + } + } |> mapToSignal { authData -> Signal in if let currentPasswordDerivation = authData.currentPasswordDerivation, let srpSessionData = authData.srpSessionData { guard let kdfResult = passwordKDF(password: password, derivation: currentPasswordDerivation, srpSessionData: srpSessionData) else { diff --git a/submodules/TelegramCore/TelegramCore/PeerContactSettings.swift b/submodules/TelegramCore/TelegramCore/PeerContactSettings.swift index 112f9099f4..7bbd9ff261 100644 --- a/submodules/TelegramCore/TelegramCore/PeerContactSettings.swift +++ b/submodules/TelegramCore/TelegramCore/PeerContactSettings.swift @@ -18,7 +18,7 @@ public struct PeerStatusSettings: OptionSet { public static let canBlock = PeerStatusSettings(rawValue: 1 << 3) public static let canAddContact = PeerStatusSettings(rawValue: 1 << 4) public static let addExceptionWhenAddingContact = PeerStatusSettings(rawValue: 1 << 5) - public static let canReportIrrelevantGeoLocation = PeerStatusSettings(rawValue: 1 << 5) + public static let canReportIrrelevantGeoLocation = PeerStatusSettings(rawValue: 1 << 6) } extension PeerStatusSettings { diff --git a/submodules/TelegramCore/TelegramCore/PeersNearby.swift b/submodules/TelegramCore/TelegramCore/PeersNearby.swift index 63983f0848..24e52e81a8 100644 --- a/submodules/TelegramCore/TelegramCore/PeersNearby.swift +++ b/submodules/TelegramCore/TelegramCore/PeersNearby.swift @@ -16,11 +16,11 @@ public struct PeerNearby { public final class PeersNearbyContext { private let queue: Queue = Queue.mainQueue() - private var subscribers = Bag<([PeerNearby]) -> Void>() + private var subscribers = Bag<([PeerNearby]?) -> Void>() private let disposable = MetaDisposable() private var timer: SwiftSignalKit.Timer? - private var entries: [PeerNearby] = [] + private var entries: [PeerNearby]? public init(network: Network, accountStateManager: AccountStateManager, coordinate: (latitude: Double, longitude: Double)) { self.disposable.set((network.request(Api.functions.contacts.getLocated(geoPoint: .inputGeoPoint(lat: coordinate.latitude, long: coordinate.longitude))) @@ -53,7 +53,7 @@ public final class PeersNearbyContext { } let timestamp = CFAbsoluteTimeGetCurrent() + NSTimeIntervalSince1970 - var entries = strongSelf.entries.filter { Double($0.expires) > timestamp } + var entries = strongSelf.entries?.filter { Double($0.expires) > timestamp } ?? [] let updatedEntries = updatedEntries.filter { Double($0.expires) > timestamp } var existingPeerIds: [PeerId: Int] = [:] @@ -82,7 +82,7 @@ public final class PeersNearbyContext { } let timestamp = CFAbsoluteTimeGetCurrent() + NSTimeIntervalSince1970 - strongSelf.entries = strongSelf.entries.filter { Double($0.expires) > timestamp } + strongSelf.entries = strongSelf.entries?.filter { Double($0.expires) > timestamp } }, queue: self.queue) self.timer?.start() } @@ -92,7 +92,7 @@ public final class PeersNearbyContext { self.timer?.invalidate() } - public func get() -> Signal<[PeerNearby], NoError> { + public func get() -> Signal<[PeerNearby]?, NoError> { let queue = self.queue return Signal { [weak self] subscriber in if let strongSelf = self { diff --git a/submodules/TelegramCore/TelegramCore/UpdateCachedPeerData.swift b/submodules/TelegramCore/TelegramCore/UpdateCachedPeerData.swift index 4b14c9020c..2ed9433c45 100644 --- a/submodules/TelegramCore/TelegramCore/UpdateCachedPeerData.swift +++ b/submodules/TelegramCore/TelegramCore/UpdateCachedPeerData.swift @@ -296,6 +296,9 @@ func fetchAndUpdateCachedPeerData(accountPeerId: PeerId, peerId rawPeerId: PeerI if (flags & (1 << 7)) != 0 { channelFlags.insert(.canSetStickerSet) } + if (flags & (1 << 16)) != 0 { + channelFlags.insert(.canChangePeerGeoLocation) + } let linkedDiscussionPeerId: PeerId? if let linkedChatId = linkedChatId, linkedChatId != 0 { diff --git a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift index fe6752deae..52ccbb6394 100644 --- a/submodules/TelegramPresentationData/Sources/PresentationStrings.swift +++ b/submodules/TelegramPresentationData/Sources/PresentationStrings.swift @@ -708,164 +708,164 @@ public final class PresentationStrings { public func Notifications_ExceptionsChangeSound(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[478]!, self._r[478]!, [_0]) } - public var ChatAdmins_AllMembersAreAdmins: String { return self._s[479]! } - public var Conversation_DefaultRestrictedInline: String { return self._s[480]! } - public var Message_Sticker: String { return self._s[481]! } - public var LastSeen_JustNow: String { return self._s[483]! } - public var Passport_Email_EmailPlaceholder: String { return self._s[485]! } - public var SettingsSearch_Synonyms_AppLanguage: String { return self._s[486]! } - public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[487]! } - public var Channel_EditAdmin_PermissionsHeader: String { return self._s[488]! } - public var TwoStepAuth_Email: String { return self._s[489]! } - public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsSound: String { return self._s[490]! } - public var PhotoEditor_BlurToolOff: String { return self._s[491]! } - public var Message_PinnedStickerMessage: String { return self._s[492]! } - public var ContactInfo_PhoneLabelPager: String { return self._s[493]! } - public var SettingsSearch_Synonyms_Appearance_TextSize: String { return self._s[494]! } - public var Passport_DiscardMessageTitle: String { return self._s[495]! } - public var Privacy_PaymentsTitle: String { return self._s[496]! } - public var Channel_DiscussionGroup_Header: String { return self._s[498]! } - public var Appearance_ColorTheme: String { return self._s[499]! } - public var UserInfo_ShareContact: String { return self._s[500]! } - public var Passport_Address_TypePassportRegistration: String { return self._s[501]! } - public var Common_More: String { return self._s[502]! } - public var Watch_Message_Call: String { return self._s[503]! } - public var Profile_EncryptionKey: String { return self._s[506]! } - public var Privacy_TopPeers: String { return self._s[507]! } - public var Conversation_StopPollConfirmation: String { return self._s[508]! } - public var Privacy_TopPeersWarning: String { return self._s[510]! } - public var SettingsSearch_Synonyms_Data_DownloadInBackground: String { return self._s[511]! } - public var SettingsSearch_Synonyms_Data_Storage_KeepMedia: String { return self._s[512]! } - public var DialogList_SearchSectionMessages: String { return self._s[515]! } - public var Notifications_ChannelNotifications: String { return self._s[516]! } - public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[517]! } - public var Passport_Language_sk: String { return self._s[518]! } - public var Notification_MessageLifetime1h: String { return self._s[519]! } - public var Wallpaper_ResetWallpapersInfo: String { return self._s[520]! } - public var Call_ReportSkip: String { return self._s[522]! } - public var Cache_ServiceFiles: String { return self._s[523]! } - public var Group_ErrorAddTooMuchAdmins: String { return self._s[524]! } - public var Map_Hybrid: String { return self._s[525]! } - public var Contacts_SearchUsersAndGroupsLabel: String { return self._s[527]! } - public var ChatSettings_AutoDownloadVideos: String { return self._s[529]! } - public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[530]! } - public var InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription: String { return self._s[531]! } - public var SocksProxySetup_ProxyTelegram: String { return self._s[534]! } + public var LocalGroup_IrrelevantWarning: String { return self._s[479]! } + public var ChatAdmins_AllMembersAreAdmins: String { return self._s[480]! } + public var Conversation_DefaultRestrictedInline: String { return self._s[481]! } + public var Message_Sticker: String { return self._s[482]! } + public var LastSeen_JustNow: String { return self._s[484]! } + public var Passport_Email_EmailPlaceholder: String { return self._s[486]! } + public var SettingsSearch_Synonyms_AppLanguage: String { return self._s[487]! } + public var Channel_AdminLogFilter_EventsEditedMessages: String { return self._s[488]! } + public var Channel_EditAdmin_PermissionsHeader: String { return self._s[489]! } + public var TwoStepAuth_Email: String { return self._s[490]! } + public var SettingsSearch_Synonyms_Notifications_ChannelNotificationsSound: String { return self._s[491]! } + public var PhotoEditor_BlurToolOff: String { return self._s[492]! } + public var Message_PinnedStickerMessage: String { return self._s[493]! } + public var ContactInfo_PhoneLabelPager: String { return self._s[494]! } + public var SettingsSearch_Synonyms_Appearance_TextSize: String { return self._s[495]! } + public var Passport_DiscardMessageTitle: String { return self._s[496]! } + public var Privacy_PaymentsTitle: String { return self._s[497]! } + public var Channel_DiscussionGroup_Header: String { return self._s[499]! } + public var Appearance_ColorTheme: String { return self._s[500]! } + public var UserInfo_ShareContact: String { return self._s[501]! } + public var Passport_Address_TypePassportRegistration: String { return self._s[502]! } + public var Common_More: String { return self._s[503]! } + public var Watch_Message_Call: String { return self._s[504]! } + public var Profile_EncryptionKey: String { return self._s[507]! } + public var Privacy_TopPeers: String { return self._s[508]! } + public var Conversation_StopPollConfirmation: String { return self._s[509]! } + public var Privacy_TopPeersWarning: String { return self._s[511]! } + public var SettingsSearch_Synonyms_Data_DownloadInBackground: String { return self._s[512]! } + public var SettingsSearch_Synonyms_Data_Storage_KeepMedia: String { return self._s[513]! } + public var DialogList_SearchSectionMessages: String { return self._s[516]! } + public var Notifications_ChannelNotifications: String { return self._s[517]! } + public var CheckoutInfo_ShippingInfoAddress1Placeholder: String { return self._s[518]! } + public var Passport_Language_sk: String { return self._s[519]! } + public var Notification_MessageLifetime1h: String { return self._s[520]! } + public var Wallpaper_ResetWallpapersInfo: String { return self._s[521]! } + public var Call_ReportSkip: String { return self._s[523]! } + public var Cache_ServiceFiles: String { return self._s[524]! } + public var Group_ErrorAddTooMuchAdmins: String { return self._s[525]! } + public var Map_Hybrid: String { return self._s[526]! } + public var Contacts_SearchUsersAndGroupsLabel: String { return self._s[528]! } + public var ChatSettings_AutoDownloadVideos: String { return self._s[530]! } + public var Channel_BanUser_PermissionEmbedLinks: String { return self._s[531]! } + public var InfoPlist_NSLocationAlwaysAndWhenInUseUsageDescription: String { return self._s[532]! } + public var SocksProxySetup_ProxyTelegram: String { return self._s[535]! } public func PUSH_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[535]!, self._r[535]!, [_1]) + return formatWithArgumentRanges(self._s[536]!, self._r[536]!, [_1]) } - public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[537]! } + public var Channel_Username_CreatePrivateLinkHelp: String { return self._s[538]! } public func PUSH_CHAT_TITLE_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[538]!, self._r[538]!, [_1, _2]) + return formatWithArgumentRanges(self._s[539]!, self._r[539]!, [_1, _2]) } - public var Conversation_LiveLocationYou: String { return self._s[539]! } - public var SettingsSearch_Synonyms_Privacy_Calls: String { return self._s[540]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsPreview: String { return self._s[541]! } - public var UserInfo_ShareBot: String { return self._s[544]! } + public var Conversation_LiveLocationYou: String { return self._s[540]! } + public var SettingsSearch_Synonyms_Privacy_Calls: String { return self._s[541]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsPreview: String { return self._s[542]! } + public var UserInfo_ShareBot: String { return self._s[545]! } public func PUSH_AUTH_REGION(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[545]!, self._r[545]!, [_1, _2]) + return formatWithArgumentRanges(self._s[546]!, self._r[546]!, [_1, _2]) } - public var PhotoEditor_ShadowsTint: String { return self._s[546]! } - public var Message_Audio: String { return self._s[547]! } - public var Passport_Language_lt: String { return self._s[548]! } + public var PhotoEditor_ShadowsTint: String { return self._s[547]! } + public var Message_Audio: String { return self._s[548]! } + public var Passport_Language_lt: String { return self._s[549]! } public func Message_PinnedTextMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[549]!, self._r[549]!, [_0]) + return formatWithArgumentRanges(self._s[550]!, self._r[550]!, [_0]) } - public var Permissions_SiriText_v0: String { return self._s[550]! } - public var Conversation_FileICloudDrive: String { return self._s[551]! } - public var Notifications_Badge_IncludeMutedChats: String { return self._s[552]! } + public var Permissions_SiriText_v0: String { return self._s[551]! } + public var Conversation_FileICloudDrive: String { return self._s[552]! } + public var Notifications_Badge_IncludeMutedChats: String { return self._s[553]! } public func Notification_NewAuthDetected(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[553]!, self._r[553]!, [_1, _2, _3, _4, _5, _6]) + return formatWithArgumentRanges(self._s[554]!, self._r[554]!, [_1, _2, _3, _4, _5, _6]) } - public var DialogList_ProxyConnectionIssuesTooltip: String { return self._s[554]! } + public var DialogList_ProxyConnectionIssuesTooltip: String { return self._s[555]! } public func Time_MonthOfYear_m5(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[555]!, self._r[555]!, [_0]) + return formatWithArgumentRanges(self._s[556]!, self._r[556]!, [_0]) } - public var Channel_SignMessages: String { return self._s[556]! } + public var Channel_SignMessages: String { return self._s[557]! } public func PUSH_MESSAGE_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[557]!, self._r[557]!, [_1]) + return formatWithArgumentRanges(self._s[558]!, self._r[558]!, [_1]) } - public var Compose_ChannelTokenListPlaceholder: String { return self._s[558]! } - public var Passport_ScanPassport: String { return self._s[559]! } - public var Watch_Suggestion_Thanks: String { return self._s[560]! } - public var BlockedUsers_AddNew: String { return self._s[561]! } + public var Compose_ChannelTokenListPlaceholder: String { return self._s[559]! } + public var Passport_ScanPassport: String { return self._s[560]! } + public var Watch_Suggestion_Thanks: String { return self._s[561]! } + public var BlockedUsers_AddNew: String { return self._s[562]! } public func PUSH_CHAT_MESSAGE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[562]!, self._r[562]!, [_1, _2]) + return formatWithArgumentRanges(self._s[563]!, self._r[563]!, [_1, _2]) } - public var Watch_Message_Invoice: String { return self._s[563]! } - public var SettingsSearch_Synonyms_Privacy_LastSeen: String { return self._s[564]! } - public var Month_GenJuly: String { return self._s[565]! } - public var SocksProxySetup_ProxySocks5: String { return self._s[566]! } - public var Notification_ChannelInviterSelf: String { return self._s[568]! } - public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[569]! } + public var Watch_Message_Invoice: String { return self._s[564]! } + public var SettingsSearch_Synonyms_Privacy_LastSeen: String { return self._s[565]! } + public var Month_GenJuly: String { return self._s[566]! } + public var SocksProxySetup_ProxySocks5: String { return self._s[567]! } + public var Notification_ChannelInviterSelf: String { return self._s[569]! } + public var CheckoutInfo_ReceiverInfoEmail: String { return self._s[570]! } public func ApplyLanguage_ChangeLanguageUnofficialText(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[570]!, self._r[570]!, [_1, _2]) + return formatWithArgumentRanges(self._s[571]!, self._r[571]!, [_1, _2]) } - public var CheckoutInfo_Title: String { return self._s[571]! } - public var Watch_Stickers_RecentPlaceholder: String { return self._s[572]! } + public var CheckoutInfo_Title: String { return self._s[572]! } + public var Watch_Stickers_RecentPlaceholder: String { return self._s[573]! } public func Map_DistanceAway(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[573]!, self._r[573]!, [_0]) + return formatWithArgumentRanges(self._s[574]!, self._r[574]!, [_0]) } - public var Passport_Identity_MainPage: String { return self._s[574]! } - public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[575]! } - public var Passport_Language_de: String { return self._s[576]! } - public var Update_Title: String { return self._s[577]! } - public var ContactInfo_PhoneLabelWorkFax: String { return self._s[578]! } - public var Channel_AdminLog_BanEmbedLinks: String { return self._s[579]! } - public var Passport_Email_UseTelegramEmailHelp: String { return self._s[580]! } - public var Notifications_ChannelNotificationsPreview: String { return self._s[581]! } - public var NotificationsSound_Telegraph: String { return self._s[582]! } - public var Watch_LastSeen_ALongTimeAgo: String { return self._s[583]! } - public var ChannelMembers_WhoCanAddMembers: String { return self._s[584]! } + public var Passport_Identity_MainPage: String { return self._s[575]! } + public var TwoStepAuth_ConfirmEmailResendCode: String { return self._s[576]! } + public var Passport_Language_de: String { return self._s[577]! } + public var Update_Title: String { return self._s[578]! } + public var ContactInfo_PhoneLabelWorkFax: String { return self._s[579]! } + public var Channel_AdminLog_BanEmbedLinks: String { return self._s[580]! } + public var Passport_Email_UseTelegramEmailHelp: String { return self._s[581]! } + public var Notifications_ChannelNotificationsPreview: String { return self._s[582]! } + public var NotificationsSound_Telegraph: String { return self._s[583]! } + public var Watch_LastSeen_ALongTimeAgo: String { return self._s[584]! } + public var ChannelMembers_WhoCanAddMembers: String { return self._s[585]! } public func AutoDownloadSettings_UpTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[585]!, self._r[585]!, [_0]) + return formatWithArgumentRanges(self._s[586]!, self._r[586]!, [_0]) } - public var Stickers_SuggestAll: String { return self._s[586]! } - public var Conversation_ForwardTitle: String { return self._s[587]! } + public var Stickers_SuggestAll: String { return self._s[587]! } + public var Conversation_ForwardTitle: String { return self._s[588]! } public func Notification_JoinedChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[588]!, self._r[588]!, [_0]) + return formatWithArgumentRanges(self._s[589]!, self._r[589]!, [_0]) } - public var Calls_NewCall: String { return self._s[589]! } - public var Call_StatusEnded: String { return self._s[590]! } - public var AutoDownloadSettings_DataUsageLow: String { return self._s[591]! } - public var Settings_ProxyConnected: String { return self._s[592]! } - public var Channel_AdminLogFilter_EventsPinned: String { return self._s[593]! } - public var PhotoEditor_QualityVeryLow: String { return self._s[594]! } - public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[595]! } - public var Passport_PasswordPlaceholder: String { return self._s[596]! } - public var Message_PinnedInvoice: String { return self._s[597]! } - public var Passport_Identity_IssueDate: String { return self._s[598]! } - public var Passport_Language_pl: String { return self._s[599]! } + public var Calls_NewCall: String { return self._s[590]! } + public var Call_StatusEnded: String { return self._s[591]! } + public var AutoDownloadSettings_DataUsageLow: String { return self._s[592]! } + public var Settings_ProxyConnected: String { return self._s[593]! } + public var Channel_AdminLogFilter_EventsPinned: String { return self._s[594]! } + public var PhotoEditor_QualityVeryLow: String { return self._s[595]! } + public var Channel_AdminLogFilter_EventsDeletedMessages: String { return self._s[596]! } + public var Passport_PasswordPlaceholder: String { return self._s[597]! } + public var Message_PinnedInvoice: String { return self._s[598]! } + public var Passport_Identity_IssueDate: String { return self._s[599]! } + public var Passport_Language_pl: String { return self._s[600]! } public func ChannelInfo_ChannelForbidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[600]!, self._r[600]!, [_0]) + return formatWithArgumentRanges(self._s[601]!, self._r[601]!, [_0]) } - public var SocksProxySetup_PasteFromClipboard: String { return self._s[601]! } - public var Call_StatusConnecting: String { return self._s[602]! } + public var SocksProxySetup_PasteFromClipboard: String { return self._s[602]! } + public var Call_StatusConnecting: String { return self._s[603]! } public func Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[603]!, self._r[603]!, [_0]) + return formatWithArgumentRanges(self._s[604]!, self._r[604]!, [_0]) } - public var ChatSettings_ConnectionType_UseProxy: String { return self._s[605]! } - public var Common_Edit: String { return self._s[606]! } - public var PrivacySettings_LastSeenNobody: String { return self._s[607]! } + public var ChatSettings_ConnectionType_UseProxy: String { return self._s[606]! } + public var Common_Edit: String { return self._s[607]! } + public var PrivacySettings_LastSeenNobody: String { return self._s[608]! } public func Notification_LeftChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[608]!, self._r[608]!, [_0]) + return formatWithArgumentRanges(self._s[609]!, self._r[609]!, [_0]) } - public var GroupInfo_ChatAdmins: String { return self._s[609]! } - public var PrivateDataSettings_Title: String { return self._s[610]! } - public var Login_CancelPhoneVerificationStop: String { return self._s[611]! } - public var ChatList_Read: String { return self._s[612]! } - public var Undo_ChatClearedForBothSides: String { return self._s[613]! } - public var GroupPermission_SectionTitle: String { return self._s[614]! } + public var GroupInfo_ChatAdmins: String { return self._s[610]! } + public var PrivateDataSettings_Title: String { return self._s[611]! } + public var Login_CancelPhoneVerificationStop: String { return self._s[612]! } + public var ChatList_Read: String { return self._s[613]! } + public var Undo_ChatClearedForBothSides: String { return self._s[614]! } + public var GroupPermission_SectionTitle: String { return self._s[615]! } public func PUSH_CHAT_LEFT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[616]!, self._r[616]!, [_1, _2]) + return formatWithArgumentRanges(self._s[617]!, self._r[617]!, [_1, _2]) } - public var Checkout_ErrorPaymentFailed: String { return self._s[617]! } - public var Update_UpdateApp: String { return self._s[618]! } - public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[619]! } - public var Settings_Appearance: String { return self._s[620]! } - public var SettingsSearch_Synonyms_Stickers_SuggestStickers: String { return self._s[622]! } - public var Watch_Location_Access: String { return self._s[623]! } - public var Group_Location_RemoveLocation: String { return self._s[624]! } + public var Checkout_ErrorPaymentFailed: String { return self._s[618]! } + public var Update_UpdateApp: String { return self._s[619]! } + public var Group_Username_RevokeExistingUsernamesInfo: String { return self._s[620]! } + public var Settings_Appearance: String { return self._s[621]! } + public var SettingsSearch_Synonyms_Stickers_SuggestStickers: String { return self._s[623]! } + public var Watch_Location_Access: String { return self._s[624]! } public var ShareMenu_CopyShareLink: String { return self._s[626]! } public var TwoStepAuth_SetupHintTitle: String { return self._s[627]! } public func DialogList_SingleRecordingVideoMessageSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { @@ -919,32 +919,32 @@ public final class PresentationStrings { public func Time_MonthOfYear_m2(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[673]!, self._r[673]!, [_0]) } - public var Group_Username_Title: String { return self._s[674]! } - public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[675]! } - public var Channel_EditMessageErrorGeneric: String { return self._s[676]! } - public var Privacy_Calls_IntegrationHelp: String { return self._s[677]! } - public var Preview_DeletePhoto: String { return self._s[678]! } - public var Appearance_AppIconFilledX: String { return self._s[679]! } - public var PrivacySettings_PrivacyTitle: String { return self._s[680]! } + public var StickerPacksSettings_ShowStickersButtonHelp: String { return self._s[674]! } + public var Channel_EditMessageErrorGeneric: String { return self._s[675]! } + public var Privacy_Calls_IntegrationHelp: String { return self._s[676]! } + public var Preview_DeletePhoto: String { return self._s[677]! } + public var Appearance_AppIconFilledX: String { return self._s[678]! } + public var PrivacySettings_PrivacyTitle: String { return self._s[679]! } public func Conversation_BotInteractiveUrlAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[681]!, self._r[681]!, [_0]) + return formatWithArgumentRanges(self._s[680]!, self._r[680]!, [_0]) } - public var Coub_TapForSound: String { return self._s[683]! } - public var Map_LocatingError: String { return self._s[684]! } - public var TwoStepAuth_EmailChangeSuccess: String { return self._s[686]! } - public var Passport_ForgottenPassword: String { return self._s[687]! } - public var GroupInfo_InviteLink_RevokeLink: String { return self._s[688]! } - public var StickerPacksSettings_ArchivedPacks: String { return self._s[689]! } - public var Login_TermsOfServiceSignupDecline: String { return self._s[691]! } - public var Channel_Moderator_AccessLevelRevoke: String { return self._s[692]! } - public var Message_Location: String { return self._s[693]! } - public var Passport_Identity_NamePlaceholder: String { return self._s[694]! } - public var Channel_Management_Title: String { return self._s[695]! } - public var DialogList_SearchSectionDialogs: String { return self._s[697]! } - public var Compose_NewChannel_Members: String { return self._s[698]! } + public var Coub_TapForSound: String { return self._s[682]! } + public var Map_LocatingError: String { return self._s[683]! } + public var TwoStepAuth_EmailChangeSuccess: String { return self._s[685]! } + public var Passport_ForgottenPassword: String { return self._s[686]! } + public var GroupInfo_InviteLink_RevokeLink: String { return self._s[687]! } + public var StickerPacksSettings_ArchivedPacks: String { return self._s[688]! } + public var Login_TermsOfServiceSignupDecline: String { return self._s[690]! } + public var Channel_Moderator_AccessLevelRevoke: String { return self._s[691]! } + public var Message_Location: String { return self._s[692]! } + public var Passport_Identity_NamePlaceholder: String { return self._s[693]! } + public var Channel_Management_Title: String { return self._s[694]! } + public var DialogList_SearchSectionDialogs: String { return self._s[696]! } + public var Compose_NewChannel_Members: String { return self._s[697]! } public func DialogList_SingleUploadingFileSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[699]!, self._r[699]!, [_0]) + return formatWithArgumentRanges(self._s[698]!, self._r[698]!, [_0]) } + public var GroupInfo_Location: String { return self._s[699]! } public var AutoNightTheme_ScheduledFrom: String { return self._s[700]! } public var PhotoEditor_WarmthTool: String { return self._s[701]! } public var Passport_Language_tr: String { return self._s[702]! } @@ -1100,463 +1100,463 @@ public final class PresentationStrings { public var LogoutOptions_LogOut: String { return self._s[844]! } public var Channel_AddBotErrorNoRights: String { return self._s[846]! } public var Passport_Identity_AddPassport: String { return self._s[847]! } - public var Call_Message: String { return self._s[848]! } - public var PhotoEditor_ExposureTool: String { return self._s[849]! } - public var Passport_FieldOneOf_Delimeter: String { return self._s[851]! } - public var Channel_AdminLog_CanBanUsers: String { return self._s[853]! } - public var Appearance_Preview: String { return self._s[854]! } - public var Compose_ChannelMembers: String { return self._s[855]! } - public var Conversation_DeleteManyMessages: String { return self._s[856]! } - public var ReportPeer_ReasonOther_Title: String { return self._s[857]! } - public var Checkout_ErrorProviderAccountTimeout: String { return self._s[858]! } - public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[859]! } - public var Channel_Stickers_CreateYourOwn: String { return self._s[862]! } - public var Conversation_UpdateTelegram: String { return self._s[863]! } + public var LocalGroup_ButtonTitle: String { return self._s[848]! } + public var Call_Message: String { return self._s[849]! } + public var PhotoEditor_ExposureTool: String { return self._s[850]! } + public var Passport_FieldOneOf_Delimeter: String { return self._s[852]! } + public var Channel_AdminLog_CanBanUsers: String { return self._s[854]! } + public var Appearance_Preview: String { return self._s[855]! } + public var Compose_ChannelMembers: String { return self._s[856]! } + public var Conversation_DeleteManyMessages: String { return self._s[857]! } + public var ReportPeer_ReasonOther_Title: String { return self._s[858]! } + public var Checkout_ErrorProviderAccountTimeout: String { return self._s[859]! } + public var TwoStepAuth_ResetAccountConfirmation: String { return self._s[860]! } + public var Channel_Stickers_CreateYourOwn: String { return self._s[863]! } + public var Conversation_UpdateTelegram: String { return self._s[864]! } public func Notification_PinnedPhotoMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[864]!, self._r[864]!, [_0]) + return formatWithArgumentRanges(self._s[865]!, self._r[865]!, [_0]) } public func PUSH_PINNED_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[865]!, self._r[865]!, [_1]) + return formatWithArgumentRanges(self._s[866]!, self._r[866]!, [_1]) } - public var GroupInfo_Administrators_Title: String { return self._s[866]! } - public var Privacy_Forwards_PreviewMessageText: String { return self._s[867]! } + public var GroupInfo_Administrators_Title: String { return self._s[867]! } + public var Privacy_Forwards_PreviewMessageText: String { return self._s[868]! } public func PrivacySettings_LastSeenNobodyPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[868]!, self._r[868]!, [_0]) + return formatWithArgumentRanges(self._s[869]!, self._r[869]!, [_0]) } - public var Tour_Title3: String { return self._s[869]! } - public var Channel_EditAdmin_PermissionInviteSubscribers: String { return self._s[870]! } - public var Clipboard_SendPhoto: String { return self._s[874]! } - public var MediaPicker_Videos: String { return self._s[875]! } - public var Passport_Email_Title: String { return self._s[876]! } + public var Tour_Title3: String { return self._s[870]! } + public var Channel_EditAdmin_PermissionInviteSubscribers: String { return self._s[871]! } + public var Clipboard_SendPhoto: String { return self._s[875]! } + public var MediaPicker_Videos: String { return self._s[876]! } + public var Passport_Email_Title: String { return self._s[877]! } public func PrivacySettings_LastSeenEverybodyMinus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[877]!, self._r[877]!, [_0]) + return formatWithArgumentRanges(self._s[878]!, self._r[878]!, [_0]) } - public var StickerPacksSettings_Title: String { return self._s[878]! } - public var Conversation_MessageDialogDelete: String { return self._s[879]! } - public var Privacy_Calls_CustomHelp: String { return self._s[881]! } - public var Message_Wallpaper: String { return self._s[882]! } - public var MemberSearch_BotSection: String { return self._s[883]! } - public var GroupInfo_SetSound: String { return self._s[884]! } - public var Core_ServiceUserStatus: String { return self._s[885]! } - public var LiveLocationUpdated_JustNow: String { return self._s[886]! } - public var Call_StatusFailed: String { return self._s[887]! } - public var TwoStepAuth_SetupPasswordDescription: String { return self._s[888]! } - public var TwoStepAuth_SetPassword: String { return self._s[889]! } - public var Permissions_PeopleNearbyText_v0: String { return self._s[890]! } + public var StickerPacksSettings_Title: String { return self._s[879]! } + public var Conversation_MessageDialogDelete: String { return self._s[880]! } + public var Privacy_Calls_CustomHelp: String { return self._s[882]! } + public var Message_Wallpaper: String { return self._s[883]! } + public var MemberSearch_BotSection: String { return self._s[884]! } + public var GroupInfo_SetSound: String { return self._s[885]! } + public var Core_ServiceUserStatus: String { return self._s[886]! } + public var LiveLocationUpdated_JustNow: String { return self._s[887]! } + public var Call_StatusFailed: String { return self._s[888]! } + public var TwoStepAuth_SetupPasswordDescription: String { return self._s[889]! } + public var TwoStepAuth_SetPassword: String { return self._s[890]! } + public var Permissions_PeopleNearbyText_v0: String { return self._s[891]! } public func SocksProxySetup_ProxyStatusPing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[892]!, self._r[892]!, [_0]) + return formatWithArgumentRanges(self._s[893]!, self._r[893]!, [_0]) } - public var Calls_SubmitRating: String { return self._s[893]! } - public var Profile_Username: String { return self._s[894]! } - public var Bot_DescriptionTitle: String { return self._s[895]! } - public var MaskStickerSettings_Title: String { return self._s[896]! } - public var SharedMedia_CategoryOther: String { return self._s[897]! } - public var GroupInfo_SetGroupPhoto: String { return self._s[898]! } - public var Common_NotNow: String { return self._s[899]! } - public var CallFeedback_IncludeLogsInfo: String { return self._s[900]! } - public var Conversation_ShareMyPhoneNumber: String { return self._s[901]! } - public var Map_Location: String { return self._s[902]! } - public var Invitation_JoinGroup: String { return self._s[903]! } - public var AutoDownloadSettings_Title: String { return self._s[905]! } - public var Conversation_DiscardVoiceMessageDescription: String { return self._s[906]! } - public var Channel_ErrorAddBlocked: String { return self._s[907]! } - public var Conversation_UnblockUser: String { return self._s[908]! } - public var Watch_Bot_Restart: String { return self._s[909]! } - public var TwoStepAuth_Title: String { return self._s[910]! } - public var Channel_AdminLog_BanSendMessages: String { return self._s[911]! } - public var Checkout_ShippingMethod: String { return self._s[912]! } - public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[913]! } + public var Calls_SubmitRating: String { return self._s[894]! } + public var Profile_Username: String { return self._s[895]! } + public var Bot_DescriptionTitle: String { return self._s[896]! } + public var MaskStickerSettings_Title: String { return self._s[897]! } + public var SharedMedia_CategoryOther: String { return self._s[898]! } + public var GroupInfo_SetGroupPhoto: String { return self._s[899]! } + public var Common_NotNow: String { return self._s[900]! } + public var CallFeedback_IncludeLogsInfo: String { return self._s[901]! } + public var Conversation_ShareMyPhoneNumber: String { return self._s[902]! } + public var Map_Location: String { return self._s[903]! } + public var Invitation_JoinGroup: String { return self._s[904]! } + public var AutoDownloadSettings_Title: String { return self._s[906]! } + public var Conversation_DiscardVoiceMessageDescription: String { return self._s[907]! } + public var Channel_ErrorAddBlocked: String { return self._s[908]! } + public var Conversation_UnblockUser: String { return self._s[909]! } + public var Watch_Bot_Restart: String { return self._s[910]! } + public var TwoStepAuth_Title: String { return self._s[911]! } + public var Channel_AdminLog_BanSendMessages: String { return self._s[912]! } + public var Checkout_ShippingMethod: String { return self._s[913]! } + public var Passport_Identity_OneOfTypeIdentityCard: String { return self._s[914]! } public func PUSH_CHAT_MESSAGE_STICKER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[914]!, self._r[914]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[915]!, self._r[915]!, [_1, _2, _3]) } public func Chat_UnsendMyMessagesAlertTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[916]!, self._r[916]!, [_0]) - } - public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[917]!, self._r[917]!, [_0]) } - public var SettingsSearch_Synonyms_Data_AutoplayGifs: String { return self._s[918]! } - public var AuthSessions_TerminateOtherSessions: String { return self._s[919]! } - public var Contacts_FailedToSendInvitesMessage: String { return self._s[920]! } - public var PrivacySettings_TwoStepAuth: String { return self._s[921]! } - public var Notification_Exceptions_PreviewAlwaysOn: String { return self._s[922]! } - public var SettingsSearch_Synonyms_Privacy_Passcode: String { return self._s[923]! } - public var Conversation_EditingMessagePanelMedia: String { return self._s[924]! } - public var Checkout_PaymentMethod_Title: String { return self._s[925]! } - public var SocksProxySetup_Connection: String { return self._s[926]! } - public var Group_MessagePhotoRemoved: String { return self._s[927]! } - public var Channel_Stickers_NotFound: String { return self._s[929]! } - public var Group_About_Help: String { return self._s[930]! } - public var Notification_PassportValueProofOfIdentity: String { return self._s[931]! } - public var PeopleNearby_Title: String { return self._s[933]! } + public func Channel_Username_LinkHint(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[918]!, self._r[918]!, [_0]) + } + public var SettingsSearch_Synonyms_Data_AutoplayGifs: String { return self._s[919]! } + public var AuthSessions_TerminateOtherSessions: String { return self._s[920]! } + public var Contacts_FailedToSendInvitesMessage: String { return self._s[921]! } + public var PrivacySettings_TwoStepAuth: String { return self._s[922]! } + public var Notification_Exceptions_PreviewAlwaysOn: String { return self._s[923]! } + public var SettingsSearch_Synonyms_Privacy_Passcode: String { return self._s[924]! } + public var Conversation_EditingMessagePanelMedia: String { return self._s[925]! } + public var Checkout_PaymentMethod_Title: String { return self._s[926]! } + public var SocksProxySetup_Connection: String { return self._s[927]! } + public var Group_MessagePhotoRemoved: String { return self._s[928]! } + public var Channel_Stickers_NotFound: String { return self._s[930]! } + public var Group_About_Help: String { return self._s[931]! } + public var Notification_PassportValueProofOfIdentity: String { return self._s[932]! } + public var PeopleNearby_Title: String { return self._s[934]! } public func ApplyLanguage_ChangeLanguageOfficialText(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[934]!, self._r[934]!, [_1]) + return formatWithArgumentRanges(self._s[935]!, self._r[935]!, [_1]) } - public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[936]! } - public var Notifications_GroupNotificationsExceptionsHelp: String { return self._s[937]! } - public var SocksProxySetup_Password: String { return self._s[938]! } - public var Notifications_PermissionsEnable: String { return self._s[939]! } + public var CheckoutInfo_ShippingInfoStatePlaceholder: String { return self._s[937]! } + public var Notifications_GroupNotificationsExceptionsHelp: String { return self._s[938]! } + public var SocksProxySetup_Password: String { return self._s[939]! } + public var Notifications_PermissionsEnable: String { return self._s[940]! } public func Channel_AdminLog_MessageRemovedGroupGeoLocation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[941]!, self._r[941]!, [_0]) + return formatWithArgumentRanges(self._s[942]!, self._r[942]!, [_0]) } - public var TwoStepAuth_ChangeEmail: String { return self._s[942]! } + public var TwoStepAuth_ChangeEmail: String { return self._s[943]! } public func Channel_AdminLog_MessageInvitedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[943]!, self._r[943]!, [_1]) + return formatWithArgumentRanges(self._s[944]!, self._r[944]!, [_1]) } public func Time_MonthOfYear_m10(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[945]!, self._r[945]!, [_0]) + return formatWithArgumentRanges(self._s[946]!, self._r[946]!, [_0]) } - public var Passport_Identity_TypeDriversLicense: String { return self._s[946]! } - public var ArchivedPacksAlert_Title: String { return self._s[947]! } + public var Passport_Identity_TypeDriversLicense: String { return self._s[947]! } + public var ArchivedPacksAlert_Title: String { return self._s[948]! } public func Time_PreciseDate_m7(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[948]!, self._r[948]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[949]!, self._r[949]!, [_1, _2, _3]) } - public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[949]! } - public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[951]! } - public var Conversation_StatusTyping: String { return self._s[952]! } - public var Broadcast_AdminLog_EmptyText: String { return self._s[953]! } - public var Notification_PassportValueProofOfAddress: String { return self._s[954]! } - public var UserInfo_CreateNewContact: String { return self._s[955]! } - public var Passport_Identity_FrontSide: String { return self._s[956]! } - public var Login_PhoneNumberAlreadyAuthorizedSwitch: String { return self._s[957]! } - public var Calls_CallTabTitle: String { return self._s[958]! } - public var Channel_AdminLog_ChannelEmptyText: String { return self._s[959]! } + public var PrivacyLastSeenSettings_GroupsAndChannelsHelp: String { return self._s[950]! } + public var Privacy_Calls_NeverAllow_Placeholder: String { return self._s[952]! } + public var Conversation_StatusTyping: String { return self._s[953]! } + public var Broadcast_AdminLog_EmptyText: String { return self._s[954]! } + public var Notification_PassportValueProofOfAddress: String { return self._s[955]! } + public var UserInfo_CreateNewContact: String { return self._s[956]! } + public var Passport_Identity_FrontSide: String { return self._s[957]! } + public var Login_PhoneNumberAlreadyAuthorizedSwitch: String { return self._s[958]! } + public var Calls_CallTabTitle: String { return self._s[959]! } + public var Channel_AdminLog_ChannelEmptyText: String { return self._s[960]! } public func Login_BannedPhoneBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[960]!, self._r[960]!, [_0]) + return formatWithArgumentRanges(self._s[961]!, self._r[961]!, [_0]) } - public var Watch_UserInfo_MuteTitle: String { return self._s[961]! } - public var SharedMedia_EmptyMusicText: String { return self._s[962]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[963]! } - public var Paint_Stickers: String { return self._s[964]! } - public var Privacy_GroupsAndChannels: String { return self._s[965]! } - public var UserInfo_AddContact: String { return self._s[967]! } + public var Watch_UserInfo_MuteTitle: String { return self._s[962]! } + public var SharedMedia_EmptyMusicText: String { return self._s[963]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1minute: String { return self._s[964]! } + public var Paint_Stickers: String { return self._s[965]! } + public var Privacy_GroupsAndChannels: String { return self._s[966]! } + public var UserInfo_AddContact: String { return self._s[968]! } public func Conversation_MessageViaUser(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[968]!, self._r[968]!, [_0]) + return formatWithArgumentRanges(self._s[969]!, self._r[969]!, [_0]) } - public var PhoneNumberHelp_ChangeNumber: String { return self._s[970]! } + public var PhoneNumberHelp_ChangeNumber: String { return self._s[971]! } public func ChatList_ClearChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[972]!, self._r[972]!, [_0]) + return formatWithArgumentRanges(self._s[973]!, self._r[973]!, [_0]) } - public var DialogList_NoMessagesTitle: String { return self._s[973]! } - public var EditProfile_NameAndPhotoHelp: String { return self._s[974]! } - public var BlockedUsers_BlockUser: String { return self._s[975]! } - public var Notifications_PermissionsOpenSettings: String { return self._s[976]! } - public var MediaPicker_UngroupDescription: String { return self._s[977]! } - public var Watch_NoConnection: String { return self._s[978]! } - public var Month_GenSeptember: String { return self._s[979]! } - public var Conversation_ViewGroup: String { return self._s[980]! } - public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[983]! } - public var Privacy_Forwards_AlwaysLink: String { return self._s[984]! } - public var Channel_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[985]! } - public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[986]! } - public var MediaPicker_CameraRoll: String { return self._s[988]! } - public var Month_GenAugust: String { return self._s[989]! } - public var AccessDenied_VideoMessageMicrophone: String { return self._s[990]! } - public var SharedMedia_EmptyText: String { return self._s[991]! } - public var Map_ShareLiveLocation: String { return self._s[992]! } - public var Calls_All: String { return self._s[993]! } - public var Appearance_ThemeNight: String { return self._s[996]! } - public var Conversation_HoldForAudio: String { return self._s[997]! } - public var SettingsSearch_Synonyms_Support: String { return self._s[1000]! } - public var GroupInfo_GroupHistoryHidden: String { return self._s[1001]! } - public var SocksProxySetup_Secret: String { return self._s[1002]! } - public var Channel_BanList_RestrictedTitle: String { return self._s[1004]! } - public var Conversation_Location: String { return self._s[1005]! } + public var DialogList_NoMessagesTitle: String { return self._s[974]! } + public var EditProfile_NameAndPhotoHelp: String { return self._s[975]! } + public var BlockedUsers_BlockUser: String { return self._s[976]! } + public var Notifications_PermissionsOpenSettings: String { return self._s[977]! } + public var MediaPicker_UngroupDescription: String { return self._s[978]! } + public var Watch_NoConnection: String { return self._s[979]! } + public var Month_GenSeptember: String { return self._s[980]! } + public var Conversation_ViewGroup: String { return self._s[981]! } + public var Channel_AdminLogFilter_EventsLeavingSubscribers: String { return self._s[984]! } + public var Privacy_Forwards_AlwaysLink: String { return self._s[985]! } + public var Channel_OwnershipTransfer_ErrorAdminsTooMuch: String { return self._s[986]! } + public var Passport_FieldOneOf_FinalDelimeter: String { return self._s[987]! } + public var MediaPicker_CameraRoll: String { return self._s[989]! } + public var Month_GenAugust: String { return self._s[990]! } + public var AccessDenied_VideoMessageMicrophone: String { return self._s[991]! } + public var SharedMedia_EmptyText: String { return self._s[992]! } + public var Map_ShareLiveLocation: String { return self._s[993]! } + public var Calls_All: String { return self._s[994]! } + public var Appearance_ThemeNight: String { return self._s[997]! } + public var Conversation_HoldForAudio: String { return self._s[998]! } + public var SettingsSearch_Synonyms_Support: String { return self._s[1001]! } + public var GroupInfo_GroupHistoryHidden: String { return self._s[1002]! } + public var SocksProxySetup_Secret: String { return self._s[1003]! } + public var Channel_BanList_RestrictedTitle: String { return self._s[1005]! } + public var Conversation_Location: String { return self._s[1006]! } public func AutoDownloadSettings_UpToFor(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1006]!, self._r[1006]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1007]!, self._r[1007]!, [_1, _2]) } - public var ChatSettings_AutoDownloadPhotos: String { return self._s[1008]! } - public var SettingsSearch_Synonyms_Privacy_Title: String { return self._s[1009]! } - public var Notifications_PermissionsText: String { return self._s[1010]! } - public var SettingsSearch_Synonyms_Data_SaveIncomingPhotos: String { return self._s[1011]! } - public var Call_Flip: String { return self._s[1012]! } - public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[1013]! } - public var Channel_EditAdmin_PermissionPinMessages: String { return self._s[1015]! } - public var TwoStepAuth_ReEnterPasswordDescription: String { return self._s[1017]! } - public var Passport_DeletePassportConfirmation: String { return self._s[1019]! } - public var Login_InvalidCodeError: String { return self._s[1020]! } - public var StickerPacksSettings_FeaturedPacks: String { return self._s[1021]! } + public var ChatSettings_AutoDownloadPhotos: String { return self._s[1009]! } + public var SettingsSearch_Synonyms_Privacy_Title: String { return self._s[1010]! } + public var Notifications_PermissionsText: String { return self._s[1011]! } + public var SettingsSearch_Synonyms_Data_SaveIncomingPhotos: String { return self._s[1012]! } + public var Call_Flip: String { return self._s[1013]! } + public var SocksProxySetup_ProxyStatusConnecting: String { return self._s[1014]! } + public var Channel_EditAdmin_PermissionPinMessages: String { return self._s[1016]! } + public var TwoStepAuth_ReEnterPasswordDescription: String { return self._s[1018]! } + public var Passport_DeletePassportConfirmation: String { return self._s[1020]! } + public var Login_InvalidCodeError: String { return self._s[1021]! } + public var StickerPacksSettings_FeaturedPacks: String { return self._s[1022]! } public func ChatList_DeleteSecretChatConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1022]!, self._r[1022]!, [_0]) - } - public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1023]!, self._r[1023]!, [_0]) } - public var Call_CallInProgressTitle: String { return self._s[1024]! } - public var Month_ShortSeptember: String { return self._s[1025]! } - public var Watch_ChannelInfo_Title: String { return self._s[1026]! } - public var ChatList_DeleteSavedMessagesConfirmation: String { return self._s[1029]! } - public var DialogList_PasscodeLockHelp: String { return self._s[1030]! } - public var Notifications_Badge_IncludePublicGroups: String { return self._s[1031]! } - public var Channel_AdminLogFilter_EventsTitle: String { return self._s[1032]! } - public var PhotoEditor_CropReset: String { return self._s[1033]! } - public var Group_Username_CreatePrivateLinkHelp: String { return self._s[1035]! } - public var Channel_Management_LabelEditor: String { return self._s[1036]! } - public var Passport_Identity_LatinNameHelp: String { return self._s[1038]! } - public var PhotoEditor_HighlightsTool: String { return self._s[1039]! } - public var UserInfo_Title: String { return self._s[1040]! } - public var ChatList_HideAction: String { return self._s[1041]! } - public var AccessDenied_Title: String { return self._s[1042]! } - public var DialogList_SearchLabel: String { return self._s[1043]! } - public var Group_Setup_HistoryHidden: String { return self._s[1044]! } - public var TwoStepAuth_PasswordChangeSuccess: String { return self._s[1045]! } - public var State_Updating: String { return self._s[1047]! } - public var Contacts_TabTitle: String { return self._s[1048]! } - public var Notifications_Badge_CountUnreadMessages: String { return self._s[1050]! } - public var GroupInfo_GroupHistory: String { return self._s[1051]! } - public var Conversation_UnsupportedMediaPlaceholder: String { return self._s[1052]! } - public var Wallpaper_SetColor: String { return self._s[1053]! } - public var CheckoutInfo_ShippingInfoCountry: String { return self._s[1054]! } - public var SettingsSearch_Synonyms_SavedMessages: String { return self._s[1055]! } - public var Passport_Identity_OneOfTypeDriversLicense: String { return self._s[1056]! } - public var Contacts_NotRegisteredSection: String { return self._s[1057]! } + public func GroupInfo_InvitationLinkAcceptChannel(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[1024]!, self._r[1024]!, [_0]) + } + public var Call_CallInProgressTitle: String { return self._s[1025]! } + public var Month_ShortSeptember: String { return self._s[1026]! } + public var Watch_ChannelInfo_Title: String { return self._s[1027]! } + public var ChatList_DeleteSavedMessagesConfirmation: String { return self._s[1030]! } + public var DialogList_PasscodeLockHelp: String { return self._s[1031]! } + public var Notifications_Badge_IncludePublicGroups: String { return self._s[1032]! } + public var Channel_AdminLogFilter_EventsTitle: String { return self._s[1033]! } + public var PhotoEditor_CropReset: String { return self._s[1034]! } + public var Group_Username_CreatePrivateLinkHelp: String { return self._s[1036]! } + public var Channel_Management_LabelEditor: String { return self._s[1037]! } + public var Passport_Identity_LatinNameHelp: String { return self._s[1039]! } + public var PhotoEditor_HighlightsTool: String { return self._s[1040]! } + public var UserInfo_Title: String { return self._s[1041]! } + public var ChatList_HideAction: String { return self._s[1042]! } + public var AccessDenied_Title: String { return self._s[1043]! } + public var DialogList_SearchLabel: String { return self._s[1044]! } + public var Group_Setup_HistoryHidden: String { return self._s[1045]! } + public var TwoStepAuth_PasswordChangeSuccess: String { return self._s[1046]! } + public var State_Updating: String { return self._s[1048]! } + public var Contacts_TabTitle: String { return self._s[1049]! } + public var Notifications_Badge_CountUnreadMessages: String { return self._s[1051]! } + public var GroupInfo_GroupHistory: String { return self._s[1052]! } + public var Conversation_UnsupportedMediaPlaceholder: String { return self._s[1053]! } + public var Wallpaper_SetColor: String { return self._s[1054]! } + public var CheckoutInfo_ShippingInfoCountry: String { return self._s[1055]! } + public var SettingsSearch_Synonyms_SavedMessages: String { return self._s[1056]! } + public var Passport_Identity_OneOfTypeDriversLicense: String { return self._s[1057]! } + public var Contacts_NotRegisteredSection: String { return self._s[1058]! } public func Time_PreciseDate_m4(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1058]!, self._r[1058]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1059]!, self._r[1059]!, [_1, _2, _3]) } - public var Paint_Clear: String { return self._s[1059]! } - public var StickerPacksSettings_ArchivedMasks: String { return self._s[1060]! } - public var SocksProxySetup_Connecting: String { return self._s[1061]! } - public var ExplicitContent_AlertChannel: String { return self._s[1062]! } - public var CreatePoll_AllOptionsAdded: String { return self._s[1063]! } - public var Conversation_Contact: String { return self._s[1064]! } - public var Login_CodeExpired: String { return self._s[1065]! } - public var Passport_DiscardMessageAction: String { return self._s[1066]! } - public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[1067]! } - public var Channel_AdminLog_EmptyMessageText: String { return self._s[1068]! } - public var SettingsSearch_Synonyms_Data_NetworkUsage: String { return self._s[1069]! } - public var Month_ShortApril: String { return self._s[1070]! } - public var AuthSessions_CurrentSession: String { return self._s[1071]! } - public var WallpaperPreview_CropTopText: String { return self._s[1075]! } - public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[1076]! } - public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1077]! } - public var Channel_Setup_TypePrivate: String { return self._s[1079]! } - public var Forward_ChannelReadOnly: String { return self._s[1082]! } - public var PhotoEditor_CurvesBlue: String { return self._s[1083]! } - public var AddContact_SharedContactException: String { return self._s[1084]! } - public var UserInfo_BotPrivacy: String { return self._s[1085]! } - public var Notification_PassportValueEmail: String { return self._s[1086]! } - public var EmptyGroupInfo_Subtitle: String { return self._s[1087]! } - public var GroupPermission_NewTitle: String { return self._s[1088]! } - public var CallFeedback_ReasonDropped: String { return self._s[1089]! } - public var GroupInfo_Permissions_AddException: String { return self._s[1090]! } - public var Channel_SignMessages_Help: String { return self._s[1092]! } - public var Undo_ChatDeleted: String { return self._s[1094]! } - public var Conversation_ChatBackground: String { return self._s[1095]! } - public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[1096]! } - public var FastTwoStepSetup_EmailPlaceholder: String { return self._s[1097]! } - public var Passport_Language_pt: String { return self._s[1098]! } - public var NotificationsSound_Popcorn: String { return self._s[1101]! } - public var AutoNightTheme_Disabled: String { return self._s[1102]! } - public var BlockedUsers_LeavePrefix: String { return self._s[1103]! } - public var WallpaperPreview_CustomColorTopText: String { return self._s[1104]! } - public var Contacts_PermissionsSuppressWarningText: String { return self._s[1105]! } - public var WallpaperSearch_ColorBlue: String { return self._s[1106]! } + public var Paint_Clear: String { return self._s[1060]! } + public var StickerPacksSettings_ArchivedMasks: String { return self._s[1061]! } + public var SocksProxySetup_Connecting: String { return self._s[1062]! } + public var ExplicitContent_AlertChannel: String { return self._s[1063]! } + public var CreatePoll_AllOptionsAdded: String { return self._s[1064]! } + public var Conversation_Contact: String { return self._s[1065]! } + public var Login_CodeExpired: String { return self._s[1066]! } + public var Passport_DiscardMessageAction: String { return self._s[1067]! } + public var Channel_AdminLog_MessagePreviousDescription: String { return self._s[1068]! } + public var Channel_AdminLog_EmptyMessageText: String { return self._s[1069]! } + public var SettingsSearch_Synonyms_Data_NetworkUsage: String { return self._s[1070]! } + public var Month_ShortApril: String { return self._s[1071]! } + public var AuthSessions_CurrentSession: String { return self._s[1072]! } + public var WallpaperPreview_CropTopText: String { return self._s[1076]! } + public var PrivacySettings_DeleteAccountIfAwayFor: String { return self._s[1077]! } + public var CheckoutInfo_ShippingInfoTitle: String { return self._s[1078]! } + public var Channel_Setup_TypePrivate: String { return self._s[1080]! } + public var Forward_ChannelReadOnly: String { return self._s[1083]! } + public var PhotoEditor_CurvesBlue: String { return self._s[1084]! } + public var AddContact_SharedContactException: String { return self._s[1085]! } + public var UserInfo_BotPrivacy: String { return self._s[1086]! } + public var Notification_PassportValueEmail: String { return self._s[1087]! } + public var EmptyGroupInfo_Subtitle: String { return self._s[1088]! } + public var GroupPermission_NewTitle: String { return self._s[1089]! } + public var CallFeedback_ReasonDropped: String { return self._s[1090]! } + public var GroupInfo_Permissions_AddException: String { return self._s[1091]! } + public var Channel_SignMessages_Help: String { return self._s[1093]! } + public var Undo_ChatDeleted: String { return self._s[1095]! } + public var Conversation_ChatBackground: String { return self._s[1096]! } + public var ChannelMembers_WhoCanAddMembers_Admins: String { return self._s[1097]! } + public var FastTwoStepSetup_EmailPlaceholder: String { return self._s[1098]! } + public var Passport_Language_pt: String { return self._s[1099]! } + public var NotificationsSound_Popcorn: String { return self._s[1102]! } + public var AutoNightTheme_Disabled: String { return self._s[1103]! } + public var BlockedUsers_LeavePrefix: String { return self._s[1104]! } + public var WallpaperPreview_CustomColorTopText: String { return self._s[1105]! } + public var Contacts_PermissionsSuppressWarningText: String { return self._s[1106]! } + public var WallpaperSearch_ColorBlue: String { return self._s[1107]! } public func CancelResetAccount_TextSMS(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1107]!, self._r[1107]!, [_0]) + return formatWithArgumentRanges(self._s[1108]!, self._r[1108]!, [_0]) } - public var CheckoutInfo_ErrorNameInvalid: String { return self._s[1108]! } - public var SocksProxySetup_UseForCalls: String { return self._s[1109]! } - public var Passport_DeleteDocumentConfirmation: String { return self._s[1111]! } + public var CheckoutInfo_ErrorNameInvalid: String { return self._s[1109]! } + public var SocksProxySetup_UseForCalls: String { return self._s[1110]! } + public var Passport_DeleteDocumentConfirmation: String { return self._s[1112]! } public func Conversation_Megabytes(_ _0: Float) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1112]!, self._r[1112]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1113]!, self._r[1113]!, ["\(_0)"]) } - public var SocksProxySetup_Hostname: String { return self._s[1115]! } - public var ChatSettings_AutoDownloadSettings_OffForAll: String { return self._s[1116]! } - public var Compose_NewEncryptedChat: String { return self._s[1117]! } - public var Login_CodeFloodError: String { return self._s[1118]! } - public var Calls_TabTitle: String { return self._s[1119]! } - public var Privacy_ProfilePhoto: String { return self._s[1120]! } - public var Passport_Language_he: String { return self._s[1121]! } - public var GroupPermission_Title: String { return self._s[1122]! } + public var SocksProxySetup_Hostname: String { return self._s[1116]! } + public var ChatSettings_AutoDownloadSettings_OffForAll: String { return self._s[1117]! } + public var Compose_NewEncryptedChat: String { return self._s[1118]! } + public var Login_CodeFloodError: String { return self._s[1119]! } + public var Calls_TabTitle: String { return self._s[1120]! } + public var Privacy_ProfilePhoto: String { return self._s[1121]! } + public var Passport_Language_he: String { return self._s[1122]! } + public var GroupPermission_Title: String { return self._s[1123]! } public func Channel_AdminLog_MessageGroupPreHistoryHidden(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1123]!, self._r[1123]!, [_0]) + return formatWithArgumentRanges(self._s[1124]!, self._r[1124]!, [_0]) } - public var GroupPermission_NoChangeInfo: String { return self._s[1124]! } - public var ChatList_DeleteForCurrentUser: String { return self._s[1125]! } - public var Tour_Text1: String { return self._s[1126]! } - public var Channel_EditAdmin_TransferOwnership: String { return self._s[1127]! } - public var Month_ShortFebruary: String { return self._s[1128]! } - public var TwoStepAuth_EmailSkip: String { return self._s[1129]! } - public var NotificationsSound_Glass: String { return self._s[1130]! } - public var Appearance_ThemeNightBlue: String { return self._s[1131]! } - public var CheckoutInfo_Pay: String { return self._s[1132]! } - public var Invite_LargeRecipientsCountWarning: String { return self._s[1134]! } - public var Call_CallAgain: String { return self._s[1136]! } - public var AttachmentMenu_SendAsFile: String { return self._s[1137]! } - public var AccessDenied_MicrophoneRestricted: String { return self._s[1138]! } - public var Passport_InvalidPasswordError: String { return self._s[1139]! } - public var Watch_Message_Game: String { return self._s[1140]! } - public var Stickers_Install: String { return self._s[1141]! } - public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[1142]! } - public var Passport_Identity_ResidenceCountry: String { return self._s[1144]! } - public var Notifications_GroupNotificationsHelp: String { return self._s[1145]! } - public var AuthSessions_OtherSessions: String { return self._s[1146]! } - public var Channel_Username_Help: String { return self._s[1147]! } - public var Camera_Title: String { return self._s[1148]! } - public var GroupInfo_SetGroupPhotoDelete: String { return self._s[1150]! } - public var Privacy_ProfilePhoto_NeverShareWith_Title: String { return self._s[1151]! } - public var Channel_AdminLog_SendPolls: String { return self._s[1152]! } - public var Channel_AdminLog_TitleAllEvents: String { return self._s[1153]! } - public var Channel_EditAdmin_PermissionInviteMembers: String { return self._s[1154]! } - public var Contacts_MemberSearchSectionTitleGroup: String { return self._s[1155]! } - public var Conversation_RestrictedStickers: String { return self._s[1156]! } - public var Notifications_ExceptionsResetToDefaults: String { return self._s[1158]! } - public var UserInfo_TelegramCall: String { return self._s[1160]! } - public var TwoStepAuth_SetupResendEmailCode: String { return self._s[1161]! } - public var CreatePoll_OptionsHeader: String { return self._s[1162]! } - public var SettingsSearch_Synonyms_Data_CallsUseLessData: String { return self._s[1163]! } - public var ArchivedChats_IntroTitle1: String { return self._s[1164]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[1165]! } - public var Passport_Identity_EditPersonalDetails: String { return self._s[1166]! } + public var GroupPermission_NoChangeInfo: String { return self._s[1125]! } + public var ChatList_DeleteForCurrentUser: String { return self._s[1126]! } + public var Tour_Text1: String { return self._s[1127]! } + public var Channel_EditAdmin_TransferOwnership: String { return self._s[1128]! } + public var Month_ShortFebruary: String { return self._s[1129]! } + public var TwoStepAuth_EmailSkip: String { return self._s[1130]! } + public var NotificationsSound_Glass: String { return self._s[1131]! } + public var Appearance_ThemeNightBlue: String { return self._s[1132]! } + public var CheckoutInfo_Pay: String { return self._s[1133]! } + public var Invite_LargeRecipientsCountWarning: String { return self._s[1135]! } + public var Call_CallAgain: String { return self._s[1137]! } + public var AttachmentMenu_SendAsFile: String { return self._s[1138]! } + public var AccessDenied_MicrophoneRestricted: String { return self._s[1139]! } + public var Passport_InvalidPasswordError: String { return self._s[1140]! } + public var Watch_Message_Game: String { return self._s[1141]! } + public var Stickers_Install: String { return self._s[1142]! } + public var PrivacyLastSeenSettings_NeverShareWith: String { return self._s[1143]! } + public var Passport_Identity_ResidenceCountry: String { return self._s[1145]! } + public var Notifications_GroupNotificationsHelp: String { return self._s[1146]! } + public var AuthSessions_OtherSessions: String { return self._s[1147]! } + public var Channel_Username_Help: String { return self._s[1148]! } + public var Camera_Title: String { return self._s[1149]! } + public var GroupInfo_SetGroupPhotoDelete: String { return self._s[1151]! } + public var Privacy_ProfilePhoto_NeverShareWith_Title: String { return self._s[1152]! } + public var Channel_AdminLog_SendPolls: String { return self._s[1153]! } + public var Channel_AdminLog_TitleAllEvents: String { return self._s[1154]! } + public var Channel_EditAdmin_PermissionInviteMembers: String { return self._s[1155]! } + public var Contacts_MemberSearchSectionTitleGroup: String { return self._s[1156]! } + public var Conversation_RestrictedStickers: String { return self._s[1157]! } + public var Notifications_ExceptionsResetToDefaults: String { return self._s[1159]! } + public var UserInfo_TelegramCall: String { return self._s[1161]! } + public var TwoStepAuth_SetupResendEmailCode: String { return self._s[1162]! } + public var CreatePoll_OptionsHeader: String { return self._s[1163]! } + public var SettingsSearch_Synonyms_Data_CallsUseLessData: String { return self._s[1164]! } + public var ArchivedChats_IntroTitle1: String { return self._s[1165]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Title: String { return self._s[1166]! } + public var Passport_Identity_EditPersonalDetails: String { return self._s[1167]! } public func Time_PreciseDate_m1(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1167]!, self._r[1167]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1168]!, self._r[1168]!, [_1, _2, _3]) } - public var Settings_SaveEditedPhotos: String { return self._s[1168]! } - public var TwoStepAuth_ConfirmationTitle: String { return self._s[1169]! } - public var Privacy_GroupsAndChannels_NeverAllow_Title: String { return self._s[1170]! } - public var Conversation_MessageDialogRetry: String { return self._s[1171]! } - public var Conversation_DiscardVoiceMessageAction: String { return self._s[1172]! } - public var Permissions_PeopleNearbyTitle_v0: String { return self._s[1173]! } - public var Group_Setup_TypeHeader: String { return self._s[1174]! } - public var Paint_RecentStickers: String { return self._s[1175]! } - public var PhotoEditor_GrainTool: String { return self._s[1176]! } - public var CheckoutInfo_ShippingInfoState: String { return self._s[1177]! } - public var EmptyGroupInfo_Line4: String { return self._s[1178]! } - public var Watch_AuthRequired: String { return self._s[1180]! } + public var Settings_SaveEditedPhotos: String { return self._s[1169]! } + public var TwoStepAuth_ConfirmationTitle: String { return self._s[1170]! } + public var Privacy_GroupsAndChannels_NeverAllow_Title: String { return self._s[1171]! } + public var Conversation_MessageDialogRetry: String { return self._s[1172]! } + public var Conversation_DiscardVoiceMessageAction: String { return self._s[1173]! } + public var Permissions_PeopleNearbyTitle_v0: String { return self._s[1174]! } + public var Group_Setup_TypeHeader: String { return self._s[1175]! } + public var Paint_RecentStickers: String { return self._s[1176]! } + public var PhotoEditor_GrainTool: String { return self._s[1177]! } + public var CheckoutInfo_ShippingInfoState: String { return self._s[1178]! } + public var EmptyGroupInfo_Line4: String { return self._s[1179]! } + public var Watch_AuthRequired: String { return self._s[1181]! } public func Passport_Email_UseTelegramEmail(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1181]!, self._r[1181]!, [_0]) + return formatWithArgumentRanges(self._s[1182]!, self._r[1182]!, [_0]) } - public var Conversation_EncryptedDescriptionTitle: String { return self._s[1182]! } - public var ChannelIntro_Text: String { return self._s[1183]! } - public var DialogList_DeleteBotConfirmation: String { return self._s[1184]! } - public var GroupPermission_NoSendMedia: String { return self._s[1185]! } - public var Calls_AddTab: String { return self._s[1186]! } - public var Message_ReplyActionButtonShowReceipt: String { return self._s[1187]! } - public var Channel_AdminLog_EmptyFilterText: String { return self._s[1188]! } - public var Notification_MessageLifetime1d: String { return self._s[1189]! } - public var Notifications_ChannelNotificationsExceptionsHelp: String { return self._s[1190]! } - public var Channel_BanUser_PermissionsHeader: String { return self._s[1191]! } - public var Passport_Identity_GenderFemale: String { return self._s[1192]! } - public var BlockedUsers_BlockTitle: String { return self._s[1193]! } + public var Conversation_EncryptedDescriptionTitle: String { return self._s[1183]! } + public var ChannelIntro_Text: String { return self._s[1184]! } + public var DialogList_DeleteBotConfirmation: String { return self._s[1185]! } + public var GroupPermission_NoSendMedia: String { return self._s[1186]! } + public var Calls_AddTab: String { return self._s[1187]! } + public var Message_ReplyActionButtonShowReceipt: String { return self._s[1188]! } + public var Channel_AdminLog_EmptyFilterText: String { return self._s[1189]! } + public var Notification_MessageLifetime1d: String { return self._s[1190]! } + public var Notifications_ChannelNotificationsExceptionsHelp: String { return self._s[1191]! } + public var Channel_BanUser_PermissionsHeader: String { return self._s[1192]! } + public var Passport_Identity_GenderFemale: String { return self._s[1193]! } + public var BlockedUsers_BlockTitle: String { return self._s[1194]! } public func PUSH_CHANNEL_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1194]!, self._r[1194]!, [_1]) + return formatWithArgumentRanges(self._s[1195]!, self._r[1195]!, [_1]) } - public var Weekday_Yesterday: String { return self._s[1195]! } - public var WallpaperSearch_ColorBlack: String { return self._s[1196]! } - public var ChatList_ArchiveAction: String { return self._s[1197]! } - public var AutoNightTheme_Scheduled: String { return self._s[1198]! } + public var Weekday_Yesterday: String { return self._s[1196]! } + public var WallpaperSearch_ColorBlack: String { return self._s[1197]! } + public var ChatList_ArchiveAction: String { return self._s[1198]! } + public var AutoNightTheme_Scheduled: String { return self._s[1199]! } public func Login_PhoneGenericEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String, _ _6: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1199]!, self._r[1199]!, [_1, _2, _3, _4, _5, _6]) + return formatWithArgumentRanges(self._s[1200]!, self._r[1200]!, [_1, _2, _3, _4, _5, _6]) } - public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1200]! } + public var PrivacyPolicy_DeclineDeleteNow: String { return self._s[1201]! } public func PUSH_CHAT_JOINED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1201]!, self._r[1201]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1202]!, self._r[1202]!, [_1, _2]) } - public var CreatePoll_Create: String { return self._s[1202]! } - public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1203]! } + public var CreatePoll_Create: String { return self._s[1203]! } + public var Channel_Members_AddBannedErrorAdmin: String { return self._s[1204]! } public func Notification_CallFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1204]!, self._r[1204]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1205]!, self._r[1205]!, [_1, _2]) } - public var Checkout_ErrorProviderAccountInvalid: String { return self._s[1205]! } - public var Notifications_InAppNotificationsSounds: String { return self._s[1207]! } + public var Checkout_ErrorProviderAccountInvalid: String { return self._s[1206]! } + public var Notifications_InAppNotificationsSounds: String { return self._s[1208]! } public func PUSH_PINNED_GAME_SCORE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1208]!, self._r[1208]!, [_1]) + return formatWithArgumentRanges(self._s[1209]!, self._r[1209]!, [_1]) } - public var Preview_OpenInInstagram: String { return self._s[1209]! } - public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[1210]! } + public var Preview_OpenInInstagram: String { return self._s[1210]! } + public var Notification_MessageLifetimeRemovedOutgoing: String { return self._s[1211]! } public func PUSH_CHAT_ADD_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1211]!, self._r[1211]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1212]!, self._r[1212]!, [_1, _2, _3]) } public func Passport_PrivacyPolicy(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1212]!, self._r[1212]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1213]!, self._r[1213]!, [_1, _2]) } - public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[1213]! } - public var ArchivedChats_IntroText3: String { return self._s[1214]! } - public var ChatList_UndoArchiveHiddenText: String { return self._s[1215]! } - public var NetworkUsageSettings_TotalSection: String { return self._s[1216]! } - public var Channel_Setup_TypePrivateHelp: String { return self._s[1217]! } + public var Channel_AdminLog_InfoPanelAlertTitle: String { return self._s[1214]! } + public var ArchivedChats_IntroText3: String { return self._s[1215]! } + public var ChatList_UndoArchiveHiddenText: String { return self._s[1216]! } + public var NetworkUsageSettings_TotalSection: String { return self._s[1217]! } + public var Channel_Setup_TypePrivateHelp: String { return self._s[1218]! } public func PUSH_CHAT_MESSAGE_POLL(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1218]!, self._r[1218]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1219]!, self._r[1219]!, [_1, _2, _3]) } - public var Privacy_GroupsAndChannels_NeverAllow_Placeholder: String { return self._s[1220]! } - public var FastTwoStepSetup_HintSection: String { return self._s[1221]! } - public var Wallpaper_PhotoLibrary: String { return self._s[1222]! } - public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[1223]! } - public var Gif_NoGifsFound: String { return self._s[1224]! } - public var Watch_LastSeen_WithinAMonth: String { return self._s[1225]! } - public var GroupInfo_ActionPromote: String { return self._s[1226]! } - public var PasscodeSettings_SimplePasscode: String { return self._s[1227]! } - public var GroupInfo_Permissions_Title: String { return self._s[1228]! } - public var Permissions_ContactsText_v0: String { return self._s[1229]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedPublicGroups: String { return self._s[1230]! } - public var PrivacySettings_DataSettingsHelp: String { return self._s[1233]! } - public var Passport_FieldEmailHelp: String { return self._s[1234]! } - public var Passport_Identity_GenderPlaceholder: String { return self._s[1235]! } - public var Weekday_ShortSaturday: String { return self._s[1236]! } - public var ContactInfo_PhoneLabelMain: String { return self._s[1237]! } - public var Watch_Conversation_UserInfo: String { return self._s[1238]! } - public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1239]! } - public var PrivacyLastSeenSettings_Title: String { return self._s[1240]! } - public var Conversation_ShareBotLocationConfirmation: String { return self._s[1241]! } - public var PhotoEditor_VignetteTool: String { return self._s[1242]! } - public var Passport_Address_Street1Placeholder: String { return self._s[1243]! } - public var Passport_Language_et: String { return self._s[1244]! } - public var AppUpgrade_Running: String { return self._s[1245]! } - public var Channel_DiscussionGroup_Info: String { return self._s[1247]! } - public var Passport_Language_bg: String { return self._s[1248]! } - public var Stickers_NoStickersFound: String { return self._s[1250]! } + public var Privacy_GroupsAndChannels_NeverAllow_Placeholder: String { return self._s[1221]! } + public var FastTwoStepSetup_HintSection: String { return self._s[1222]! } + public var Wallpaper_PhotoLibrary: String { return self._s[1223]! } + public var TwoStepAuth_SetupResendEmailCodeAlert: String { return self._s[1224]! } + public var Gif_NoGifsFound: String { return self._s[1225]! } + public var Watch_LastSeen_WithinAMonth: String { return self._s[1226]! } + public var GroupInfo_ActionPromote: String { return self._s[1227]! } + public var PasscodeSettings_SimplePasscode: String { return self._s[1228]! } + public var GroupInfo_Permissions_Title: String { return self._s[1229]! } + public var Permissions_ContactsText_v0: String { return self._s[1230]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedPublicGroups: String { return self._s[1231]! } + public var PrivacySettings_DataSettingsHelp: String { return self._s[1234]! } + public var Passport_FieldEmailHelp: String { return self._s[1235]! } + public var Passport_Identity_GenderPlaceholder: String { return self._s[1236]! } + public var Weekday_ShortSaturday: String { return self._s[1237]! } + public var ContactInfo_PhoneLabelMain: String { return self._s[1238]! } + public var Watch_Conversation_UserInfo: String { return self._s[1239]! } + public var CheckoutInfo_ShippingInfoCityPlaceholder: String { return self._s[1240]! } + public var PrivacyLastSeenSettings_Title: String { return self._s[1241]! } + public var Conversation_ShareBotLocationConfirmation: String { return self._s[1242]! } + public var PhotoEditor_VignetteTool: String { return self._s[1243]! } + public var Passport_Address_Street1Placeholder: String { return self._s[1244]! } + public var Passport_Language_et: String { return self._s[1245]! } + public var AppUpgrade_Running: String { return self._s[1246]! } + public var Channel_DiscussionGroup_Info: String { return self._s[1248]! } + public var Passport_Language_bg: String { return self._s[1249]! } + public var Stickers_NoStickersFound: String { return self._s[1251]! } public func PUSH_CHANNEL_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1252]!, self._r[1252]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1253]!, self._r[1253]!, [_1, _2]) } - public var Settings_About: String { return self._s[1253]! } + public var Settings_About: String { return self._s[1254]! } public func Channel_AdminLog_MessageRestricted(_ _0: String, _ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1254]!, self._r[1254]!, [_0, _1, _2]) + return formatWithArgumentRanges(self._s[1255]!, self._r[1255]!, [_0, _1, _2]) } - public var KeyCommand_NewMessage: String { return self._s[1256]! } - public var Group_ErrorAddBlocked: String { return self._s[1257]! } + public var KeyCommand_NewMessage: String { return self._s[1257]! } + public var Group_ErrorAddBlocked: String { return self._s[1258]! } public func Message_PaymentSent(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1258]!, self._r[1258]!, [_0]) + return formatWithArgumentRanges(self._s[1259]!, self._r[1259]!, [_0]) } - public var Map_LocationTitle: String { return self._s[1259]! } - public var ReportGroupLocation_Title: String { return self._s[1260]! } - public var CallSettings_UseLessDataLongDescription: String { return self._s[1261]! } - public var Cache_ClearProgress: String { return self._s[1262]! } + public var Map_LocationTitle: String { return self._s[1260]! } + public var ReportGroupLocation_Title: String { return self._s[1261]! } + public var CallSettings_UseLessDataLongDescription: String { return self._s[1262]! } + public var Cache_ClearProgress: String { return self._s[1263]! } public func Channel_Management_ErrorNotMember(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1263]!, self._r[1263]!, [_0]) + return formatWithArgumentRanges(self._s[1264]!, self._r[1264]!, [_0]) } - public var GroupRemoved_AddToGroup: String { return self._s[1264]! } - public var Passport_UpdateRequiredError: String { return self._s[1265]! } + public var GroupRemoved_AddToGroup: String { return self._s[1265]! } + public var Passport_UpdateRequiredError: String { return self._s[1266]! } public func PUSH_MESSAGE_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1266]!, self._r[1266]!, [_1]) + return formatWithArgumentRanges(self._s[1267]!, self._r[1267]!, [_1]) } - public var Notifications_PermissionsSuppressWarningText: String { return self._s[1268]! } - public var Passport_Identity_MainPageHelp: String { return self._s[1269]! } - public var Conversation_StatusKickedFromGroup: String { return self._s[1270]! } - public var Passport_Language_ka: String { return self._s[1271]! } - public var Call_Decline: String { return self._s[1272]! } - public var SocksProxySetup_ProxyEnabled: String { return self._s[1273]! } + public var Notifications_PermissionsSuppressWarningText: String { return self._s[1269]! } + public var Passport_Identity_MainPageHelp: String { return self._s[1270]! } + public var Conversation_StatusKickedFromGroup: String { return self._s[1271]! } + public var Passport_Language_ka: String { return self._s[1272]! } + public var Call_Decline: String { return self._s[1273]! } + public var SocksProxySetup_ProxyEnabled: String { return self._s[1274]! } public func AuthCode_Alert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1276]!, self._r[1276]!, [_0]) + return formatWithArgumentRanges(self._s[1277]!, self._r[1277]!, [_0]) } - public var CallFeedback_Send: String { return self._s[1277]! } + public var CallFeedback_Send: String { return self._s[1278]! } public func Channel_AdminLog_MessagePromotedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1278]!, self._r[1278]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1279]!, self._r[1279]!, [_1, _2]) } - public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1279]! } - public var SettingsSearch_Synonyms_Data_Title: String { return self._s[1281]! } - public var Passport_DeletePassport: String { return self._s[1282]! } - public var Appearance_AppIconFilled: String { return self._s[1283]! } - public var Privacy_Calls_P2PAlways: String { return self._s[1284]! } - public var Month_ShortDecember: String { return self._s[1285]! } - public var Channel_AdminLog_CanEditMessages: String { return self._s[1287]! } + public var Passport_Phone_UseTelegramNumberHelp: String { return self._s[1280]! } + public var SettingsSearch_Synonyms_Data_Title: String { return self._s[1282]! } + public var Passport_DeletePassport: String { return self._s[1283]! } + public var Appearance_AppIconFilled: String { return self._s[1284]! } + public var Privacy_Calls_P2PAlways: String { return self._s[1285]! } + public var Month_ShortDecember: String { return self._s[1286]! } + public var Channel_AdminLog_CanEditMessages: String { return self._s[1288]! } public func Contacts_AccessDeniedHelpLandscape(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1288]!, self._r[1288]!, [_0]) + return formatWithArgumentRanges(self._s[1289]!, self._r[1289]!, [_0]) } - public var Channel_Stickers_Searching: String { return self._s[1289]! } - public var Conversation_EncryptedDescription1: String { return self._s[1290]! } - public var Conversation_EncryptedDescription2: String { return self._s[1291]! } - public var PasscodeSettings_PasscodeOptions: String { return self._s[1292]! } - public var Group_Location_SetLocation: String { return self._s[1293]! } + public var Channel_Stickers_Searching: String { return self._s[1290]! } + public var Conversation_EncryptedDescription1: String { return self._s[1291]! } + public var Conversation_EncryptedDescription2: String { return self._s[1292]! } + public var PasscodeSettings_PasscodeOptions: String { return self._s[1293]! } public var Conversation_EncryptedDescription3: String { return self._s[1294]! } public var PhotoEditor_SharpenTool: String { return self._s[1295]! } public func Conversation_AddNameToContacts(_ _0: String) -> (String, [(Int, NSRange)]) { @@ -1882,203 +1882,203 @@ public final class PresentationStrings { return formatWithArgumentRanges(self._s[1589]!, self._r[1589]!, [_1, _2]) } public var Contacts_AccessDeniedError: String { return self._s[1590]! } - public var Group_Setup_TypePublicWithLocationHelp: String { return self._s[1591]! } - public var Camera_PhotoMode: String { return self._s[1594]! } - public var Passport_Address_AddUtilityBill: String { return self._s[1595]! } - public var CallSettings_OnMobile: String { return self._s[1596]! } - public var Tour_Text2: String { return self._s[1597]! } + public var Camera_PhotoMode: String { return self._s[1593]! } + public var Passport_Address_AddUtilityBill: String { return self._s[1594]! } + public var CallSettings_OnMobile: String { return self._s[1595]! } + public var Tour_Text2: String { return self._s[1596]! } public func PUSH_CHAT_MESSAGE_ROUND(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1598]!, self._r[1598]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1597]!, self._r[1597]!, [_1, _2]) } - public var DialogList_EncryptionProcessing: String { return self._s[1600]! } - public var Permissions_Skip: String { return self._s[1601]! } - public var SecretImage_Title: String { return self._s[1602]! } - public var Watch_MessageView_Title: String { return self._s[1603]! } - public var Channel_DiscussionGroupAdd: String { return self._s[1604]! } - public var AttachmentMenu_Poll: String { return self._s[1605]! } + public var DialogList_EncryptionProcessing: String { return self._s[1599]! } + public var Permissions_Skip: String { return self._s[1600]! } + public var SecretImage_Title: String { return self._s[1601]! } + public var Watch_MessageView_Title: String { return self._s[1602]! } + public var Channel_DiscussionGroupAdd: String { return self._s[1603]! } + public var AttachmentMenu_Poll: String { return self._s[1604]! } public func Notification_GroupInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1606]!, self._r[1606]!, [_0]) + return formatWithArgumentRanges(self._s[1605]!, self._r[1605]!, [_0]) } public func Channel_DiscussionGroup_PrivateChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1607]!, self._r[1607]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1606]!, self._r[1606]!, [_1, _2]) } - public var Notification_CallCanceled: String { return self._s[1608]! } - public var WallpaperPreview_Title: String { return self._s[1609]! } - public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1610]! } - public var Settings_ProxyConnecting: String { return self._s[1611]! } - public var Settings_CheckPhoneNumberText: String { return self._s[1613]! } - public var Profile_MessageLifetime5s: String { return self._s[1614]! } - public var Username_InvalidCharacters: String { return self._s[1615]! } - public var WallpaperPreview_CropBottomText: String { return self._s[1616]! } - public var AutoDownloadSettings_LimitBySize: String { return self._s[1617]! } - public var Settings_AddAccount: String { return self._s[1618]! } - public var Notification_CreatedChannel: String { return self._s[1621]! } + public var Notification_CallCanceled: String { return self._s[1607]! } + public var WallpaperPreview_Title: String { return self._s[1608]! } + public var Privacy_PaymentsClear_PaymentInfo: String { return self._s[1609]! } + public var Settings_ProxyConnecting: String { return self._s[1610]! } + public var Settings_CheckPhoneNumberText: String { return self._s[1612]! } + public var Profile_MessageLifetime5s: String { return self._s[1613]! } + public var Username_InvalidCharacters: String { return self._s[1614]! } + public var WallpaperPreview_CropBottomText: String { return self._s[1615]! } + public var AutoDownloadSettings_LimitBySize: String { return self._s[1616]! } + public var Settings_AddAccount: String { return self._s[1617]! } + public var Notification_CreatedChannel: String { return self._s[1620]! } public func PUSH_CHAT_DELETE_MEMBER(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1622]!, self._r[1622]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[1621]!, self._r[1621]!, [_1, _2, _3]) } - public var Passcode_AppLockedAlert: String { return self._s[1624]! } - public var Contacts_TopSection: String { return self._s[1625]! } + public var Passcode_AppLockedAlert: String { return self._s[1623]! } + public var Contacts_TopSection: String { return self._s[1624]! } public func Time_MonthOfYear_m6(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1626]!, self._r[1626]!, [_0]) + return formatWithArgumentRanges(self._s[1625]!, self._r[1625]!, [_0]) } - public var ReportPeer_ReasonSpam: String { return self._s[1627]! } - public var UserInfo_TapToCall: String { return self._s[1628]! } - public var Conversation_ForwardAuthorHiddenTooltip: String { return self._s[1630]! } - public var AutoDownloadSettings_DataUsageCustom: String { return self._s[1631]! } - public var Common_Search: String { return self._s[1632]! } + public var ReportPeer_ReasonSpam: String { return self._s[1626]! } + public var UserInfo_TapToCall: String { return self._s[1627]! } + public var Conversation_ForwardAuthorHiddenTooltip: String { return self._s[1629]! } + public var AutoDownloadSettings_DataUsageCustom: String { return self._s[1630]! } + public var Common_Search: String { return self._s[1631]! } public func Channel_AdminLog_MessageChangedGroupGeoLocation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1633]!, self._r[1633]!, [_0]) + return formatWithArgumentRanges(self._s[1632]!, self._r[1632]!, [_0]) } - public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1634]! } - public var Message_InvoiceLabel: String { return self._s[1635]! } - public var Conversation_InputTextPlaceholder: String { return self._s[1636]! } - public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[1637]! } + public var AuthSessions_IncompleteAttemptsInfo: String { return self._s[1633]! } + public var Message_InvoiceLabel: String { return self._s[1634]! } + public var Conversation_InputTextPlaceholder: String { return self._s[1635]! } + public var NetworkUsageSettings_MediaImageDataSection: String { return self._s[1636]! } public func Passport_Address_UploadOneOfScan(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1638]!, self._r[1638]!, [_0]) + return formatWithArgumentRanges(self._s[1637]!, self._r[1637]!, [_0]) } - public var Conversation_Info: String { return self._s[1639]! } - public var Login_InfoDeletePhoto: String { return self._s[1640]! } - public var Passport_Language_vi: String { return self._s[1642]! } - public var UserInfo_ScamUserWarning: String { return self._s[1643]! } - public var Conversation_Search: String { return self._s[1644]! } - public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1645]! } - public var ReportPeer_ReasonPornography: String { return self._s[1646]! } - public var AutoDownloadSettings_PhotosTitle: String { return self._s[1647]! } - public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1648]! } - public var Map_LiveLocationGroupDescription: String { return self._s[1649]! } - public var Channel_Setup_TypeHeader: String { return self._s[1650]! } - public var AuthSessions_LoggedIn: String { return self._s[1651]! } - public var Privacy_Forwards_AlwaysAllow_Title: String { return self._s[1652]! } - public var Login_SmsRequestState3: String { return self._s[1653]! } - public var Passport_Address_EditUtilityBill: String { return self._s[1654]! } - public var Appearance_ReduceMotionInfo: String { return self._s[1655]! } - public var Channel_Edit_LinkItem: String { return self._s[1656]! } - public var Privacy_Calls_P2PNever: String { return self._s[1657]! } - public var Conversation_AddToReadingList: String { return self._s[1659]! } - public var Message_Animation: String { return self._s[1660]! } - public var Conversation_DefaultRestrictedMedia: String { return self._s[1661]! } - public var Map_Unknown: String { return self._s[1662]! } - public var AutoDownloadSettings_LastDelimeter: String { return self._s[1663]! } + public var Conversation_Info: String { return self._s[1638]! } + public var Login_InfoDeletePhoto: String { return self._s[1639]! } + public var Passport_Language_vi: String { return self._s[1641]! } + public var UserInfo_ScamUserWarning: String { return self._s[1642]! } + public var Conversation_Search: String { return self._s[1643]! } + public var DialogList_DeleteBotConversationConfirmation: String { return self._s[1644]! } + public var ReportPeer_ReasonPornography: String { return self._s[1645]! } + public var AutoDownloadSettings_PhotosTitle: String { return self._s[1646]! } + public var Conversation_SendMessageErrorGroupRestricted: String { return self._s[1647]! } + public var Map_LiveLocationGroupDescription: String { return self._s[1648]! } + public var Channel_Setup_TypeHeader: String { return self._s[1649]! } + public var AuthSessions_LoggedIn: String { return self._s[1650]! } + public var Privacy_Forwards_AlwaysAllow_Title: String { return self._s[1651]! } + public var Login_SmsRequestState3: String { return self._s[1652]! } + public var Passport_Address_EditUtilityBill: String { return self._s[1653]! } + public var Appearance_ReduceMotionInfo: String { return self._s[1654]! } + public var Channel_Edit_LinkItem: String { return self._s[1655]! } + public var Privacy_Calls_P2PNever: String { return self._s[1656]! } + public var Conversation_AddToReadingList: String { return self._s[1658]! } + public var Message_Animation: String { return self._s[1659]! } + public var Conversation_DefaultRestrictedMedia: String { return self._s[1660]! } + public var Map_Unknown: String { return self._s[1661]! } + public var AutoDownloadSettings_LastDelimeter: String { return self._s[1662]! } public func PUSH_PINNED_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1664]!, self._r[1664]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1663]!, self._r[1663]!, [_1, _2]) } public func Passport_FieldOneOf_Or(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1665]!, self._r[1665]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1664]!, self._r[1664]!, [_1, _2]) } - public var Call_StatusRequesting: String { return self._s[1666]! } - public var Conversation_SecretChatContextBotAlert: String { return self._s[1667]! } - public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1668]! } + public var Call_StatusRequesting: String { return self._s[1665]! } + public var Conversation_SecretChatContextBotAlert: String { return self._s[1666]! } + public var SocksProxySetup_ProxyStatusChecking: String { return self._s[1667]! } public func PUSH_CHAT_MESSAGE_DOC(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1669]!, self._r[1669]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1668]!, self._r[1668]!, [_1, _2]) } public func Notification_PinnedLocationMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1670]!, self._r[1670]!, [_0]) + return formatWithArgumentRanges(self._s[1669]!, self._r[1669]!, [_0]) } - public var Update_Skip: String { return self._s[1671]! } - public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1672]! } - public var Message_PinnedPollMessage: String { return self._s[1673]! } - public var BlockedUsers_Title: String { return self._s[1674]! } + public var Update_Skip: String { return self._s[1670]! } + public var Group_Username_RemoveExistingUsernamesInfo: String { return self._s[1671]! } + public var Message_PinnedPollMessage: String { return self._s[1672]! } + public var BlockedUsers_Title: String { return self._s[1673]! } public func PUSH_CHANNEL_MESSAGE_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1675]!, self._r[1675]!, [_1]) + return formatWithArgumentRanges(self._s[1674]!, self._r[1674]!, [_1]) } - public var Username_CheckingUsername: String { return self._s[1676]! } - public var NotificationsSound_Bell: String { return self._s[1677]! } - public var Conversation_SendMessageErrorFlood: String { return self._s[1678]! } - public var Weekday_Monday: String { return self._s[1679]! } - public var SettingsSearch_Synonyms_Notifications_DisplayNamesOnLockScreen: String { return self._s[1680]! } - public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1681]! } - public var ChatSettings_Groups: String { return self._s[1682]! } - public var Your_card_was_declined: String { return self._s[1683]! } - public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1685]! } - public var ChatList_Unmute: String { return self._s[1686]! } - public var PhotoEditor_CurvesAll: String { return self._s[1687]! } - public var Weekday_ShortTuesday: String { return self._s[1688]! } - public var DialogList_Read: String { return self._s[1689]! } - public var Appearance_AppIconClassic: String { return self._s[1690]! } - public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1691]! } - public var Passport_Identity_Gender: String { return self._s[1692]! } + public var Username_CheckingUsername: String { return self._s[1675]! } + public var NotificationsSound_Bell: String { return self._s[1676]! } + public var Conversation_SendMessageErrorFlood: String { return self._s[1677]! } + public var Weekday_Monday: String { return self._s[1678]! } + public var SettingsSearch_Synonyms_Notifications_DisplayNamesOnLockScreen: String { return self._s[1679]! } + public var ChannelMembers_ChannelAdminsTitle: String { return self._s[1680]! } + public var ChatSettings_Groups: String { return self._s[1681]! } + public var Your_card_was_declined: String { return self._s[1682]! } + public var TwoStepAuth_EnterPasswordHelp: String { return self._s[1684]! } + public var ChatList_Unmute: String { return self._s[1685]! } + public var PhotoEditor_CurvesAll: String { return self._s[1686]! } + public var Weekday_ShortTuesday: String { return self._s[1687]! } + public var DialogList_Read: String { return self._s[1688]! } + public var Appearance_AppIconClassic: String { return self._s[1689]! } + public var ChannelMembers_WhoCanAddMembers_AllMembers: String { return self._s[1690]! } + public var Passport_Identity_Gender: String { return self._s[1691]! } public func Target_ShareGameConfirmationPrivate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1693]!, self._r[1693]!, [_0]) + return formatWithArgumentRanges(self._s[1692]!, self._r[1692]!, [_0]) } - public var Target_SelectGroup: String { return self._s[1694]! } + public var Target_SelectGroup: String { return self._s[1693]! } public func DialogList_EncryptedChatStartedIncoming(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1696]!, self._r[1696]!, [_0]) + return formatWithArgumentRanges(self._s[1695]!, self._r[1695]!, [_0]) } - public var Passport_Language_en: String { return self._s[1697]! } - public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[1698]! } - public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1699]! } - public var Login_CancelPhoneVerificationContinue: String { return self._s[1700]! } - public var Checkout_NewCard_PaymentCard: String { return self._s[1702]! } - public var Login_InfoHelp: String { return self._s[1703]! } - public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1704]! } - public var SettingsSearch_Synonyms_Stickers_FeaturedPacks: String { return self._s[1705]! } + public var Passport_Language_en: String { return self._s[1696]! } + public var AutoDownloadSettings_AutodownloadPhotos: String { return self._s[1697]! } + public var Channel_Username_CreatePublicLinkHelp: String { return self._s[1698]! } + public var Login_CancelPhoneVerificationContinue: String { return self._s[1699]! } + public var Checkout_NewCard_PaymentCard: String { return self._s[1701]! } + public var Login_InfoHelp: String { return self._s[1702]! } + public var Contacts_PermissionsSuppressWarningTitle: String { return self._s[1703]! } + public var SettingsSearch_Synonyms_Stickers_FeaturedPacks: String { return self._s[1704]! } public func Channel_AdminLog_MessageChangedLinkedChannel(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1706]!, self._r[1706]!, [_1, _2]) + return formatWithArgumentRanges(self._s[1705]!, self._r[1705]!, [_1, _2]) } - public var SocksProxySetup_AddProxy: String { return self._s[1709]! } - public var CreatePoll_Title: String { return self._s[1710]! } - public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[1711]! } - public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1712]! } - public var UserInfo_GroupsInCommon: String { return self._s[1713]! } - public var Call_AudioRouteHide: String { return self._s[1714]! } - public var ContactInfo_PhoneLabelMobile: String { return self._s[1716]! } + public var SocksProxySetup_AddProxy: String { return self._s[1708]! } + public var CreatePoll_Title: String { return self._s[1709]! } + public var SettingsSearch_Synonyms_Privacy_Data_SecretChatLinkPreview: String { return self._s[1710]! } + public var PasscodeSettings_SimplePasscodeHelp: String { return self._s[1711]! } + public var UserInfo_GroupsInCommon: String { return self._s[1712]! } + public var Call_AudioRouteHide: String { return self._s[1713]! } + public var ContactInfo_PhoneLabelMobile: String { return self._s[1715]! } public func ChatList_LeaveGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1717]!, self._r[1717]!, [_0]) + return formatWithArgumentRanges(self._s[1716]!, self._r[1716]!, [_0]) } - public var TextFormat_Bold: String { return self._s[1718]! } - public var FastTwoStepSetup_EmailSection: String { return self._s[1719]! } - public var Notifications_Title: String { return self._s[1720]! } - public var Group_Username_InvalidTooShort: String { return self._s[1721]! } - public var Channel_ErrorAddTooMuch: String { return self._s[1722]! } + public var TextFormat_Bold: String { return self._s[1717]! } + public var FastTwoStepSetup_EmailSection: String { return self._s[1718]! } + public var Notifications_Title: String { return self._s[1719]! } + public var Group_Username_InvalidTooShort: String { return self._s[1720]! } + public var Channel_ErrorAddTooMuch: String { return self._s[1721]! } public func DialogList_MultipleTypingSuffix(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1723]!, self._r[1723]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1722]!, self._r[1722]!, ["\(_0)"]) } - public var Stickers_SuggestAdded: String { return self._s[1725]! } - public var Login_CountryCode: String { return self._s[1726]! } - public var ChatSettings_AutoPlayVideos: String { return self._s[1727]! } - public var Map_GetDirections: String { return self._s[1728]! } - public var Login_PhoneFloodError: String { return self._s[1729]! } + public var Stickers_SuggestAdded: String { return self._s[1724]! } + public var Login_CountryCode: String { return self._s[1725]! } + public var ChatSettings_AutoPlayVideos: String { return self._s[1726]! } + public var Map_GetDirections: String { return self._s[1727]! } + public var Login_PhoneFloodError: String { return self._s[1728]! } public func Time_MonthOfYear_m3(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1730]!, self._r[1730]!, [_0]) + return formatWithArgumentRanges(self._s[1729]!, self._r[1729]!, [_0]) } - public var Settings_SetUsername: String { return self._s[1732]! } - public var Group_Location_ChangeLocation: String { return self._s[1733]! } - public var Notification_GroupInviterSelf: String { return self._s[1734]! } - public var InstantPage_TapToOpenLink: String { return self._s[1735]! } + public var Settings_SetUsername: String { return self._s[1731]! } + public var Group_Location_ChangeLocation: String { return self._s[1732]! } + public var Notification_GroupInviterSelf: String { return self._s[1733]! } + public var InstantPage_TapToOpenLink: String { return self._s[1734]! } public func Notification_ChannelInviter(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1736]!, self._r[1736]!, [_0]) + return formatWithArgumentRanges(self._s[1735]!, self._r[1735]!, [_0]) } - public var Watch_Suggestion_TalkLater: String { return self._s[1737]! } - public var SecretChat_Title: String { return self._s[1738]! } - public var Group_UpgradeNoticeText1: String { return self._s[1739]! } - public var AuthSessions_Title: String { return self._s[1740]! } + public var Watch_Suggestion_TalkLater: String { return self._s[1736]! } + public var SecretChat_Title: String { return self._s[1737]! } + public var Group_UpgradeNoticeText1: String { return self._s[1738]! } + public var AuthSessions_Title: String { return self._s[1739]! } public func TextFormat_AddLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1741]!, self._r[1741]!, [_0]) + return formatWithArgumentRanges(self._s[1740]!, self._r[1740]!, [_0]) } - public var PhotoEditor_CropAuto: String { return self._s[1742]! } - public var Channel_About_Title: String { return self._s[1743]! } - public var FastTwoStepSetup_EmailHelp: String { return self._s[1744]! } + public var PhotoEditor_CropAuto: String { return self._s[1741]! } + public var Channel_About_Title: String { return self._s[1742]! } + public var FastTwoStepSetup_EmailHelp: String { return self._s[1743]! } public func Conversation_Bytes(_ _0: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1746]!, self._r[1746]!, ["\(_0)"]) + return formatWithArgumentRanges(self._s[1745]!, self._r[1745]!, ["\(_0)"]) } - public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1748]! } - public var Group_Setup_HistoryVisibleHelp: String { return self._s[1749]! } + public var Conversation_PinMessageAlert_OnlyPin: String { return self._s[1747]! } + public var Group_Setup_HistoryVisibleHelp: String { return self._s[1748]! } public func PUSH_MESSAGE_GIF(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1750]!, self._r[1750]!, [_1]) + return formatWithArgumentRanges(self._s[1749]!, self._r[1749]!, [_1]) } public func SharedMedia_SearchNoResultsDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1752]!, self._r[1752]!, [_0]) + return formatWithArgumentRanges(self._s[1751]!, self._r[1751]!, [_0]) } public func TwoStepAuth_RecoveryEmailUnavailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[1753]!, self._r[1753]!, [_0]) + return formatWithArgumentRanges(self._s[1752]!, self._r[1752]!, [_0]) } - public var Privacy_PaymentsClearInfoHelp: String { return self._s[1754]! } - public var Presence_online: String { return self._s[1756]! } - public var PasscodeSettings_Title: String { return self._s[1757]! } - public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1758]! } - public var Web_OpenExternal: String { return self._s[1759]! } - public var AutoDownloadSettings_AutoDownload: String { return self._s[1761]! } - public var Channel_OwnershipTransfer_EnterPasswordText: String { return self._s[1762]! } + public var Privacy_PaymentsClearInfoHelp: String { return self._s[1753]! } + public var Presence_online: String { return self._s[1755]! } + public var PasscodeSettings_Title: String { return self._s[1756]! } + public var Passport_Identity_ExpiryDatePlaceholder: String { return self._s[1757]! } + public var Web_OpenExternal: String { return self._s[1758]! } + public var AutoDownloadSettings_AutoDownload: String { return self._s[1760]! } + public var Channel_OwnershipTransfer_EnterPasswordText: String { return self._s[1761]! } + public var LocalGroup_Title: String { return self._s[1762]! } public func AutoNightTheme_AutomaticHelp(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[1763]!, self._r[1763]!, [_0]) } @@ -2900,1364 +2900,1366 @@ public final class PresentationStrings { public func Conversation_ShareMyPhoneNumber_StatusSuccess(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2540]!, self._r[2540]!, [_0]) } - public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2541]! } - public var SocksProxySetup_TypeSocks: String { return self._s[2542]! } - public var ChatList_UnarchiveAction: String { return self._s[2543]! } - public var AutoNightTheme_Title: String { return self._s[2544]! } - public var InstantPage_FeedbackButton: String { return self._s[2545]! } - public var Passport_FieldAddress: String { return self._s[2546]! } - public var Month_ShortMarch: String { return self._s[2547]! } + public var LocalGroup_Text: String { return self._s[2541]! } + public var Channel_AdminLog_EmptyFilterTitle: String { return self._s[2542]! } + public var SocksProxySetup_TypeSocks: String { return self._s[2543]! } + public var ChatList_UnarchiveAction: String { return self._s[2544]! } + public var AutoNightTheme_Title: String { return self._s[2545]! } + public var InstantPage_FeedbackButton: String { return self._s[2546]! } + public var Passport_FieldAddress: String { return self._s[2547]! } + public var Month_ShortMarch: String { return self._s[2548]! } public func PUSH_MESSAGE_INVOICE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2548]!, self._r[2548]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2549]!, self._r[2549]!, [_1, _2]) } - public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2549]! } - public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2550]! } - public var Passport_FloodError: String { return self._s[2551]! } - public var SecretGif_Title: String { return self._s[2552]! } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2553]! } - public var Passport_Language_th: String { return self._s[2555]! } - public var Passport_Address_Address: String { return self._s[2556]! } - public var Login_InvalidLastNameError: String { return self._s[2557]! } - public var Notifications_InAppNotificationsPreview: String { return self._s[2558]! } - public var Notifications_PermissionsUnreachableTitle: String { return self._s[2559]! } - public var SettingsSearch_FAQ: String { return self._s[2560]! } - public var ShareMenu_Send: String { return self._s[2561]! } - public var WallpaperSearch_ColorYellow: String { return self._s[2563]! } - public var Month_GenNovember: String { return self._s[2565]! } - public var SettingsSearch_Synonyms_Appearance_LargeEmoji: String { return self._s[2567]! } - public var Checkout_Email: String { return self._s[2568]! } - public var NotificationsSound_Tritone: String { return self._s[2569]! } - public var StickerPacksSettings_ManagingHelp: String { return self._s[2571]! } + public var SocksProxySetup_UsernamePlaceholder: String { return self._s[2550]! } + public var Conversation_ShareInlineBotLocationConfirmation: String { return self._s[2551]! } + public var Passport_FloodError: String { return self._s[2552]! } + public var SecretGif_Title: String { return self._s[2553]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOn: String { return self._s[2554]! } + public var Passport_Language_th: String { return self._s[2556]! } + public var Passport_Address_Address: String { return self._s[2557]! } + public var Login_InvalidLastNameError: String { return self._s[2558]! } + public var Notifications_InAppNotificationsPreview: String { return self._s[2559]! } + public var Notifications_PermissionsUnreachableTitle: String { return self._s[2560]! } + public var SettingsSearch_FAQ: String { return self._s[2561]! } + public var ShareMenu_Send: String { return self._s[2562]! } + public var WallpaperSearch_ColorYellow: String { return self._s[2564]! } + public var Month_GenNovember: String { return self._s[2566]! } + public var SettingsSearch_Synonyms_Appearance_LargeEmoji: String { return self._s[2568]! } + public var Checkout_Email: String { return self._s[2569]! } + public var NotificationsSound_Tritone: String { return self._s[2570]! } + public var StickerPacksSettings_ManagingHelp: String { return self._s[2572]! } public func PUSH_PINNED_ROUND(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2574]!, self._r[2574]!, [_1]) + return formatWithArgumentRanges(self._s[2575]!, self._r[2575]!, [_1]) } - public var ChangePhoneNumberNumber_Help: String { return self._s[2575]! } + public var ChangePhoneNumberNumber_Help: String { return self._s[2576]! } public func Checkout_LiabilityAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2576]!, self._r[2576]!, [_1, _1, _1, _2]) + return formatWithArgumentRanges(self._s[2577]!, self._r[2577]!, [_1, _1, _1, _2]) } - public var ChatList_UndoArchiveTitle: String { return self._s[2577]! } - public var Notification_Exceptions_Add: String { return self._s[2578]! } - public var DialogList_You: String { return self._s[2579]! } - public var MediaPicker_Send: String { return self._s[2582]! } - public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2583]! } - public var Call_AudioRouteSpeaker: String { return self._s[2584]! } - public var Watch_UserInfo_Title: String { return self._s[2585]! } - public var Appearance_AccentColor: String { return self._s[2586]! } + public var ChatList_UndoArchiveTitle: String { return self._s[2578]! } + public var Notification_Exceptions_Add: String { return self._s[2579]! } + public var DialogList_You: String { return self._s[2580]! } + public var MediaPicker_Send: String { return self._s[2583]! } + public var SettingsSearch_Synonyms_Stickers_Title: String { return self._s[2584]! } + public var Call_AudioRouteSpeaker: String { return self._s[2585]! } + public var Watch_UserInfo_Title: String { return self._s[2586]! } + public var Appearance_AccentColor: String { return self._s[2587]! } public func Login_EmailPhoneSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2587]!, self._r[2587]!, [_0]) + return formatWithArgumentRanges(self._s[2588]!, self._r[2588]!, [_0]) } - public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2588]! } + public var Permissions_ContactsAllowInSettings_v0: String { return self._s[2589]! } public func PUSH_CHANNEL_MESSAGE_GAME(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2589]!, self._r[2589]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2590]!, self._r[2590]!, [_1, _2]) } - public var Conversation_ClousStorageInfo_Description2: String { return self._s[2590]! } - public var WebSearch_RecentClearConfirmation: String { return self._s[2591]! } - public var Notification_CallOutgoing: String { return self._s[2592]! } - public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2593]! } - public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[2594]! } - public var Call_RecordingDisabledMessage: String { return self._s[2595]! } - public var Message_Game: String { return self._s[2596]! } - public var Conversation_PressVolumeButtonForSound: String { return self._s[2597]! } - public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2598]! } - public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[2599]! } - public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2600]! } - public var Date_DialogDateFormat: String { return self._s[2601]! } - public var WallpaperColors_SetCustomColor: String { return self._s[2602]! } - public var Notifications_InAppNotifications: String { return self._s[2603]! } + public var Conversation_ClousStorageInfo_Description2: String { return self._s[2591]! } + public var WebSearch_RecentClearConfirmation: String { return self._s[2592]! } + public var Notification_CallOutgoing: String { return self._s[2593]! } + public var PrivacySettings_PasscodeAndFaceId: String { return self._s[2594]! } + public var Channel_DiscussionGroup_MakeHistoryPublic: String { return self._s[2595]! } + public var Call_RecordingDisabledMessage: String { return self._s[2596]! } + public var Message_Game: String { return self._s[2597]! } + public var Conversation_PressVolumeButtonForSound: String { return self._s[2598]! } + public var PrivacyLastSeenSettings_CustomHelp: String { return self._s[2599]! } + public var Channel_DiscussionGroup_PrivateGroup: String { return self._s[2600]! } + public var Channel_EditAdmin_PermissionAddAdmins: String { return self._s[2601]! } + public var Date_DialogDateFormat: String { return self._s[2602]! } + public var WallpaperColors_SetCustomColor: String { return self._s[2603]! } + public var Notifications_InAppNotifications: String { return self._s[2604]! } public func Channel_Management_RemovedBy(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2604]!, self._r[2604]!, [_0]) + return formatWithArgumentRanges(self._s[2605]!, self._r[2605]!, [_0]) } public func Settings_ApplyProxyAlert(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2605]!, self._r[2605]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2606]!, self._r[2606]!, [_1, _2]) } - public var NewContact_Title: String { return self._s[2606]! } + public var NewContact_Title: String { return self._s[2607]! } public func AutoDownloadSettings_UpToForAll(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2607]!, self._r[2607]!, [_0]) + return formatWithArgumentRanges(self._s[2608]!, self._r[2608]!, [_0]) } - public var Conversation_ViewContactDetails: String { return self._s[2608]! } + public var Conversation_ViewContactDetails: String { return self._s[2609]! } public func PUSH_CHANNEL_MESSAGE_CONTACT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2610]!, self._r[2610]!, [_1]) + return formatWithArgumentRanges(self._s[2611]!, self._r[2611]!, [_1]) } - public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2611]! } - public var Passport_Identity_ExpiryDateNone: String { return self._s[2612]! } - public var PrivacySettings_Title: String { return self._s[2613]! } - public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2616]! } - public var GroupRemoved_UsersSectionTitle: String { return self._s[2617]! } - public var Contacts_PhoneNumber: String { return self._s[2618]! } - public var Map_ShowPlaces: String { return self._s[2620]! } - public var ChatAdmins_Title: String { return self._s[2621]! } - public var InstantPage_Reference: String { return self._s[2623]! } - public var ReportGroupLocation_Text: String { return self._s[2624]! } + public var Checkout_NewCard_CardholderNameTitle: String { return self._s[2612]! } + public var Passport_Identity_ExpiryDateNone: String { return self._s[2613]! } + public var PrivacySettings_Title: String { return self._s[2614]! } + public var Conversation_SilentBroadcastTooltipOff: String { return self._s[2617]! } + public var GroupRemoved_UsersSectionTitle: String { return self._s[2618]! } + public var Contacts_PhoneNumber: String { return self._s[2619]! } + public var Map_ShowPlaces: String { return self._s[2621]! } + public var ChatAdmins_Title: String { return self._s[2622]! } + public var InstantPage_Reference: String { return self._s[2624]! } + public var ReportGroupLocation_Text: String { return self._s[2625]! } public func PUSH_CHAT_MESSAGE_FWD(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2625]!, self._r[2625]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2626]!, self._r[2626]!, [_1, _2]) } - public var Camera_FlashOff: String { return self._s[2626]! } - public var Watch_UserInfo_Block: String { return self._s[2627]! } - public var ChatSettings_Stickers: String { return self._s[2628]! } - public var ChatSettings_DownloadInBackground: String { return self._s[2629]! } + public var Camera_FlashOff: String { return self._s[2627]! } + public var Watch_UserInfo_Block: String { return self._s[2628]! } + public var ChatSettings_Stickers: String { return self._s[2629]! } + public var ChatSettings_DownloadInBackground: String { return self._s[2630]! } public func UserInfo_BlockConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2630]!, self._r[2630]!, [_0]) + return formatWithArgumentRanges(self._s[2631]!, self._r[2631]!, [_0]) } - public var Settings_ViewPhoto: String { return self._s[2631]! } - public var Login_CheckOtherSessionMessages: String { return self._s[2632]! } - public var AutoDownloadSettings_Cellular: String { return self._s[2633]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2634]! } + public var Settings_ViewPhoto: String { return self._s[2632]! } + public var Login_CheckOtherSessionMessages: String { return self._s[2633]! } + public var AutoDownloadSettings_Cellular: String { return self._s[2634]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsExceptions: String { return self._s[2635]! } public func Target_InviteToGroupConfirmation(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2636]!, self._r[2636]!, [_0]) + return formatWithArgumentRanges(self._s[2637]!, self._r[2637]!, [_0]) } - public var Privacy_DeleteDrafts: String { return self._s[2637]! } - public var Wallpaper_SetCustomBackgroundInfo: String { return self._s[2638]! } + public var Privacy_DeleteDrafts: String { return self._s[2638]! } + public var Wallpaper_SetCustomBackgroundInfo: String { return self._s[2639]! } public func LastSeen_AtDate(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2639]!, self._r[2639]!, [_0]) + return formatWithArgumentRanges(self._s[2640]!, self._r[2640]!, [_0]) } - public var DialogList_SavedMessagesHelp: String { return self._s[2640]! } - public var DialogList_SavedMessages: String { return self._s[2641]! } - public var GroupInfo_UpgradeButton: String { return self._s[2642]! } - public var DialogList_Pin: String { return self._s[2644]! } + public var DialogList_SavedMessagesHelp: String { return self._s[2641]! } + public var DialogList_SavedMessages: String { return self._s[2642]! } + public var GroupInfo_UpgradeButton: String { return self._s[2643]! } + public var DialogList_Pin: String { return self._s[2645]! } public func ForwardedAuthors2(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2645]!, self._r[2645]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2646]!, self._r[2646]!, [_0, _1]) } public func Login_PhoneGenericEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2646]!, self._r[2646]!, [_0]) + return formatWithArgumentRanges(self._s[2647]!, self._r[2647]!, [_0]) } - public var Notification_Exceptions_AlwaysOn: String { return self._s[2647]! } - public var UserInfo_NotificationsDisable: String { return self._s[2648]! } - public var Paint_Outlined: String { return self._s[2649]! } - public var Activity_PlayingGame: String { return self._s[2650]! } - public var SearchImages_NoImagesFound: String { return self._s[2651]! } - public var SocksProxySetup_ProxyType: String { return self._s[2652]! } - public var AppleWatch_ReplyPresetsHelp: String { return self._s[2654]! } - public var Conversation_ContextMenuCancelSending: String { return self._s[2655]! } - public var Settings_AppLanguage: String { return self._s[2656]! } - public var TwoStepAuth_ResetAccountHelp: String { return self._s[2657]! } - public var Common_ChoosePhoto: String { return self._s[2658]! } - public var CallFeedback_ReasonEcho: String { return self._s[2659]! } + public var Notification_Exceptions_AlwaysOn: String { return self._s[2648]! } + public var UserInfo_NotificationsDisable: String { return self._s[2649]! } + public var Paint_Outlined: String { return self._s[2650]! } + public var Activity_PlayingGame: String { return self._s[2651]! } + public var SearchImages_NoImagesFound: String { return self._s[2652]! } + public var SocksProxySetup_ProxyType: String { return self._s[2653]! } + public var AppleWatch_ReplyPresetsHelp: String { return self._s[2655]! } + public var Conversation_ContextMenuCancelSending: String { return self._s[2656]! } + public var Settings_AppLanguage: String { return self._s[2657]! } + public var TwoStepAuth_ResetAccountHelp: String { return self._s[2658]! } + public var Common_ChoosePhoto: String { return self._s[2659]! } + public var CallFeedback_ReasonEcho: String { return self._s[2660]! } public func PUSH_PINNED_AUDIO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2660]!, self._r[2660]!, [_1]) + return formatWithArgumentRanges(self._s[2661]!, self._r[2661]!, [_1]) } - public var Privacy_Calls_AlwaysAllow: String { return self._s[2661]! } - public var Activity_UploadingVideo: String { return self._s[2662]! } - public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2663]! } - public var NetworkUsageSettings_Wifi: String { return self._s[2664]! } - public var Channel_BanUser_PermissionReadMessages: String { return self._s[2665]! } - public var Checkout_PayWithTouchId: String { return self._s[2666]! } - public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2667]! } + public var Privacy_Calls_AlwaysAllow: String { return self._s[2662]! } + public var Activity_UploadingVideo: String { return self._s[2663]! } + public var ChannelInfo_DeleteChannelConfirmation: String { return self._s[2664]! } + public var NetworkUsageSettings_Wifi: String { return self._s[2665]! } + public var Channel_BanUser_PermissionReadMessages: String { return self._s[2666]! } + public var Checkout_PayWithTouchId: String { return self._s[2667]! } + public var Wallpaper_ResetWallpapersConfirmation: String { return self._s[2668]! } public func PUSH_LOCKED_MESSAGE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2669]!, self._r[2669]!, [_1]) + return formatWithArgumentRanges(self._s[2670]!, self._r[2670]!, [_1]) } - public var Notifications_ExceptionsNone: String { return self._s[2670]! } + public var Notifications_ExceptionsNone: String { return self._s[2671]! } public func Message_ForwardedMessageShort(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2671]!, self._r[2671]!, [_0]) + return formatWithArgumentRanges(self._s[2672]!, self._r[2672]!, [_0]) } public func PUSH_PINNED_GEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2672]!, self._r[2672]!, [_1]) + return formatWithArgumentRanges(self._s[2673]!, self._r[2673]!, [_1]) } - public var AuthSessions_IncompleteAttempts: String { return self._s[2674]! } - public var Passport_Address_Region: String { return self._s[2677]! } - public var ChatList_DeleteChat: String { return self._s[2678]! } - public var LogoutOptions_ClearCacheTitle: String { return self._s[2679]! } - public var PhotoEditor_TiltShift: String { return self._s[2680]! } - public var Settings_FAQ_URL: String { return self._s[2681]! } - public var Passport_Language_sl: String { return self._s[2682]! } - public var Settings_PrivacySettings: String { return self._s[2684]! } - public var SharedMedia_TitleLink: String { return self._s[2685]! } - public var Passport_Identity_TypePassportUploadScan: String { return self._s[2686]! } - public var Settings_SetProfilePhoto: String { return self._s[2687]! } - public var Channel_About_Help: String { return self._s[2688]! } - public var Contacts_PermissionsEnable: String { return self._s[2689]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsAlert: String { return self._s[2690]! } - public var AttachmentMenu_SendAsFiles: String { return self._s[2691]! } - public var CallFeedback_ReasonInterruption: String { return self._s[2693]! } - public var Passport_Address_AddTemporaryRegistration: String { return self._s[2694]! } - public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[2695]! } - public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[2696]! } - public var PrivacySettings_DeleteAccountTitle: String { return self._s[2697]! } - public var AccessDenied_VideoMessageCamera: String { return self._s[2699]! } - public var Map_OpenInYandexMaps: String { return self._s[2701]! } - public var PhotoEditor_SaturationTool: String { return self._s[2702]! } + public var AuthSessions_IncompleteAttempts: String { return self._s[2675]! } + public var Passport_Address_Region: String { return self._s[2678]! } + public var ChatList_DeleteChat: String { return self._s[2679]! } + public var LogoutOptions_ClearCacheTitle: String { return self._s[2680]! } + public var PhotoEditor_TiltShift: String { return self._s[2681]! } + public var Settings_FAQ_URL: String { return self._s[2682]! } + public var Passport_Language_sl: String { return self._s[2683]! } + public var Settings_PrivacySettings: String { return self._s[2685]! } + public var SharedMedia_TitleLink: String { return self._s[2686]! } + public var Passport_Identity_TypePassportUploadScan: String { return self._s[2687]! } + public var Settings_SetProfilePhoto: String { return self._s[2688]! } + public var Channel_About_Help: String { return self._s[2689]! } + public var Contacts_PermissionsEnable: String { return self._s[2690]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsAlert: String { return self._s[2691]! } + public var AttachmentMenu_SendAsFiles: String { return self._s[2692]! } + public var CallFeedback_ReasonInterruption: String { return self._s[2694]! } + public var Passport_Address_AddTemporaryRegistration: String { return self._s[2695]! } + public var AutoDownloadSettings_AutodownloadVideos: String { return self._s[2696]! } + public var ChatSettings_AutoDownloadSettings_Delimeter: String { return self._s[2697]! } + public var PrivacySettings_DeleteAccountTitle: String { return self._s[2698]! } + public var AccessDenied_VideoMessageCamera: String { return self._s[2700]! } + public var Map_OpenInYandexMaps: String { return self._s[2702]! } + public var PhotoEditor_SaturationTool: String { return self._s[2703]! } public func PUSH_MESSAGE_STICKER(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2703]!, self._r[2703]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2704]!, self._r[2704]!, [_1, _2]) } - public var PrivacyPhoneNumberSettings_CustomHelp: String { return self._s[2704]! } - public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2705]! } - public var Appearance_TextSize: String { return self._s[2706]! } + public var PrivacyPhoneNumberSettings_CustomHelp: String { return self._s[2705]! } + public var Notification_Exceptions_NewException_NotificationHeader: String { return self._s[2706]! } + public var Appearance_TextSize: String { return self._s[2707]! } public func LOCAL_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2707]!, self._r[2707]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[2708]!, self._r[2708]!, [_1, "\(_2)"]) } - public var Channel_Username_InvalidTooShort: String { return self._s[2709]! } + public var Channel_Username_InvalidTooShort: String { return self._s[2710]! } public func Group_OwnershipTransfer_DescriptionInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2710]!, self._r[2710]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2711]!, self._r[2711]!, [_1, _2]) } public func PUSH_CHAT_MESSAGE_GAME(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2711]!, self._r[2711]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2712]!, self._r[2712]!, [_1, _2, _3]) } - public var Passport_PassportInformation: String { return self._s[2714]! } - public var WatchRemote_AlertTitle: String { return self._s[2715]! } - public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2716]! } - public var ConvertToSupergroup_HelpText: String { return self._s[2718]! } + public var GroupInfo_PublicLinkAdd: String { return self._s[2713]! } + public var Passport_PassportInformation: String { return self._s[2716]! } + public var WatchRemote_AlertTitle: String { return self._s[2717]! } + public var Privacy_GroupsAndChannels_NeverAllow: String { return self._s[2718]! } + public var ConvertToSupergroup_HelpText: String { return self._s[2720]! } public func Time_MonthOfYear_m7(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2719]!, self._r[2719]!, [_0]) + return formatWithArgumentRanges(self._s[2721]!, self._r[2721]!, [_0]) } public func PUSH_PHONE_CALL_REQUEST(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2720]!, self._r[2720]!, [_1]) + return formatWithArgumentRanges(self._s[2722]!, self._r[2722]!, [_1]) } - public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2721]! } - public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2723]! } - public var AccessDenied_CameraDisabled: String { return self._s[2724]! } + public var Privacy_GroupsAndChannels_CustomHelp: String { return self._s[2723]! } + public var TwoStepAuth_RecoveryCodeInvalid: String { return self._s[2725]! } + public var AccessDenied_CameraDisabled: String { return self._s[2726]! } public func Channel_Username_UsernameIsAvailable(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2725]!, self._r[2725]!, [_0]) + return formatWithArgumentRanges(self._s[2727]!, self._r[2727]!, [_0]) } - public var PhotoEditor_ContrastTool: String { return self._s[2728]! } + public var PhotoEditor_ContrastTool: String { return self._s[2730]! } public func PUSH_PINNED_DOC(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2729]!, self._r[2729]!, [_1]) + return formatWithArgumentRanges(self._s[2731]!, self._r[2731]!, [_1]) } - public var DialogList_Draft: String { return self._s[2730]! } - public var Privacy_TopPeersDelete: String { return self._s[2732]! } - public var LoginPassword_PasswordPlaceholder: String { return self._s[2733]! } - public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2734]! } - public var WebSearch_RecentSectionClear: String { return self._s[2735]! } - public var Watch_ChatList_NoConversationsTitle: String { return self._s[2737]! } - public var Common_Done: String { return self._s[2739]! } - public var AuthSessions_EmptyText: String { return self._s[2740]! } - public var Conversation_ShareBotContactConfirmation: String { return self._s[2741]! } - public var Tour_Title5: String { return self._s[2742]! } + public var DialogList_Draft: String { return self._s[2732]! } + public var Privacy_TopPeersDelete: String { return self._s[2734]! } + public var LoginPassword_PasswordPlaceholder: String { return self._s[2735]! } + public var Passport_Identity_TypeIdentityCardUploadScan: String { return self._s[2736]! } + public var WebSearch_RecentSectionClear: String { return self._s[2737]! } + public var Watch_ChatList_NoConversationsTitle: String { return self._s[2739]! } + public var Common_Done: String { return self._s[2741]! } + public var AuthSessions_EmptyText: String { return self._s[2742]! } + public var Conversation_ShareBotContactConfirmation: String { return self._s[2743]! } + public var Tour_Title5: String { return self._s[2744]! } public func Map_DirectionsDriveEta(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2743]!, self._r[2743]!, [_0]) + return formatWithArgumentRanges(self._s[2745]!, self._r[2745]!, [_0]) } - public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2744]! } - public var Conversation_LinkDialogSave: String { return self._s[2745]! } - public var GroupInfo_ActionRestrict: String { return self._s[2746]! } - public var Checkout_Title: String { return self._s[2747]! } - public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[2749]! } - public var Channel_AdminLog_CanChangeInfo: String { return self._s[2751]! } - public var Notification_RenamedGroup: String { return self._s[2752]! } - public var PeopleNearby_Groups: String { return self._s[2753]! } - public var Checkout_PayWithFaceId: String { return self._s[2754]! } - public var Channel_BanList_BlockedTitle: String { return self._s[2755]! } - public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2757]! } - public var Checkout_WebConfirmation_Title: String { return self._s[2758]! } - public var Notifications_MessageNotificationsAlert: String { return self._s[2759]! } - public var Profile_AddToExisting: String { return self._s[2761]! } + public var ApplyLanguage_UnsufficientDataTitle: String { return self._s[2746]! } + public var Conversation_LinkDialogSave: String { return self._s[2747]! } + public var GroupInfo_ActionRestrict: String { return self._s[2748]! } + public var Checkout_Title: String { return self._s[2749]! } + public var Channel_DiscussionGroup_HeaderLabel: String { return self._s[2751]! } + public var Channel_AdminLog_CanChangeInfo: String { return self._s[2753]! } + public var Notification_RenamedGroup: String { return self._s[2754]! } + public var PeopleNearby_Groups: String { return self._s[2755]! } + public var Checkout_PayWithFaceId: String { return self._s[2756]! } + public var Channel_BanList_BlockedTitle: String { return self._s[2757]! } + public var SettingsSearch_Synonyms_Notifications_InAppNotificationsSound: String { return self._s[2759]! } + public var Checkout_WebConfirmation_Title: String { return self._s[2760]! } + public var Notifications_MessageNotificationsAlert: String { return self._s[2761]! } + public var Profile_AddToExisting: String { return self._s[2763]! } public func Profile_CreateEncryptedChatOutdatedError(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2762]!, self._r[2762]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2764]!, self._r[2764]!, [_0, _1]) } - public var Cache_Files: String { return self._s[2764]! } - public var Permissions_PrivacyPolicy: String { return self._s[2765]! } - public var SocksProxySetup_ConnectAndSave: String { return self._s[2766]! } - public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2767]! } - public var AutoDownloadSettings_TypeContacts: String { return self._s[2769]! } - public var Calls_NoCallsPlaceholder: String { return self._s[2771]! } - public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2772]! } - public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2774]! } + public var Cache_Files: String { return self._s[2766]! } + public var Permissions_PrivacyPolicy: String { return self._s[2767]! } + public var SocksProxySetup_ConnectAndSave: String { return self._s[2768]! } + public var UserInfo_NotificationsDefaultDisabled: String { return self._s[2769]! } + public var AutoDownloadSettings_TypeContacts: String { return self._s[2771]! } + public var Calls_NoCallsPlaceholder: String { return self._s[2773]! } + public var Channel_Username_RevokeExistingUsernamesInfo: String { return self._s[2774]! } + public var Notifications_ExceptionsGroupPlaceholder: String { return self._s[2776]! } public func PUSH_CHAT_MESSAGE_INVOICE(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2775]!, self._r[2775]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[2777]!, self._r[2777]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2776]! } - public var Passport_FieldAddressHelp: String { return self._s[2777]! } - public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2778]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsSound: String { return self._s[2778]! } + public var Passport_FieldAddressHelp: String { return self._s[2779]! } + public var Privacy_GroupsAndChannels_InviteToChannelMultipleError: String { return self._s[2780]! } public func Login_TermsOfService_ProceedBot(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2779]!, self._r[2779]!, [_0]) + return formatWithArgumentRanges(self._s[2781]!, self._r[2781]!, [_0]) } - public var Channel_AdminLog_EmptyTitle: String { return self._s[2780]! } - public var Privacy_Calls_NeverAllow_Title: String { return self._s[2782]! } - public var Login_UnknownError: String { return self._s[2783]! } - public var Group_UpgradeNoticeText2: String { return self._s[2785]! } - public var Watch_Compose_AddContact: String { return self._s[2786]! } - public var Web_Error: String { return self._s[2787]! } - public var Gif_Search: String { return self._s[2788]! } - public var Profile_MessageLifetime1h: String { return self._s[2789]! } - public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2790]! } - public var Channel_Username_CheckingUsername: String { return self._s[2791]! } - public var CallFeedback_ReasonSilentRemote: String { return self._s[2792]! } - public var AutoDownloadSettings_TypeChannels: String { return self._s[2793]! } - public var Channel_AboutItem: String { return self._s[2794]! } - public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2796]! } - public var GroupInfo_SharedMedia: String { return self._s[2797]! } + public var Channel_AdminLog_EmptyTitle: String { return self._s[2782]! } + public var Privacy_Calls_NeverAllow_Title: String { return self._s[2784]! } + public var Login_UnknownError: String { return self._s[2785]! } + public var Group_UpgradeNoticeText2: String { return self._s[2787]! } + public var Watch_Compose_AddContact: String { return self._s[2788]! } + public var Web_Error: String { return self._s[2789]! } + public var Gif_Search: String { return self._s[2790]! } + public var Profile_MessageLifetime1h: String { return self._s[2791]! } + public var CheckoutInfo_ReceiverInfoEmailPlaceholder: String { return self._s[2792]! } + public var Channel_Username_CheckingUsername: String { return self._s[2793]! } + public var CallFeedback_ReasonSilentRemote: String { return self._s[2794]! } + public var AutoDownloadSettings_TypeChannels: String { return self._s[2795]! } + public var Channel_AboutItem: String { return self._s[2796]! } + public var Privacy_GroupsAndChannels_AlwaysAllow_Placeholder: String { return self._s[2798]! } + public var GroupInfo_SharedMedia: String { return self._s[2799]! } public func Channel_AdminLog_MessagePromotedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2798]!, self._r[2798]!, [_1]) - } - public var Call_PhoneCallInProgressMessage: String { return self._s[2799]! } - public func PUSH_CHANNEL_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2800]!, self._r[2800]!, [_1]) } - public var ChatList_UndoArchiveRevealedText: String { return self._s[2801]! } - public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2802]! } - public var Conversation_SearchByName_Placeholder: String { return self._s[2803]! } - public var CreatePoll_AddOption: String { return self._s[2804]! } - public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[2805]! } - public var Group_UpgradeNoticeHeader: String { return self._s[2806]! } - public var Channel_Management_AddModerator: String { return self._s[2807]! } - public var AutoDownloadSettings_MaxFileSize: String { return self._s[2808]! } - public var StickerPacksSettings_ShowStickersButton: String { return self._s[2809]! } - public var NotificationsSound_Hello: String { return self._s[2810]! } - public var SocksProxySetup_SavedProxies: String { return self._s[2811]! } - public var Channel_Stickers_Placeholder: String { return self._s[2813]! } + public var Call_PhoneCallInProgressMessage: String { return self._s[2801]! } + public func PUSH_CHANNEL_ALBUM(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2802]!, self._r[2802]!, [_1]) + } + public var ChatList_UndoArchiveRevealedText: String { return self._s[2803]! } + public var GroupInfo_InviteLink_RevokeAlert_Text: String { return self._s[2804]! } + public var Conversation_SearchByName_Placeholder: String { return self._s[2805]! } + public var CreatePoll_AddOption: String { return self._s[2806]! } + public var GroupInfo_Permissions_SearchPlaceholder: String { return self._s[2807]! } + public var Group_UpgradeNoticeHeader: String { return self._s[2808]! } + public var Channel_Management_AddModerator: String { return self._s[2809]! } + public var AutoDownloadSettings_MaxFileSize: String { return self._s[2810]! } + public var StickerPacksSettings_ShowStickersButton: String { return self._s[2811]! } + public var NotificationsSound_Hello: String { return self._s[2812]! } + public var SocksProxySetup_SavedProxies: String { return self._s[2813]! } + public var Channel_Stickers_Placeholder: String { return self._s[2815]! } public func Login_EmailCodeBody(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2814]!, self._r[2814]!, [_0]) + return formatWithArgumentRanges(self._s[2816]!, self._r[2816]!, [_0]) } - public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2815]! } - public var Channel_Management_AddModeratorHelp: String { return self._s[2816]! } - public var ContactInfo_BirthdayLabel: String { return self._s[2817]! } - public var ChangePhoneNumberCode_RequestingACall: String { return self._s[2818]! } - public var AutoDownloadSettings_Channels: String { return self._s[2819]! } - public var Passport_Language_mn: String { return self._s[2820]! } - public var Notifications_ResetAllNotificationsHelp: String { return self._s[2823]! } - public var Passport_Language_ja: String { return self._s[2825]! } - public var Settings_About_Title: String { return self._s[2826]! } - public var Settings_NotificationsAndSounds: String { return self._s[2827]! } - public var ChannelInfo_DeleteGroup: String { return self._s[2828]! } - public var Settings_BlockedUsers: String { return self._s[2829]! } + public var PrivacyPolicy_DeclineDeclineAndDelete: String { return self._s[2817]! } + public var Channel_Management_AddModeratorHelp: String { return self._s[2818]! } + public var ContactInfo_BirthdayLabel: String { return self._s[2819]! } + public var ChangePhoneNumberCode_RequestingACall: String { return self._s[2820]! } + public var AutoDownloadSettings_Channels: String { return self._s[2821]! } + public var Passport_Language_mn: String { return self._s[2822]! } + public var Notifications_ResetAllNotificationsHelp: String { return self._s[2825]! } + public var Passport_Language_ja: String { return self._s[2827]! } + public var Settings_About_Title: String { return self._s[2828]! } + public var Settings_NotificationsAndSounds: String { return self._s[2829]! } + public var ChannelInfo_DeleteGroup: String { return self._s[2830]! } + public var Settings_BlockedUsers: String { return self._s[2831]! } public func Time_MonthOfYear_m4(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2830]!, self._r[2830]!, [_0]) + return formatWithArgumentRanges(self._s[2832]!, self._r[2832]!, [_0]) } - public var AutoDownloadSettings_PreloadVideo: String { return self._s[2831]! } - public var Passport_Address_AddResidentialAddress: String { return self._s[2832]! } - public var Channel_Username_Title: String { return self._s[2833]! } + public var AutoDownloadSettings_PreloadVideo: String { return self._s[2833]! } + public var Passport_Address_AddResidentialAddress: String { return self._s[2834]! } + public var Channel_Username_Title: String { return self._s[2835]! } public func Notification_RemovedGroupPhoto(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2834]!, self._r[2834]!, [_0]) + return formatWithArgumentRanges(self._s[2836]!, self._r[2836]!, [_0]) } - public var AttachmentMenu_File: String { return self._s[2836]! } - public var AppleWatch_Title: String { return self._s[2837]! } - public var Activity_RecordingVideoMessage: String { return self._s[2838]! } + public var AttachmentMenu_File: String { return self._s[2838]! } + public var AppleWatch_Title: String { return self._s[2839]! } + public var Activity_RecordingVideoMessage: String { return self._s[2840]! } public func Channel_DiscussionGroup_PublicChannelLink(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2839]!, self._r[2839]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2841]!, self._r[2841]!, [_1, _2]) } - public var Weekday_Saturday: String { return self._s[2840]! } - public var WallpaperPreview_SwipeColorsTopText: String { return self._s[2841]! } - public var Profile_CreateEncryptedChatError: String { return self._s[2842]! } - public var Common_Next: String { return self._s[2844]! } - public var Channel_Stickers_YourStickers: String { return self._s[2846]! } - public var Call_AudioRouteHeadphones: String { return self._s[2847]! } - public var TwoStepAuth_EnterPasswordForgot: String { return self._s[2849]! } - public var Watch_Contacts_NoResults: String { return self._s[2851]! } - public var PhotoEditor_TintTool: String { return self._s[2854]! } - public var LoginPassword_ResetAccount: String { return self._s[2856]! } - public var Settings_SavedMessages: String { return self._s[2857]! } - public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[2858]! } - public var Bot_GenericSupportStatus: String { return self._s[2859]! } - public var StickerPack_Add: String { return self._s[2860]! } - public var Checkout_TotalAmount: String { return self._s[2861]! } - public var Your_cards_number_is_invalid: String { return self._s[2862]! } - public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[2863]! } + public var Weekday_Saturday: String { return self._s[2842]! } + public var WallpaperPreview_SwipeColorsTopText: String { return self._s[2843]! } + public var Profile_CreateEncryptedChatError: String { return self._s[2844]! } + public var Common_Next: String { return self._s[2846]! } + public var Channel_Stickers_YourStickers: String { return self._s[2848]! } + public var Call_AudioRouteHeadphones: String { return self._s[2849]! } + public var TwoStepAuth_EnterPasswordForgot: String { return self._s[2851]! } + public var Watch_Contacts_NoResults: String { return self._s[2853]! } + public var PhotoEditor_TintTool: String { return self._s[2856]! } + public var LoginPassword_ResetAccount: String { return self._s[2858]! } + public var Settings_SavedMessages: String { return self._s[2859]! } + public var SettingsSearch_Synonyms_Appearance_Animations: String { return self._s[2860]! } + public var Bot_GenericSupportStatus: String { return self._s[2861]! } + public var StickerPack_Add: String { return self._s[2862]! } + public var Checkout_TotalAmount: String { return self._s[2863]! } + public var Your_cards_number_is_invalid: String { return self._s[2864]! } + public var SettingsSearch_Synonyms_Appearance_AutoNightTheme: String { return self._s[2865]! } public func ChangePhoneNumberCode_CallTimer(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2864]!, self._r[2864]!, [_0]) + return formatWithArgumentRanges(self._s[2866]!, self._r[2866]!, [_0]) } public func GroupPermission_AddedInfo(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2865]!, self._r[2865]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2867]!, self._r[2867]!, [_1, _2]) } - public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2866]! } + public var ChatSettings_ConnectionType_UseSocks5: String { return self._s[2868]! } public func PUSH_CHAT_PHOTO_EDITED(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2868]!, self._r[2868]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2870]!, self._r[2870]!, [_1, _2]) } public func Conversation_RestrictedTextTimed(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2869]!, self._r[2869]!, [_0]) + return formatWithArgumentRanges(self._s[2871]!, self._r[2871]!, [_0]) } - public var GroupInfo_InviteLink_ShareLink: String { return self._s[2870]! } - public var StickerPack_Share: String { return self._s[2871]! } - public var Passport_DeleteAddress: String { return self._s[2872]! } - public var Settings_Passport: String { return self._s[2873]! } - public var SharedMedia_EmptyFilesText: String { return self._s[2874]! } - public var Conversation_DeleteMessagesForMe: String { return self._s[2875]! } - public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[2876]! } - public var Contacts_PermissionsText: String { return self._s[2877]! } - public var Group_Setup_HistoryVisible: String { return self._s[2878]! } - public var Passport_Address_AddRentalAgreement: String { return self._s[2880]! } - public var SocksProxySetup_Title: String { return self._s[2881]! } - public var Notification_Mute1h: String { return self._s[2882]! } + public var GroupInfo_InviteLink_ShareLink: String { return self._s[2872]! } + public var StickerPack_Share: String { return self._s[2873]! } + public var Passport_DeleteAddress: String { return self._s[2874]! } + public var Settings_Passport: String { return self._s[2875]! } + public var SharedMedia_EmptyFilesText: String { return self._s[2876]! } + public var Conversation_DeleteMessagesForMe: String { return self._s[2877]! } + public var PasscodeSettings_AutoLock_IfAwayFor_1hour: String { return self._s[2878]! } + public var Contacts_PermissionsText: String { return self._s[2879]! } + public var Group_Setup_HistoryVisible: String { return self._s[2880]! } + public var Passport_Address_AddRentalAgreement: String { return self._s[2882]! } + public var SocksProxySetup_Title: String { return self._s[2883]! } + public var Notification_Mute1h: String { return self._s[2884]! } public func Passport_Email_CodeHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2883]!, self._r[2883]!, [_0]) + return formatWithArgumentRanges(self._s[2885]!, self._r[2885]!, [_0]) } - public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[2884]! } + public var NotificationSettings_ShowNotificationsAllAccountsInfoOff: String { return self._s[2886]! } public func PUSH_PINNED_GEOLIVE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2885]!, self._r[2885]!, [_1]) + return formatWithArgumentRanges(self._s[2887]!, self._r[2887]!, [_1]) } - public var FastTwoStepSetup_PasswordSection: String { return self._s[2886]! } - public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2889]! } - public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2891]! } - public var DialogList_NoMessagesText: String { return self._s[2892]! } - public var Privacy_ContactsResetConfirmation: String { return self._s[2893]! } - public var Privacy_Calls_P2PHelp: String { return self._s[2894]! } - public var Channel_DiscussionGroup_SearchPlaceholder: String { return self._s[2896]! } - public var Your_cards_expiration_year_is_invalid: String { return self._s[2897]! } - public var Common_TakePhotoOrVideo: String { return self._s[2898]! } - public var Call_StatusBusy: String { return self._s[2899]! } - public var Conversation_PinnedMessage: String { return self._s[2900]! } - public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2901]! } - public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2902]! } - public var Undo_ChatCleared: String { return self._s[2903]! } - public var AppleWatch_ReplyPresets: String { return self._s[2904]! } - public var Passport_DiscardMessageDescription: String { return self._s[2906]! } - public var Login_NetworkError: String { return self._s[2907]! } + public var FastTwoStepSetup_PasswordSection: String { return self._s[2888]! } + public var NetworkUsageSettings_ResetStatsConfirmation: String { return self._s[2891]! } + public var InfoPlist_NSFaceIDUsageDescription: String { return self._s[2893]! } + public var DialogList_NoMessagesText: String { return self._s[2894]! } + public var Privacy_ContactsResetConfirmation: String { return self._s[2895]! } + public var Privacy_Calls_P2PHelp: String { return self._s[2896]! } + public var Channel_DiscussionGroup_SearchPlaceholder: String { return self._s[2898]! } + public var Your_cards_expiration_year_is_invalid: String { return self._s[2899]! } + public var Common_TakePhotoOrVideo: String { return self._s[2900]! } + public var Call_StatusBusy: String { return self._s[2901]! } + public var Conversation_PinnedMessage: String { return self._s[2902]! } + public var AutoDownloadSettings_VoiceMessagesTitle: String { return self._s[2903]! } + public var TwoStepAuth_SetupPasswordConfirmFailed: String { return self._s[2904]! } + public var Undo_ChatCleared: String { return self._s[2905]! } + public var AppleWatch_ReplyPresets: String { return self._s[2906]! } + public var Passport_DiscardMessageDescription: String { return self._s[2908]! } + public var Login_NetworkError: String { return self._s[2909]! } public func Notification_PinnedRoundMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2908]!, self._r[2908]!, [_0]) + return formatWithArgumentRanges(self._s[2910]!, self._r[2910]!, [_0]) } public func Channel_AdminLog_MessageRemovedChannelUsername(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2909]!, self._r[2909]!, [_0]) + return formatWithArgumentRanges(self._s[2911]!, self._r[2911]!, [_0]) } - public var SocksProxySetup_PasswordPlaceholder: String { return self._s[2910]! } - public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2912]! } + public var SocksProxySetup_PasswordPlaceholder: String { return self._s[2912]! } + public var Login_ResetAccountProtected_LimitExceeded: String { return self._s[2914]! } public func Watch_LastSeen_YesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2914]!, self._r[2914]!, [_0]) + return formatWithArgumentRanges(self._s[2916]!, self._r[2916]!, [_0]) } - public var Call_ConnectionErrorMessage: String { return self._s[2915]! } - public var SettingsSearch_Synonyms_Notifications_MessageNotificationsSound: String { return self._s[2916]! } - public var Compose_GroupTokenListPlaceholder: String { return self._s[2918]! } - public var ConversationMedia_Title: String { return self._s[2919]! } - public var EncryptionKey_Title: String { return self._s[2921]! } - public var TwoStepAuth_EnterPasswordTitle: String { return self._s[2922]! } - public var Notification_Exceptions_AddException: String { return self._s[2923]! } - public var PrivacySettings_BlockedPeersEmpty: String { return self._s[2924]! } - public var Profile_MessageLifetime1m: String { return self._s[2925]! } + public var Call_ConnectionErrorMessage: String { return self._s[2917]! } + public var SettingsSearch_Synonyms_Notifications_MessageNotificationsSound: String { return self._s[2918]! } + public var Compose_GroupTokenListPlaceholder: String { return self._s[2920]! } + public var ConversationMedia_Title: String { return self._s[2921]! } + public var EncryptionKey_Title: String { return self._s[2923]! } + public var TwoStepAuth_EnterPasswordTitle: String { return self._s[2924]! } + public var Notification_Exceptions_AddException: String { return self._s[2925]! } + public var PrivacySettings_BlockedPeersEmpty: String { return self._s[2926]! } + public var Profile_MessageLifetime1m: String { return self._s[2927]! } public func Channel_AdminLog_MessageUnkickedName(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2926]!, self._r[2926]!, [_1]) + return formatWithArgumentRanges(self._s[2928]!, self._r[2928]!, [_1]) } - public var Month_GenMay: String { return self._s[2927]! } + public var Month_GenMay: String { return self._s[2929]! } public func LiveLocationUpdated_TodayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2928]!, self._r[2928]!, [_0]) + return formatWithArgumentRanges(self._s[2930]!, self._r[2930]!, [_0]) } - public var PeopleNearby_Users: String { return self._s[2929]! } - public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2930]! } - public var AutoDownloadSettings_ResetSettings: String { return self._s[2931]! } - public var Conversation_EmptyPlaceholder: String { return self._s[2933]! } - public var Passport_Address_AddPassportRegistration: String { return self._s[2934]! } - public var Notifications_ChannelNotificationsAlert: String { return self._s[2935]! } - public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[2936]! } - public var Camera_TapAndHoldForVideo: String { return self._s[2937]! } - public var Channel_JoinChannel: String { return self._s[2939]! } - public var Appearance_Animations: String { return self._s[2942]! } + public var PeopleNearby_Users: String { return self._s[2931]! } + public var ChannelMembers_WhoCanAddMembersAllHelp: String { return self._s[2932]! } + public var AutoDownloadSettings_ResetSettings: String { return self._s[2933]! } + public var Conversation_EmptyPlaceholder: String { return self._s[2935]! } + public var Passport_Address_AddPassportRegistration: String { return self._s[2936]! } + public var Notifications_ChannelNotificationsAlert: String { return self._s[2937]! } + public var ChatSettings_AutoDownloadUsingCellular: String { return self._s[2938]! } + public var Camera_TapAndHoldForVideo: String { return self._s[2939]! } + public var Channel_JoinChannel: String { return self._s[2941]! } + public var Appearance_Animations: String { return self._s[2944]! } public func Notification_MessageLifetimeChanged(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2943]!, self._r[2943]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2945]!, self._r[2945]!, [_1, _2]) } - public var Stickers_GroupStickers: String { return self._s[2945]! } - public var ConvertToSupergroup_HelpTitle: String { return self._s[2947]! } - public var Passport_Address_Street: String { return self._s[2948]! } - public var Conversation_AddContact: String { return self._s[2949]! } - public var Login_PhonePlaceholder: String { return self._s[2950]! } - public var Channel_Members_InviteLink: String { return self._s[2952]! } - public var Bot_Stop: String { return self._s[2953]! } - public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[2955]! } - public var Notification_PassportValueAddress: String { return self._s[2956]! } - public var Month_ShortJuly: String { return self._s[2957]! } - public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[2958]! } - public var Channel_AdminLog_BanSendMedia: String { return self._s[2959]! } - public var Passport_Identity_ReverseSide: String { return self._s[2960]! } - public var Watch_Stickers_Recents: String { return self._s[2963]! } - public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[2965]! } - public var Map_SendThisLocation: String { return self._s[2966]! } + public var Stickers_GroupStickers: String { return self._s[2947]! } + public var ConvertToSupergroup_HelpTitle: String { return self._s[2949]! } + public var Passport_Address_Street: String { return self._s[2950]! } + public var Conversation_AddContact: String { return self._s[2951]! } + public var Login_PhonePlaceholder: String { return self._s[2952]! } + public var Channel_Members_InviteLink: String { return self._s[2954]! } + public var Bot_Stop: String { return self._s[2955]! } + public var SettingsSearch_Synonyms_Proxy_UseForCalls: String { return self._s[2957]! } + public var Notification_PassportValueAddress: String { return self._s[2958]! } + public var Month_ShortJuly: String { return self._s[2959]! } + public var Passport_Address_TypeTemporaryRegistrationUploadScan: String { return self._s[2960]! } + public var Channel_AdminLog_BanSendMedia: String { return self._s[2961]! } + public var Passport_Identity_ReverseSide: String { return self._s[2962]! } + public var Watch_Stickers_Recents: String { return self._s[2965]! } + public var PrivacyLastSeenSettings_EmpryUsersPlaceholder: String { return self._s[2967]! } + public var Map_SendThisLocation: String { return self._s[2968]! } public func Time_MonthOfYear_m1(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2967]!, self._r[2967]!, [_0]) + return formatWithArgumentRanges(self._s[2969]!, self._r[2969]!, [_0]) } public func InviteText_SingleContact(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2968]!, self._r[2968]!, [_0]) - } - public var ConvertToSupergroup_Note: String { return self._s[2969]! } - public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2970]!, self._r[2970]!, [_0]) } - public var NetworkUsageSettings_GeneralDataSection: String { return self._s[2971]! } + public var ConvertToSupergroup_Note: String { return self._s[2971]! } + public func FileSize_MB(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2972]!, self._r[2972]!, [_0]) + } + public var NetworkUsageSettings_GeneralDataSection: String { return self._s[2973]! } public func Compatibility_SecretMediaVersionTooLow(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2972]!, self._r[2972]!, [_0, _1]) + return formatWithArgumentRanges(self._s[2974]!, self._r[2974]!, [_0, _1]) } - public var Login_CallRequestState3: String { return self._s[2974]! } - public var Wallpaper_SearchShort: String { return self._s[2975]! } - public var SettingsSearch_Synonyms_Appearance_ColorTheme: String { return self._s[2977]! } - public var PasscodeSettings_UnlockWithFaceId: String { return self._s[2978]! } + public var Login_CallRequestState3: String { return self._s[2976]! } + public var Wallpaper_SearchShort: String { return self._s[2977]! } + public var SettingsSearch_Synonyms_Appearance_ColorTheme: String { return self._s[2979]! } + public var PasscodeSettings_UnlockWithFaceId: String { return self._s[2980]! } public func PUSH_CHAT_MESSAGE_GEOLIVE(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2979]!, self._r[2979]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2981]!, self._r[2981]!, [_1, _2]) } - public var Channel_AdminLogFilter_Title: String { return self._s[2980]! } - public var Notifications_GroupNotificationsExceptions: String { return self._s[2984]! } + public var Channel_AdminLogFilter_Title: String { return self._s[2982]! } + public var Notifications_GroupNotificationsExceptions: String { return self._s[2986]! } public func FileSize_B(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2985]!, self._r[2985]!, [_0]) - } - public var Passport_CorrectErrors: String { return self._s[2986]! } - public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2987]!, self._r[2987]!, [_0]) } - public var Map_SendMyCurrentLocation: String { return self._s[2988]! } - public var Channel_DiscussionGroup: String { return self._s[2989]! } + public var Passport_CorrectErrors: String { return self._s[2988]! } + public func Channel_MessageTitleUpdated(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[2989]!, self._r[2989]!, [_0]) + } + public var Map_SendMyCurrentLocation: String { return self._s[2990]! } + public var Channel_DiscussionGroup: String { return self._s[2991]! } public func PUSH_PINNED_CONTACT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2990]!, self._r[2990]!, [_1, _2]) + return formatWithArgumentRanges(self._s[2992]!, self._r[2992]!, [_1, _2]) } - public var SharedMedia_SearchNoResults: String { return self._s[2991]! } - public var Permissions_NotificationsText_v0: String { return self._s[2992]! } - public var Appearance_AppIcon: String { return self._s[2993]! } - public var LoginPassword_FloodError: String { return self._s[2994]! } - public var Group_Setup_HistoryHiddenHelp: String { return self._s[2996]! } + public var SharedMedia_SearchNoResults: String { return self._s[2993]! } + public var Permissions_NotificationsText_v0: String { return self._s[2994]! } + public var Appearance_AppIcon: String { return self._s[2995]! } + public var LoginPassword_FloodError: String { return self._s[2996]! } + public var Group_Setup_HistoryHiddenHelp: String { return self._s[2998]! } public func TwoStepAuth_PendingEmailHelp(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[2997]!, self._r[2997]!, [_0]) - } - public var Passport_Language_bn: String { return self._s[2998]! } - public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[2999]!, self._r[2999]!, [_0]) } - public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3000]!, self._r[3000]!, [_0]) - } - public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { + public var Passport_Language_bn: String { return self._s[3000]! } + public func DialogList_SingleUploadingPhotoSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3001]!, self._r[3001]!, [_0]) } - public var GroupInfo_InvitationLinkGroupFull: String { return self._s[3004]! } - public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[3006]! } - public var Contacts_PermissionsAllow: String { return self._s[3007]! } - public var ReportPeer_ReasonCopyright: String { return self._s[3008]! } - public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[3009]! } - public var WallpaperPreview_Pattern: String { return self._s[3010]! } - public var Paint_Duplicate: String { return self._s[3011]! } - public var Passport_Address_Country: String { return self._s[3012]! } - public var Notification_RenamedChannel: String { return self._s[3014]! } - public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[3015]! } - public var Group_MessagePhotoUpdated: String { return self._s[3016]! } - public var Channel_BanUser_PermissionSendMedia: String { return self._s[3017]! } - public var Conversation_ContextMenuBan: String { return self._s[3018]! } - public var TwoStepAuth_EmailSent: String { return self._s[3019]! } - public var MessagePoll_NoVotes: String { return self._s[3020]! } - public var Passport_Language_is: String { return self._s[3021]! } - public var PeopleNearby_UsersEmpty: String { return self._s[3023]! } - public var Tour_Text5: String { return self._s[3024]! } + public func Notification_PinnedAudioMessage(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3002]!, self._r[3002]!, [_0]) + } + public func Channel_AdminLog_MessageChangedGroupStickerPack(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3003]!, self._r[3003]!, [_0]) + } + public var GroupInfo_InvitationLinkGroupFull: String { return self._s[3006]! } + public var Group_EditAdmin_PermissionChangeInfo: String { return self._s[3008]! } + public var Contacts_PermissionsAllow: String { return self._s[3009]! } + public var ReportPeer_ReasonCopyright: String { return self._s[3010]! } + public var Channel_EditAdmin_PermissinAddAdminOn: String { return self._s[3011]! } + public var WallpaperPreview_Pattern: String { return self._s[3012]! } + public var Paint_Duplicate: String { return self._s[3013]! } + public var Passport_Address_Country: String { return self._s[3014]! } + public var Notification_RenamedChannel: String { return self._s[3016]! } + public var CheckoutInfo_ErrorPostcodeInvalid: String { return self._s[3017]! } + public var Group_MessagePhotoUpdated: String { return self._s[3018]! } + public var Channel_BanUser_PermissionSendMedia: String { return self._s[3019]! } + public var Conversation_ContextMenuBan: String { return self._s[3020]! } + public var TwoStepAuth_EmailSent: String { return self._s[3021]! } + public var MessagePoll_NoVotes: String { return self._s[3022]! } + public var Passport_Language_is: String { return self._s[3023]! } + public var PeopleNearby_UsersEmpty: String { return self._s[3025]! } + public var Tour_Text5: String { return self._s[3026]! } public func Call_GroupFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3026]!, self._r[3026]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3028]!, self._r[3028]!, [_1, _2]) } - public var Undo_SecretChatDeleted: String { return self._s[3027]! } - public var SocksProxySetup_ShareQRCode: String { return self._s[3028]! } - public var LogoutOptions_ChangePhoneNumberText: String { return self._s[3029]! } - public var Paint_Edit: String { return self._s[3031]! } - public var Undo_DeletedGroup: String { return self._s[3034]! } - public var LoginPassword_ForgotPassword: String { return self._s[3035]! } - public var GroupInfo_GroupNamePlaceholder: String { return self._s[3036]! } + public var Undo_SecretChatDeleted: String { return self._s[3029]! } + public var SocksProxySetup_ShareQRCode: String { return self._s[3030]! } + public var LogoutOptions_ChangePhoneNumberText: String { return self._s[3031]! } + public var Paint_Edit: String { return self._s[3033]! } + public var Undo_DeletedGroup: String { return self._s[3036]! } + public var LoginPassword_ForgotPassword: String { return self._s[3037]! } + public var GroupInfo_GroupNamePlaceholder: String { return self._s[3038]! } public func Notification_Kicked(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3037]!, self._r[3037]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3039]!, self._r[3039]!, [_0, _1]) } - public var Conversation_InputTextCaptionPlaceholder: String { return self._s[3038]! } - public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[3039]! } - public var Passport_Language_uz: String { return self._s[3040]! } - public var Conversation_PinMessageAlertGroup: String { return self._s[3041]! } - public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[3042]! } - public var Map_StopLiveLocation: String { return self._s[3044]! } - public var PasscodeSettings_Help: String { return self._s[3046]! } - public var NotificationsSound_Input: String { return self._s[3047]! } - public var Share_Title: String { return self._s[3050]! } - public var LogoutOptions_Title: String { return self._s[3051]! } - public var Login_TermsOfServiceAgree: String { return self._s[3052]! } - public var Compose_NewEncryptedChatTitle: String { return self._s[3053]! } - public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[3054]! } - public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[3055]! } - public var EnterPasscode_EnterTitle: String { return self._s[3056]! } + public var Conversation_InputTextCaptionPlaceholder: String { return self._s[3040]! } + public var AutoDownloadSettings_VideoMessagesTitle: String { return self._s[3041]! } + public var Passport_Language_uz: String { return self._s[3042]! } + public var Conversation_PinMessageAlertGroup: String { return self._s[3043]! } + public var SettingsSearch_Synonyms_Privacy_GroupsAndChannels: String { return self._s[3044]! } + public var Map_StopLiveLocation: String { return self._s[3046]! } + public var PasscodeSettings_Help: String { return self._s[3048]! } + public var NotificationsSound_Input: String { return self._s[3049]! } + public var Share_Title: String { return self._s[3052]! } + public var LogoutOptions_Title: String { return self._s[3053]! } + public var Login_TermsOfServiceAgree: String { return self._s[3054]! } + public var Compose_NewEncryptedChatTitle: String { return self._s[3055]! } + public var Channel_AdminLog_TitleSelectedEvents: String { return self._s[3056]! } + public var Channel_EditAdmin_PermissionEditMessages: String { return self._s[3057]! } + public var EnterPasscode_EnterTitle: String { return self._s[3058]! } public func Call_PrivacyErrorMessage(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3057]!, self._r[3057]!, [_0]) + return formatWithArgumentRanges(self._s[3059]!, self._r[3059]!, [_0]) } - public var Settings_CopyPhoneNumber: String { return self._s[3058]! } - public var Conversation_AddToContacts: String { return self._s[3059]! } - public var NotificationsSound_Keys: String { return self._s[3060]! } + public var Settings_CopyPhoneNumber: String { return self._s[3060]! } + public var Conversation_AddToContacts: String { return self._s[3061]! } + public var NotificationsSound_Keys: String { return self._s[3062]! } public func Call_ParticipantVersionOutdatedError(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3061]!, self._r[3061]!, [_0]) + return formatWithArgumentRanges(self._s[3063]!, self._r[3063]!, [_0]) } - public var Notification_MessageLifetime1w: String { return self._s[3062]! } - public var Message_Video: String { return self._s[3063]! } - public var AutoDownloadSettings_CellularTitle: String { return self._s[3064]! } + public var Notification_MessageLifetime1w: String { return self._s[3064]! } + public var Message_Video: String { return self._s[3065]! } + public var AutoDownloadSettings_CellularTitle: String { return self._s[3066]! } public func PUSH_CHANNEL_MESSAGE_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3065]!, self._r[3065]!, [_1]) + return formatWithArgumentRanges(self._s[3067]!, self._r[3067]!, [_1]) } public func Notification_JoinedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3068]!, self._r[3068]!, [_0]) + return formatWithArgumentRanges(self._s[3070]!, self._r[3070]!, [_0]) } public func PrivacySettings_LastSeenContactsPlus(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3069]!, self._r[3069]!, [_0]) + return formatWithArgumentRanges(self._s[3071]!, self._r[3071]!, [_0]) } - public var Passport_Language_mk: String { return self._s[3070]! } - public var CreatePoll_CancelConfirmation: String { return self._s[3071]! } - public var Conversation_SilentBroadcastTooltipOn: String { return self._s[3073]! } - public var PrivacyPolicy_Decline: String { return self._s[3074]! } - public var Passport_Identity_DoesNotExpire: String { return self._s[3075]! } - public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[3076]! } - public var Permissions_SiriAllow_v0: String { return self._s[3078]! } - public var Appearance_ThemeCarouselNight: String { return self._s[3079]! } + public var Passport_Language_mk: String { return self._s[3072]! } + public var CreatePoll_CancelConfirmation: String { return self._s[3073]! } + public var Conversation_SilentBroadcastTooltipOn: String { return self._s[3075]! } + public var PrivacyPolicy_Decline: String { return self._s[3076]! } + public var Passport_Identity_DoesNotExpire: String { return self._s[3077]! } + public var Channel_AdminLogFilter_EventsRestrictions: String { return self._s[3078]! } + public var Permissions_SiriAllow_v0: String { return self._s[3080]! } + public var Appearance_ThemeCarouselNight: String { return self._s[3081]! } public func LOCAL_CHAT_MESSAGE_FWDS(_ _1: String, _ _2: Int) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3080]!, self._r[3080]!, [_1, "\(_2)"]) + return formatWithArgumentRanges(self._s[3082]!, self._r[3082]!, [_1, "\(_2)"]) } public func Notification_RenamedChat(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3081]!, self._r[3081]!, [_0]) + return formatWithArgumentRanges(self._s[3083]!, self._r[3083]!, [_0]) } - public var Paint_Regular: String { return self._s[3082]! } - public var ChatSettings_AutoDownloadReset: String { return self._s[3083]! } - public var SocksProxySetup_ShareLink: String { return self._s[3084]! } - public var BlockedUsers_SelectUserTitle: String { return self._s[3085]! } - public var GroupInfo_InviteByLink: String { return self._s[3087]! } - public var MessageTimer_Custom: String { return self._s[3088]! } - public var UserInfo_NotificationsDefaultEnabled: String { return self._s[3089]! } - public var Passport_Address_TypeTemporaryRegistration: String { return self._s[3091]! } - public var ChatSettings_AutoDownloadUsingWiFi: String { return self._s[3092]! } - public var Channel_Username_InvalidTaken: String { return self._s[3093]! } - public var Conversation_ClousStorageInfo_Description3: String { return self._s[3094]! } - public var Settings_ChatBackground: String { return self._s[3095]! } - public var Channel_Subscribers_Title: String { return self._s[3096]! } - public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[3097]! } - public var Watch_ConnectionDescription: String { return self._s[3098]! } - public var ChatList_ArchivedChatsTitle: String { return self._s[3102]! } - public var Wallpaper_ResetWallpapers: String { return self._s[3103]! } - public var EditProfile_Title: String { return self._s[3104]! } - public var NotificationsSound_Bamboo: String { return self._s[3106]! } - public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[3108]! } - public var Login_SmsRequestState2: String { return self._s[3109]! } - public var Passport_Language_ar: String { return self._s[3110]! } + public var Paint_Regular: String { return self._s[3084]! } + public var ChatSettings_AutoDownloadReset: String { return self._s[3085]! } + public var SocksProxySetup_ShareLink: String { return self._s[3086]! } + public var BlockedUsers_SelectUserTitle: String { return self._s[3087]! } + public var GroupInfo_InviteByLink: String { return self._s[3089]! } + public var MessageTimer_Custom: String { return self._s[3090]! } + public var UserInfo_NotificationsDefaultEnabled: String { return self._s[3091]! } + public var Passport_Address_TypeTemporaryRegistration: String { return self._s[3093]! } + public var ChatSettings_AutoDownloadUsingWiFi: String { return self._s[3094]! } + public var Channel_Username_InvalidTaken: String { return self._s[3095]! } + public var Conversation_ClousStorageInfo_Description3: String { return self._s[3096]! } + public var Settings_ChatBackground: String { return self._s[3097]! } + public var Channel_Subscribers_Title: String { return self._s[3098]! } + public var ApplyLanguage_ChangeLanguageTitle: String { return self._s[3099]! } + public var Watch_ConnectionDescription: String { return self._s[3100]! } + public var ChatList_ArchivedChatsTitle: String { return self._s[3104]! } + public var Wallpaper_ResetWallpapers: String { return self._s[3105]! } + public var EditProfile_Title: String { return self._s[3106]! } + public var NotificationsSound_Bamboo: String { return self._s[3108]! } + public var Channel_AdminLog_MessagePreviousMessage: String { return self._s[3110]! } + public var Login_SmsRequestState2: String { return self._s[3111]! } + public var Passport_Language_ar: String { return self._s[3112]! } public func Message_AuthorPinnedGame(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3111]!, self._r[3111]!, [_0]) + return formatWithArgumentRanges(self._s[3113]!, self._r[3113]!, [_0]) } - public var SettingsSearch_Synonyms_EditProfile_Title: String { return self._s[3112]! } - public var Conversation_MessageDialogEdit: String { return self._s[3113]! } + public var SettingsSearch_Synonyms_EditProfile_Title: String { return self._s[3114]! } + public var Conversation_MessageDialogEdit: String { return self._s[3115]! } public func PUSH_AUTH_UNKNOWN(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3114]!, self._r[3114]!, [_1]) + return formatWithArgumentRanges(self._s[3116]!, self._r[3116]!, [_1]) } - public var Common_Close: String { return self._s[3115]! } - public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[3116]! } - public var SettingsSearch_Synonyms_Notifications_GroupNotificationsPreview: String { return self._s[3117]! } + public var Common_Close: String { return self._s[3117]! } + public var GroupInfo_PublicLink: String { return self._s[3118]! } + public var Channel_OwnershipTransfer_ErrorPrivacyRestricted: String { return self._s[3119]! } + public var SettingsSearch_Synonyms_Notifications_GroupNotificationsPreview: String { return self._s[3120]! } public func Channel_AdminLog_MessageToggleInvitesOff(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3121]!, self._r[3121]!, [_0]) + return formatWithArgumentRanges(self._s[3124]!, self._r[3124]!, [_0]) } - public var UserInfo_About_Placeholder: String { return self._s[3122]! } + public var UserInfo_About_Placeholder: String { return self._s[3125]! } public func Conversation_FileHowToText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3123]!, self._r[3123]!, [_0]) + return formatWithArgumentRanges(self._s[3126]!, self._r[3126]!, [_0]) } - public var GroupInfo_Permissions_SectionTitle: String { return self._s[3124]! } - public var Channel_Info_Banned: String { return self._s[3126]! } + public var GroupInfo_Permissions_SectionTitle: String { return self._s[3127]! } + public var Channel_Info_Banned: String { return self._s[3129]! } public func Time_MonthOfYear_m11(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3127]!, self._r[3127]!, [_0]) + return formatWithArgumentRanges(self._s[3130]!, self._r[3130]!, [_0]) } - public var Appearance_Other: String { return self._s[3128]! } - public var Passport_Language_my: String { return self._s[3129]! } - public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3130]! } + public var Appearance_Other: String { return self._s[3131]! } + public var Passport_Language_my: String { return self._s[3132]! } + public var Group_Setup_BasicHistoryHiddenHelp: String { return self._s[3133]! } public func Time_PreciseDate_m9(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3131]!, self._r[3131]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3134]!, self._r[3134]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[3132]! } - public var Preview_CopyAddress: String { return self._s[3133]! } + public var SettingsSearch_Synonyms_Privacy_PasscodeAndFaceId: String { return self._s[3135]! } + public var Preview_CopyAddress: String { return self._s[3136]! } public func DialogList_SinglePlayingGameSuffix(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3134]!, self._r[3134]!, [_0]) + return formatWithArgumentRanges(self._s[3137]!, self._r[3137]!, [_0]) } - public var KeyCommand_JumpToPreviousChat: String { return self._s[3135]! } - public var UserInfo_BotSettings: String { return self._s[3136]! } - public var LiveLocation_MenuStopAll: String { return self._s[3138]! } - public var Passport_PasswordCreate: String { return self._s[3139]! } - public var StickerSettings_MaskContextInfo: String { return self._s[3140]! } - public var Message_PinnedLocationMessage: String { return self._s[3141]! } - public var Map_Satellite: String { return self._s[3142]! } - public var Watch_Message_Unsupported: String { return self._s[3143]! } - public var Username_TooManyPublicUsernamesError: String { return self._s[3144]! } - public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[3145]! } + public var KeyCommand_JumpToPreviousChat: String { return self._s[3138]! } + public var UserInfo_BotSettings: String { return self._s[3139]! } + public var LiveLocation_MenuStopAll: String { return self._s[3141]! } + public var Passport_PasswordCreate: String { return self._s[3142]! } + public var StickerSettings_MaskContextInfo: String { return self._s[3143]! } + public var Message_PinnedLocationMessage: String { return self._s[3144]! } + public var Map_Satellite: String { return self._s[3145]! } + public var Watch_Message_Unsupported: String { return self._s[3146]! } + public var Username_TooManyPublicUsernamesError: String { return self._s[3147]! } + public var TwoStepAuth_EnterPasswordInvalid: String { return self._s[3148]! } public func Notification_PinnedTextMessage(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3146]!, self._r[3146]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3149]!, self._r[3149]!, [_0, _1]) } public func Conversation_OpenBotLinkText(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3147]!, self._r[3147]!, [_0]) + return formatWithArgumentRanges(self._s[3150]!, self._r[3150]!, [_0]) } - public var Notifications_ChannelNotificationsHelp: String { return self._s[3148]! } - public var Privacy_Calls_P2PContacts: String { return self._s[3149]! } - public var NotificationsSound_None: String { return self._s[3150]! } - public var Channel_DiscussionGroup_UnlinkGroup: String { return self._s[3152]! } - public var AccessDenied_VoiceMicrophone: String { return self._s[3153]! } + public var Notifications_ChannelNotificationsHelp: String { return self._s[3151]! } + public var Privacy_Calls_P2PContacts: String { return self._s[3152]! } + public var NotificationsSound_None: String { return self._s[3153]! } + public var Channel_DiscussionGroup_UnlinkGroup: String { return self._s[3155]! } + public var AccessDenied_VoiceMicrophone: String { return self._s[3156]! } public func ApplyLanguage_ChangeLanguageAlreadyActive(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3154]!, self._r[3154]!, [_1]) + return formatWithArgumentRanges(self._s[3157]!, self._r[3157]!, [_1]) } - public var Cache_Indexing: String { return self._s[3155]! } - public var DialogList_RecentTitlePeople: String { return self._s[3157]! } - public var DialogList_EncryptionRejected: String { return self._s[3158]! } - public var GroupInfo_Administrators: String { return self._s[3159]! } - public var Passport_ScanPassportHelp: String { return self._s[3160]! } - public var Application_Name: String { return self._s[3161]! } - public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[3162]! } - public var Appearance_ThemeCarouselDay: String { return self._s[3164]! } - public var Passport_Identity_TranslationHelp: String { return self._s[3165]! } + public var Cache_Indexing: String { return self._s[3158]! } + public var DialogList_RecentTitlePeople: String { return self._s[3160]! } + public var DialogList_EncryptionRejected: String { return self._s[3161]! } + public var GroupInfo_Administrators: String { return self._s[3162]! } + public var Passport_ScanPassportHelp: String { return self._s[3163]! } + public var Application_Name: String { return self._s[3164]! } + public var Channel_AdminLogFilter_ChannelEventsInfo: String { return self._s[3165]! } + public var Appearance_ThemeCarouselDay: String { return self._s[3167]! } + public var Passport_Identity_TranslationHelp: String { return self._s[3168]! } public func Notification_JoinedGroupByLink(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3166]!, self._r[3166]!, [_0]) + return formatWithArgumentRanges(self._s[3169]!, self._r[3169]!, [_0]) } public func DialogList_EncryptedChatStartedOutgoing(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3167]!, self._r[3167]!, [_0]) + return formatWithArgumentRanges(self._s[3170]!, self._r[3170]!, [_0]) } - public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[3168]! } - public var Privacy_ChatsTitle: String { return self._s[3169]! } - public var DialogList_ClearHistoryConfirmation: String { return self._s[3170]! } - public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[3171]! } - public var Watch_Suggestion_HoldOn: String { return self._s[3172]! } - public var Group_EditAdmin_TransferOwnership: String { return self._s[3173]! } - public var Group_LinkedChannel: String { return self._s[3174]! } - public var SocksProxySetup_RequiredCredentials: String { return self._s[3175]! } - public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[3176]! } - public var TwoStepAuth_EmailSkipAlert: String { return self._s[3177]! } - public var Channel_Setup_TypePublic: String { return self._s[3180]! } + public var Channel_EditAdmin_PermissionDeleteMessages: String { return self._s[3171]! } + public var Privacy_ChatsTitle: String { return self._s[3172]! } + public var DialogList_ClearHistoryConfirmation: String { return self._s[3173]! } + public var SettingsSearch_Synonyms_Data_Storage_ClearCache: String { return self._s[3174]! } + public var Watch_Suggestion_HoldOn: String { return self._s[3175]! } + public var Group_EditAdmin_TransferOwnership: String { return self._s[3176]! } + public var Group_LinkedChannel: String { return self._s[3177]! } + public var SocksProxySetup_RequiredCredentials: String { return self._s[3178]! } + public var Passport_Address_TypeRentalAgreementUploadScan: String { return self._s[3179]! } + public var TwoStepAuth_EmailSkipAlert: String { return self._s[3180]! } + public var Channel_Setup_TypePublic: String { return self._s[3183]! } public func Channel_AdminLog_MessageToggleInvitesOn(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3181]!, self._r[3181]!, [_0]) + return formatWithArgumentRanges(self._s[3184]!, self._r[3184]!, [_0]) } - public var Channel_TypeSetup_Title: String { return self._s[3183]! } - public var Map_OpenInMaps: String { return self._s[3185]! } + public var Channel_TypeSetup_Title: String { return self._s[3186]! } + public var Map_OpenInMaps: String { return self._s[3188]! } public func PUSH_PINNED_NOTEXT(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3186]!, self._r[3186]!, [_1]) + return formatWithArgumentRanges(self._s[3189]!, self._r[3189]!, [_1]) } - public var NotificationsSound_Tremolo: String { return self._s[3188]! } + public var NotificationsSound_Tremolo: String { return self._s[3191]! } public func Date_ChatDateHeaderYear(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3189]!, self._r[3189]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3192]!, self._r[3192]!, [_1, _2, _3]) } - public var ConversationProfile_UnknownAddMemberError: String { return self._s[3190]! } - public var Channel_OwnershipTransfer_PasswordPlaceholder: String { return self._s[3191]! } - public var Passport_PasswordHelp: String { return self._s[3192]! } - public var Login_CodeExpiredError: String { return self._s[3193]! } - public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[3194]! } - public var Conversation_TitleUnmute: String { return self._s[3195]! } - public var Passport_Identity_ScansHelp: String { return self._s[3196]! } - public var Passport_Language_lo: String { return self._s[3197]! } - public var Camera_FlashAuto: String { return self._s[3198]! } - public var Conversation_OpenBotLinkOpen: String { return self._s[3199]! } - public var Common_Cancel: String { return self._s[3200]! } - public var DialogList_SavedMessagesTooltip: String { return self._s[3201]! } - public var TwoStepAuth_SetupPasswordTitle: String { return self._s[3202]! } + public var ConversationProfile_UnknownAddMemberError: String { return self._s[3193]! } + public var Channel_OwnershipTransfer_PasswordPlaceholder: String { return self._s[3194]! } + public var Passport_PasswordHelp: String { return self._s[3195]! } + public var Login_CodeExpiredError: String { return self._s[3196]! } + public var Channel_EditAdmin_PermissionChangeInfo: String { return self._s[3197]! } + public var Conversation_TitleUnmute: String { return self._s[3198]! } + public var Passport_Identity_ScansHelp: String { return self._s[3199]! } + public var Passport_Language_lo: String { return self._s[3200]! } + public var Camera_FlashAuto: String { return self._s[3201]! } + public var Conversation_OpenBotLinkOpen: String { return self._s[3202]! } + public var Common_Cancel: String { return self._s[3203]! } + public var DialogList_SavedMessagesTooltip: String { return self._s[3204]! } + public var TwoStepAuth_SetupPasswordTitle: String { return self._s[3205]! } public func PUSH_MESSAGE_FWD(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3203]!, self._r[3203]!, [_1]) + return formatWithArgumentRanges(self._s[3206]!, self._r[3206]!, [_1]) } - public var Conversation_ReportSpamConfirmation: String { return self._s[3204]! } - public var ChatSettings_Title: String { return self._s[3206]! } - public var Passport_PasswordReset: String { return self._s[3207]! } - public var SocksProxySetup_TypeNone: String { return self._s[3208]! } - public var PhoneNumberHelp_Help: String { return self._s[3210]! } - public var Checkout_EnterPassword: String { return self._s[3211]! } - public var Share_AuthTitle: String { return self._s[3213]! } - public var Activity_UploadingDocument: String { return self._s[3214]! } - public var State_Connecting: String { return self._s[3215]! } - public var Profile_MessageLifetime1w: String { return self._s[3216]! } - public var Conversation_ContextMenuReport: String { return self._s[3217]! } - public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[3218]! } - public var AutoNightTheme_ScheduledTo: String { return self._s[3219]! } - public var AuthSessions_Terminate: String { return self._s[3220]! } - public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[3221]! } - public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[3222]! } - public var PhotoEditor_Set: String { return self._s[3223]! } - public var EmptyGroupInfo_Title: String { return self._s[3224]! } - public var Login_PadPhoneHelp: String { return self._s[3225]! } - public var AutoDownloadSettings_TypeGroupChats: String { return self._s[3227]! } - public var PrivacyPolicy_DeclineLastWarning: String { return self._s[3229]! } - public var NotificationsSound_Complete: String { return self._s[3230]! } - public var SettingsSearch_Synonyms_Privacy_Data_Title: String { return self._s[3231]! } - public var Group_Info_AdminLog: String { return self._s[3232]! } - public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[3233]! } - public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[3234]! } - public var Conversation_Admin: String { return self._s[3236]! } - public var Conversation_GifTooltip: String { return self._s[3237]! } - public var Passport_NotLoggedInMessage: String { return self._s[3238]! } + public var Conversation_ReportSpamConfirmation: String { return self._s[3207]! } + public var ChatSettings_Title: String { return self._s[3209]! } + public var Passport_PasswordReset: String { return self._s[3210]! } + public var SocksProxySetup_TypeNone: String { return self._s[3211]! } + public var PhoneNumberHelp_Help: String { return self._s[3213]! } + public var Checkout_EnterPassword: String { return self._s[3214]! } + public var Share_AuthTitle: String { return self._s[3216]! } + public var Activity_UploadingDocument: String { return self._s[3217]! } + public var State_Connecting: String { return self._s[3218]! } + public var Profile_MessageLifetime1w: String { return self._s[3219]! } + public var Conversation_ContextMenuReport: String { return self._s[3220]! } + public var CheckoutInfo_ReceiverInfoPhone: String { return self._s[3221]! } + public var AutoNightTheme_ScheduledTo: String { return self._s[3222]! } + public var AuthSessions_Terminate: String { return self._s[3223]! } + public var Checkout_NewCard_CardholderNamePlaceholder: String { return self._s[3224]! } + public var KeyCommand_JumpToPreviousUnreadChat: String { return self._s[3225]! } + public var PhotoEditor_Set: String { return self._s[3226]! } + public var EmptyGroupInfo_Title: String { return self._s[3227]! } + public var Login_PadPhoneHelp: String { return self._s[3228]! } + public var AutoDownloadSettings_TypeGroupChats: String { return self._s[3230]! } + public var PrivacyPolicy_DeclineLastWarning: String { return self._s[3232]! } + public var NotificationsSound_Complete: String { return self._s[3233]! } + public var SettingsSearch_Synonyms_Privacy_Data_Title: String { return self._s[3234]! } + public var Group_Info_AdminLog: String { return self._s[3235]! } + public var GroupPermission_NotAvailableInPublicGroups: String { return self._s[3236]! } + public var Channel_AdminLog_InfoPanelAlertText: String { return self._s[3237]! } + public var Conversation_Admin: String { return self._s[3239]! } + public var Conversation_GifTooltip: String { return self._s[3240]! } + public var Passport_NotLoggedInMessage: String { return self._s[3241]! } public func AutoDownloadSettings_OnFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3239]!, self._r[3239]!, [_0]) + return formatWithArgumentRanges(self._s[3242]!, self._r[3242]!, [_0]) } - public var Profile_MessageLifetimeForever: String { return self._s[3240]! } - public var SharedMedia_EmptyTitle: String { return self._s[3242]! } - public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[3244]! } - public var Username_Help: String { return self._s[3245]! } - public var DialogList_LanguageTooltip: String { return self._s[3247]! } - public var Map_LoadError: String { return self._s[3248]! } - public var Login_PhoneNumberAlreadyAuthorized: String { return self._s[3249]! } - public var Channel_AdminLog_AddMembers: String { return self._s[3250]! } - public var ArchivedChats_IntroTitle2: String { return self._s[3251]! } - public var Notification_Exceptions_NewException: String { return self._s[3252]! } - public var TwoStepAuth_EmailTitle: String { return self._s[3253]! } - public var WatchRemote_AlertText: String { return self._s[3254]! } - public var ChatSettings_ConnectionType_Title: String { return self._s[3257]! } + public var Profile_MessageLifetimeForever: String { return self._s[3243]! } + public var SharedMedia_EmptyTitle: String { return self._s[3245]! } + public var Channel_Edit_PrivatePublicLinkAlert: String { return self._s[3247]! } + public var Username_Help: String { return self._s[3248]! } + public var DialogList_LanguageTooltip: String { return self._s[3250]! } + public var Map_LoadError: String { return self._s[3251]! } + public var Login_PhoneNumberAlreadyAuthorized: String { return self._s[3252]! } + public var Channel_AdminLog_AddMembers: String { return self._s[3253]! } + public var ArchivedChats_IntroTitle2: String { return self._s[3254]! } + public var Notification_Exceptions_NewException: String { return self._s[3255]! } + public var TwoStepAuth_EmailTitle: String { return self._s[3256]! } + public var WatchRemote_AlertText: String { return self._s[3257]! } + public var ChatSettings_ConnectionType_Title: String { return self._s[3260]! } public func Settings_CheckPhoneNumberTitle(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3258]!, self._r[3258]!, [_0]) - } - public var SettingsSearch_Synonyms_Calls_CallTab: String { return self._s[3259]! } - public var Passport_Address_CountryPlaceholder: String { return self._s[3260]! } - public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3261]!, self._r[3261]!, [_0]) } + public var SettingsSearch_Synonyms_Calls_CallTab: String { return self._s[3262]! } + public var Passport_Address_CountryPlaceholder: String { return self._s[3263]! } + public func DialogList_AwaitingEncryption(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3264]!, self._r[3264]!, [_0]) + } public func Time_PreciseDate_m6(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3262]!, self._r[3262]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3265]!, self._r[3265]!, [_1, _2, _3]) } - public var Group_AdminLog_EmptyText: String { return self._s[3263]! } - public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[3264]! } - public var Conversation_PrivateChannelTooltip: String { return self._s[3266]! } - public var ChatList_UndoArchiveText1: String { return self._s[3267]! } - public var AccessDenied_VideoMicrophone: String { return self._s[3268]! } - public var Conversation_ContextMenuStickerPackAdd: String { return self._s[3269]! } - public var Cache_ClearNone: String { return self._s[3270]! } - public var SocksProxySetup_FailedToConnect: String { return self._s[3271]! } - public var Permissions_NotificationsTitle_v0: String { return self._s[3272]! } + public var Group_AdminLog_EmptyText: String { return self._s[3266]! } + public var SettingsSearch_Synonyms_Appearance_Title: String { return self._s[3267]! } + public var Conversation_PrivateChannelTooltip: String { return self._s[3269]! } + public var ChatList_UndoArchiveText1: String { return self._s[3270]! } + public var AccessDenied_VideoMicrophone: String { return self._s[3271]! } + public var Conversation_ContextMenuStickerPackAdd: String { return self._s[3272]! } + public var Cache_ClearNone: String { return self._s[3273]! } + public var SocksProxySetup_FailedToConnect: String { return self._s[3274]! } + public var Permissions_NotificationsTitle_v0: String { return self._s[3275]! } public func Channel_AdminLog_MessageEdited(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3273]!, self._r[3273]!, [_0]) - } - public var Passport_Identity_Country: String { return self._s[3274]! } - public func ChatSettings_AutoDownloadSettings_TypeFile(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3275]!, self._r[3275]!, [_0]) - } - public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3276]!, self._r[3276]!, [_0]) } - public var Exceptions_AddToExceptions: String { return self._s[3277]! } - public var AccessDenied_Settings: String { return self._s[3278]! } - public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[3279]! } - public var Month_ShortMay: String { return self._s[3280]! } - public var Compose_NewGroup: String { return self._s[3281]! } - public var Group_Setup_TypePrivate: String { return self._s[3283]! } - public var Login_PadPhoneHelpTitle: String { return self._s[3285]! } - public var Appearance_ThemeDayClassic: String { return self._s[3286]! } - public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[3287]! } - public var AutoDownloadSettings_OffForAll: String { return self._s[3288]! } - public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[3289]! } - public var Conversation_typing: String { return self._s[3291]! } - public var Paint_Masks: String { return self._s[3292]! } - public var Username_InvalidTaken: String { return self._s[3293]! } - public var Call_StatusNoAnswer: String { return self._s[3294]! } - public var TwoStepAuth_EmailAddSuccess: String { return self._s[3295]! } - public var SettingsSearch_Synonyms_Privacy_BlockedUsers: String { return self._s[3296]! } - public var Passport_Identity_Selfie: String { return self._s[3297]! } - public var Login_InfoLastNamePlaceholder: String { return self._s[3298]! } - public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[3299]! } - public var Conversation_ClearSecretHistory: String { return self._s[3300]! } - public var PeopleNearby_Description: String { return self._s[3302]! } - public var NetworkUsageSettings_Title: String { return self._s[3303]! } - public var Your_cards_security_code_is_invalid: String { return self._s[3305]! } + public var Passport_Identity_Country: String { return self._s[3277]! } + public func ChatSettings_AutoDownloadSettings_TypeFile(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3278]!, self._r[3278]!, [_0]) + } + public func Notification_CreatedChat(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3279]!, self._r[3279]!, [_0]) + } + public var Exceptions_AddToExceptions: String { return self._s[3280]! } + public var AccessDenied_Settings: String { return self._s[3281]! } + public var Passport_Address_TypeUtilityBillUploadScan: String { return self._s[3282]! } + public var Month_ShortMay: String { return self._s[3283]! } + public var Compose_NewGroup: String { return self._s[3284]! } + public var Group_Setup_TypePrivate: String { return self._s[3286]! } + public var Login_PadPhoneHelpTitle: String { return self._s[3288]! } + public var Appearance_ThemeDayClassic: String { return self._s[3289]! } + public var Channel_AdminLog_MessagePreviousCaption: String { return self._s[3290]! } + public var AutoDownloadSettings_OffForAll: String { return self._s[3291]! } + public var Privacy_GroupsAndChannels_WhoCanAddMe: String { return self._s[3292]! } + public var Conversation_typing: String { return self._s[3294]! } + public var Paint_Masks: String { return self._s[3295]! } + public var Username_InvalidTaken: String { return self._s[3296]! } + public var Call_StatusNoAnswer: String { return self._s[3297]! } + public var TwoStepAuth_EmailAddSuccess: String { return self._s[3298]! } + public var SettingsSearch_Synonyms_Privacy_BlockedUsers: String { return self._s[3299]! } + public var Passport_Identity_Selfie: String { return self._s[3300]! } + public var Login_InfoLastNamePlaceholder: String { return self._s[3301]! } + public var Privacy_SecretChatsLinkPreviewsHelp: String { return self._s[3302]! } + public var Conversation_ClearSecretHistory: String { return self._s[3303]! } + public var PeopleNearby_Description: String { return self._s[3305]! } + public var NetworkUsageSettings_Title: String { return self._s[3306]! } + public var Your_cards_security_code_is_invalid: String { return self._s[3308]! } public func Notification_LeftChannel(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3307]!, self._r[3307]!, [_0]) + return formatWithArgumentRanges(self._s[3310]!, self._r[3310]!, [_0]) } public func Call_CallInProgressMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3308]!, self._r[3308]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3311]!, self._r[3311]!, [_1, _2]) } - public var SaveIncomingPhotosSettings_From: String { return self._s[3310]! } - public var Map_LiveLocationTitle: String { return self._s[3311]! } - public var Login_InfoAvatarAdd: String { return self._s[3312]! } - public var Passport_Identity_FilesView: String { return self._s[3313]! } - public var UserInfo_GenericPhoneLabel: String { return self._s[3314]! } - public var Privacy_Calls_NeverAllow: String { return self._s[3315]! } + public var SaveIncomingPhotosSettings_From: String { return self._s[3313]! } + public var Map_LiveLocationTitle: String { return self._s[3314]! } + public var Login_InfoAvatarAdd: String { return self._s[3315]! } + public var Passport_Identity_FilesView: String { return self._s[3316]! } + public var UserInfo_GenericPhoneLabel: String { return self._s[3317]! } + public var Privacy_Calls_NeverAllow: String { return self._s[3318]! } public func Contacts_AddPhoneNumber(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3316]!, self._r[3316]!, [_0]) + return formatWithArgumentRanges(self._s[3319]!, self._r[3319]!, [_0]) } - public var ContactInfo_PhoneNumberHidden: String { return self._s[3317]! } - public var TwoStepAuth_ConfirmationText: String { return self._s[3318]! } - public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[3319]! } + public var ContactInfo_PhoneNumberHidden: String { return self._s[3320]! } + public var TwoStepAuth_ConfirmationText: String { return self._s[3321]! } + public var ChatSettings_AutomaticVideoMessageDownload: String { return self._s[3322]! } public func PUSH_CHAT_MESSAGE_VIDEOS(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3320]!, self._r[3320]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3323]!, self._r[3323]!, [_1, _2, _3]) } - public var Channel_AdminLogFilter_AdminsAll: String { return self._s[3321]! } - public var Tour_Title2: String { return self._s[3322]! } - public var Conversation_FileOpenIn: String { return self._s[3323]! } - public var Checkout_ErrorPrecheckoutFailed: String { return self._s[3324]! } - public var Wallpaper_Set: String { return self._s[3325]! } - public var Passport_Identity_Translations: String { return self._s[3327]! } + public var Channel_AdminLogFilter_AdminsAll: String { return self._s[3324]! } + public var Tour_Title2: String { return self._s[3325]! } + public var Conversation_FileOpenIn: String { return self._s[3326]! } + public var Checkout_ErrorPrecheckoutFailed: String { return self._s[3327]! } + public var Wallpaper_Set: String { return self._s[3328]! } + public var Passport_Identity_Translations: String { return self._s[3330]! } public func Channel_AdminLog_MessageChangedChannelAbout(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3328]!, self._r[3328]!, [_0]) + return formatWithArgumentRanges(self._s[3331]!, self._r[3331]!, [_0]) } - public var Channel_LeaveChannel: String { return self._s[3329]! } + public var Channel_LeaveChannel: String { return self._s[3332]! } public func PINNED_INVOICE(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3330]!, self._r[3330]!, [_1]) + return formatWithArgumentRanges(self._s[3333]!, self._r[3333]!, [_1]) } - public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[3331]! } - public var PhotoEditor_HighlightsTint: String { return self._s[3332]! } - public var Passport_Email_Delete: String { return self._s[3333]! } - public var Conversation_Mute: String { return self._s[3335]! } - public var Channel_AddBotAsAdmin: String { return self._s[3336]! } - public var Channel_AdminLog_CanSendMessages: String { return self._s[3338]! } - public var Channel_Management_LabelOwner: String { return self._s[3340]! } + public var SettingsSearch_Synonyms_Proxy_AddProxy: String { return self._s[3334]! } + public var PhotoEditor_HighlightsTint: String { return self._s[3335]! } + public var Passport_Email_Delete: String { return self._s[3336]! } + public var Conversation_Mute: String { return self._s[3338]! } + public var Channel_AddBotAsAdmin: String { return self._s[3339]! } + public var Channel_AdminLog_CanSendMessages: String { return self._s[3341]! } + public var Channel_Management_LabelOwner: String { return self._s[3343]! } public func Notification_PassportValuesSentMessage(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3341]!, self._r[3341]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3344]!, self._r[3344]!, [_1, _2]) } - public var Calls_CallTabDescription: String { return self._s[3342]! } - public var Passport_Identity_NativeNameHelp: String { return self._s[3343]! } - public var Common_No: String { return self._s[3344]! } - public var Weekday_Sunday: String { return self._s[3345]! } - public var Notification_Reply: String { return self._s[3346]! } - public var Conversation_ViewMessage: String { return self._s[3347]! } + public var Calls_CallTabDescription: String { return self._s[3345]! } + public var Passport_Identity_NativeNameHelp: String { return self._s[3346]! } + public var Common_No: String { return self._s[3347]! } + public var Weekday_Sunday: String { return self._s[3348]! } + public var Notification_Reply: String { return self._s[3349]! } + public var Conversation_ViewMessage: String { return self._s[3350]! } public func Checkout_SavePasswordTimeoutAndFaceId(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3348]!, self._r[3348]!, [_0]) + return formatWithArgumentRanges(self._s[3351]!, self._r[3351]!, [_0]) } public func Map_LiveLocationPrivateDescription(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3349]!, self._r[3349]!, [_0]) + return formatWithArgumentRanges(self._s[3352]!, self._r[3352]!, [_0]) } - public var SettingsSearch_Synonyms_EditProfile_AddAccount: String { return self._s[3350]! } - public var Message_PinnedDocumentMessage: String { return self._s[3351]! } - public var DialogList_TabTitle: String { return self._s[3353]! } - public var ChatSettings_AutoPlayTitle: String { return self._s[3354]! } - public var Passport_FieldEmail: String { return self._s[3355]! } - public var Conversation_UnpinMessageAlert: String { return self._s[3356]! } - public var Passport_Address_TypeBankStatement: String { return self._s[3357]! } - public var Passport_Identity_ExpiryDate: String { return self._s[3358]! } - public var Privacy_Calls_P2P: String { return self._s[3359]! } + public var SettingsSearch_Synonyms_EditProfile_AddAccount: String { return self._s[3353]! } + public var Message_PinnedDocumentMessage: String { return self._s[3354]! } + public var DialogList_TabTitle: String { return self._s[3356]! } + public var ChatSettings_AutoPlayTitle: String { return self._s[3357]! } + public var Passport_FieldEmail: String { return self._s[3358]! } + public var Conversation_UnpinMessageAlert: String { return self._s[3359]! } + public var Passport_Address_TypeBankStatement: String { return self._s[3360]! } + public var Passport_Identity_ExpiryDate: String { return self._s[3361]! } + public var Privacy_Calls_P2P: String { return self._s[3362]! } public func CancelResetAccount_Success(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3361]!, self._r[3361]!, [_0]) + return formatWithArgumentRanges(self._s[3364]!, self._r[3364]!, [_0]) } - public var SocksProxySetup_UseForCallsHelp: String { return self._s[3362]! } + public var SocksProxySetup_UseForCallsHelp: String { return self._s[3365]! } public func PUSH_CHAT_ALBUM(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3363]!, self._r[3363]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3366]!, self._r[3366]!, [_1, _2]) } - public var Stickers_ClearRecent: String { return self._s[3364]! } - public var EnterPasscode_ChangeTitle: String { return self._s[3365]! } - public var Passport_InfoText: String { return self._s[3366]! } - public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[3367]! } + public var Stickers_ClearRecent: String { return self._s[3367]! } + public var EnterPasscode_ChangeTitle: String { return self._s[3368]! } + public var Passport_InfoText: String { return self._s[3369]! } + public var Checkout_NewCard_SaveInfoEnableHelp: String { return self._s[3370]! } public func Login_InvalidPhoneEmailSubject(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3368]!, self._r[3368]!, [_0]) + return formatWithArgumentRanges(self._s[3371]!, self._r[3371]!, [_0]) } public func Time_PreciseDate_m3(_ _1: String, _ _2: String, _ _3: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3369]!, self._r[3369]!, [_1, _2, _3]) + return formatWithArgumentRanges(self._s[3372]!, self._r[3372]!, [_1, _2, _3]) } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChannels: String { return self._s[3370]! } - public var Passport_Identity_EditDriversLicense: String { return self._s[3371]! } - public var Conversation_TapAndHoldToRecord: String { return self._s[3373]! } - public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[3374]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChannels: String { return self._s[3373]! } + public var Passport_Identity_EditDriversLicense: String { return self._s[3374]! } + public var Conversation_TapAndHoldToRecord: String { return self._s[3376]! } + public var SettingsSearch_Synonyms_Notifications_BadgeIncludeMutedChats: String { return self._s[3377]! } public func Notification_CallTimeFormat(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3375]!, self._r[3375]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3378]!, self._r[3378]!, [_1, _2]) } - public var Channel_EditAdmin_PermissionInviteViaLink: String { return self._s[3377]! } + public var Channel_EditAdmin_PermissionInviteViaLink: String { return self._s[3380]! } public func Generic_OpenHiddenLinkAlert(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3379]!, self._r[3379]!, [_0]) + return formatWithArgumentRanges(self._s[3382]!, self._r[3382]!, [_0]) } - public var DialogList_Unread: String { return self._s[3380]! } + public var DialogList_Unread: String { return self._s[3383]! } public func PUSH_CHAT_MESSAGE_GIF(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3381]!, self._r[3381]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3384]!, self._r[3384]!, [_1, _2]) } - public var User_DeletedAccount: String { return self._s[3382]! } - public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[3383]! } + public var User_DeletedAccount: String { return self._s[3385]! } + public var OwnershipTransfer_SetupTwoStepAuth: String { return self._s[3386]! } public func Watch_Time_ShortYesterdayAt(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3384]!, self._r[3384]!, [_0]) + return formatWithArgumentRanges(self._s[3387]!, self._r[3387]!, [_0]) } - public var UserInfo_NotificationsDefault: String { return self._s[3385]! } - public var SharedMedia_CategoryMedia: String { return self._s[3386]! } - public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[3387]! } - public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[3388]! } - public var Watch_ChatList_Compose: String { return self._s[3389]! } - public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[3390]! } - public var AutoDownloadSettings_Delimeter: String { return self._s[3391]! } - public var Watch_Microphone_Access: String { return self._s[3392]! } - public var Group_Setup_HistoryHeader: String { return self._s[3393]! } - public var Map_SetThisLocation: String { return self._s[3394]! } - public var Activity_UploadingPhoto: String { return self._s[3395]! } - public var Conversation_Edit: String { return self._s[3397]! } - public var Group_ErrorSendRestrictedMedia: String { return self._s[3398]! } - public var Login_TermsOfServiceDecline: String { return self._s[3399]! } - public var Message_PinnedContactMessage: String { return self._s[3400]! } + public var UserInfo_NotificationsDefault: String { return self._s[3388]! } + public var SharedMedia_CategoryMedia: String { return self._s[3389]! } + public var SocksProxySetup_ProxyStatusUnavailable: String { return self._s[3390]! } + public var Channel_AdminLog_MessageRestrictedForever: String { return self._s[3391]! } + public var Watch_ChatList_Compose: String { return self._s[3392]! } + public var Notifications_MessageNotificationsExceptionsHelp: String { return self._s[3393]! } + public var AutoDownloadSettings_Delimeter: String { return self._s[3394]! } + public var Watch_Microphone_Access: String { return self._s[3395]! } + public var Group_Setup_HistoryHeader: String { return self._s[3396]! } + public var Map_SetThisLocation: String { return self._s[3397]! } + public var Activity_UploadingPhoto: String { return self._s[3398]! } + public var Conversation_Edit: String { return self._s[3400]! } + public var Group_ErrorSendRestrictedMedia: String { return self._s[3401]! } + public var Login_TermsOfServiceDecline: String { return self._s[3402]! } + public var Message_PinnedContactMessage: String { return self._s[3403]! } public func Channel_AdminLog_MessageRestrictedNameUsername(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3401]!, self._r[3401]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3404]!, self._r[3404]!, [_1, _2]) } public func Login_PhoneBannedEmailBody(_ _1: String, _ _2: String, _ _3: String, _ _4: String, _ _5: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3402]!, self._r[3402]!, [_1, _2, _3, _4, _5]) + return formatWithArgumentRanges(self._s[3405]!, self._r[3405]!, [_1, _2, _3, _4, _5]) } - public var Appearance_LargeEmoji: String { return self._s[3403]! } - public var TwoStepAuth_AdditionalPassword: String { return self._s[3405]! } + public var Appearance_LargeEmoji: String { return self._s[3406]! } + public var TwoStepAuth_AdditionalPassword: String { return self._s[3408]! } public func PUSH_CHAT_DELETE_YOU(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3406]!, self._r[3406]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3409]!, self._r[3409]!, [_1, _2]) } - public var Passport_Phone_EnterOtherNumber: String { return self._s[3407]! } - public var Message_PinnedPhotoMessage: String { return self._s[3408]! } - public var Passport_FieldPhone: String { return self._s[3409]! } - public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[3410]! } - public var ChatSettings_AutoPlayGifs: String { return self._s[3411]! } - public var InfoPlist_NSCameraUsageDescription: String { return self._s[3413]! } - public var Conversation_Call: String { return self._s[3414]! } - public var Common_TakePhoto: String { return self._s[3416]! } - public var Channel_NotificationLoading: String { return self._s[3417]! } + public var Passport_Phone_EnterOtherNumber: String { return self._s[3410]! } + public var Message_PinnedPhotoMessage: String { return self._s[3411]! } + public var Passport_FieldPhone: String { return self._s[3412]! } + public var TwoStepAuth_RecoveryEmailAddDescription: String { return self._s[3413]! } + public var ChatSettings_AutoPlayGifs: String { return self._s[3414]! } + public var InfoPlist_NSCameraUsageDescription: String { return self._s[3416]! } + public var Conversation_Call: String { return self._s[3417]! } + public var Common_TakePhoto: String { return self._s[3419]! } + public var Channel_NotificationLoading: String { return self._s[3420]! } public func Notification_Exceptions_Sound(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3418]!, self._r[3418]!, [_0]) - } - public func PUSH_CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3419]!, self._r[3419]!, [_1]) - } - public var Permissions_SiriTitle_v0: String { return self._s[3420]! } - public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { return formatWithArgumentRanges(self._s[3421]!, self._r[3421]!, [_0]) } - public var Channel_MessagePhotoRemoved: String { return self._s[3422]! } - public var Common_edit: String { return self._s[3423]! } - public var PrivacySettings_AuthSessions: String { return self._s[3424]! } - public var Month_ShortJune: String { return self._s[3425]! } - public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[3426]! } - public var Call_ReportSend: String { return self._s[3427]! } - public var Watch_LastSeen_JustNow: String { return self._s[3428]! } - public var Notifications_MessageNotifications: String { return self._s[3429]! } - public var WallpaperSearch_ColorGreen: String { return self._s[3430]! } - public var BroadcastListInfo_AddRecipient: String { return self._s[3432]! } - public var Group_Status: String { return self._s[3433]! } + public func PUSH_CHANNEL_MESSAGE_VIDEO(_ _1: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3422]!, self._r[3422]!, [_1]) + } + public var Permissions_SiriTitle_v0: String { return self._s[3423]! } + public func Login_ResetAccountProtected_Text(_ _0: String) -> (String, [(Int, NSRange)]) { + return formatWithArgumentRanges(self._s[3424]!, self._r[3424]!, [_0]) + } + public var Channel_MessagePhotoRemoved: String { return self._s[3425]! } + public var Common_edit: String { return self._s[3426]! } + public var PrivacySettings_AuthSessions: String { return self._s[3427]! } + public var Month_ShortJune: String { return self._s[3428]! } + public var PrivacyLastSeenSettings_AlwaysShareWith_Placeholder: String { return self._s[3429]! } + public var Call_ReportSend: String { return self._s[3430]! } + public var Watch_LastSeen_JustNow: String { return self._s[3431]! } + public var Notifications_MessageNotifications: String { return self._s[3432]! } + public var WallpaperSearch_ColorGreen: String { return self._s[3433]! } + public var BroadcastListInfo_AddRecipient: String { return self._s[3435]! } + public var Group_Status: String { return self._s[3436]! } public func AutoNightTheme_LocationHelp(_ _0: String, _ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3434]!, self._r[3434]!, [_0, _1]) + return formatWithArgumentRanges(self._s[3437]!, self._r[3437]!, [_0, _1]) } - public var TextFormat_AddLinkTitle: String { return self._s[3435]! } - public var ShareMenu_ShareTo: String { return self._s[3436]! } - public var Conversation_Moderate_Ban: String { return self._s[3437]! } + public var TextFormat_AddLinkTitle: String { return self._s[3438]! } + public var ShareMenu_ShareTo: String { return self._s[3439]! } + public var Conversation_Moderate_Ban: String { return self._s[3440]! } public func Conversation_DeleteMessagesFor(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3438]!, self._r[3438]!, [_0]) + return formatWithArgumentRanges(self._s[3441]!, self._r[3441]!, [_0]) } - public var SharedMedia_ViewInChat: String { return self._s[3439]! } - public var Map_LiveLocationFor8Hours: String { return self._s[3440]! } + public var SharedMedia_ViewInChat: String { return self._s[3442]! } + public var Map_LiveLocationFor8Hours: String { return self._s[3443]! } public func PUSH_PINNED_PHOTO(_ _1: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3441]!, self._r[3441]!, [_1]) + return formatWithArgumentRanges(self._s[3444]!, self._r[3444]!, [_1]) } public func PUSH_PINNED_POLL(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3442]!, self._r[3442]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3445]!, self._r[3445]!, [_1, _2]) } public func Map_AccurateTo(_ _0: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3444]!, self._r[3444]!, [_0]) + return formatWithArgumentRanges(self._s[3447]!, self._r[3447]!, [_0]) } - public var Map_OpenInHereMaps: String { return self._s[3445]! } - public var Appearance_ReduceMotion: String { return self._s[3446]! } + public var Map_OpenInHereMaps: String { return self._s[3448]! } + public var Appearance_ReduceMotion: String { return self._s[3449]! } public func PUSH_MESSAGE_TEXT(_ _1: String, _ _2: String) -> (String, [(Int, NSRange)]) { - return formatWithArgumentRanges(self._s[3447]!, self._r[3447]!, [_1, _2]) + return formatWithArgumentRanges(self._s[3450]!, self._r[3450]!, [_1, _2]) } - public var Channel_Setup_TypePublicHelp: String { return self._s[3448]! } - public var Passport_Identity_EditInternalPassport: String { return self._s[3449]! } - public var PhotoEditor_Skip: String { return self._s[3450]! } - public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + public var Channel_Setup_TypePublicHelp: String { return self._s[3451]! } + public var Passport_Identity_EditInternalPassport: String { return self._s[3452]! } + public var PhotoEditor_Skip: String { return self._s[3453]! } + public func Conversation_StatusOnline(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[0 * 6 + Int(form.rawValue)]!, stringValue) } - public func ChatList_SelectedChats(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, stringValue) - } - public func AttachmentMenu_SendItem(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Hours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func MessageTimer_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_SharePhoto(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MuteExpires_Minutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedAudios(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessagePoll_VotedCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_UserInfo_Mute(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Passport_Scans(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_File(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Map_ETAHours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Generic(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedLocations(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_ShareVideo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortSeconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func StickerPack_AddStickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedContacts(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Photo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_Seconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Invitation_Members(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[1 * 6 + Int(form.rawValue)]!, _1, _2) } public func Forward_ConfirmMultipleFiles(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[2 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, _1, _2) + return String(format: self._ps[3 * 6 + Int(form.rawValue)]!, _2, _1, _3) } - public func UserCount(_ value: Int32) -> String { + public func ServiceMessage_GameScoreSelfExtended(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[4 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func ForwardedStickers(_ value: Int32) -> String { + public func MessageTimer_ShortDays(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[5 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHANNEL_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Call_Minutes(_ value: Int32) -> String { + public func QuickSend_Photos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[6 * 6 + Int(form.rawValue)]!, stringValue) } - public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { + public func GroupInfo_ParticipantCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_Link(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_Months(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func ForwardedVideos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Conversation_StatusSubscribers(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) - } - public func StickerPack_StickerCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortHours(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedFiles(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Map_ETAMinutes(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedPhotos(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) - } - public func LastSeen_HoursAgo(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedVideoMessages(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Media_ShareItem(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func ChatList_DeleteConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Contacts_ImportersCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func MuteFor_Days(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) - } - public func Call_ShortSeconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[7 * 6 + Int(form.rawValue)]!, stringValue) } public func MuteFor_Hours(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[8 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Passport_Scans(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[9 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[10 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[11 * 6 + Int(form.rawValue)]!, _0, _1) + } + public func MuteFor_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[12 * 6 + Int(form.rawValue)]!, stringValue) } public func Call_ShortMinutes(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[13 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedGifs(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[14 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_File(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[15 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusSubscribers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[16 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGES(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[17 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func MessageTimer_ShortMinutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[18 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_StatusMembers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[19 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[20 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func PrivacyLastSeenSettings_AddUsers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[21 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[22 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Generic(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[23 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreSelfExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[24 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Chat_DeleteMessagesConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[25 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[26 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[27 * 6 + Int(form.rawValue)]!, _2, _1, _3) + } + public func ChatList_DeleteConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[28 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[29 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ForwardedVideoMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[30 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedStickers(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[31 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[32 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[33 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PasscodeSettings_FailedAttempts(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[34 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortWeeks(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[35 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_AddStickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[36 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Contacts_ImportersCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[37 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[38 * 6 + Int(form.rawValue)]!, stringValue) + } + public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[39 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LastSeen_MinutesAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[40 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_ShortHours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[41 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[42 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[43 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[44 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func Call_ShortSeconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[45 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_ShareItem(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[46 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Watch_LastSeen_HoursAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[47 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedVideos(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[48 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocationUpdated_MinutesAgo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[49 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Photo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[50 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_RemoveMaskCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[51 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Map_ETAHours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[52 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notification_GameScoreExtended(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[53 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[54 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_AddMaskCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[55 * 6 + Int(form.rawValue)]!, stringValue) } public func AttachmentMenu_SendVideo(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[56 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_StickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[57 * 6 + Int(form.rawValue)]!, stringValue) + } + public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[58 * 6 + Int(form.rawValue)]!, stringValue) + } + public func DialogList_LiveLocationChatsCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[59 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MessageTimer_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[60 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_ExceptionMuteExpires_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[61 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedMessages(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[62 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ServiceMessage_GameScoreSelfSimple(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[63 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[64 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func MessageTimer_ShortSeconds(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[65 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[66 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Call_Minutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[67 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[68 * 6 + Int(form.rawValue)]!, stringValue) + } + public func SharedMedia_Video(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[69 * 6 + Int(form.rawValue)]!, stringValue) + } + public func ForwardedFiles(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[70 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Map_ETAMinutes(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[71 * 6 + Int(form.rawValue)]!, stringValue) + } + public func AttachmentMenu_SendGif(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[72 * 6 + Int(form.rawValue)]!, stringValue) + } + public func MuteExpires_Days(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[73 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Watch_UserInfo_Mute(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[74 * 6 + Int(form.rawValue)]!, stringValue) @@ -4267,159 +4269,160 @@ public final class PresentationStrings { let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[75 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_StatusMembers(_ value: Int32) -> String { + public func ForwardedLocations(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[76 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_Years(_ value: Int32) -> String { + public func MessageTimer_Months(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[77 * 6 + Int(form.rawValue)]!, stringValue) } - public func QuickSend_Photos(_ value: Int32) -> String { + public func MessagePoll_VotedCount(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[78 * 6 + Int(form.rawValue)]!, stringValue) } - public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + public func ForwardedPhotos(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[79 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_StatusOnline(_ value: Int32) -> String { + public func Watch_LastSeen_MinutesAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[80 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHAT_MESSAGE_VIDEOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, _2, _1, _3) + public func ChatList_SelectedChats(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[81 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_ShortDays(_ value: Int32) -> String { + public func SharedMedia_Link(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[82 * 6 + Int(form.rawValue)]!, stringValue) } - public func AttachmentMenu_SendPhoto(_ value: Int32) -> String { + public func MessageTimer_Weeks(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[83 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notifications_ExceptionMuteExpires_Hours(_ value: Int32) -> String { + public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[84 * 6 + Int(form.rawValue)]!, stringValue) } - public func StickerPack_AddMaskCount(_ value: Int32) -> String { + public func Media_ShareVideo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[85 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notification_GameScoreSelfSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, stringValue) - } - public func MessageTimer_ShortWeeks(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) - } - public func ForwardedAuthorsOthers(_ selector: Int32, _ _0: String, _ _1: String) -> String { + public func PUSH_CHAT_MESSAGE_ROUNDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, _0, _1) - } - public func SharedMedia_Video(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) - } - public func SharedMedia_DeleteItemsConfirmation(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHANNEL_MESSAGE_FWDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func LiveLocation_MenuChatsCount(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) - } - public func PUSH_CHAT_MESSAGE_PHOTOS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, _2, _1, _3) - } - public func PUSH_CHANNEL_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, _1, _2) - } - public func Notification_GameScoreSimple(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[86 * 6 + Int(form.rawValue)]!, _2, _1, _3) } public func ForwardedPolls(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, stringValue) + return String(format: self._ps[87 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_Weeks(_ value: Int32) -> String { + public func MessageTimer_Years(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[88 * 6 + Int(form.rawValue)]!, stringValue) + } + public func StickerPack_RemoveStickerCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[89 * 6 + Int(form.rawValue)]!, stringValue) + } + public func Media_SharePhoto(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[90 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGES(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[91 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ForwardedAudios(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[92 * 6 + Int(form.rawValue)]!, stringValue) + } + public func UserCount(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[93 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_PHOTOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[94 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func AttachmentMenu_SendItem(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[95 * 6 + Int(form.rawValue)]!, stringValue) + } + public func PUSH_MESSAGE_ROUNDS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[96 * 6 + Int(form.rawValue)]!, _1, _2) + } + public func ForwardedContacts(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[97 * 6 + Int(form.rawValue)]!, stringValue) } - public func MessageTimer_Seconds(_ value: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, value) - let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) - return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, stringValue) + public func PUSH_CHAT_MESSAGE_FWDS(_ selector: Int32, _ _2: String, _ _1: String, _ _3: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, selector) + return String(format: self._ps[98 * 6 + Int(form.rawValue)]!, _2, _1, _3) } - public func ForwardedGifs(_ value: Int32) -> String { + public func Wallpaper_DeleteConfirmation(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[99 * 6 + Int(form.rawValue)]!, stringValue) } - public func MuteExpires_Hours(_ value: Int32) -> String { + public func MessageTimer_Seconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[100 * 6 + Int(form.rawValue)]!, stringValue) } - public func AttachmentMenu_SendGif(_ value: Int32) -> String { + public func Call_Seconds(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[101 * 6 + Int(form.rawValue)]!, stringValue) } - public func Notifications_Exceptions(_ value: Int32) -> String { + public func LastSeen_HoursAgo(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[102 * 6 + Int(form.rawValue)]!, stringValue) } - public func LastSeen_MinutesAgo(_ value: Int32) -> String { + public func Notification_GameScoreSimple(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[103 * 6 + Int(form.rawValue)]!, stringValue) } - public func Conversation_LiveLocationMembersCount(_ value: Int32) -> String { + public func Notifications_ExceptionMuteExpires_Days(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[104 * 6 + Int(form.rawValue)]!, stringValue) } - public func CreatePoll_AddMoreOptions(_ value: Int32) -> String { + public func Invitation_Members(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[105 * 6 + Int(form.rawValue)]!, stringValue) } - public func GroupInfo_ParticipantCount(_ value: Int32) -> String { + public func Notifications_Exceptions(_ value: Int32) -> String { let form = presentationStringsPluralizationForm(self.lc, value) let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) return String(format: self._ps[106 * 6 + Int(form.rawValue)]!, stringValue) } - public func PUSH_CHANNEL_MESSAGE_VIDEOS(_ selector: Int32, _ _1: String, _ _2: Int32) -> String { - let form = presentationStringsPluralizationForm(self.lc, selector) - return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, _1, _2) + public func MuteExpires_Hours(_ value: Int32) -> String { + let form = presentationStringsPluralizationForm(self.lc, value) + let stringValue = presentationStringsFormattedNumber(value, self.groupingSeparator) + return String(format: self._ps[107 * 6 + Int(form.rawValue)]!, stringValue) } public init(primaryComponent: PresentationStringsComponent, secondaryComponent: PresentationStringsComponent?, groupingSeparator: String) { diff --git a/submodules/TelegramUI/Images.xcassets/Location/Contents.json b/submodules/TelegramUI/Images.xcassets/Location/Contents.json new file mode 100644 index 0000000000..38f0c81fc2 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Location/Contents.json @@ -0,0 +1,9 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + }, + "properties" : { + "provides-namespace" : true + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/Contents.json new file mode 100644 index 0000000000..df6bbfa164 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "createlocalgroup@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "createlocalgroup@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/createlocalgroup@2x.png b/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/createlocalgroup@2x.png new file mode 100644 index 0000000000..805b561cbe Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/createlocalgroup@2x.png differ diff --git a/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/createlocalgroup@3x.png b/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/createlocalgroup@3x.png new file mode 100644 index 0000000000..055212f537 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Location/CreateGroupIcon.imageset/createlocalgroup@3x.png differ diff --git a/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/Contents.json new file mode 100644 index 0000000000..f50f2d59d9 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "map_dark@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "map_dark@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/map_dark@2x.png b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/map_dark@2x.png new file mode 100644 index 0000000000..69761bb411 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/map_dark@2x.png differ diff --git a/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/map_dark@3x.png b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/map_dark@3x.png new file mode 100644 index 0000000000..5c528aac8b Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupDarkIcon.imageset/map_dark@3x.png differ diff --git a/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/Contents.json b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/Contents.json new file mode 100644 index 0000000000..3b79c9ae92 --- /dev/null +++ b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "map_day@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "map_day@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/map_day@2x.png b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/map_day@2x.png new file mode 100644 index 0000000000..6c9f48299f Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/map_day@2x.png differ diff --git a/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/map_day@3x.png b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/map_day@3x.png new file mode 100644 index 0000000000..8b44f5c0f3 Binary files /dev/null and b/submodules/TelegramUI/Images.xcassets/Location/LocalGroupLightIcon.imageset/map_day@3x.png differ diff --git a/submodules/TelegramUI/TelegramUI/ApplicationContext.swift b/submodules/TelegramUI/TelegramUI/ApplicationContext.swift index fb29160c29..b02984dfd6 100644 --- a/submodules/TelegramUI/TelegramUI/ApplicationContext.swift +++ b/submodules/TelegramUI/TelegramUI/ApplicationContext.swift @@ -569,7 +569,7 @@ final class AuthorizedApplicationContext { strongSelf.currentPermissionsController = controller } - controller.setState(state, animated: didAppear) + controller.setState(.permission(state), animated: didAppear) controller.proceed = { resolved in permissionsPosition.set(position + 1) switch state { diff --git a/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift b/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift index 35f282a6d3..a683579b17 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelDiscussionGroupSetupController.swift @@ -235,7 +235,7 @@ public func channelDiscussionGroupSetupController(context: AccountContext, peerI guard let peer = peer else { return } - pushControllerImpl?(createGroupController(context: context, peerIds: [], initialTitle: peer.displayTitle + " Chat", type: .supergroup, completion: { groupId, dismiss in + pushControllerImpl?(createGroupController(context: context, peerIds: [], initialTitle: peer.displayTitle + " Chat", mode: .supergroup, completion: { groupId, dismiss in var applySignal = updateGroupDiscussionForChannel(network: context.account.network, postbox: context.account.postbox, channelId: peerId, groupId: groupId) var cancelImpl: (() -> Void)? let progressSignal = Signal { subscriber in diff --git a/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift b/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift index 6cbc334fd9..dcd95560ef 100644 --- a/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift +++ b/submodules/TelegramUI/TelegramUI/ChannelVisibilityController.swift @@ -19,10 +19,8 @@ private final class ChannelVisibilityControllerArguments { let copyPrivateLink: () -> Void let revokePrivateLink: () -> Void let sharePrivateLink: () -> Void - let setLocation: () -> Void - let removeLocation: () -> Void - init(account: Account, updateCurrentType: @escaping (CurrentChannelType) -> Void, updatePublicLinkText: @escaping (String?, String) -> Void, scrollToPublicLinkText: @escaping () -> Void, displayPrivateLinkMenu: @escaping (String) -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, revokePeerId: @escaping (PeerId) -> Void, copyPrivateLink: @escaping () -> Void, revokePrivateLink: @escaping () -> Void, sharePrivateLink: @escaping () -> Void, setLocation: @escaping () -> Void, removeLocation: @escaping () -> Void) { + init(account: Account, updateCurrentType: @escaping (CurrentChannelType) -> Void, updatePublicLinkText: @escaping (String?, String) -> Void, scrollToPublicLinkText: @escaping () -> Void, displayPrivateLinkMenu: @escaping (String) -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, revokePeerId: @escaping (PeerId) -> Void, copyPrivateLink: @escaping () -> Void, revokePrivateLink: @escaping () -> Void, sharePrivateLink: @escaping () -> Void) { self.account = account self.updateCurrentType = updateCurrentType self.updatePublicLinkText = updatePublicLinkText @@ -33,8 +31,6 @@ private final class ChannelVisibilityControllerArguments { self.copyPrivateLink = copyPrivateLink self.revokePrivateLink = revokePrivateLink self.sharePrivateLink = sharePrivateLink - self.setLocation = setLocation - self.removeLocation = removeLocation } } @@ -78,12 +74,6 @@ private enum ChannelVisibilityEntry: ItemListNodeEntry { case existingLinksInfo(PresentationTheme, String) case existingLinkPeerItem(Int32, PresentationTheme, PresentationStrings, PresentationDateTimeFormat, PresentationPersonNameOrder, Peer, ItemListPeerItemEditing, Bool) - case locationHeader(PresentationTheme, String) - case location(PresentationTheme, PeerGeoLocation) - case locationSetup(PresentationTheme, String) - case locationRemove(PresentationTheme, String) - case locationInfo(PresentationTheme, String) - var section: ItemListSectionId { switch self { case .typeHeader, .typePublic, .typePrivate, .typeInfo: @@ -94,8 +84,6 @@ private enum ChannelVisibilityEntry: ItemListNodeEntry { return ChannelVisibilitySection.linkActions.rawValue case .existingLinksInfo, .existingLinkPeerItem: return ChannelVisibilitySection.link.rawValue - case .locationHeader, .location, .locationSetup, .locationRemove, .locationInfo: - return ChannelVisibilitySection.location.rawValue } } @@ -133,16 +121,6 @@ private enum ChannelVisibilityEntry: ItemListNodeEntry { return 14 case let .existingLinkPeerItem(index, _, _, _, _, _, _, _): return 15 + index - case .locationHeader: - return 1000 - case .location: - return 1001 - case .locationSetup: - return 1002 - case .locationRemove: - return 1003 - case .locationInfo: - return 1004 } } @@ -268,36 +246,6 @@ private enum ChannelVisibilityEntry: ItemListNodeEntry { } else { return false } - case let .locationHeader(lhsTheme, lhsTitle): - if case let .locationHeader(rhsTheme, rhsTitle) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle { - return true - } else { - return false - } - case let .location(lhsTheme, lhsLocation): - if case let .location(rhsTheme, rhsLocation) = rhs, lhsTheme === rhsTheme, lhsLocation == rhsLocation { - return true - } else { - return false - } - case let .locationSetup(lhsTheme, lhsTitle): - if case let .locationSetup(rhsTheme, rhsTitle) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle { - return true - } else { - return false - } - case let .locationRemove(lhsTheme, lhsTitle): - if case let .locationRemove(rhsTheme, rhsTitle) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle { - return true - } else { - return false - } - case let .locationInfo(lhsTheme, lhsTitle): - if case let .locationInfo(rhsTheme, rhsTitle) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle { - return true - } else { - return false - } } } @@ -386,21 +334,6 @@ private enum ChannelVisibilityEntry: ItemListNodeEntry { }, removePeer: { peerId in arguments.revokePeerId(peerId) }) - case let .locationHeader(theme, title): - return ItemListSectionHeaderItem(theme: theme, text: title, sectionId: self.section) - case let .location(theme, location): - let imageSignal = chatMapSnapshotImage(account: arguments.account, resource: MapSnapshotMediaResource(latitude: location.latitude, longitude: location.longitude, width: 90, height: 90)) - return ItemListAddressItem(theme: theme, label: "", text: location.address.replacingOccurrences(of: ", ", with: "\n"), imageSignal: imageSignal, selected: nil, sectionId: self.section, style: .blocks, action: nil) - case let .locationSetup(theme, text): - return ItemListActionItem(theme: theme, title: text, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { - arguments.setLocation() - }, clearHighlightAutomatically: false) - case let .locationRemove(theme, text): - return ItemListActionItem(theme: theme, title: text, kind: .destructive, alignment: .natural, sectionId: self.section, style: .blocks, action: { - arguments.removeLocation() - }) - case let .locationInfo(theme, text): - return ItemListTextItem(theme: theme, text: .plain(text), sectionId: self.section) } } } @@ -526,6 +459,8 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa } else { if let addressName = peer.addressName, !addressName.isEmpty { selectedType = .publicChannel + } else if let cachedChannelData = view.cachedData as? CachedChannelData, cachedChannelData.peerGeoLocation != nil { + selectedType = .publicChannel } else { selectedType = .privateChannel } @@ -543,30 +478,33 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa } } - switch mode { - case .privateLink: - break - case .initialSetup, .generic: - entries.append(.typeHeader(presentationData.theme, isGroup ? presentationData.strings.Group_Setup_TypeHeader : presentationData.strings.Channel_Edit_LinkItem)) - entries.append(.typePublic(presentationData.theme, presentationData.strings.Channel_Setup_TypePublic, selectedType == .publicChannel)) - entries.append(.typePrivate(presentationData.theme, presentationData.strings.Channel_Setup_TypePrivate, selectedType == .privateChannel)) - - switch selectedType { - case .publicChannel: - if isGroup { - entries.append(.typeInfo(presentationData.theme, presentationData.strings.Group_Setup_TypePublicWithLocationHelp)) - } else { - entries.append(.typeInfo(presentationData.theme, presentationData.strings.Channel_Setup_TypePublicHelp)) - } - case .privateChannel: - if isGroup { - entries.append(.typeInfo(presentationData.theme, presentationData.strings.Group_Setup_TypePrivateHelp)) - } else { - entries.append(.typeInfo(presentationData.theme, presentationData.strings.Channel_Setup_TypePrivateHelp)) - } - } + if let _ = (view.cachedData as? CachedChannelData)?.peerGeoLocation { + } else { + switch mode { + case .privateLink: + break + case .initialSetup, .generic: + entries.append(.typeHeader(presentationData.theme, isGroup ? presentationData.strings.Group_Setup_TypeHeader : presentationData.strings.Channel_Edit_LinkItem)) + entries.append(.typePublic(presentationData.theme, presentationData.strings.Channel_Setup_TypePublic, selectedType == .publicChannel)) + entries.append(.typePrivate(presentationData.theme, presentationData.strings.Channel_Setup_TypePrivate, selectedType == .privateChannel)) + + switch selectedType { + case .publicChannel: + if isGroup { + entries.append(.typeInfo(presentationData.theme, presentationData.strings.Group_Setup_TypePublicHelp)) + } else { + entries.append(.typeInfo(presentationData.theme, presentationData.strings.Channel_Setup_TypePublicHelp)) + } + case .privateChannel: + if isGroup { + entries.append(.typeInfo(presentationData.theme, presentationData.strings.Group_Setup_TypePrivateHelp)) + } else { + entries.append(.typeInfo(presentationData.theme, presentationData.strings.Channel_Setup_TypePrivateHelp)) + } + } + } } - + switch selectedType { case .publicChannel: var displayAvailability = false @@ -596,7 +534,6 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa entries.append(.publicLinkAvailability(presentationData.theme, presentationData.strings.Group_Username_CreatePublicLinkHelp, true)) } } else { - entries.append(.publicLinkHeader(presentationData.theme, presentationData.strings.Group_Username_Title.uppercased())) entries.append(.editablePublicLink(presentationData.theme, currentAddressName)) if let status = state.addressNameValidationStatus { let text: String @@ -639,26 +576,6 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa } if isGroup { entries.append(.publicLinkInfo(presentationData.theme, presentationData.strings.Group_Username_CreatePublicLinkHelp)) - - entries.append(.locationHeader(presentationData.theme, presentationData.strings.Group_Location_Title.uppercased())) - if let currentEditingLocation = state.editingLocation { - if case .removed = currentEditingLocation { - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_SetLocation)) - } else if case let .location(location) = currentEditingLocation { - entries.append(.location(presentationData.theme, location)) - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_ChangeLocation)) - entries.append(.locationRemove(presentationData.theme, presentationData.strings.Group_Location_RemoveLocation)) - } - } else { - if let location = (view.cachedData as? CachedChannelData)?.peerGeoLocation { - entries.append(.location(presentationData.theme, location)) - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_ChangeLocation)) - entries.append(.locationRemove(presentationData.theme, presentationData.strings.Group_Location_RemoveLocation)) - } else { - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_SetLocation)) - } - } - entries.append(.locationInfo(presentationData.theme, presentationData.strings.Group_Location_Info)) } else { entries.append(.publicLinkInfo(presentationData.theme, presentationData.strings.Channel_Username_CreatePublicLinkHelp)) } @@ -727,7 +644,7 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa entries.append(.typePublic(presentationData.theme, presentationData.strings.Channel_Setup_TypePublic, selectedType == .publicChannel)) entries.append(.typePrivate(presentationData.theme, presentationData.strings.Channel_Setup_TypePrivate, selectedType == .privateChannel)) - entries.append(.typeInfo(presentationData.theme, presentationData.strings.Group_Setup_TypePublicWithLocationHelp)) + entries.append(.typeInfo(presentationData.theme, presentationData.strings.Group_Setup_TypePublicHelp)) switch selectedType { case .publicChannel: @@ -755,7 +672,6 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa entries.append(.publicLinkAvailability(presentationData.theme, presentationData.strings.Group_Username_CreatePublicLinkHelp, true)) } } else { - entries.append(.publicLinkHeader(presentationData.theme, presentationData.strings.Group_Username_Title.uppercased())) entries.append(.editablePublicLink(presentationData.theme, currentAddressName)) if let status = state.addressNameValidationStatus { let text: String @@ -789,19 +705,6 @@ private func channelVisibilityControllerEntries(presentationData: PresentationDa entries.append(.publicLinkStatus(presentationData.theme, text, status)) } entries.append(.publicLinkInfo(presentationData.theme, presentationData.strings.Group_Username_CreatePublicLinkHelp)) - - entries.append(.locationHeader(presentationData.theme, presentationData.strings.Group_Location_Title.uppercased())) - if let currentEditingLocation = state.editingLocation { - if case .removed = currentEditingLocation { - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_SetLocation)) - } else if case let .location(location) = currentEditingLocation { - entries.append(.location(presentationData.theme, location)) - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_ChangeLocation)) - entries.append(.locationRemove(presentationData.theme, presentationData.strings.Group_Location_RemoveLocation)) - } - } else { - entries.append(.locationSetup(presentationData.theme, presentationData.strings.Group_Location_SetLocation)) - } } case .privateChannel: let link = (view.cachedData as? CachedGroupData)?.exportedInvitation?.link @@ -902,8 +805,8 @@ public func channelVisibilityController(context: AccountContext, peerId: PeerId, let peersDisablingAddressNameAssignment = Promise<[Peer]?>() peersDisablingAddressNameAssignment.set(.single(nil) |> then(channelAddressNameAssignmentAvailability(account: context.account, peerId: peerId.namespace == Namespaces.Peer.CloudChannel ? peerId : nil) |> mapToSignal { result -> Signal<[Peer]?, NoError> in if case .addressNameLimitReached = result { - return adminedPublicChannels(account: context.account) - |> map(Optional.init) + return adminedPublicChannels(account: context.account, location: false) + |> map(Optional.init) } else { return .single([]) } @@ -1059,60 +962,6 @@ public func channelVisibilityController(context: AccountContext, peerId: PeerId, presentControllerImpl?(shareController, nil) } }) - }, setLocation: { - dismissInputImpl?() - - let _ = (context.account.postbox.transaction { transaction -> Peer? in - return transaction.getPeer(peerId) - } |> deliverOnMainQueue).start(next: { peer in - guard let peer = peer else { - return - } - - let presentationData = context.sharedContext.currentPresentationData.with { $0 } - let controller = legacyLocationPickerController(context: context, selfPeer: peer, peer: peer, sendLocation: { coordinate, _ in - updateState { state in - return state.withUpdatedEditingLocation(.location(PeerGeoLocation(latitude: coordinate.latitude, longitude: coordinate.longitude, address: ""))) - } - - let _ = (reverseGeocodeLocation(latitude: coordinate.latitude, longitude: coordinate.longitude) - |> deliverOnMainQueue).start(next: { placemark in - updateState { state in - let address: String - if let placemark = placemark { - address = placemark.fullAddress - } else { - address = "\(coordinate.latitude), \(coordinate.longitude)" - } - return state.withUpdatedEditingLocation(.location(PeerGeoLocation(latitude: coordinate.latitude, longitude: coordinate.longitude, address: address))) - } - }) - }, sendLiveLocation: { _, _ in }, theme: presentationData.theme, customLocationPicker: true, presentationCompleted: { - clearHighlightImpl?() - }) - presentControllerImpl?(controller, nil) - }) - }, removeLocation: { - dismissInputImpl?() - - let presentationData = context.sharedContext.currentPresentationData.with { $0 } - let controller = ActionSheetController(presentationTheme: presentationData.theme) - let dismissAction: () -> Void = { [weak controller] in - controller?.dismissAnimated() - } - controller.setItemGroups([ - ActionSheetItemGroup(items: [ - ActionSheetButtonItem(title: presentationData.strings.Group_Location_RemoveLocation, color: .destructive, action: { - dismissAction() - - updateState { state in - return state.withUpdatedEditingLocation(.removed) - } - }) - ]), - ActionSheetItemGroup(items: [ActionSheetButtonItem(title: presentationData.strings.Common_Cancel, action: { dismissAction() })]) - ]) - presentControllerImpl?(controller, ViewControllerPresentationArguments(presentationAnimation: .modalSheet)) }) let peerView = context.account.viewTracker.peerView(peerId) @@ -1134,14 +983,7 @@ public func channelVisibilityController(context: AccountContext, peerId: PeerId, break case .publicChannel: var hasLocation = false - if let editingLocation = state.editingLocation { - switch editingLocation { - case .location: - hasLocation = true - case .removed: - hasLocation = false - } - } else if let cachedChannelData = view.cachedData as? CachedChannelData, cachedChannelData.peerGeoLocation != nil { + if let cachedChannelData = view.cachedData as? CachedChannelData, cachedChannelData.peerGeoLocation != nil { hasLocation = true } @@ -1247,16 +1089,6 @@ public func channelVisibilityController(context: AccountContext, peerId: PeerId, case .privateChannel: break case .publicChannel: - var hasLocation = false - if let editingLocation = state.editingLocation { - switch editingLocation { - case .location: - hasLocation = true - case .removed: - hasLocation = false - } - } - if let addressNameValidationStatus = state.addressNameValidationStatus { switch addressNameValidationStatus { case .availability(.available): @@ -1265,7 +1097,7 @@ public func channelVisibilityController(context: AccountContext, peerId: PeerId, doneEnabled = false } } else { - doneEnabled = !(peer.addressName?.isEmpty ?? true) || hasLocation + doneEnabled = !(peer.addressName?.isEmpty ?? true) } } } diff --git a/submodules/TelegramUI/TelegramUI/ChatController.swift b/submodules/TelegramUI/TelegramUI/ChatController.swift index 411aa18143..c469c60306 100644 --- a/submodules/TelegramUI/TelegramUI/ChatController.swift +++ b/submodules/TelegramUI/TelegramUI/ChatController.swift @@ -4744,7 +4744,7 @@ public final class ChatController: TelegramController, GalleryHiddenMediaTarget, } strongSelf.chatDisplayNode.dismissInput() - strongSelf.present(legacyLocationPickerController(context: strongSelf.context, selfPeer: selfPeer, peer: peer, sendLocation: { coordinate, venue in + strongSelf.present(legacyLocationPickerController(context: strongSelf.context, selfPeer: selfPeer, peer: peer, sendLocation: { coordinate, venue, _ in guard let strongSelf = self else { return } diff --git a/submodules/TelegramUI/TelegramUI/ComposeController.swift b/submodules/TelegramUI/TelegramUI/ComposeController.swift index 337363e16e..62f69f2e32 100644 --- a/submodules/TelegramUI/TelegramUI/ComposeController.swift +++ b/submodules/TelegramUI/TelegramUI/ComposeController.swift @@ -169,7 +169,15 @@ public class ComposeController: ViewController { self.contactsNode.openCreateNewChannel = { [weak self] in if let strongSelf = self { - (strongSelf.navigationController as? NavigationController)?.pushViewController(legacyChannelIntroController(context: strongSelf.context, theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings), completion: { [weak self] in + let presentationData = strongSelf.context.sharedContext.currentPresentationData.with { $0 } + let controller = PermissionController(context: strongSelf.context, splashScreen: true) + controller.setState(.custom(icon: PermissionControllerCustomIcon(light: UIImage(bundleImageName: "Chat/Intro/ChannelIntro"), dark: nil), title: presentationData.strings.ChannelIntro_Title, subtitle: nil, text: presentationData.strings.ChannelIntro_Text, buttonTitle: presentationData.strings.ChannelIntro_CreateChannel, footerText: nil), animated: false) + controller.proceed = { [weak self] result in + if let strongSelf = self { + (strongSelf.navigationController as? NavigationController)?.replaceTopController(createChannelController(context: strongSelf.context), animated: true) + } + } + (strongSelf.navigationController as? NavigationController)?.pushViewController(controller, completion: { [weak self] in if let strongSelf = self { strongSelf.contactsNode.contactListNode.listNode.clearHighlightAnimated(true) } diff --git a/submodules/TelegramUI/TelegramUI/ContactListNode.swift b/submodules/TelegramUI/TelegramUI/ContactListNode.swift index 44c1df17c9..87cfb6fa60 100644 --- a/submodules/TelegramUI/TelegramUI/ContactListNode.swift +++ b/submodules/TelegramUI/TelegramUI/ContactListNode.swift @@ -855,7 +855,7 @@ final class ContactListNode: ASDisplayNode { var authorizeImpl: (() -> Void)? var openPrivacyPolicyImpl: (() -> Void)? - self.authorizationNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: .contacts, icon: UIImage(bundleImageName: "Settings/Permissions/Contacts"), title: self.presentationData.strings.Contacts_PermissionsTitle, text: self.presentationData.strings.Contacts_PermissionsText, buttonTitle: self.presentationData.strings.Contacts_PermissionsAllow, buttonAction: { + self.authorizationNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: PermissionKind.contacts.rawValue, icon: UIImage(bundleImageName: "Settings/Permissions/Contacts"), title: self.presentationData.strings.Contacts_PermissionsTitle, text: self.presentationData.strings.Contacts_PermissionsText, buttonTitle: self.presentationData.strings.Contacts_PermissionsAllow, buttonAction: { authorizeImpl?() }, openPrivacyPolicy: { openPrivacyPolicyImpl?() @@ -1256,7 +1256,7 @@ final class ContactListNode: ASDisplayNode { let authorizationPreviousHidden = strongSelf.authorizationNode.isHidden strongSelf.authorizationNode.removeFromSupernode() - strongSelf.authorizationNode = PermissionContentNode(theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, kind: .contacts, icon: UIImage(bundleImageName: "Settings/Permissions/Contacts"), title: strongSelf.presentationData.strings.Contacts_PermissionsTitle, text: strongSelf.presentationData.strings.Contacts_PermissionsText, buttonTitle: strongSelf.presentationData.strings.Contacts_PermissionsAllow, buttonAction: { + strongSelf.authorizationNode = PermissionContentNode(theme: strongSelf.presentationData.theme, strings: strongSelf.presentationData.strings, kind: PermissionKind.contacts.rawValue, icon: UIImage(bundleImageName: "Settings/Permissions/Contacts"), title: strongSelf.presentationData.strings.Contacts_PermissionsTitle, text: strongSelf.presentationData.strings.Contacts_PermissionsText, buttonTitle: strongSelf.presentationData.strings.Contacts_PermissionsAllow, buttonAction: { authorizeImpl?() }, openPrivacyPolicy: { openPrivacyPolicyImpl?() diff --git a/submodules/TelegramUI/TelegramUI/ContactsController.swift b/submodules/TelegramUI/TelegramUI/ContactsController.swift index 87d6369122..6a50574ab3 100644 --- a/submodules/TelegramUI/TelegramUI/ContactsController.swift +++ b/submodules/TelegramUI/TelegramUI/ContactsController.swift @@ -277,7 +277,7 @@ public class ContactsController: ViewController { presentPeersNearby() default: let controller = PermissionController(context: strongSelf.context, splashScreen: false) - controller.setState(.nearbyLocation(status: PermissionRequestStatus(accessType: status)), animated: false) + controller.setState(.permission(.nearbyLocation(status: PermissionRequestStatus(accessType: status))), animated: false) controller.proceed = { result in if result { presentPeersNearby() diff --git a/submodules/TelegramUI/TelegramUI/CreateGroupController.swift b/submodules/TelegramUI/TelegramUI/CreateGroupController.swift index e09d7eaaef..5202397677 100644 --- a/submodules/TelegramUI/TelegramUI/CreateGroupController.swift +++ b/submodules/TelegramUI/TelegramUI/CreateGroupController.swift @@ -8,12 +8,19 @@ import TelegramPresentationData import TelegramUIPreferences import LegacyComponents +public enum CreateGroupMode { + case generic + case supergroup + case locatedGroup(latitude: Double, longitude: Double, address: String?) +} + private struct CreateGroupArguments { let account: Account let updateEditingName: (ItemListAvatarAndNameInfoItemName) -> Void let done: () -> Void let changeProfilePhoto: () -> Void + let changeLocation: () -> Void } private enum CreateGroupSection: Int32 { @@ -47,6 +54,8 @@ private enum CreateGroupEntry: ItemListNodeEntry { case member(Int32, PresentationTheme, PresentationStrings, PresentationDateTimeFormat, PresentationPersonNameOrder, Peer, PeerPresence?) case locationHeader(PresentationTheme, String) case location(PresentationTheme, PeerGeoLocation) + case changeLocation(PresentationTheme, String) + case locationInfo(PresentationTheme, String) var section: ItemListSectionId { switch self { @@ -54,7 +63,7 @@ private enum CreateGroupEntry: ItemListNodeEntry { return CreateGroupSection.info.rawValue case .member: return CreateGroupSection.members.rawValue - case .locationHeader, .location: + case .locationHeader, .location, .changeLocation, .locationInfo: return CreateGroupSection.location.rawValue } } @@ -71,6 +80,10 @@ private enum CreateGroupEntry: ItemListNodeEntry { return 10000 case .location: return 10001 + case .changeLocation: + return 10002 + case .locationInfo: + return 10003 } } @@ -153,6 +166,18 @@ private enum CreateGroupEntry: ItemListNodeEntry { } else { return false } + case let .changeLocation(lhsTheme, lhsTitle): + if case let .changeLocation(rhsTheme, rhsTitle) = rhs, lhsTheme === rhsTheme, lhsTitle == rhsTitle { + return true + } else { + return false + } + case let .locationInfo(lhsTheme, lhsText): + if case let .locationInfo(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { + return true + } else { + return false + } } } @@ -178,6 +203,12 @@ private enum CreateGroupEntry: ItemListNodeEntry { case let .location(theme, location): let imageSignal = chatMapSnapshotImage(account: arguments.account, resource: MapSnapshotMediaResource(latitude: location.latitude, longitude: location.longitude, width: 90, height: 90)) return ItemListAddressItem(theme: theme, label: "", text: location.address.replacingOccurrences(of: ", ", with: "\n"), imageSignal: imageSignal, selected: nil, sectionId: self.section, style: .blocks, action: nil) + case let .changeLocation(theme, text): + return ItemListActionItem(theme: theme, title: text, kind: .generic, alignment: .natural, sectionId: ItemListSectionId(self.section), style: .blocks, action: { + arguments.changeLocation() + }, clearHighlightAutomatically: false) + case let .locationInfo(theme, text): + return ItemListTextItem(theme: theme, text: .plain(text), sectionId: self.section) } } } @@ -186,6 +217,7 @@ private struct CreateGroupState: Equatable { var creating: Bool var editingName: ItemListAvatarAndNameInfoItemName var avatar: ItemListAvatarAndNameInfoItemUpdatingAvatar? + var location: PeerGeoLocation? static func ==(lhs: CreateGroupState, rhs: CreateGroupState) -> Bool { if lhs.creating != rhs.creating { @@ -197,12 +229,14 @@ private struct CreateGroupState: Equatable { if lhs.avatar != rhs.avatar { return false } - + if lhs.location != rhs.location { + return false + } return true } } -private func createGroupEntries(presentationData: PresentationData, state: CreateGroupState, peerIds: [PeerId], view: MultiplePeersView, geoLocation: PeerGeoLocation?) -> [CreateGroupEntry] { +private func createGroupEntries(presentationData: PresentationData, state: CreateGroupState, peerIds: [PeerId], view: MultiplePeersView) -> [CreateGroupEntry] { var entries: [CreateGroupEntry] = [] let groupInfoState = ItemListAvatarAndNameInfoItemState(editingName: state.editingName, updatingName: nil) @@ -243,22 +277,23 @@ private func createGroupEntries(presentationData: PresentationData, state: Creat entries.append(.member(Int32(i), presentationData.theme, presentationData.strings, presentationData.dateTimeFormat, presentationData.nameDisplayOrder, peers[i], view.presences[peers[i].id])) } - if let geoLocation = geoLocation { + if let location = state.location { entries.append(.locationHeader(presentationData.theme, presentationData.strings.Group_Location_Title.uppercased())) - entries.append(.location(presentationData.theme, geoLocation)) + entries.append(.location(presentationData.theme, location)) + entries.append(.changeLocation(presentationData.theme, presentationData.strings.Group_Location_ChangeLocation)) + entries.append(.locationInfo(presentationData.theme, presentationData.strings.Group_Location_Info)) } return entries } -public enum CreateGroupType { - case generic - case supergroup - case locatedGroup(latitude: Double, longitude: Double) -} - -public func createGroupController(context: AccountContext, peerIds: [PeerId], initialTitle: String? = nil, type: CreateGroupType = .generic, completion: ((PeerId, @escaping () -> Void) -> Void)? = nil) -> ViewController { - let initialState = CreateGroupState(creating: false, editingName: .title(title: initialTitle ?? "", type: .group), avatar: nil) +public func createGroupController(context: AccountContext, peerIds: [PeerId], initialTitle: String? = nil, mode: CreateGroupMode = .generic, completion: ((PeerId, @escaping () -> Void) -> Void)? = nil) -> ViewController { + var location: PeerGeoLocation? + if case let .locatedGroup(latitude, longitude, address) = mode { + location = PeerGeoLocation(latitude: latitude, longitude: longitude, address: address ?? "") + } + + let initialState = CreateGroupState(creating: false, editingName: .title(title: initialTitle ?? "", type: .group), avatar: nil, location: location) let statePromise = ValuePromise(initialState, ignoreRepeated: true) let stateValue = Atomic(value: initialState) let updateState: ((CreateGroupState) -> CreateGroupState) -> Void = { f in @@ -269,6 +304,7 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in var dismissImpl: (() -> Void)? var presentControllerImpl: ((ViewController, Any?) -> Void)? var endEditingImpl: (() -> Void)? + var clearHighlightImpl: (() -> Void)? let actionsDisposable = DisposableSet() @@ -276,9 +312,16 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in let uploadedAvatar = Promise() - let placemarkPromise = Promise() - if case let .locatedGroup(latitude, longitude) = type { - placemarkPromise.set(reverseGeocodeLocation(latitude: latitude, longitude: longitude)) + let addressPromise = Promise(nil) + if case let .locatedGroup(latitude, longitude, address) = mode { + if let address = address { + addressPromise.set(.single(address)) + } else { + addressPromise.set(reverseGeocodeLocation(latitude: latitude, longitude: longitude) + |> map { placemark in + return placemark?.fullAddress ?? "\(latitude), \(longitude)" + }) + } } let arguments = CreateGroupArguments(account: context.account, updateEditingName: { editingName in @@ -288,8 +331,8 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in return current } }, done: { - let (creating, title) = stateValue.with { state -> (Bool, String) in - return (state.creating, state.editingName.composedTitle) + let (creating, title, location) = stateValue.with { state -> (Bool, String, PeerGeoLocation?) in + return (state.creating, state.editingName.composedTitle, state.location) } if !creating && !title.isEmpty { @@ -301,7 +344,7 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in endEditingImpl?() let createSignal: Signal - switch type { + switch mode { case .generic: createSignal = createGroup(account: context.account, title: title, peerIds: peerIds) case .supergroup: @@ -315,28 +358,25 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in return .restricted } } - case let .locatedGroup(latitude, longitude): - createSignal = createSupergroup(account: context.account, title: title, description: nil) - |> map(Optional.init) - |> mapError { error -> CreateGroupError in - switch error { - case .generic: - return .generic - case .restricted: - return .restricted - } + case .locatedGroup: + guard let location = location else { + return } - |> mapToSignal { peerId in - guard let peerId = peerId else { - return .single(nil) + + createSignal = addressPromise.get() + |> introduceError(CreateGroupError.self) + |> mapToSignal { address -> Signal in + guard let address = address else { + return .complete() } - return placemarkPromise.get() - |> introduceError(CreateGroupError.self) - |> mapToSignal { placemark in - return updateChannelGeoLocation(postbox: context.account.postbox, network: context.account.network, channelId: peerId, coordinate: (latitude, longitude), address: placemark?.fullAddress ?? "\(latitude), \(longitude)") - |> introduceError(CreateGroupError.self) - |> map { _ in - return peerId + return createSupergroup(account: context.account, title: title, description: nil, location: (location.latitude, location.longitude, address)) + |> map(Optional.init) + |> mapError { error -> CreateGroupError in + switch error { + case .generic: + return .generic + case .restricted: + return .restricted } } } @@ -475,10 +515,43 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in } } }) + }, changeLocation: { + endEditingImpl?() + + let peer = TelegramChannel(id: PeerId(0), accessHash: nil, title: "", username: nil, photo: [], creationDate: 0, version: 0, participationStatus: .member, info: .group(TelegramChannelGroupInfo(flags: [])), flags: [], restrictionInfo: nil, adminRights: nil, bannedRights: nil, defaultBannedRights: nil) + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let controller = legacyLocationPickerController(context: context, selfPeer: peer, peer: peer, sendLocation: { coordinate, _, address in + let addressSignal: Signal + if let address = address { + addressSignal = .single(address) + } else { + addressSignal = reverseGeocodeLocation(latitude: coordinate.latitude, longitude: coordinate.longitude) + |> map { placemark in + if let placemark = placemark { + return placemark.fullAddress + } else { + return "\(coordinate.latitude), \(coordinate.longitude)" + } + } + } + + let _ = (addressSignal + |> deliverOnMainQueue).start(next: { address in + addressPromise.set(.single(address)) + updateState { current in + var current = current + current.location = PeerGeoLocation(latitude: coordinate.latitude, longitude: coordinate.longitude, address: address) + return current + } + }) + }, sendLiveLocation: { _, _ in }, theme: presentationData.theme, customLocationPicker: true, presentationCompleted: { + clearHighlightImpl?() + }) + presentControllerImpl?(controller, nil) }) - let signal = combineLatest(context.sharedContext.presentationData, statePromise.get(), context.account.postbox.multiplePeersView(peerIds), .single(nil) |> then(placemarkPromise.get())) - |> map { presentationData, state, view, placemark -> (ItemListControllerState, (ItemListNodeState, CreateGroupEntry.ItemGenerationArguments)) in + let signal = combineLatest(context.sharedContext.presentationData, statePromise.get(), context.account.postbox.multiplePeersView(peerIds), .single(nil) |> then(addressPromise.get())) + |> map { presentationData, state, view, address -> (ItemListControllerState, (ItemListNodeState, CreateGroupEntry.ItemGenerationArguments)) in let rightNavigationButton: ItemListNavigationButton if state.creating { @@ -489,17 +562,8 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in }) } - var geoLocation: PeerGeoLocation? - if case let .locatedGroup(latitude, longitude) = type { - if let placemark = placemark { - geoLocation = PeerGeoLocation(latitude: latitude, longitude: longitude, address: placemark.fullAddress) - } else { - geoLocation = PeerGeoLocation(latitude: latitude, longitude: longitude, address: "") - } - } - let controllerState = ItemListControllerState(theme: presentationData.theme, title: .text(presentationData.strings.Compose_NewGroupTitle), leftNavigationButton: nil, rightNavigationButton: rightNavigationButton, backNavigationButton: ItemListBackButton(title: presentationData.strings.Common_Back)) - let listState = ItemListNodeState(entries: createGroupEntries(presentationData: presentationData, state: state, peerIds: peerIds, view: view, geoLocation: geoLocation), style: .blocks, focusItemTag: CreateGroupEntryTag.info) + let listState = ItemListNodeState(entries: createGroupEntries(presentationData: presentationData, state: state, peerIds: peerIds, view: view), style: .blocks, focusItemTag: CreateGroupEntryTag.info) return (controllerState, (listState, arguments)) } @@ -526,5 +590,8 @@ public func createGroupController(context: AccountContext, peerIds: [PeerId], in [weak controller] in controller?.view.endEditing(true) } + clearHighlightImpl = { [weak controller] in + controller?.clearItemNodesHighlight(animated: true) + } return controller } diff --git a/submodules/TelegramUI/TelegramUI/GroupInfoController.swift b/submodules/TelegramUI/TelegramUI/GroupInfoController.swift index dd8b0cfa75..64274906f5 100644 --- a/submodules/TelegramUI/TelegramUI/GroupInfoController.swift +++ b/submodules/TelegramUI/TelegramUI/GroupInfoController.swift @@ -39,9 +39,10 @@ private final class GroupInfoArguments { let openGroupTypeSetup: () -> Void let openLinkedChannelSetup: () -> Void let openLocation: (PeerGeoLocation) -> Void + let changeLocation: () -> Void let displayLocationContextMenu: (String) -> Void - init(context: AccountContext, avatarAndNameInfoContext: ItemListAvatarAndNameInfoItemContext, tapAvatarAction: @escaping () -> Void, changeProfilePhoto: @escaping () -> Void, pushController: @escaping (ViewController) -> Void, presentController: @escaping (ViewController, ViewControllerPresentationArguments) -> Void, changeNotificationMuteSettings: @escaping () -> Void, openPreHistory: @escaping () -> Void, openSharedMedia: @escaping () -> Void, openAdministrators: @escaping () -> Void, openPermissions: @escaping () -> Void, updateEditingName: @escaping (ItemListAvatarAndNameInfoItemName) -> Void, updateEditingDescriptionText: @escaping (String) -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, addMember: @escaping () -> Void, promotePeer: @escaping (RenderedChannelParticipant) -> Void, restrictPeer: @escaping (RenderedChannelParticipant) -> Void, removePeer: @escaping (PeerId) -> Void, leave: @escaping () -> Void, displayUsernameShareMenu: @escaping (String) -> Void, displayUsernameContextMenu: @escaping (String) -> Void, displayAboutContextMenu: @escaping (String) -> Void, aboutLinkAction: @escaping (TextLinkItemActionType, TextLinkItem) -> Void, openStickerPackSetup: @escaping () -> Void, openGroupTypeSetup: @escaping () -> Void, openLinkedChannelSetup: @escaping () -> Void, openLocation: @escaping (PeerGeoLocation) -> Void, displayLocationContextMenu: @escaping (String) -> Void) { + init(context: AccountContext, avatarAndNameInfoContext: ItemListAvatarAndNameInfoItemContext, tapAvatarAction: @escaping () -> Void, changeProfilePhoto: @escaping () -> Void, pushController: @escaping (ViewController) -> Void, presentController: @escaping (ViewController, ViewControllerPresentationArguments) -> Void, changeNotificationMuteSettings: @escaping () -> Void, openPreHistory: @escaping () -> Void, openSharedMedia: @escaping () -> Void, openAdministrators: @escaping () -> Void, openPermissions: @escaping () -> Void, updateEditingName: @escaping (ItemListAvatarAndNameInfoItemName) -> Void, updateEditingDescriptionText: @escaping (String) -> Void, setPeerIdWithRevealedOptions: @escaping (PeerId?, PeerId?) -> Void, addMember: @escaping () -> Void, promotePeer: @escaping (RenderedChannelParticipant) -> Void, restrictPeer: @escaping (RenderedChannelParticipant) -> Void, removePeer: @escaping (PeerId) -> Void, leave: @escaping () -> Void, displayUsernameShareMenu: @escaping (String) -> Void, displayUsernameContextMenu: @escaping (String) -> Void, displayAboutContextMenu: @escaping (String) -> Void, aboutLinkAction: @escaping (TextLinkItemActionType, TextLinkItem) -> Void, openStickerPackSetup: @escaping () -> Void, openGroupTypeSetup: @escaping () -> Void, openLinkedChannelSetup: @escaping () -> Void, openLocation: @escaping (PeerGeoLocation) -> Void, changeLocation: @escaping () -> Void, displayLocationContextMenu: @escaping (String) -> Void) { self.context = context self.avatarAndNameInfoContext = avatarAndNameInfoContext self.tapAvatarAction = tapAvatarAction @@ -69,6 +70,7 @@ private final class GroupInfoArguments { self.openGroupTypeSetup = openGroupTypeSetup self.openLinkedChannelSetup = openLinkedChannelSetup self.openLocation = openLocation + self.changeLocation = changeLocation self.displayLocationContextMenu = displayLocationContextMenu } } @@ -141,9 +143,10 @@ private enum GroupInfoEntry: ItemListNodeEntry { case info(PresentationTheme, PresentationStrings, PresentationDateTimeFormat, peer: Peer?, cachedData: CachedPeerData?, state: ItemListAvatarAndNameInfoItemState, updatingAvatar: ItemListAvatarAndNameInfoItemUpdatingAvatar?) case setGroupPhoto(PresentationTheme, String) case groupDescriptionSetup(PresentationTheme, String, String) - case aboutHeader(PresentationTheme, String) case about(PresentationTheme, String) + case locationHeader(PresentationTheme, String) case location(PresentationTheme, PeerGeoLocation) + case changeLocation(PresentationTheme, String) case link(PresentationTheme, String) case sharedMedia(PresentationTheme, String) case notifications(PresentationTheme, String, String) @@ -159,9 +162,9 @@ private enum GroupInfoEntry: ItemListNodeEntry { var section: ItemListSectionId { switch self { - case .info, .setGroupPhoto, .groupDescriptionSetup: + case .info, .setGroupPhoto, .groupDescriptionSetup, .about: return GroupInfoSection.info.rawValue - case .aboutHeader, .about, .link, .location: + case .locationHeader, .location, .changeLocation, .link: return GroupInfoSection.about.rawValue case .groupTypeSetup, .linkedChannelSetup, .preHistory, .stickerPack: return GroupInfoSection.infoManagement.rawValue @@ -237,20 +240,14 @@ private enum GroupInfoEntry: ItemListNodeEntry { } else { return false } - case let .aboutHeader(lhsTheme, lhsText): - if case let .aboutHeader(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { - return true - } else { - return false - } case let .about(lhsTheme, lhsText): if case let .about(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { return true } else { return false } - case let .link(lhsTheme, lhsText): - if case let .link(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { + case let .locationHeader(lhsTheme, lhsText): + if case let .locationHeader(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { return true } else { return false @@ -261,6 +258,18 @@ private enum GroupInfoEntry: ItemListNodeEntry { } else { return false } + case let .changeLocation(lhsTheme, lhsText): + if case let .changeLocation(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { + return true + } else { + return false + } + case let .link(lhsTheme, lhsText): + if case let .link(rhsTheme, rhsText) = rhs, lhsTheme === rhsTheme, lhsText == rhsText { + return true + } else { + return false + } case let .notifications(lhsTheme, lhsTitle, lhsText): if case let .notifications(rhsTheme, rhsTitle, rhsText) = rhs { if lhsTheme !== rhsTheme { @@ -399,13 +408,15 @@ private enum GroupInfoEntry: ItemListNodeEntry { return 1 case .groupDescriptionSetup: return 2 - case .aboutHeader: - return 4 case .about: - return 5 - case .link: - return 6 + return 3 + case .locationHeader: + return 4 case .location: + return 5 + case .changeLocation: + return 6 + case .link: return 7 case .groupTypeSetup: return 8 @@ -424,11 +435,11 @@ private enum GroupInfoEntry: ItemListNodeEntry { case .administrators: return 15 case .addMember: - return 17 + return 16 case let .member(_, _, _, _, index, _, _, _, _, _, _, _, _, _): return 20 + index case .leave: - return 100000 + 1 + return 200000 + 1 } } @@ -448,27 +459,31 @@ private enum GroupInfoEntry: ItemListNodeEntry { return ItemListActionItem(theme: theme, title: text, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { arguments.changeProfilePhoto() }) - case let .aboutHeader(theme, text): - return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) case let .about(theme, text): return ItemListMultilineTextItem(theme: theme, text: foldMultipleLineBreaks(text), enabledEntitiyTypes: [.url, .mention, .hashtag], sectionId: self.section, style: .blocks, longTapAction: { arguments.displayAboutContextMenu(text) }, linkItemAction: { action, itemLink in arguments.aboutLinkAction(action, itemLink) }, tag: GroupInfoEntryTag.about) - case let .link(theme, url): - return ItemListActionItem(theme: theme, title: url, kind: .neutral, alignment: .natural, sectionId: self.section, style: .blocks, action: { - arguments.displayUsernameShareMenu(url) - }, longTapAction: { - arguments.displayUsernameContextMenu(url) - }, tag: GroupInfoEntryTag.link) + case let .locationHeader(theme, text): + return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) case let .location(theme, location): let imageSignal = chatMapSnapshotImage(account: arguments.context.account, resource: MapSnapshotMediaResource(latitude: location.latitude, longitude: location.longitude, width: 90, height: 90)) - return ItemListAddressItem(theme: theme, label: "", text: location.address, imageSignal: imageSignal, selected: nil, sectionId: self.section, style: .blocks, action: { + return ItemListAddressItem(theme: theme, label: "", text: location.address.replacingOccurrences(of: ", ", with: "\n"), imageSignal: imageSignal, selected: nil, sectionId: self.section, style: .blocks, action: { arguments.openLocation(location) }, longTapAction: { arguments.displayLocationContextMenu(location.address.replacingOccurrences(of: "\n", with: ", ")) }, tag: GroupInfoEntryTag.location) + case let .changeLocation(theme, text): + return ItemListActionItem(theme: theme, title: text, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { + arguments.changeLocation() + }, clearHighlightAutomatically: false) + case let .link(theme, url): + return ItemListActionItem(theme: theme, title: url, kind: .generic, alignment: .natural, sectionId: self.section, style: .blocks, action: { + arguments.displayUsernameShareMenu(url) + }, longTapAction: { + arguments.displayUsernameContextMenu(url) + }, tag: GroupInfoEntryTag.link) case let .notifications(theme, title, text): return ItemListDisclosureItem(theme: theme, title: title, label: text, sectionId: self.section, style: .blocks, action: { arguments.changeNotificationMuteSettings() @@ -806,21 +821,33 @@ private func groupInfoEntries(account: Account, presentationData: PresentationDa entries.append(.administrators(presentationData.theme, presentationData.strings.GroupInfo_Administrators, "")) } } else if let channel = view.peers[view.peerId] as? TelegramChannel, let cachedChannelData = view.cachedData as? CachedChannelData { - if isCreator || (channel.adminRights != nil && channel.hasPermission(.pinMessages)) { - if cachedChannelData.flags.contains(.canChangeUsername) { - entries.append(GroupInfoEntry.groupTypeSetup(presentationData.theme, presentationData.strings.GroupInfo_GroupType, isPublic ? presentationData.strings.Channel_Setup_TypePublic : presentationData.strings.Channel_Setup_TypePrivate)) - if let linkedDiscussionPeerId = cachedChannelData.linkedDiscussionPeerId, let peer = view.peers[linkedDiscussionPeerId] { - let peerTitle: String - if let addressName = peer.addressName, !addressName.isEmpty { - peerTitle = "@\(addressName)" - } else { - peerTitle = peer.displayTitle - } - entries.append(GroupInfoEntry.linkedChannelSetup(presentationData.theme, presentationData.strings.Group_LinkedChannel, peerTitle)) - } + if isCreator, let location = cachedChannelData.peerGeoLocation { + entries.append(.locationHeader(presentationData.theme, presentationData.strings.GroupInfo_Location.uppercased())) + entries.append(.location(presentationData.theme, location)) + if cachedChannelData.flags.contains(.canChangePeerGeoLocation) { + entries.append(.changeLocation(presentationData.theme, presentationData.strings.Group_Location_ChangeLocation)) } - if !isPublic && cachedChannelData.linkedDiscussionPeerId == nil { - entries.append(GroupInfoEntry.preHistory(presentationData.theme, presentationData.strings.GroupInfo_GroupHistory, cachedChannelData.flags.contains(.preHistoryEnabled) ? presentationData.strings.GroupInfo_GroupHistoryVisible : presentationData.strings.GroupInfo_GroupHistoryHidden)) + } + + if isCreator || (channel.adminRights != nil && channel.hasPermission(.pinMessages)) { + if cachedChannelData.peerGeoLocation != nil { + entries.append(GroupInfoEntry.groupTypeSetup(presentationData.theme, presentationData.strings.GroupInfo_PublicLink, channel.addressName ?? presentationData.strings.GroupInfo_PublicLinkAdd)) + } else { + if cachedChannelData.flags.contains(.canChangeUsername) { + entries.append(GroupInfoEntry.groupTypeSetup(presentationData.theme, presentationData.strings.GroupInfo_GroupType, isPublic ? presentationData.strings.Channel_Setup_TypePublic : presentationData.strings.Channel_Setup_TypePrivate)) + if let linkedDiscussionPeerId = cachedChannelData.linkedDiscussionPeerId, let peer = view.peers[linkedDiscussionPeerId] { + let peerTitle: String + if let addressName = peer.addressName, !addressName.isEmpty { + peerTitle = "@\(addressName)" + } else { + peerTitle = peer.displayTitle + } + entries.append(GroupInfoEntry.linkedChannelSetup(presentationData.theme, presentationData.strings.Group_LinkedChannel, peerTitle)) + } + } + if !isPublic && cachedChannelData.linkedDiscussionPeerId == nil { + entries.append(GroupInfoEntry.preHistory(presentationData.theme, presentationData.strings.GroupInfo_GroupHistory, cachedChannelData.flags.contains(.preHistoryEnabled) ? presentationData.strings.GroupInfo_GroupHistoryVisible : presentationData.strings.GroupInfo_GroupHistoryHidden)) + } } } @@ -855,24 +882,23 @@ private func groupInfoEntries(account: Account, presentationData: PresentationDa } } else { if let peer = peerViewMainPeer(view), peer.isScam { - entries.append(.aboutHeader(presentationData.theme, presentationData.strings.Channel_About_Title.uppercased())) entries.append(.about(presentationData.theme, presentationData.strings.GroupInfo_ScamGroupWarning)) } else if let cachedChannelData = view.cachedData as? CachedChannelData { if let about = cachedChannelData.about, !about.isEmpty { - entries.append(.aboutHeader(presentationData.theme, presentationData.strings.Channel_About_Title.uppercased())) entries.append(.about(presentationData.theme, about)) } - if let peer = view.peers[view.peerId] as? TelegramChannel, let username = peer.username, !username.isEmpty { - entries.append(.link(presentationData.theme, "t.me/" + username)) - + if let peer = view.peers[view.peerId] as? TelegramChannel { if let location = cachedChannelData.peerGeoLocation { + entries.append(.locationHeader(presentationData.theme, presentationData.strings.GroupInfo_Location.uppercased())) entries.append(.location(presentationData.theme, location)) } + if let username = peer.username, !username.isEmpty { + entries.append(.link(presentationData.theme, "t.me/" + username)) + } } } else if let cachedGroupData = view.cachedData as? CachedGroupData { if let about = cachedGroupData.about, !about.isEmpty { - entries.append(.aboutHeader(presentationData.theme, presentationData.strings.Channel_About_Title.uppercased())) entries.append(.about(presentationData.theme, about)) } } @@ -1239,6 +1265,7 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId: var endEditingImpl: (() -> Void)? var removePeerChatImpl: ((Peer, Bool) -> Void)? var errorImpl: (() -> Void)? + var clearHighlightImpl: (() -> Void)? let actionsDisposable = DisposableSet() @@ -1967,6 +1994,40 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId: let controller = legacyLocationController(message: nil, mapMedia: mapMedia, context: context, isModal: false, openPeer: { _ in }, sendLiveLocation: { _, _ in }, stopLiveLocation: {}, openUrl: { _ in }) pushControllerImpl?(controller) }) + }, changeLocation: { + let _ = (peerView.get() + |> take(1) + |> deliverOnMainQueue).start(next: { peerView in + guard let peer = peerView.peers[peerView.peerId] else { + return + } + + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let controller = legacyLocationPickerController(context: context, selfPeer: peer, peer: peer, sendLocation: { coordinate, _, address in + let addressSignal: Signal + if let address = address { + addressSignal = .single(address) + } else { + addressSignal = reverseGeocodeLocation(latitude: coordinate.latitude, longitude: coordinate.longitude) + |> map { placemark in + if let placemark = placemark { + return placemark.fullAddress + } else { + return "\(coordinate.latitude), \(coordinate.longitude)" + } + } + } + + let _ = (addressSignal + |> mapToSignal { address -> Signal in + return updateChannelGeoLocation(postbox: context.account.postbox, network: context.account.network, channelId: peer.id, coordinate: (coordinate.latitude, coordinate.longitude), address: address) + } + |> deliverOnMainQueue).start() + }, sendLiveLocation: { _, _ in }, theme: presentationData.theme, customLocationPicker: true, presentationCompleted: { + clearHighlightImpl?() + }) + presentControllerImpl?(controller, nil) + }) }, displayLocationContextMenu: { text in displayCopyContextMenuImpl?(text, .location) }) @@ -2320,6 +2381,9 @@ public func groupInfoController(context: AccountContext, peerId originalPeerId: [weak controller] in controller?.view.endEditing(true) } + clearHighlightImpl = { [weak controller] in + controller?.clearItemNodesHighlight(animated: true) + } let hapticFeedback = HapticFeedback() errorImpl = { [weak controller] in diff --git a/submodules/TelegramUI/TelegramUI/LegacyLocationPicker.swift b/submodules/TelegramUI/TelegramUI/LegacyLocationPicker.swift index 744c2d31ec..760bc75a6d 100644 --- a/submodules/TelegramUI/TelegramUI/LegacyLocationPicker.swift +++ b/submodules/TelegramUI/TelegramUI/LegacyLocationPicker.swift @@ -11,7 +11,7 @@ private func generateClearIcon(color: UIColor) -> UIImage? { return generateTintedImage(image: UIImage(bundleImageName: "Components/Search Bar/Clear"), color: color) } -func legacyLocationPickerController(context: AccountContext, selfPeer: Peer, peer: Peer, sendLocation: @escaping (CLLocationCoordinate2D, MapVenue?) -> Void, sendLiveLocation: @escaping (CLLocationCoordinate2D, Int32) -> Void, theme: PresentationTheme, customLocationPicker: Bool = false, presentationCompleted: @escaping () -> Void = {}) -> ViewController { +func legacyLocationPickerController(context: AccountContext, selfPeer: Peer, peer: Peer, sendLocation: @escaping (CLLocationCoordinate2D, MapVenue?, String?) -> Void, sendLiveLocation: @escaping (CLLocationCoordinate2D, Int32) -> Void, theme: PresentationTheme, customLocationPicker: Bool = false, presentationCompleted: @escaping () -> Void = {}) -> ViewController { let legacyController = LegacyController(presentation: .modal(animateIn: true), theme: theme) legacyController.presentationCompleted = { presentationCompleted() @@ -34,10 +34,10 @@ func legacyLocationPickerController(context: AccountContext, selfPeer: Peer, pee }, rootController: nil) legacyController.bind(controller: navigationController) legacyController.supportedOrientations = ViewControllerSupportedOrientations(regularSize: .all, compactSize: .portrait) - controller.locationPicked = { [weak legacyController] coordinate, venue in + controller.locationPicked = { [weak legacyController] coordinate, venue, address in sendLocation(coordinate, venue.flatMap { venue in return MapVenue(title: venue.title, address: venue.address, provider: venue.provider, id: venue.venueId, type: venue.type) - }) + }, address) legacyController?.dismiss() } controller.liveLocationStarted = { [weak legacyController] coordinate, period in diff --git a/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift b/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift index cfd436fd44..4080ef1640 100644 --- a/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift +++ b/submodules/TelegramUI/TelegramUI/PeersNearbyController.swift @@ -37,9 +37,9 @@ private func arePeerNearbyArraysEqual(_ lhs: [PeerNearbyEntry], _ rhs: [PeerNear private final class PeersNearbyControllerArguments { let context: AccountContext let openChat: (Peer) -> Void - let openCreateGroup: (Double, Double) -> Void + let openCreateGroup: (Double, Double, String?) -> Void - init(context: AccountContext, openChat: @escaping (Peer) -> Void, openCreateGroup: @escaping (Double, Double) -> Void) { + init(context: AccountContext, openChat: @escaping (Peer) -> Void, openCreateGroup: @escaping (Double, Double, String?) -> Void) { self.context = context self.openChat = openChat self.openCreateGroup = openCreateGroup @@ -61,7 +61,7 @@ private enum PeersNearbyEntry: ItemListNodeEntry { case user(Int32, PresentationTheme, PresentationStrings, PresentationDateTimeFormat, PresentationPersonNameOrder, PeerNearbyEntry) case groupsHeader(PresentationTheme, String) - case createGroup(PresentationTheme, String, Double?, Double?) + case createGroup(PresentationTheme, String, Double?, Double?, String?) case group(Int32, PresentationTheme, PresentationStrings, PresentationDateTimeFormat, PresentationPersonNameOrder, PeerNearbyEntry) case channelsHeader(PresentationTheme, String) @@ -135,8 +135,8 @@ private enum PeersNearbyEntry: ItemListNodeEntry { } else { return false } - case let .createGroup(lhsTheme, lhsText, lhsLatitude, lhsLongitude): - if case let .createGroup(rhsTheme, rhsText, rhsLatitude, rhsLongitude) = rhs, lhsTheme === rhsTheme, lhsText == rhsText, lhsLatitude == rhsLatitude && lhsLongitude == rhsLongitude { + case let .createGroup(lhsTheme, lhsText, lhsLatitude, lhsLongitude, lhsAddress): + if case let .createGroup(rhsTheme, rhsText, rhsLatitude, rhsLongitude, rhsAddress) = rhs, lhsTheme === rhsTheme, lhsText == rhsText, lhsLatitude == rhsLatitude && lhsLongitude == rhsLongitude && lhsAddress == rhsAddress { return true } else { return false @@ -183,7 +183,7 @@ private enum PeersNearbyEntry: ItemListNodeEntry { return PeersNearbyHeaderItem(theme: theme, text: text, sectionId: self.section) case let .usersHeader(theme, text): return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) - case let .empty(theme, text, loading): + case let .empty(theme, text, _): return ItemListPlaceholderItem(theme: theme, text: text, sectionId: self.section, style: .blocks) case let .user(_, theme, strings, dateTimeFormat, nameDisplayOrder, peer): return ItemListPeerItem(theme: theme, strings: strings, dateTimeFormat: dateTimeFormat, nameDisplayOrder: nameDisplayOrder, account: arguments.context.account, peer: peer.peer.0, aliasHandling: .standard, nameColor: .primary, nameStyle: .distinctBold, presence: nil, text: .text(strings.Map_DistanceAway(stringForDistance(peer.distance)).0), label: .none, editing: ItemListPeerItemEditing(editable: false, editing: false, revealed: false), revealOptions: nil, switchValue: nil, enabled: true, selectable: true, sectionId: self.section, action: { @@ -191,10 +191,10 @@ private enum PeersNearbyEntry: ItemListNodeEntry { }, setPeerIdWithRevealedOptions: { _, _ in }, removePeer: { _ in }, toggleUpdated: nil, hasTopGroupInset: false, tag: nil) case let .groupsHeader(theme, text): return ItemListSectionHeaderItem(theme: theme, text: text, sectionId: self.section) - case let .createGroup(theme, title, latitude, longitude): + case let .createGroup(theme, title, latitude, longitude, address): return ItemListPeerActionItem(theme: theme, icon: PresentationResourcesItemList.createGroupIcon(theme), title: title, alwaysPlain: false, sectionId: self.section, editing: false, action: { if let latitude = latitude, let longitude = longitude { - arguments.openCreateGroup(latitude, longitude) + arguments.openCreateGroup(latitude, longitude, address) } }) case let .group(_, theme, strings, dateTimeFormat, nameDisplayOrder, peer): @@ -226,20 +226,22 @@ private enum PeersNearbyEntry: ItemListNodeEntry { private struct PeersNearbyData: Equatable { let latitude: Double let longitude: Double + let address: String? let users: [PeerNearbyEntry] let groups: [PeerNearbyEntry] let channels: [PeerNearbyEntry] - init(latitude: Double, longitude: Double, users: [PeerNearbyEntry], groups: [PeerNearbyEntry], channels: [PeerNearbyEntry]) { + init(latitude: Double, longitude: Double, address: String?, users: [PeerNearbyEntry], groups: [PeerNearbyEntry], channels: [PeerNearbyEntry]) { self.latitude = latitude self.longitude = longitude + self.address = address self.users = users self.groups = groups self.channels = channels } static func ==(lhs: PeersNearbyData, rhs: PeersNearbyData) -> Bool { - return lhs.latitude == rhs.latitude && lhs.longitude == rhs.longitude && arePeerNearbyArraysEqual(lhs.users, rhs.users) && arePeerNearbyArraysEqual(lhs.groups, rhs.groups) && arePeerNearbyArraysEqual(lhs.channels, rhs.channels) + return lhs.latitude == rhs.latitude && lhs.longitude == rhs.longitude && lhs.address == rhs.address && arePeerNearbyArraysEqual(lhs.users, rhs.users) && arePeerNearbyArraysEqual(lhs.groups, rhs.groups) && arePeerNearbyArraysEqual(lhs.channels, rhs.channels) } } @@ -259,7 +261,7 @@ private func peersNearbyControllerEntries(data: PeersNearbyData?, presentationDa } entries.append(.groupsHeader(presentationData.theme, presentationData.strings.PeopleNearby_Groups.uppercased())) - entries.append(.createGroup(presentationData.theme, presentationData.strings.PeopleNearby_CreateGroup, data?.latitude, data?.longitude)) + entries.append(.createGroup(presentationData.theme, presentationData.strings.PeopleNearby_CreateGroup, data?.latitude, data?.longitude, data?.address)) if let data = data, !data.groups.isEmpty { var i: Int32 = 0 for group in data.groups { @@ -282,18 +284,25 @@ private func peersNearbyControllerEntries(data: PeersNearbyData?, presentationDa public func peersNearbyController(context: AccountContext) -> ViewController { var pushControllerImpl: ((ViewController) -> Void)? - var replaceTopControllerImpl: ((ViewController, Bool) -> Void)? + var replaceAllButRootControllerImpl: ((ViewController, Bool) -> Void)? + var replaceTopControllerImpl: ((ViewController) -> Void)? var presentControllerImpl: ((ViewController, ViewControllerPresentationArguments?) -> Void)? var navigateToChatImpl: ((Peer) -> Void)? let actionsDisposable = DisposableSet() let dataPromise = Promise(nil) + let addressPromise = Promise(nil) let arguments = PeersNearbyControllerArguments(context: context, openChat: { peer in navigateToChatImpl?(peer) - }, openCreateGroup: { latitude, longitude in - let controller = createGroupController(context: context, peerIds: [], type: .locatedGroup(latitude: latitude, longitude: longitude)) + }, openCreateGroup: { latitude, longitude, address in + let presentationData = context.sharedContext.currentPresentationData.with { $0 } + let controller = PermissionController(context: context, splashScreen: true) + controller.setState(.custom(icon: PermissionControllerCustomIcon(light: UIImage(bundleImageName: "Location/LocalGroupLightIcon"), dark: UIImage(bundleImageName: "Location/LocalGroupDarkIcon")), title: presentationData.strings.LocalGroup_Title, subtitle: address, text: presentationData.strings.LocalGroup_Text, buttonTitle: presentationData.strings.LocalGroup_ButtonTitle, footerText: presentationData.strings.LocalGroup_IrrelevantWarning), animated: false) + controller.proceed = { result in + replaceTopControllerImpl?(createGroupController(context: context, peerIds: [], mode: .locatedGroup(latitude: latitude, longitude: longitude, address: address))) + } pushControllerImpl?(controller) }) @@ -307,9 +316,23 @@ public func peersNearbyController(context: AccountContext) -> ViewController { return Signal { subscriber in let peersNearbyContext = PeersNearbyContext(network: context.account.network, accountStateManager: context.account.stateManager, coordinate: (latitude: coordinate.latitude, longitude: coordinate.longitude)) - let peersNearby: Signal = peersNearbyContext.get() + let peersNearby: Signal = combineLatest(peersNearbyContext.get(), addressPromise.get()) |> introduceError(Void.self) - |> mapToSignal { peersNearby -> Signal in + |> mapToSignal { peersNearby, address -> Signal<([PeerNearby]?, String?), Void> in + if let address = address { + return .single((peersNearby, address)) + } else { + return reverseGeocodeLocation(latitude: coordinate.latitude, longitude: coordinate.longitude) + |> introduceError(Void.self) + |> map { placemark in + return (peersNearby, placemark?.fullAddress) + } + } + } + |> mapToSignal { peersNearby, address -> Signal in + guard let peersNearby = peersNearby else { + return .single(nil) + } return context.account.postbox.transaction { transaction -> PeersNearbyData? in var users: [PeerNearbyEntry] = [] var groups: [PeerNearbyEntry] = [] @@ -323,7 +346,7 @@ public func peersNearbyController(context: AccountContext) -> ViewController { } } } - return PeersNearbyData(latitude: coordinate.latitude, longitude: coordinate.longitude, users: users, groups: groups, channels: []) + return PeersNearbyData(latitude: coordinate.latitude, longitude: coordinate.longitude, address: address, users: users, groups: groups, channels: []) } |> introduceError(Void.self) } @@ -346,8 +369,10 @@ public func peersNearbyController(context: AccountContext) -> ViewController { |> restartIfError |> `catch` { _ -> Signal in return .single(nil) + } |> filter { value in + return value != nil } - dataPromise.set(combinedSignal) + dataPromise.set(.single(nil) |> then(combinedSignal)) let signal = combineLatest(context.sharedContext.presentationData, dataPromise.get()) |> deliverOnMainQueue @@ -362,11 +387,14 @@ public func peersNearbyController(context: AccountContext) -> ViewController { } let controller = ItemListController(context: context, state: signal) + controller.didDisappear = { [weak controller] _ in + controller?.clearItemNodesHighlight(animated: true) + } navigateToChatImpl = { [weak controller] peer in if let navigationController = controller?.navigationController as? NavigationController { navigateToChatController(navigationController: navigationController, context: context, chatLocation: .peer(peer.id), keepStack: .always, purposefulAction: { [weak navigationController] in if let navigationController = navigationController, let chatController = navigationController.viewControllers.last as? ChatController { - replaceTopControllerImpl?(chatController, false) + replaceAllButRootControllerImpl?(chatController, false) } }) } @@ -376,11 +404,16 @@ public func peersNearbyController(context: AccountContext) -> ViewController { (controller.navigationController as? NavigationController)?.pushViewController(c, animated: true) } } - replaceTopControllerImpl = { [weak controller] c, a in + replaceAllButRootControllerImpl = { [weak controller] c, a in if let controller = controller { (controller.navigationController as? NavigationController)?.replaceAllButRootController(c, animated: a) } } + replaceTopControllerImpl = { [weak controller] c in + if let controller = controller { + (controller.navigationController as? NavigationController)?.replaceTopController(c, animated: true) + } + } presentControllerImpl = { [weak controller] c, p in if let controller = controller { controller.present(c, in: .window(.root), with: p) diff --git a/submodules/TelegramUI/TelegramUI/PeersNearbyHeaderItem.swift b/submodules/TelegramUI/TelegramUI/PeersNearbyHeaderItem.swift index 33934c0924..f0f990e06f 100644 --- a/submodules/TelegramUI/TelegramUI/PeersNearbyHeaderItem.swift +++ b/submodules/TelegramUI/TelegramUI/PeersNearbyHeaderItem.swift @@ -76,7 +76,7 @@ class PeersNearbyHeaderItemNode: ListViewItemNode { let makeTitleLayout = TextNode.asyncLayout(self.titleNode) return { item, params, neighbors in - let leftInset: CGFloat = 54.0 + params.leftInset + let leftInset: CGFloat = 48.0 + params.leftInset let topInset: CGFloat = 92.0 let attributedText = NSAttributedString(string: item.text, font: titleFont, textColor: item.theme.list.freeTextColor) diff --git a/submodules/TelegramUI/TelegramUI/PermissionContentNode.swift b/submodules/TelegramUI/TelegramUI/PermissionContentNode.swift index c90ca6ea33..5b2045e323 100644 --- a/submodules/TelegramUI/TelegramUI/PermissionContentNode.swift +++ b/submodules/TelegramUI/TelegramUI/PermissionContentNode.swift @@ -6,13 +6,15 @@ import TelegramPresentationData final class PermissionContentNode: ASDisplayNode { private var theme: PresentationTheme - let kind: PermissionKind + let kind: Int32 private let iconNode: ASImageNode private let nearbyIconNode: PeersNearbyIconNode? private let titleNode: ImmediateTextNode + private let subtitleNode: ImmediateTextNode private let textNode: ImmediateTextNode private let actionButton: SolidRoundedButtonNode + private let footerNode: ImmediateTextNode private let privacyPolicyButton: HighlightableButtonNode private var title: String @@ -20,7 +22,7 @@ final class PermissionContentNode: ASDisplayNode { var buttonAction: (() -> Void)? var openPrivacyPolicy: (() -> Void)? - init(theme: PresentationTheme, strings: PresentationStrings, kind: PermissionKind, icon: UIImage?, title: String, text: String, buttonTitle: String, buttonAction: @escaping () -> Void, openPrivacyPolicy: (() -> Void)?) { + init(theme: PresentationTheme, strings: PresentationStrings, kind: Int32, icon: UIImage?, title: String, subtitle: String? = nil, text: String, buttonTitle: String, footerText: String? = nil, buttonAction: @escaping () -> Void, openPrivacyPolicy: (() -> Void)?) { self.theme = theme self.kind = kind @@ -34,7 +36,7 @@ final class PermissionContentNode: ASDisplayNode { self.iconNode.displayWithoutProcessing = true self.iconNode.displaysAsynchronously = false - if kind == .nearbyLocation { + if kind == PermissionKind.nearbyLocation.rawValue { self.nearbyIconNode = PeersNearbyIconNode(theme: theme) } else { self.nearbyIconNode = nil @@ -46,6 +48,12 @@ final class PermissionContentNode: ASDisplayNode { self.titleNode.isUserInteractionEnabled = false self.titleNode.displaysAsynchronously = false + self.subtitleNode = ImmediateTextNode() + self.subtitleNode.maximumNumberOfLines = 1 + self.subtitleNode.textAlignment = .center + self.subtitleNode.isUserInteractionEnabled = false + self.subtitleNode.displaysAsynchronously = false + self.textNode = ImmediateTextNode() self.textNode.textAlignment = .center self.textNode.maximumNumberOfLines = 0 @@ -53,6 +61,11 @@ final class PermissionContentNode: ASDisplayNode { self.actionButton = SolidRoundedButtonNode(theme: theme, height: 48.0, cornerRadius: 9.0) + self.footerNode = ImmediateTextNode() + self.footerNode.textAlignment = .center + self.footerNode.maximumNumberOfLines = 0 + self.footerNode.displaysAsynchronously = false + self.privacyPolicyButton = HighlightableButtonNode() self.privacyPolicyButton.setTitle(strings.Permissions_PrivacyPolicy, with: Font.regular(16.0), with: theme.list.itemAccentColor, for: .normal) @@ -68,13 +81,23 @@ final class PermissionContentNode: ASDisplayNode { self.actionButton.title = buttonTitle self.privacyPolicyButton.isHidden = openPrivacyPolicy == nil + if let subtitle = subtitle { + self.subtitleNode.attributedText = NSAttributedString(string: subtitle, font: Font.regular(13.0), textColor: theme.list.freeTextColor, paragraphAlignment: .center) + } + + if let footerText = footerText { + self.footerNode.attributedText = NSAttributedString(string: footerText, font: Font.regular(13.0), textColor: theme.list.freeTextColor, paragraphAlignment: .center) + } + self.addSubnode(self.iconNode) if let nearbyIconNode = self.nearbyIconNode { self.addSubnode(nearbyIconNode) } self.addSubnode(self.titleNode) + self.addSubnode(self.subtitleNode) self.addSubnode(self.textNode) self.addSubnode(self.actionButton) + self.addSubnode(self.footerNode) self.addSubnode(self.privacyPolicyButton) self.actionButton.pressed = { [weak self] in @@ -93,25 +116,33 @@ final class PermissionContentNode: ASDisplayNode { let fontSize: CGFloat if min(size.width, size.height) > 330.0 { fontSize = 24.0 - sidePadding = 38.0 + sidePadding = 36.0 } else { fontSize = 20.0 sidePadding = 20.0 } - self.titleNode.attributedText = NSAttributedString(string: self.title, font: Font.semibold(fontSize), textColor: self.theme.list.itemPrimaryTextColor) + let smallerSidePadding: CGFloat = 20.0 + + self.titleNode.attributedText = NSAttributedString(string: self.title, font: Font.bold(fontSize), textColor: self.theme.list.itemPrimaryTextColor) let titleSize = self.titleNode.updateLayout(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) + let subtitleSize = self.subtitleNode.updateLayout(CGSize(width: size.width - smallerSidePadding * 2.0, height: .greatestFiniteMagnitude)) let textSize = self.textNode.updateLayout(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) let buttonWidth = min(size.width, size.height) let buttonHeight = self.actionButton.updateLayout(width: buttonWidth, transition: transition) + let footerSize = self.footerNode.updateLayout(CGSize(width: size.width - smallerSidePadding * 2.0, height: .greatestFiniteMagnitude)) let privacyButtonSize = self.privacyPolicyButton.measure(CGSize(width: size.width - sidePadding * 2.0, height: .greatestFiniteMagnitude)) - let availableHeight = floor(size.height - insets.top - insets.bottom - titleSize.height - textSize.height - buttonHeight) + let availableHeight = floor(size.height - insets.top - insets.bottom - titleSize.height - subtitleSize.height - textSize.height - buttonHeight) - let titleSubtitleSpacing: CGFloat = max(15.0, floor(availableHeight * 0.055)) + let titleTextSpacing: CGFloat = max(15.0, floor(availableHeight * 0.045)) + let titleSubtitleSpacing: CGFloat = 6.0 let buttonSpacing: CGFloat = max(19.0, floor(availableHeight * 0.075)) - var contentHeight = titleSize.height + titleSubtitleSpacing + textSize.height + buttonHeight + buttonSpacing + var contentHeight = titleSize.height + titleTextSpacing + textSize.height + buttonHeight + buttonSpacing + if subtitleSize.height > 0.0 { + contentHeight += titleSubtitleSpacing + subtitleSize.height + } var imageSize = CGSize() var imageSpacing: CGFloat = 0.0 @@ -126,24 +157,36 @@ final class PermissionContentNode: ASDisplayNode { contentHeight += imageSize.height + imageSpacing } - let privacySpacing: CGFloat = max(30.0 + privacyButtonSize.height, (availableHeight - titleSubtitleSpacing - buttonSpacing - imageSize.height - imageSpacing) / 2.0) + let privacySpacing: CGFloat = max(30.0 + privacyButtonSize.height, (availableHeight - titleTextSpacing - buttonSpacing - imageSize.height - imageSpacing) / 2.0) - let contentOrigin = insets.top + floor((size.height - insets.top - insets.bottom - contentHeight) / 2.0) + let contentOrigin = insets.top + floor((size.height - insets.top - insets.bottom - contentHeight) / 2.0) - availableHeight * 0.05 let iconFrame = CGRect(origin: CGPoint(x: floor((size.width - imageSize.width) / 2.0), y: contentOrigin), size: imageSize) let nearbyIconFrame = CGRect(origin: CGPoint(x: floor((size.width - imageSize.width) / 2.0), y: contentOrigin), size: imageSize) let titleFrame = CGRect(origin: CGPoint(x: floor((size.width - titleSize.width) / 2.0), y: iconFrame.maxY + imageSpacing), size: titleSize) - let textFrame = CGRect(origin: CGPoint(x: floor((size.width - textSize.width) / 2.0), y: titleFrame.maxY + titleSubtitleSpacing), size: textSize) - let buttonFrame = CGRect(origin: CGPoint(x: floor((size.width - buttonWidth) / 2.0), y: textFrame.maxY + buttonSpacing), size: CGSize(width: buttonWidth, height: buttonHeight)) - let privacyButtonFrame = CGRect(origin: CGPoint(x: floor((size.width - privacyButtonSize.width) / 2.0), y: buttonFrame.maxY + floor((privacySpacing - privacyButtonSize.height) / 2.0)), size: privacyButtonSize) + let subtitleFrame: CGRect + if subtitleSize.height > 0.0 { + subtitleFrame = CGRect(origin: CGPoint(x: floor((size.width - subtitleSize.width) / 2.0), y: titleFrame.maxY + titleSubtitleSpacing), size: subtitleSize) + } else { + subtitleFrame = titleFrame + } + + let textFrame = CGRect(origin: CGPoint(x: floor((size.width - textSize.width) / 2.0), y: subtitleFrame.maxY + titleTextSpacing), size: textSize) + let buttonFrame = CGRect(origin: CGPoint(x: floor((size.width - buttonWidth) / 2.0), y: textFrame.maxY + buttonSpacing), size: CGSize(width: buttonWidth, height: buttonHeight)) + + let footerFrame = CGRect(origin: CGPoint(x: floor((size.width - footerSize.width) / 2.0), y: size.height - footerSize.height - insets.bottom - 8.0), size: footerSize) + + let privacyButtonFrame = CGRect(origin: CGPoint(x: floor((size.width - privacyButtonSize.width) / 2.0), y: buttonFrame.maxY + floor((privacySpacing - privacyButtonSize.height) / 2.0)), size: privacyButtonSize) transition.updateFrame(node: self.iconNode, frame: iconFrame) if let nearbyIconNode = self.nearbyIconNode { transition.updateFrame(node: nearbyIconNode, frame: nearbyIconFrame) } transition.updateFrame(node: self.titleNode, frame: titleFrame) + transition.updateFrame(node: self.subtitleNode, frame: subtitleFrame) transition.updateFrame(node: self.textNode, frame: textFrame) transition.updateFrame(node: self.actionButton, frame: buttonFrame) + transition.updateFrame(node: self.footerNode, frame: footerFrame) transition.updateFrame(node: self.privacyPolicyButton, frame: privacyButtonFrame) } } diff --git a/submodules/TelegramUI/TelegramUI/PermissionController.swift b/submodules/TelegramUI/TelegramUI/PermissionController.swift index 5cf6fc346e..89a9e5c6e1 100644 --- a/submodules/TelegramUI/TelegramUI/PermissionController.swift +++ b/submodules/TelegramUI/TelegramUI/PermissionController.swift @@ -10,7 +10,7 @@ import DeviceAccess public final class PermissionController : ViewController { private let context: AccountContext private let splitTest: PermissionUISplitTest? - private var state: PermissionState? + private var state: PermissionControllerContent? private var splashScreen = false private var controllerNode: PermissionControllerNode { @@ -101,95 +101,103 @@ public final class PermissionController : ViewController { self.context.sharedContext.applicationBindings.openSettings() } - public func setState(_ state: PermissionState, animated: Bool) { + public func setState(_ state: PermissionControllerContent, animated: Bool) { guard state != self.state else { return } self.state = state - switch state { - case let .contacts(status): - self.splitTest?.addEvent(.ContactsModalRequest) - - self.allow = { [weak self] in - if let strongSelf = self { - switch status { - case .requestable: - strongSelf.splitTest?.addEvent(.ContactsRequest) - DeviceAccess.authorizeAccess(to: .contacts, { [weak self] result in - if let strongSelf = self { - if result { - strongSelf.splitTest?.addEvent(.ContactsAllowed) - } else { - strongSelf.splitTest?.addEvent(.ContactsDenied) + if case let .permission(permission) = state, let state = permission { + switch state { + case let .contacts(status): + self.splitTest?.addEvent(.ContactsModalRequest) + + self.allow = { [weak self] in + if let strongSelf = self { + switch status { + case .requestable: + strongSelf.splitTest?.addEvent(.ContactsRequest) + DeviceAccess.authorizeAccess(to: .contacts, { [weak self] result in + if let strongSelf = self { + if result { + strongSelf.splitTest?.addEvent(.ContactsAllowed) + } else { + strongSelf.splitTest?.addEvent(.ContactsDenied) + } + strongSelf.proceed?(true) } - strongSelf.proceed?(true) - } - }) - case .denied: - strongSelf.openAppSettings() - strongSelf.proceed?(true) - default: - break + }) + case .denied: + strongSelf.openAppSettings() + strongSelf.proceed?(true) + default: + break + } } } - } - case let .notifications(status): - self.splitTest?.addEvent(.NotificationsModalRequest) - - self.allow = { [weak self] in - if let strongSelf = self { - switch status { - case .requestable: - strongSelf.splitTest?.addEvent(.NotificationsRequest) - let context = strongSelf.context - DeviceAccess.authorizeAccess(to: .notifications, registerForNotifications: { [weak context] result in - context?.sharedContext.applicationBindings.registerForNotifications(result) - }, { [weak self] result in - if let strongSelf = self { - if result { - strongSelf.splitTest?.addEvent(.NotificationsAllowed) - } else { - strongSelf.splitTest?.addEvent(.NotificationsDenied) + case let .notifications(status): + self.splitTest?.addEvent(.NotificationsModalRequest) + + self.allow = { [weak self] in + if let strongSelf = self { + switch status { + case .requestable: + strongSelf.splitTest?.addEvent(.NotificationsRequest) + let context = strongSelf.context + DeviceAccess.authorizeAccess(to: .notifications, registerForNotifications: { [weak context] result in + context?.sharedContext.applicationBindings.registerForNotifications(result) + }, { [weak self] result in + if let strongSelf = self { + if result { + strongSelf.splitTest?.addEvent(.NotificationsAllowed) + } else { + strongSelf.splitTest?.addEvent(.NotificationsDenied) + } + strongSelf.proceed?(true) } - strongSelf.proceed?(true) - } - }) + }) + case .denied, .unreachable: + strongSelf.openAppSettings() + strongSelf.proceed?(true) + default: + break + } + } + } + case .siri: + self.allow = { [weak self] in + self?.proceed?(true) + } + case .cellularData: + self.allow = { [weak self] in + self?.proceed?(true) + } + case let .nearbyLocation(status): + self.title = self.presentationData.strings.Permissions_PeopleNearbyTitle_v0 + self.navigationItem.rightBarButtonItem = nil + + self.allow = { [weak self] in + if let strongSelf = self { + switch status { + case .requestable: + DeviceAccess.authorizeAccess(to: .location(.tracking), presentationData: strongSelf.context.sharedContext.currentPresentationData.with { $0 }, { [weak self] result in + self?.proceed?(result) + }) case .denied, .unreachable: strongSelf.openAppSettings() - strongSelf.proceed?(true) + strongSelf.proceed?(false) default: break + } } } + } + } else { + self.allow = { [weak self] in + if let strongSelf = self { + strongSelf.proceed?(true) } - case .siri: - self.allow = { [weak self] in - self?.proceed?(true) - } - case .cellularData: - self.allow = { [weak self] in - self?.proceed?(true) - } - case let .nearbyLocation(status): - self.title = self.presentationData.strings.Permissions_PeopleNearbyTitle_v0 - self.navigationItem.rightBarButtonItem = nil - - self.allow = { [weak self] in - if let strongSelf = self { - switch status { - case .requestable: - DeviceAccess.authorizeAccess(to: .location(.tracking), presentationData: strongSelf.context.sharedContext.currentPresentationData.with { $0 }, { [weak self] result in - self?.proceed?(result) - }) - case .denied, .unreachable: - strongSelf.openAppSettings() - strongSelf.proceed?(false) - default: - break - } - } - } + } } self.skip = { [weak self] in diff --git a/submodules/TelegramUI/TelegramUI/PermissionControllerNode.swift b/submodules/TelegramUI/TelegramUI/PermissionControllerNode.swift index 37b08037a6..9cd45c2878 100644 --- a/submodules/TelegramUI/TelegramUI/PermissionControllerNode.swift +++ b/submodules/TelegramUI/TelegramUI/PermissionControllerNode.swift @@ -6,8 +6,23 @@ import SwiftSignalKit import TelegramCore import TelegramPresentationData +public struct PermissionControllerCustomIcon: Equatable { + let light: UIImage? + let dark: UIImage? + + init(light: UIImage?, dark: UIImage?) { + self.light = light + self.dark = dark + } +} + +public enum PermissionControllerContent: Equatable { + case permission(PermissionState?) + case custom(icon: PermissionControllerCustomIcon, title: String, subtitle: String?, text: String, buttonTitle: String, footerText: String?) +} + private struct PermissionControllerDataState: Equatable { - var state: PermissionState? + var state: PermissionControllerContent? } private struct PermissionControllerLayoutState: Equatable { @@ -92,7 +107,7 @@ final class PermissionControllerNode: ASDisplayNode { }) } - public func setState(_ state: PermissionState, transition: ContainedViewLayoutTransition) { + public func setState(_ state: PermissionControllerContent, transition: ContainedViewLayoutTransition) { self.updateState({ currentState -> PermissionControllerInnerState in return PermissionControllerInnerState(layout: currentState.layout, data: PermissionControllerDataState(state: state)) }, transition: transition) @@ -112,107 +127,132 @@ final class PermissionControllerNode: ASDisplayNode { let insets = state.layout.layout.insets(options: [.statusBar]) let contentFrame = CGRect(origin: CGPoint(x: 0.0, y: 0.0), size: CGSize(width: state.layout.layout.size.width, height: state.layout.layout.size.height)) - if state.data.state?.kind != self.contentNode?.kind { - if let dataState = state.data.state { - let icon: UIImage? - let title: String - let text: String - let buttonTitle: String - let hasPrivacyPolicy: Bool - - switch dataState { - case let .contacts(status): - icon = UIImage(bundleImageName: "Settings/Permissions/Contacts") - if let splitTest = self.splitTest, case let .modal(titleKey, textKey, allowTitleKey, allowInSettingsTitleKey) = splitTest.configuration.contacts { - title = localizedString(for: titleKey, strings: self.presentationData.strings) - text = localizedString(for: textKey, strings: self.presentationData.strings) - if status == .denied { - buttonTitle = localizedString(for: allowInSettingsTitleKey, strings: self.presentationData.strings) - } else { - buttonTitle = localizedString(for: allowTitleKey, strings: self.presentationData.strings) + if let state = state.data.state { + switch state { + case let .permission(permission): + if permission?.kind.rawValue != self.contentNode?.kind { + if let dataState = permission { + let icon: UIImage? + let title: String + let text: String + let buttonTitle: String + let hasPrivacyPolicy: Bool + + switch dataState { + case let .contacts(status): + icon = UIImage(bundleImageName: "Settings/Permissions/Contacts") + if let splitTest = self.splitTest, case let .modal(titleKey, textKey, allowTitleKey, allowInSettingsTitleKey) = splitTest.configuration.contacts { + title = localizedString(for: titleKey, strings: self.presentationData.strings) + text = localizedString(for: textKey, strings: self.presentationData.strings) + if status == .denied { + buttonTitle = localizedString(for: allowInSettingsTitleKey, strings: self.presentationData.strings) + } else { + buttonTitle = localizedString(for: allowTitleKey, strings: self.presentationData.strings) + } + } else { + title = self.presentationData.strings.Permissions_ContactsTitle_v0 + text = self.presentationData.strings.Permissions_ContactsText_v0 + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_ContactsAllowInSettings_v0 + } else { + buttonTitle = self.presentationData.strings.Permissions_ContactsAllow_v0 + } + } + hasPrivacyPolicy = true + case let .notifications(status): + icon = UIImage(bundleImageName: "Settings/Permissions/Notifications") + if let splitTest = self.splitTest, case let .modal(titleKey, textKey, allowTitleKey, allowInSettingsTitleKey) = splitTest.configuration.notifications { + title = localizedString(for: titleKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsTitle_v0) + text = localizedString(for: textKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsText_v0) + if status == .denied { + buttonTitle = localizedString(for: allowInSettingsTitleKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsAllowInSettings_v0) + } else { + buttonTitle = localizedString(for: allowTitleKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsAllow_v0) + } + } else { + title = self.presentationData.strings.Permissions_NotificationsTitle_v0 + text = self.presentationData.strings.Permissions_NotificationsText_v0 + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_NotificationsAllowInSettings_v0 + } else { + buttonTitle = self.presentationData.strings.Permissions_NotificationsAllow_v0 + } + } + hasPrivacyPolicy = false + case let .siri(status): + icon = UIImage(bundleImageName: "Settings/Permissions/Siri") + title = self.presentationData.strings.Permissions_SiriTitle_v0 + text = self.presentationData.strings.Permissions_SiriText_v0 + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_SiriAllowInSettings_v0 + } else { + buttonTitle = self.presentationData.strings.Permissions_SiriAllow_v0 + } + hasPrivacyPolicy = false + case .cellularData: + icon = UIImage(bundleImageName: "Settings/Permissions/CellularData") + title = self.presentationData.strings.Permissions_CellularDataTitle_v0 + text = self.presentationData.strings.Permissions_CellularDataText_v0 + buttonTitle = self.presentationData.strings.Permissions_CellularDataAllowInSettings_v0 + hasPrivacyPolicy = false + case let .nearbyLocation(status): + icon = nil + title = self.presentationData.strings.Permissions_PeopleNearbyTitle_v0 + text = self.presentationData.strings.Permissions_PeopleNearbyText_v0 + if status == .denied { + buttonTitle = self.presentationData.strings.Permissions_PeopleNearbyAllowInSettings_v0 + } else { + buttonTitle = self.presentationData.strings.Permissions_PeopleNearbyAllow_v0 + } + hasPrivacyPolicy = false } - } else { - title = self.presentationData.strings.Permissions_ContactsTitle_v0 - text = self.presentationData.strings.Permissions_ContactsText_v0 - if status == .denied { - buttonTitle = self.presentationData.strings.Permissions_ContactsAllowInSettings_v0 - } else { - buttonTitle = self.presentationData.strings.Permissions_ContactsAllow_v0 + + let contentNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: dataState.kind.rawValue, icon: icon, title: title, text: text, buttonTitle: buttonTitle, buttonAction: { [weak self] in + self?.allow?() + }, openPrivacyPolicy: hasPrivacyPolicy ? self.openPrivacyPolicy : nil) + self.insertSubnode(contentNode, at: 0) + contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: .immediate) + contentNode.frame = contentFrame + if let currentContentNode = self.contentNode { + transition.updatePosition(node: currentContentNode, position: CGPoint(x: -contentFrame.size.width / 2.0, y: contentFrame.midY), completion: { [weak currentContentNode] _ in + currentContentNode?.removeFromSupernode() + }) + transition.animateHorizontalOffsetAdditive(node: contentNode, offset: -contentFrame.width) + } else if transition.isAnimated { + contentNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.3) } + self.contentNode = contentNode + } else if let currentContentNode = self.contentNode { + transition.updateAlpha(node: currentContentNode, alpha: 0.0, completion: { [weak currentContentNode] _ in + currentContentNode?.removeFromSupernode() + }) + self.contentNode = nil } - hasPrivacyPolicy = true - case let .notifications(status): - icon = UIImage(bundleImageName: "Settings/Permissions/Notifications") - if let splitTest = self.splitTest, case let .modal(titleKey, textKey, allowTitleKey, allowInSettingsTitleKey) = splitTest.configuration.notifications { - title = localizedString(for: titleKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsTitle_v0) - text = localizedString(for: textKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsText_v0) - if status == .denied { - buttonTitle = localizedString(for: allowInSettingsTitleKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsAllowInSettings_v0) - } else { - buttonTitle = localizedString(for: allowTitleKey, strings: self.presentationData.strings, fallback: self.presentationData.strings.Permissions_NotificationsAllow_v0) - } + } else if let contentNode = self.contentNode { + transition.updateFrame(node: contentNode, frame: contentFrame) + contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: transition) + } + case let .custom(icon, title, subtitle, text, buttonTitle, footerText): + if let contentNode = self.contentNode { + transition.updateFrame(node: contentNode, frame: contentFrame) + contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: transition) + } else { + let iconImage: UIImage? + if self.presentationData.theme.overallDarkAppearance { + iconImage = icon.dark ?? icon.light } else { - title = self.presentationData.strings.Permissions_NotificationsTitle_v0 - text = self.presentationData.strings.Permissions_NotificationsText_v0 - if status == .denied { - buttonTitle = self.presentationData.strings.Permissions_NotificationsAllowInSettings_v0 - } else { - buttonTitle = self.presentationData.strings.Permissions_NotificationsAllow_v0 - } + iconImage = icon.light } - hasPrivacyPolicy = false - case let .siri(status): - icon = UIImage(bundleImageName: "Settings/Permissions/Siri") - title = self.presentationData.strings.Permissions_SiriTitle_v0 - text = self.presentationData.strings.Permissions_SiriText_v0 - if status == .denied { - buttonTitle = self.presentationData.strings.Permissions_SiriAllowInSettings_v0 - } else { - buttonTitle = self.presentationData.strings.Permissions_SiriAllow_v0 - } - hasPrivacyPolicy = false - case .cellularData: - icon = UIImage(bundleImageName: "Settings/Permissions/CellularData") - title = self.presentationData.strings.Permissions_CellularDataTitle_v0 - text = self.presentationData.strings.Permissions_CellularDataText_v0 - buttonTitle = self.presentationData.strings.Permissions_CellularDataAllowInSettings_v0 - hasPrivacyPolicy = false - case let .nearbyLocation(status): - icon = nil - title = self.presentationData.strings.Permissions_PeopleNearbyTitle_v0 - text = self.presentationData.strings.Permissions_PeopleNearbyText_v0 - if status == .denied { - buttonTitle = self.presentationData.strings.Permissions_PeopleNearbyAllowInSettings_v0 - } else { - buttonTitle = self.presentationData.strings.Permissions_PeopleNearbyAllow_v0 - } - hasPrivacyPolicy = false - } - - let contentNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: dataState.kind, icon: icon, title: title, text: text, buttonTitle: buttonTitle, buttonAction: { [weak self] in - self?.allow?() - }, openPrivacyPolicy: hasPrivacyPolicy ? self.openPrivacyPolicy : nil) - self.insertSubnode(contentNode, at: 0) - contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: .immediate) - contentNode.frame = contentFrame - if let currentContentNode = self.contentNode { - transition.updatePosition(node: currentContentNode, position: CGPoint(x: -contentFrame.size.width / 2.0, y: contentFrame.midY), completion: { [weak currentContentNode] _ in - currentContentNode?.removeFromSupernode() - }) - transition.animateHorizontalOffsetAdditive(node: contentNode, offset: -contentFrame.width) - } else if transition.isAnimated { - contentNode.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.3) - } - self.contentNode = contentNode - } else if let currentContentNode = self.contentNode { - transition.updateAlpha(node: currentContentNode, alpha: 0.0, completion: { [weak currentContentNode] _ in - currentContentNode?.removeFromSupernode() - }) - self.contentNode = nil + + let contentNode = PermissionContentNode(theme: self.presentationData.theme, strings: self.presentationData.strings, kind: 0, icon: iconImage, title: title, subtitle: subtitle, text: text, buttonTitle: buttonTitle, footerText: footerText, buttonAction: { [weak self] in + self?.allow?() + }, openPrivacyPolicy: nil) + self.insertSubnode(contentNode, at: 0) + contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: .immediate) + contentNode.frame = contentFrame + self.contentNode = contentNode + } } - } else if let contentNode = self.contentNode { - transition.updateFrame(node: contentNode, frame: contentFrame) - contentNode.updateLayout(size: contentFrame.size, insets: insets, transition: transition) } } diff --git a/submodules/TelegramUI/TelegramUI/PresentationResourcesItemList.swift b/submodules/TelegramUI/TelegramUI/PresentationResourcesItemList.swift index 79a4398bc9..b8bb44f926 100644 --- a/submodules/TelegramUI/TelegramUI/PresentationResourcesItemList.swift +++ b/submodules/TelegramUI/TelegramUI/PresentationResourcesItemList.swift @@ -110,7 +110,7 @@ struct PresentationResourcesItemList { static func createGroupIcon(_ theme: PresentationTheme) -> UIImage? { return theme.image(PresentationResourceKey.itemListCreateGroupIcon.rawValue, { theme in - return generateTintedImage(image: UIImage(bundleImageName: "Contact List/CreateGroupActionIcon"), color: theme.list.itemAccentColor) + return generateTintedImage(image: UIImage(bundleImageName: "Location/CreateGroupIcon"), color: theme.list.itemAccentColor) }) } diff --git a/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping b/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping index 3ae2755c33..c39b0a6250 100644 Binary files a/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping and b/submodules/TelegramUI/TelegramUI/Resources/PresentationStrings.mapping differ diff --git a/submodules/TelegramUI/TelegramUI/TGEmojiSuggestions.h b/submodules/TelegramUI/TelegramUI/TGEmojiSuggestions.h deleted file mode 100644 index 09e342638a..0000000000 --- a/submodules/TelegramUI/TelegramUI/TGEmojiSuggestions.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface TGEmojiSuggestions : NSObject - -+ (NSArray *)suggestionsForQuery:(NSString *)query; - -@end diff --git a/submodules/TelegramUI/TelegramUI/TGEmojiSuggestions.mm b/submodules/TelegramUI/TelegramUI/TGEmojiSuggestions.mm deleted file mode 100644 index bc4aebd75e..0000000000 --- a/submodules/TelegramUI/TelegramUI/TGEmojiSuggestions.mm +++ /dev/null @@ -1,49 +0,0 @@ -#import "TGEmojiSuggestions.h" - -#import "emoji_suggestions.h" - -#import - -std::vector convertToUtf16(NSString *string) { - auto cf = (__bridge CFStringRef)string; - auto range = CFRangeMake(0, CFStringGetLength(cf)); - auto bufferLength = CFIndex(0); - CFStringGetBytes(cf, range, kCFStringEncodingUTF16LE, 0, FALSE, nullptr, 0, &bufferLength); - if (!bufferLength) { - return std::vector(); - } - auto result = std::vector(bufferLength / 2 + 1, 0); - CFStringGetBytes(cf, range, kCFStringEncodingUTF16LE, 0, FALSE, reinterpret_cast(result.data()), result.size() * 2, &bufferLength); - result.resize(bufferLength / 2); - return result; -} - -NSString *convertFromUtf16(Ui::Emoji::utf16string string) { - auto result = CFStringCreateWithBytes(nullptr, reinterpret_cast(string.data()), string.size() * 2, kCFStringEncodingUTF16LE, false); - return (__bridge NSString*)result; -} - -void test() { - -} - -@implementation TGEmojiSuggestions - -+ (NSArray *)suggestionsForQuery:(NSString *)queryText { - auto query = convertToUtf16(queryText); - auto values = Ui::Emoji::GetSuggestions(Ui::Emoji::utf16string(query.data(), query.size())); - - NSMutableArray *array = [[NSMutableArray alloc] init]; - - for (auto &item : values) { - NSString *emoji = convertFromUtf16(item.emoji()); - NSString *label = convertFromUtf16(item.label()); - NSString *replacement = convertFromUtf16(item.replacement()); - - [array addObject:[[TGAlphacodeEntry alloc] initWithEmoji:emoji code:replacement]]; - } - - return array; -} - -@end diff --git a/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap b/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap index b10393d20f..24fe6ca685 100644 --- a/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap +++ b/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap @@ -12,7 +12,6 @@ module TelegramUIPrivateModule { header "../DeviceProximityManager.h" header "../RaiseToListenActivator.h" header "../TGMimeTypeMap.h" - header "../TGEmojiSuggestions.h" header "../TGChannelIntroController.h" header "../Bridge Audio/TGBridgeAudioDecoder.h" header "../Bridge Audio/TGBridgeAudioEncoder.h" diff --git a/submodules/TelegramUI/TelegramUI/ThemeSettingsAccentColorItem.swift b/submodules/TelegramUI/TelegramUI/ThemeSettingsAccentColorItem.swift new file mode 100644 index 0000000000..156e9cf282 --- /dev/null +++ b/submodules/TelegramUI/TelegramUI/ThemeSettingsAccentColorItem.swift @@ -0,0 +1,325 @@ +import Foundation +import UIKit +import Display +import AsyncDisplayKit +import SwiftSignalKit +import TelegramCore +import TelegramPresentationData + +private func generateBorderImage(theme: PresentationTheme, bordered: Bool, selected: Bool) -> UIImage? { + return generateImage(CGSize(width: 30.0, height: 30.0), rotatedContext: { size, context in + let bounds = CGRect(origin: CGPoint(), size: size) + context.setFillColor(theme.list.itemBlocksBackgroundColor.cgColor) + context.fill(bounds) + + context.setBlendMode(.clear) + context.fillEllipse(in: bounds) + context.setBlendMode(.normal) + + let lineWidth: CGFloat + if selected { + var accentColor = theme.list.itemAccentColor + if accentColor.rgb == UIColor.white.rgb { + accentColor = UIColor(rgb: 0x999999) + } + context.setStrokeColor(accentColor.cgColor) + lineWidth = 2.0 + } else { + context.setStrokeColor(theme.list.disclosureArrowColor.withAlphaComponent(0.4).cgColor) + lineWidth = 1.0 + } + + if bordered || selected { + context.setLineWidth(lineWidth) + context.strokeEllipse(in: bounds.insetBy(dx: lineWidth / 2.0, dy: lineWidth / 2.0)) + } + })?.stretchableImage(withLeftCapWidth: 15, topCapHeight: 15) +} + +class ThemeSettingsAccentColorItem: ListViewItem, ItemListItem { + var sectionId: ItemListSectionId + + let theme: PresentationTheme + let strings: PresentationStrings + let colors: [UIColor] + let currentColor: UIColor + let updated: (UIColor) -> Void + let tag: ItemListItemTag? + + init(theme: PresentationTheme, strings: PresentationStrings, sectionId: ItemListSectionId, colors: [UIColor], currentColor: UIColor, updated: @escaping (UIColor) -> Void, tag: ItemListItemTag? = nil) { + self.theme = theme + self.strings = strings + self.colors = colors + self.currentColor = currentColor + self.updated = updated + self.tag = tag + self.sectionId = sectionId + } + + func nodeConfiguredForParams(async: @escaping (@escaping () -> Void) -> Void, params: ListViewItemLayoutParams, synchronousLoads: Bool, previousItem: ListViewItem?, nextItem: ListViewItem?, completion: @escaping (ListViewItemNode, @escaping () -> (Signal?, (ListViewItemApply) -> Void)) -> Void) { + async { + let node = ThemeSettingsAccentColorItemNode() + let (layout, apply) = node.asyncLayout()(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) + + node.contentSize = layout.contentSize + node.insets = layout.insets + + Queue.mainQueue().async { + completion(node, { + return (nil, { _ in apply() }) + }) + } + } + } + + func updateNode(async: @escaping (@escaping () -> Void) -> Void, node: @escaping () -> ListViewItemNode, params: ListViewItemLayoutParams, previousItem: ListViewItem?, nextItem: ListViewItem?, animation: ListViewItemUpdateAnimation, completion: @escaping (ListViewItemNodeLayout, @escaping (ListViewItemApply) -> Void) -> Void) { + Queue.mainQueue().async { + if let nodeValue = node() as? ThemeSettingsAccentColorItemNode { + let makeLayout = nodeValue.asyncLayout() + + async { + let (layout, apply) = makeLayout(self, params, itemListNeighbors(item: self, topItem: previousItem as? ItemListItem, bottomItem: nextItem as? ItemListItem)) + Queue.mainQueue().async { + completion(layout, { _ in + apply() + }) + } + } + } + } + } +} + +private final class ThemeSettingsAccentColorNode : ASDisplayNode { + private let iconNode: ASImageNode + private let overlayNode: ASImageNode + private let textNode: ASTextNode + private var action: (() -> Void)? + + override init() { + self.iconNode = ASImageNode() + self.iconNode.frame = CGRect(origin: CGPoint(), size: CGSize(width: 62.0, height: 62.0)) + self.iconNode.isLayerBacked = true + + self.overlayNode = ASImageNode() + self.overlayNode.frame = CGRect(origin: CGPoint(), size: CGSize(width: 62.0, height: 62.0)) + self.overlayNode.isLayerBacked = true + + self.textNode = ASTextNode() + self.textNode.isUserInteractionEnabled = false + self.textNode.displaysAsynchronously = true + + super.init() + + self.addSubnode(self.iconNode) + self.addSubnode(self.overlayNode) + self.addSubnode(self.textNode) + } + + func setup(theme: PresentationTheme, icon: UIImage, title: NSAttributedString, bordered: Bool, selected: Bool, action: @escaping () -> Void) { + self.iconNode.image = icon + self.textNode.attributedText = title + self.overlayNode.image = generateBorderImage(theme: theme, bordered: bordered, selected: selected) + self.action = { + action() + } + } + + override func didLoad() { + super.didLoad() + + self.view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.tapGesture(_:)))) + } + + @objc func tapGesture(_ recognizer: UITapGestureRecognizer) { + if case .ended = recognizer.state { + self.action?() + } + } + + override func layout() { + super.layout() + + let bounds = self.bounds + + self.iconNode.frame = CGRect(origin: CGPoint(x: 10.0, y: 14.0), size: CGSize(width: 62.0, height: 62.0)) + self.overlayNode.frame = CGRect(origin: CGPoint(x: 10.0, y: 14.0), size: CGSize(width: 62.0, height: 62.0)) + self.textNode.frame = CGRect(origin: CGPoint(x: 0.0, y: 14.0 + 60.0 + 4.0 + 9.0), size: CGSize(width: bounds.size.width, height: 16.0)) + } +} + + +private let textFont = Font.regular(11.0) +private let itemSize = Font.regular(11.0) + +class ThemeSettingsAccentColorItemNode: ListViewItemNode, ItemListItemNode { + private let backgroundNode: ASDisplayNode + private let topStripeNode: ASDisplayNode + private let bottomStripeNode: ASDisplayNode + + private let scrollNode: ASScrollNode + private var nodes: [ThemeSettingsAccentColorNode] = [] + + private var item: ThemeSettingsAccentColorItem? + private var layoutParams: ListViewItemLayoutParams? + + var tag: ItemListItemTag? { + return self.item?.tag + } + + init() { + self.backgroundNode = ASDisplayNode() + self.backgroundNode.isLayerBacked = true + + self.topStripeNode = ASDisplayNode() + self.topStripeNode.isLayerBacked = true + + self.bottomStripeNode = ASDisplayNode() + self.bottomStripeNode.isLayerBacked = true + + self.scrollNode = ASScrollNode() + + super.init(layerBacked: false, dynamicBounce: false) + + self.addSubnode(self.scrollNode) + } + + override func didLoad() { + super.didLoad() + self.scrollNode.view.disablesInteractiveTransitionGestureRecognizer = true + self.scrollNode.view.showsHorizontalScrollIndicator = false + } + + func asyncLayout() -> (_ item: ThemeSettingsAccentColorItem, _ params: ListViewItemLayoutParams, _ neighbors: ItemListNeighbors) -> (ListViewItemNodeLayout, () -> Void) { + let currentItem = self.item + + return { item, params, neighbors in + var themeUpdated = false + if currentItem?.theme !== item.theme { + themeUpdated = true + + } + + let contentSize: CGSize + let insets: UIEdgeInsets + let separatorHeight = UIScreenPixel + + contentSize = CGSize(width: params.width, height: 116.0) + insets = itemListNeighborsGroupedInsets(neighbors) + + let layout = ListViewItemNodeLayout(contentSize: contentSize, insets: insets) + let layoutSize = layout.size + + return (layout, { [weak self] in + if let strongSelf = self { + strongSelf.item = item + strongSelf.layoutParams = params + + strongSelf.scrollNode.view.contentInset = UIEdgeInsetsMake(0.0, params.leftInset, 0.0, params.rightInset) + strongSelf.backgroundNode.backgroundColor = item.theme.list.itemBlocksBackgroundColor + strongSelf.topStripeNode.backgroundColor = item.theme.list.itemBlocksSeparatorColor + strongSelf.bottomStripeNode.backgroundColor = item.theme.list.itemBlocksSeparatorColor + + if strongSelf.backgroundNode.supernode == nil { + strongSelf.insertSubnode(strongSelf.backgroundNode, at: 0) + } + if strongSelf.topStripeNode.supernode == nil { + strongSelf.insertSubnode(strongSelf.topStripeNode, at: 1) + } + if strongSelf.bottomStripeNode.supernode == nil { + strongSelf.insertSubnode(strongSelf.bottomStripeNode, at: 2) + } + switch neighbors.top { + case .sameSection(false): + strongSelf.topStripeNode.isHidden = true + default: + strongSelf.topStripeNode.isHidden = false + } + let bottomStripeInset: CGFloat + let bottomStripeOffset: CGFloat + switch neighbors.bottom { + case .sameSection(false): + bottomStripeInset = params.leftInset + 16.0 + bottomStripeOffset = -separatorHeight + default: + bottomStripeInset = 0.0 + bottomStripeOffset = 0.0 + } + strongSelf.backgroundNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -min(insets.top, separatorHeight)), size: CGSize(width: params.width, height: contentSize.height + min(insets.top, separatorHeight) + min(insets.bottom, separatorHeight))) + strongSelf.topStripeNode.frame = CGRect(origin: CGPoint(x: 0.0, y: -min(insets.top, separatorHeight)), size: CGSize(width: layoutSize.width, height: separatorHeight)) + strongSelf.bottomStripeNode.frame = CGRect(origin: CGPoint(x: bottomStripeInset, y: contentSize.height + bottomStripeOffset), size: CGSize(width: layoutSize.width - bottomStripeInset, height: separatorHeight)) + + strongSelf.scrollNode.frame = CGRect(origin: CGPoint(x: 0.0, y: 2.0), size: CGSize(width: layoutSize.width, height: layoutSize.height)) + + let nodeInset: CGFloat = 4.0 + let nodeSize = CGSize(width: 80.0, height: 112.0) + var nodeOffset = nodeInset + + var i = 0 + for icon in item.colors { + let imageNode: ThemeSettingsAccentColorNode + if strongSelf.nodes.count > i { + imageNode = strongSelf.nodes[i] + } else { + imageNode = ThemeSettingsAccentColorNode() + strongSelf.nodes.append(imageNode) + strongSelf.scrollNode.addSubnode(imageNode) + } + +// if let image = UIImage(named: icon.imageName, in: Bundle.main, compatibleWith: nil) { +// let selected = icon.name == item.currentIconName +// +// var name = "Icon" +// var bordered = true +// switch icon.name { +// case "Blue": +// name = item.strings.Appearance_AppIconDefault +// case "Black": +// name = item.strings.Appearance_AppIconDefaultX +// case "BlueClassic": +// name = item.strings.Appearance_AppIconClassic +// case "BlackClassic": +// name = item.strings.Appearance_AppIconClassicX +// case "BlueFilled": +// name = item.strings.Appearance_AppIconFilled +// bordered = false +// case "BlackFilled": +// name = item.strings.Appearance_AppIconFilledX +// bordered = false +// case "WhiteFilled": +// name = "⍺ White" +// default: +// break +// } +// +// imageNode.setup(theme: item.theme, icon: image, title: NSAttributedString(string: name, font: textFont, textColor: selected ? item.theme.list.itemAccentColor : item.theme.list.itemPrimaryTextColor, paragraphAlignment: .center), bordered: bordered, selected: selected, action: { +// item.updated(icon.name) +// }) +// } + + imageNode.frame = CGRect(origin: CGPoint(x: nodeOffset, y: 0.0), size: nodeSize) + nodeOffset += nodeSize.width + 15.0 + + i += 1 + } + + if let lastNode = strongSelf.nodes.last { + let contentSize = CGSize(width: lastNode.frame.maxX + nodeInset, height: strongSelf.scrollNode.frame.height) + if strongSelf.scrollNode.view.contentSize != contentSize { + strongSelf.scrollNode.view.contentSize = contentSize + } + } + } + }) + } + } + + override func animateInsertion(_ currentTimestamp: Double, duration: Double, short: Bool) { + self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.4) + } + + override func animateRemoved(_ currentTimestamp: Double, duration: Double) { + self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.15, removeOnCompletion: false) + } +} + diff --git a/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift b/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift index 59ca64d59a..ca8b6ad03a 100644 --- a/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift +++ b/submodules/TelegramUI/TelegramUI/ThemeSettingsController.swift @@ -294,6 +294,8 @@ private func themeSettingsControllerEntries(presentationData: PresentationData, return entries } +private let themeColors = [UIColor(rgb: 0x007aff), UIColor(rgb: 0x70bb23), UIColor(rgb: 0xeb6ca4), UIColor(rgb: 0xf08200), UIColor(rgb: 0x9472ee), UIColor(rgb: 0xd33213), UIColor(rgb: 0xedb400), UIColor(rgb: 0x6d839e), UIColor(rgb: 0x000000)] + public func themeSettingsController(context: AccountContext, focusOnItemTag: ThemeSettingsEntryTag? = nil) -> ViewController { var pushControllerImpl: ((ViewController) -> Void)? var presentControllerImpl: ((ViewController) -> Void)? diff --git a/submodules/TelegramUI/TelegramUI/emoji_suggestions.cpp b/submodules/TelegramUI/TelegramUI/emoji_suggestions.cpp deleted file mode 100755 index 8cb2e46697..0000000000 --- a/submodules/TelegramUI/TelegramUI/emoji_suggestions.cpp +++ /dev/null @@ -1,432 +0,0 @@ -/* -This file is part of Telegram Desktop, -the official desktop version of Telegram messaging app, see https://telegram.org - -Telegram Desktop is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -It is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -In addition, as a special exception, the copyright holders give permission -to link the code of portions of this program with the OpenSSL library. - -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE -Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org -*/ -#include "emoji_suggestions.h" - -#include -#include "emoji_suggestions_data.h" - -#ifndef Expects -#include -#define Expects(condition) assert(condition) -#endif // Expects - -namespace Ui { -namespace Emoji { -namespace internal { -namespace { - -checksum Crc32Table[256]; -class Crc32Initializer { -public: - Crc32Initializer() { - checksum poly = 0x04C11DB7U; - for (auto i = 0; i != 256; ++i) { - Crc32Table[i] = reflect(i, 8) << 24; - for (auto j = 0; j != 8; ++j) { - Crc32Table[i] = (Crc32Table[i] << 1) ^ (Crc32Table[i] & (1 << 31) ? poly : 0); - } - Crc32Table[i] = reflect(Crc32Table[i], 32); - } - } - -private: - checksum reflect(checksum val, char ch) { - checksum result = 0; - for (int i = 1; i < (ch + 1); ++i) { - if (val & 1) { - result |= 1 << (ch - i); - } - val >>= 1; - } - return result; - } - -}; - -} // namespace - -checksum countChecksum(const void *data, std::size_t size) { - static Crc32Initializer InitTable; - - auto buffer = static_cast(data); - auto result = checksum(0xFFFFFFFFU); - for (auto i = std::size_t(0); i != size; ++i) { - result = (result >> 8) ^ Crc32Table[(result & 0xFFU) ^ buffer[i]]; - } - return (result ^ 0xFFFFFFFFU); -} - -} // namespace internal - -namespace { - -class string_span { -public: - string_span() = default; - string_span(const utf16string *data, std::size_t size) : begin_(data), size_(size) { - } - string_span(const std::vector &data) : begin_(data.data()), size_(data.size()) { - } - string_span(const string_span &other) = default; - string_span &operator=(const string_span &other) = default; - - const utf16string *begin() const { - return begin_; - } - const utf16string *end() const { - return begin_ + size_; - } - std::size_t size() const { - return size_; - } - - string_span subspan(std::size_t offset, std::size_t size) { - return string_span(begin_ + offset, size); - } - -private: - const utf16string *begin_ = nullptr; - std::size_t size_ = 0; - -}; - -bool IsNumber(utf16char ch) { - return (ch >= '0' && ch <= '9'); -} - -bool IsLetterOrNumber(utf16char ch) { - return (ch >= 'a' && ch <= 'z') || IsNumber(ch); -} - -using Replacement = internal::Replacement; - -class Completer { -public: - Completer(utf16string query); - - std::vector resolve(); - -private: - struct Result { - const Replacement *replacement; - int wordsUsed; - }; - - static std::vector NormalizeQuery(utf16string query); - void addResult(const Replacement *replacement); - bool isDuplicateOfLastResult(const Replacement *replacement) const; - bool isBetterThanLastResult(const Replacement *replacement) const; - void processInitialList(); - void filterInitialList(); - void initWordsTracking(); - bool matchQueryForCurrentItem(); - bool matchQueryTailStartingFrom(int position); - string_span findWordsStartingWith(utf16char ch); - int findEqualCharsCount(int position, const utf16string *word); - std::vector prepareResult(); - bool startsWithQuery(utf16string word); - bool isExactMatch(utf16string replacement); - - std::vector _result; - - utf16string _initialQuery; - const std::vector _query; - const utf16char *_queryBegin = nullptr; - int _querySize = 0; - - const std::vector *_initialList = nullptr; - - string_span _currentItemWords; - int _currentItemWordsUsedCount = 0; - - class UsedWordGuard { - public: - UsedWordGuard(std::vector &map, int index); - UsedWordGuard(const UsedWordGuard &other) = delete; - UsedWordGuard(UsedWordGuard &&other); - UsedWordGuard &operator=(const UsedWordGuard &other) = delete; - UsedWordGuard &operator=(UsedWordGuard &&other) = delete; - explicit operator bool() const; - ~UsedWordGuard(); - - private: - std::vector &_map; - int _index = 0; - bool _guarded = false; - - }; - std::vector _currentItemWordsUsedMap; - -}; - -Completer::UsedWordGuard::UsedWordGuard(std::vector &map, int index) : _map(map), _index(index) { - Expects(_map.size() > _index); - if (!_map[_index]) { - _guarded = _map[_index] = 1; - } -} - -Completer::UsedWordGuard::UsedWordGuard(UsedWordGuard &&other) : _map(other._map), _index(other._index), _guarded(other._guarded) { - other._guarded = 0; -} - -Completer::UsedWordGuard::operator bool() const { - return _guarded; -} - -Completer::UsedWordGuard::~UsedWordGuard() { - if (_guarded) { - _map[_index] = 0; - } -} - -Completer::Completer(utf16string query) : _initialQuery(query), _query(NormalizeQuery(query)) { -} - -// Remove all non-letters-or-numbers. -// Leave '-' and '+' only if they're followed by a number or -// at the end of the query (so it is possibly followed by a number). -std::vector Completer::NormalizeQuery(utf16string query) { - auto result = std::vector(); - result.reserve(query.size()); - auto copyFrom = query.data(); - auto e = copyFrom + query.size(); - auto copyTo = result.data(); - for (auto i = query.data(); i != e; ++i) { - if (IsLetterOrNumber(*i)) { - continue; - } else if (*i == '-' || *i == '+') { - if (i + 1 == e || IsNumber(*(i + 1))) { - continue; - } - } - if (i > copyFrom) { - result.resize(result.size() + (i - copyFrom)); - memcpy(copyTo, copyFrom, (i - copyFrom) * sizeof(utf16char)); - copyTo += (i - copyFrom); - } - copyFrom = i + 1; - } - if (e > copyFrom) { - result.resize(result.size() + (e - copyFrom)); - memcpy(copyTo, copyFrom, (e - copyFrom) * sizeof(utf16char)); - copyTo += (e - copyFrom); - } - return result; -} - -std::vector Completer::resolve() { - _queryBegin = _query.data(); - _querySize = _query.size(); - if (!_querySize) { - return std::vector(); - } - _initialList = Ui::Emoji::internal::GetReplacements(*_queryBegin); - if (!_initialList) { - return std::vector(); - } - _result.reserve(_initialList->size()); - processInitialList(); - return prepareResult(); -} - -bool Completer::isDuplicateOfLastResult(const Replacement *item) const { - if (_result.empty()) { - return false; - } - return (_result.back().replacement->emoji == item->emoji); -} - -bool Completer::isBetterThanLastResult(const Replacement *item) const { - Expects(!_result.empty()); - auto &last = _result.back(); - if (_currentItemWordsUsedCount < last.wordsUsed) { - return true; - } - - auto firstCharOfQuery = _query[0]; - auto firstCharAfterColonLast = last.replacement->replacement[1]; - auto firstCharAfterColonCurrent = item->replacement[1]; - auto goodLast = (firstCharAfterColonLast == firstCharOfQuery); - auto goodCurrent = (firstCharAfterColonCurrent == firstCharOfQuery); - return !goodLast && goodCurrent; -} - -void Completer::addResult(const Replacement *item) { - if (!isDuplicateOfLastResult(item)) { - _result.push_back({ item, _currentItemWordsUsedCount }); - } else if (isBetterThanLastResult(item)) { - _result.back() = { item, _currentItemWordsUsedCount }; - } -} - -void Completer::processInitialList() { - if (_querySize > 1) { - filterInitialList(); - } else { - _currentItemWordsUsedCount = 1; - for (auto item : *_initialList) { - addResult(item); - } - } -} - -void Completer::initWordsTracking() { - auto maxWordsCount = 0; - for (auto item : *_initialList) { - auto wordsCount = item->words.size(); - if (maxWordsCount < wordsCount) { - maxWordsCount = wordsCount; - } - } - _currentItemWordsUsedMap = std::vector(maxWordsCount, 0); -} - -void Completer::filterInitialList() { - initWordsTracking(); - for (auto item : *_initialList) { - _currentItemWords = string_span(item->words); - _currentItemWordsUsedCount = 1; - if (matchQueryForCurrentItem()) { - addResult(item); - } - _currentItemWordsUsedCount = 0; - } -} - -bool Completer::matchQueryForCurrentItem() { - Expects(_currentItemWords.size() != 0); - if (_currentItemWords.size() < 2) { - return startsWithQuery(*_currentItemWords.begin()); - } - return matchQueryTailStartingFrom(0); -} - -bool Completer::startsWithQuery(utf16string word) { - if (word.size() < _query.size()) { - return false; - } - for (auto i = std::size_t(0), size = _query.size(); i != size; ++i) { - if (word[i] != _query[i]) { - return false; - } - } - return true; -} - -bool Completer::isExactMatch(utf16string replacement) { - if (replacement.size() != _initialQuery.size() + 1) { - return false; - } - for (auto i = std::size_t(0), size = _initialQuery.size(); i != size; ++i) { - if (replacement[i] != _initialQuery[i]) { - return false; - } - } - return true; -} - -bool Completer::matchQueryTailStartingFrom(int position) { - auto charsLeftToMatch = (_querySize - position); - if (!charsLeftToMatch) { - return true; - } - - auto firstCharToMatch = *(_queryBegin + position); - auto foundWords = findWordsStartingWith(firstCharToMatch); - - for (auto word = foundWords.begin(), foundWordsEnd = word + foundWords.size(); word != foundWordsEnd; ++word) { - auto wordIndex = word - _currentItemWords.begin(); - if (auto guard = UsedWordGuard(_currentItemWordsUsedMap, wordIndex)) { - ++_currentItemWordsUsedCount; - auto equalCharsCount = findEqualCharsCount(position, word); - for (auto check = equalCharsCount; check != 0; --check) { - if (matchQueryTailStartingFrom(position + check)) { - return true; - } - } - --_currentItemWordsUsedCount; - } - } - return false; -} - -int Completer::findEqualCharsCount(int position, const utf16string *word) { - auto charsLeft = (_querySize - position); - auto wordBegin = word->data(); - auto wordSize = word->size(); - auto possibleEqualCharsCount = (charsLeft > wordSize ? wordSize : charsLeft); - for (auto equalTill = 1; equalTill != possibleEqualCharsCount; ++equalTill) { - auto wordCh = *(wordBegin + equalTill); - auto queryCh = *(_queryBegin + position + equalTill); - if (wordCh != queryCh) { - return equalTill; - } - } - return possibleEqualCharsCount; -} - -std::vector Completer::prepareResult() { - auto firstCharOfQuery = _query[0]; - std::stable_partition(_result.begin(), _result.end(), [firstCharOfQuery](Result &result) { - auto firstCharAfterColon = result.replacement->replacement[1]; - return (firstCharAfterColon == firstCharOfQuery); - }); - std::stable_partition(_result.begin(), _result.end(), [](Result &result) { - return (result.wordsUsed < 2); - }); - std::stable_partition(_result.begin(), _result.end(), [](Result &result) { - return (result.wordsUsed < 3); - }); - std::stable_partition(_result.begin(), _result.end(), [this](Result &result) { - return isExactMatch(result.replacement->replacement); - }); - - auto result = std::vector(); - result.reserve(_result.size()); - for (auto &item : _result) { - result.emplace_back(item.replacement->emoji, item.replacement->replacement, item.replacement->replacement); - } - return result; -} - -string_span Completer::findWordsStartingWith(utf16char ch) { - auto begin = std::lower_bound(_currentItemWords.begin(), _currentItemWords.end(), ch, [](utf16string word, utf16char ch) { - return word[0] < ch; - }); - auto end = std::upper_bound(_currentItemWords.begin(), _currentItemWords.end(), ch, [](utf16char ch, utf16string word) { - return ch < word[0]; - }); - return _currentItemWords.subspan(begin - _currentItemWords.begin(), end - begin); -} - -} // namespace - -std::vector GetSuggestions(utf16string query) { - return Completer(query).resolve(); -} - -int GetSuggestionMaxLength() { - return internal::kReplacementMaxLength; -} - -} // namespace Emoji -} // namespace Ui diff --git a/submodules/TelegramUI/TelegramUI/emoji_suggestions.h b/submodules/TelegramUI/TelegramUI/emoji_suggestions.h deleted file mode 100755 index 7e2d577ebe..0000000000 --- a/submodules/TelegramUI/TelegramUI/emoji_suggestions.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -This file is part of Telegram Desktop, -the official desktop version of Telegram messaging app, see https://telegram.org - -Telegram Desktop is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -It is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -In addition, as a special exception, the copyright holders give permission -to link the code of portions of this program with the OpenSSL library. - -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE -Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org -*/ -#pragma once - -#include - -namespace Ui { -namespace Emoji { - -using small = unsigned char; -using medium = unsigned short; -using utf16char = unsigned short; - -static_assert(sizeof(utf16char) == 2, "Bad UTF-16 character size."); - -class utf16string { -public: - utf16string() = default; - utf16string(const utf16char *data, std::size_t size) : data_(data), size_(size) { - } - utf16string(const utf16string &other) = default; - utf16string &operator=(const utf16string &other) = default; - - const utf16char *data() const { - return data_; - } - std::size_t size() const { - return size_; - } - - utf16char operator[](int index) const { - return data_[index]; - } - -private: - const utf16char *data_ = nullptr; - std::size_t size_ = 0; - -}; - -inline bool operator==(utf16string a, utf16string b) { - return (a.size() == b.size()) && (!a.size() || !memcmp(a.data(), b.data(), a.size() * sizeof(utf16char))); -} - -namespace internal { - -using checksum = unsigned int; -checksum countChecksum(const void *data, std::size_t size); - -utf16string GetReplacementEmoji(utf16string replacement); - -} // namespace internal - -class Suggestion { -public: - Suggestion() = default; - Suggestion(utf16string emoji, utf16string label, utf16string replacement) : emoji_(emoji), label_(label), replacement_(replacement) { - } - Suggestion(const Suggestion &other) = default; - Suggestion &operator=(const Suggestion &other) = default; - - utf16string emoji() const { - return emoji_; - } - utf16string label() const { - return label_; - } - utf16string replacement() const { - return replacement_; - } - -private: - utf16string emoji_; - utf16string label_; - utf16string replacement_; - -}; - -std::vector GetSuggestions(utf16string query); - -inline utf16string GetSuggestionEmoji(utf16string replacement) { - return internal::GetReplacementEmoji(replacement); -} - -int GetSuggestionMaxLength(); - - -} // namespace Emoji -} // namespace Ui diff --git a/submodules/TelegramUI/TelegramUI/emoji_suggestions_data.cpp b/submodules/TelegramUI/TelegramUI/emoji_suggestions_data.cpp deleted file mode 100755 index e0ddd49688..0000000000 --- a/submodules/TelegramUI/TelegramUI/emoji_suggestions_data.cpp +++ /dev/null @@ -1,6367 +0,0 @@ -/* -WARNING! All changes made in this file will be lost! -Created from 'empty' by 'codegen_emoji' - -This file is part of Telegram Desktop, -the official desktop version of Telegram messaging app, see https://telegram.org - -Telegram Desktop is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -It is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -In addition, as a special exception, the copyright holders give permission -to link the code of portions of this program with the OpenSSL library. - -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE -Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org -*/ -#include "emoji_suggestions_data.h" - -#include - -namespace Ui { -namespace Emoji { -namespace internal { -namespace { - -struct ReplacementStruct { - small emojiSize; - small replacementSize; - small wordsCount; -}; - -const utf16char ReplacementData[] = { -0xd83d, 0xde00, 0x3a, 0x67, 0x72, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x3a, -0x67, 0x72, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0xd83d, 0xde03, 0x3a, 0x73, -0x6d, 0x69, 0x6c, 0x65, 0x79, 0x3a, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x79, -0xd83d, 0xde04, 0x3a, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x3a, 0x73, 0x6d, 0x69, -0x6c, 0x65, 0xd83d, 0xde01, 0x3a, 0x67, 0x72, 0x69, 0x6e, 0x3a, 0x67, 0x72, -0x69, 0x6e, 0xd83d, 0xde06, 0x3a, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, -0x65, 0x64, 0x3a, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, -0xd83d, 0xde06, 0x3a, 0x6c, 0x61, 0x75, 0x67, 0x68, 0x69, 0x6e, 0x67, 0x3a, -0x6c, 0x61, 0x75, 0x67, 0x68, 0x69, 0x6e, 0x67, 0xd83d, 0xde05, 0x3a, 0x73, -0x77, 0x65, 0x61, 0x74, 0x5f, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x3a, 0x73, -0x6d, 0x69, 0x6c, 0x65, 0x73, 0x77, 0x65, 0x61, 0x74, 0xd83d, 0xde02, 0x3a, -0x6a, 0x6f, 0x79, 0x3a, 0x6a, 0x6f, 0x79, 0xd83e, 0xdd23, 0x3a, 0x72, 0x6f, -0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x74, 0x68, 0x65, -0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x6c, 0x61, 0x75, 0x67, 0x68, -0x69, 0x6e, 0x67, 0x3a, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x6c, 0x61, 0x75, -0x67, 0x68, 0x69, 0x6e, 0x67, 0x6f, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x69, -0x6e, 0x67, 0x74, 0x68, 0x65, 0xd83e, 0xdd23, 0x3a, 0x72, 0x6f, 0x66, 0x6c, -0x3a, 0x72, 0x6f, 0x66, 0x6c, 0x263a, 0xfe0f, 0x3a, 0x72, 0x65, 0x6c, 0x61, -0x78, 0x65, 0x64, 0x3a, 0x72, 0x65, 0x6c, 0x61, 0x78, 0x65, 0x64, 0xd83d, -0xde0a, 0x3a, 0x62, 0x6c, 0x75, 0x73, 0x68, 0x3a, 0x62, 0x6c, 0x75, 0x73, -0x68, 0xd83d, 0xde07, 0x3a, 0x69, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x74, -0x3a, 0x69, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x74, 0xd83d, 0xde42, 0x3a, -0x73, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x5f, 0x73, 0x6d, 0x69, -0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, -0x63, 0x65, 0x73, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x73, 0x6d, -0x69, 0x6c, 0x69, 0x6e, 0x67, 0xd83d, 0xde42, 0x3a, 0x73, 0x6c, 0x69, 0x67, -0x68, 0x74, 0x5f, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x3a, 0x73, 0x6c, 0x69, -0x67, 0x68, 0x74, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0xd83d, 0xde43, 0x3a, 0x75, -0x70, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x66, -0x61, 0x63, 0x65, 0x3a, 0x64, 0x6f, 0x77, 0x6e, 0x66, 0x61, 0x63, 0x65, -0x75, 0x70, 0x73, 0x69, 0x64, 0x65, 0xd83d, 0xde43, 0x3a, 0x75, 0x70, 0x73, -0x69, 0x64, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x64, 0x6f, 0x77, -0x6e, 0x75, 0x70, 0x73, 0x69, 0x64, 0x65, 0xd83d, 0xde09, 0x3a, 0x77, 0x69, -0x6e, 0x6b, 0x3a, 0x77, 0x69, 0x6e, 0x6b, 0xd83d, 0xde0c, 0x3a, 0x72, 0x65, -0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0x3a, 0x72, 0x65, 0x6c, 0x69, 0x65, -0x76, 0x65, 0x64, 0xd83d, 0xde0d, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, -0x65, 0x79, 0x65, 0x73, 0x3a, 0x65, 0x79, 0x65, 0x73, 0x68, 0x65, 0x61, -0x72, 0x74, 0xd83d, 0xde18, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, -0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, -0x6b, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0xd83d, 0xde17, 0x3a, 0x6b, 0x69, -0x73, 0x73, 0x69, 0x6e, 0x67, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0x69, 0x6e, -0x67, 0xd83d, 0xde19, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, -0x73, 0x6d, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x79, 0x65, 0x73, -0x3a, 0x65, 0x79, 0x65, 0x73, 0x6b, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, -0x73, 0x6d, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0xd83d, 0xde1a, 0x3a, 0x6b, 0x69, -0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, -0x5f, 0x65, 0x79, 0x65, 0x73, 0x3a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, -0x65, 0x79, 0x65, 0x73, 0x6b, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0xd83d, -0xde0b, 0x3a, 0x79, 0x75, 0x6d, 0x3a, 0x79, 0x75, 0x6d, 0xd83d, 0xde1c, 0x3a, -0x73, 0x74, 0x75, 0x63, 0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x6f, -0x6e, 0x67, 0x75, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, -0x5f, 0x65, 0x79, 0x65, 0x3a, 0x65, 0x79, 0x65, 0x6f, 0x75, 0x74, 0x73, -0x74, 0x75, 0x63, 0x6b, 0x74, 0x6f, 0x6e, 0x67, 0x75, 0x65, 0x77, 0x69, -0x6e, 0x6b, 0x69, 0x6e, 0x67, 0xd83d, 0xde1d, 0x3a, 0x73, 0x74, 0x75, 0x63, -0x6b, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x6f, 0x6e, 0x67, 0x75, 0x65, -0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x65, 0x79, 0x65, 0x73, -0x3a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x65, 0x79, 0x65, 0x73, 0x6f, -0x75, 0x74, 0x73, 0x74, 0x75, 0x63, 0x6b, 0x74, 0x6f, 0x6e, 0x67, 0x75, -0x65, 0xd83d, 0xde1b, 0x3a, 0x73, 0x74, 0x75, 0x63, 0x6b, 0x5f, 0x6f, 0x75, -0x74, 0x5f, 0x74, 0x6f, 0x6e, 0x67, 0x75, 0x65, 0x3a, 0x6f, 0x75, 0x74, -0x73, 0x74, 0x75, 0x63, 0x6b, 0x74, 0x6f, 0x6e, 0x67, 0x75, 0x65, 0xd83e, -0xdd11, 0x3a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x6d, 0x6f, 0x75, 0x74, -0x68, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x6d, -0x6f, 0x6e, 0x65, 0x79, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0xd83e, 0xdd11, 0x3a, -0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0x3a, -0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0xd83e, 0xdd17, -0x3a, 0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, -0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, -0x67, 0xd83e, 0xdd17, 0x3a, 0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x3a, -0x68, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0xd83e, 0xdd13, 0x3a, 0x6e, 0x65, -0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x6e, 0x65, 0x72, 0x64, 0xd83e, 0xdd13, 0x3a, 0x6e, 0x65, 0x72, 0x64, 0x3a, -0x6e, 0x65, 0x72, 0x64, 0xd83d, 0xde0e, 0x3a, 0x73, 0x75, 0x6e, 0x67, 0x6c, -0x61, 0x73, 0x73, 0x65, 0x73, 0x3a, 0x73, 0x75, 0x6e, 0x67, 0x6c, 0x61, -0x73, 0x73, 0x65, 0x73, 0xd83e, 0xdd21, 0x3a, 0x63, 0x6c, 0x6f, 0x77, 0x6e, -0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x63, 0x6c, 0x6f, 0x77, 0x6e, 0x66, -0x61, 0x63, 0x65, 0xd83e, 0xdd21, 0x3a, 0x63, 0x6c, 0x6f, 0x77, 0x6e, 0x3a, -0x63, 0x6c, 0x6f, 0x77, 0x6e, 0xd83e, 0xdd20, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x77, 0x62, 0x6f, 0x79, -0x5f, 0x68, 0x61, 0x74, 0x3a, 0x63, 0x6f, 0x77, 0x62, 0x6f, 0x79, 0x66, -0x61, 0x63, 0x65, 0x68, 0x61, 0x74, 0x77, 0x69, 0x74, 0x68, 0xd83e, 0xdd20, -0x3a, 0x63, 0x6f, 0x77, 0x62, 0x6f, 0x79, 0x3a, 0x63, 0x6f, 0x77, 0x62, -0x6f, 0x79, 0xd83d, 0xde0f, 0x3a, 0x73, 0x6d, 0x69, 0x72, 0x6b, 0x3a, 0x73, -0x6d, 0x69, 0x72, 0x6b, 0xd83d, 0xde12, 0x3a, 0x75, 0x6e, 0x61, 0x6d, 0x75, -0x73, 0x65, 0x64, 0x3a, 0x75, 0x6e, 0x61, 0x6d, 0x75, 0x73, 0x65, 0x64, -0xd83d, 0xde1e, 0x3a, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, -0x74, 0x65, 0x64, 0x3a, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x6f, 0x69, -0x6e, 0x74, 0x65, 0x64, 0xd83d, 0xde14, 0x3a, 0x70, 0x65, 0x6e, 0x73, 0x69, -0x76, 0x65, 0x3a, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0xd83d, 0xde1f, -0x3a, 0x77, 0x6f, 0x72, 0x72, 0x69, 0x65, 0x64, 0x3a, 0x77, 0x6f, 0x72, -0x72, 0x69, 0x65, 0x64, 0xd83d, 0xde15, 0x3a, 0x63, 0x6f, 0x6e, 0x66, 0x75, -0x73, 0x65, 0x64, 0x3a, 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, -0xd83d, 0xde41, 0x3a, 0x73, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0x5f, -0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, -0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, -0x6e, 0x67, 0x73, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6c, 0x79, 0xd83d, 0xde41, -0x3a, 0x73, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x77, -0x6e, 0x3a, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x73, 0x6c, 0x69, 0x67, 0x68, -0x74, 0x2639, 0xfe0f, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x66, 0x72, -0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, -0x66, 0x61, 0x63, 0x65, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, -0x77, 0x68, 0x69, 0x74, 0x65, 0x2639, 0xfe0f, 0x3a, 0x66, 0x72, 0x6f, 0x77, -0x6e, 0x69, 0x6e, 0x67, 0x32, 0x3a, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, -0x6e, 0x67, 0x32, 0xd83d, 0xde23, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x65, 0x76, -0x65, 0x72, 0x65, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x65, 0x76, 0x65, 0x72, -0x65, 0xd83d, 0xde16, 0x3a, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x75, 0x6e, 0x64, -0x65, 0x64, 0x3a, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x65, -0x64, 0xd83d, 0xde2b, 0x3a, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x61, -0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, -0xd83d, 0xde29, 0x3a, 0x77, 0x65, 0x61, 0x72, 0x79, 0x3a, 0x77, 0x65, 0x61, -0x72, 0x79, 0xd83d, 0xde24, 0x3a, 0x74, 0x72, 0x69, 0x75, 0x6d, 0x70, 0x68, -0x3a, 0x74, 0x72, 0x69, 0x75, 0x6d, 0x70, 0x68, 0xd83d, 0xde20, 0x3a, 0x61, -0x6e, 0x67, 0x72, 0x79, 0x3a, 0x61, 0x6e, 0x67, 0x72, 0x79, 0xd83d, 0xde21, -0x3a, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x72, 0x61, 0x67, 0x65, 0xd83d, 0xde36, -0x3a, 0x6e, 0x6f, 0x5f, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0x3a, 0x6d, 0x6f, -0x75, 0x74, 0x68, 0x6e, 0x6f, 0xd83d, 0xde10, 0x3a, 0x6e, 0x65, 0x75, 0x74, -0x72, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, -0x65, 0x6e, 0x65, 0x75, 0x74, 0x72, 0x61, 0x6c, 0xd83d, 0xde11, 0x3a, 0x65, -0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x6c, 0x65, 0x73, -0x73, 0x3a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, -0x6c, 0x65, 0x73, 0x73, 0xd83d, 0xde2f, 0x3a, 0x68, 0x75, 0x73, 0x68, 0x65, -0x64, 0x3a, 0x68, 0x75, 0x73, 0x68, 0x65, 0x64, 0xd83d, 0xde26, 0x3a, 0x66, -0x72, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x66, 0x72, 0x6f, 0x77, -0x6e, 0x69, 0x6e, 0x67, 0xd83d, 0xde27, 0x3a, 0x61, 0x6e, 0x67, 0x75, 0x69, -0x73, 0x68, 0x65, 0x64, 0x3a, 0x61, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, -0x65, 0x64, 0xd83d, 0xde2e, 0x3a, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6d, 0x6f, -0x75, 0x74, 0x68, 0x3a, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0x6f, 0x70, 0x65, -0x6e, 0xd83d, 0xde32, 0x3a, 0x61, 0x73, 0x74, 0x6f, 0x6e, 0x69, 0x73, 0x68, -0x65, 0x64, 0x3a, 0x61, 0x73, 0x74, 0x6f, 0x6e, 0x69, 0x73, 0x68, 0x65, -0x64, 0xd83d, 0xde35, 0x3a, 0x64, 0x69, 0x7a, 0x7a, 0x79, 0x5f, 0x66, 0x61, -0x63, 0x65, 0x3a, 0x64, 0x69, 0x7a, 0x7a, 0x79, 0x66, 0x61, 0x63, 0x65, -0xd83d, 0xde33, 0x3a, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x65, 0x64, 0x3a, 0x66, -0x6c, 0x75, 0x73, 0x68, 0x65, 0x64, 0xd83d, 0xde31, 0x3a, 0x73, 0x63, 0x72, -0x65, 0x61, 0x6d, 0x3a, 0x73, 0x63, 0x72, 0x65, 0x61, 0x6d, 0xd83d, 0xde28, -0x3a, 0x66, 0x65, 0x61, 0x72, 0x66, 0x75, 0x6c, 0x3a, 0x66, 0x65, 0x61, -0x72, 0x66, 0x75, 0x6c, 0xd83d, 0xde30, 0x3a, 0x63, 0x6f, 0x6c, 0x64, 0x5f, -0x73, 0x77, 0x65, 0x61, 0x74, 0x3a, 0x63, 0x6f, 0x6c, 0x64, 0x73, 0x77, -0x65, 0x61, 0x74, 0xd83d, 0xde22, 0x3a, 0x63, 0x72, 0x79, 0x3a, 0x63, 0x72, -0x79, 0xd83d, 0xde25, 0x3a, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x6f, 0x69, -0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, -0x64, 0x3a, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, -0x65, 0x64, 0x72, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x64, 0xd83e, 0xdd24, -0x3a, 0x64, 0x72, 0x6f, 0x6f, 0x6c, 0x3a, 0x64, 0x72, 0x6f, 0x6f, 0x6c, -0xd83e, 0xdd24, 0x3a, 0x64, 0x72, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x5f, -0x66, 0x61, 0x63, 0x65, 0x3a, 0x64, 0x72, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, -0x67, 0x66, 0x61, 0x63, 0x65, 0xd83d, 0xde2d, 0x3a, 0x73, 0x6f, 0x62, 0x3a, -0x73, 0x6f, 0x62, 0xd83d, 0xde13, 0x3a, 0x73, 0x77, 0x65, 0x61, 0x74, 0x3a, -0x73, 0x77, 0x65, 0x61, 0x74, 0xd83d, 0xde2a, 0x3a, 0x73, 0x6c, 0x65, 0x65, -0x70, 0x79, 0x3a, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x79, 0xd83d, 0xde34, 0x3a, -0x73, 0x6c, 0x65, 0x65, 0x70, 0x69, 0x6e, 0x67, 0x3a, 0x73, 0x6c, 0x65, -0x65, 0x70, 0x69, 0x6e, 0x67, 0xd83d, 0xde44, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, -0x67, 0x5f, 0x65, 0x79, 0x65, 0x73, 0x3a, 0x65, 0x79, 0x65, 0x73, 0x66, -0x61, 0x63, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x77, 0x69, -0x74, 0x68, 0xd83d, 0xde44, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x69, 0x6e, 0x67, -0x5f, 0x65, 0x79, 0x65, 0x73, 0x3a, 0x65, 0x79, 0x65, 0x73, 0x72, 0x6f, -0x6c, 0x6c, 0x69, 0x6e, 0x67, 0xd83e, 0xdd14, 0x3a, 0x68, 0x6d, 0x6d, 0x3a, -0x68, 0x6d, 0x6d, 0xd83e, 0xdd14, 0x3a, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x69, -0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x74, 0x68, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0xd83e, 0xdd14, 0x3a, 0x74, -0x68, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x74, 0x68, 0x69, 0x6e, -0x6b, 0x69, 0x6e, 0x67, 0xd83e, 0xdd25, 0x3a, 0x6c, 0x69, 0x61, 0x72, 0x3a, -0x6c, 0x69, 0x61, 0x72, 0xd83e, 0xdd25, 0x3a, 0x6c, 0x79, 0x69, 0x6e, 0x67, -0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x6c, 0x79, -0x69, 0x6e, 0x67, 0xd83d, 0xde2c, 0x3a, 0x67, 0x72, 0x69, 0x6d, 0x61, 0x63, -0x69, 0x6e, 0x67, 0x3a, 0x67, 0x72, 0x69, 0x6d, 0x61, 0x63, 0x69, 0x6e, -0x67, 0xd83e, 0xdd10, 0x3a, 0x7a, 0x69, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x6d, -0x6f, 0x75, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, -0x63, 0x65, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0x7a, 0x69, 0x70, 0x70, 0x65, -0x72, 0xd83e, 0xdd10, 0x3a, 0x7a, 0x69, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x6d, -0x6f, 0x75, 0x74, 0x68, 0x3a, 0x6d, 0x6f, 0x75, 0x74, 0x68, 0x7a, 0x69, -0x70, 0x70, 0x65, 0x72, 0xd83e, 0xdd22, 0x3a, 0x73, 0x69, 0x63, 0x6b, 0x3a, -0x73, 0x69, 0x63, 0x6b, 0xd83e, 0xdd22, 0x3a, 0x6e, 0x61, 0x75, 0x73, 0x65, -0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, -0x63, 0x65, 0x6e, 0x61, 0x75, 0x73, 0x65, 0x61, 0x74, 0x65, 0x64, 0xd83e, -0xdd27, 0x3a, 0x73, 0x6e, 0x65, 0x65, 0x7a, 0x65, 0x3a, 0x73, 0x6e, 0x65, -0x65, 0x7a, 0x65, 0xd83e, 0xdd27, 0x3a, 0x73, 0x6e, 0x65, 0x65, 0x7a, 0x69, -0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x73, 0x6e, 0x65, 0x65, 0x7a, 0x69, 0x6e, 0x67, 0xd83d, 0xde37, 0x3a, 0x6d, -0x61, 0x73, 0x6b, 0x3a, 0x6d, 0x61, 0x73, 0x6b, 0xd83e, 0xdd12, 0x3a, 0x66, -0x61, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, 0x68, 0x65, -0x72, 0x6d, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x3a, 0x66, 0x61, 0x63, -0x65, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, -0x77, 0x69, 0x74, 0x68, 0xd83e, 0xdd12, 0x3a, 0x74, 0x68, 0x65, 0x72, 0x6d, -0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, -0x66, 0x61, 0x63, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x6d, 0x65, -0x74, 0x65, 0x72, 0xd83e, 0xdd15, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6e, -0x64, 0x61, 0x67, 0x65, 0x3a, 0x62, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x65, -0x66, 0x61, 0x63, 0x65, 0x68, 0x65, 0x61, 0x64, 0x77, 0x69, 0x74, 0x68, -0xd83e, 0xdd15, 0x3a, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6e, 0x64, -0x61, 0x67, 0x65, 0x3a, 0x62, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x65, 0x68, -0x65, 0x61, 0x64, 0xd83d, 0xde08, 0x3a, 0x73, 0x6d, 0x69, 0x6c, 0x69, 0x6e, -0x67, 0x5f, 0x69, 0x6d, 0x70, 0x3a, 0x69, 0x6d, 0x70, 0x73, 0x6d, 0x69, -0x6c, 0x69, 0x6e, 0x67, 0xd83d, 0xdc7f, 0x3a, 0x69, 0x6d, 0x70, 0x3a, 0x69, -0x6d, 0x70, 0xd83d, 0xdc79, 0x3a, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x65, 0x73, -0x65, 0x5f, 0x6f, 0x67, 0x72, 0x65, 0x3a, 0x6a, 0x61, 0x70, 0x61, 0x6e, -0x65, 0x73, 0x65, 0x6f, 0x67, 0x72, 0x65, 0xd83d, 0xdc7a, 0x3a, 0x6a, 0x61, -0x70, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x5f, 0x67, 0x6f, 0x62, 0x6c, 0x69, -0x6e, 0x3a, 0x67, 0x6f, 0x62, 0x6c, 0x69, 0x6e, 0x6a, 0x61, 0x70, 0x61, -0x6e, 0x65, 0x73, 0x65, 0xd83d, 0xdca9, 0x3a, 0x70, 0x6f, 0x6f, 0x3a, 0x70, -0x6f, 0x6f, 0xd83d, 0xdca9, 0x3a, 0x68, 0x61, 0x6e, 0x6b, 0x65, 0x79, 0x3a, -0x68, 0x61, 0x6e, 0x6b, 0x65, 0x79, 0xd83d, 0xdca9, 0x3a, 0x73, 0x68, 0x69, -0x74, 0x3a, 0x73, 0x68, 0x69, 0x74, 0xd83d, 0xdca9, 0x3a, 0x70, 0x6f, 0x6f, -0x70, 0x3a, 0x70, 0x6f, 0x6f, 0x70, 0xd83d, 0xdc7b, 0x3a, 0x67, 0x68, 0x6f, -0x73, 0x74, 0x3a, 0x67, 0x68, 0x6f, 0x73, 0x74, 0xd83d, 0xdc80, 0x3a, 0x73, -0x6b, 0x65, 0x6c, 0x65, 0x74, 0x6f, 0x6e, 0x3a, 0x73, 0x6b, 0x65, 0x6c, -0x65, 0x74, 0x6f, 0x6e, 0xd83d, 0xdc80, 0x3a, 0x73, 0x6b, 0x75, 0x6c, 0x6c, -0x3a, 0x73, 0x6b, 0x75, 0x6c, 0x6c, 0x2620, 0xfe0f, 0x3a, 0x73, 0x6b, 0x75, -0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, -0x62, 0x6f, 0x6e, 0x65, 0x73, 0x3a, 0x61, 0x6e, 0x64, 0x63, 0x72, 0x6f, -0x73, 0x73, 0x62, 0x6f, 0x6e, 0x65, 0x73, 0x73, 0x6b, 0x75, 0x6c, 0x6c, -0x2620, 0xfe0f, 0x3a, 0x73, 0x6b, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x72, 0x6f, -0x73, 0x73, 0x62, 0x6f, 0x6e, 0x65, 0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, -0x73, 0x62, 0x6f, 0x6e, 0x65, 0x73, 0x73, 0x6b, 0x75, 0x6c, 0x6c, 0xd83d, -0xdc7d, 0x3a, 0x61, 0x6c, 0x69, 0x65, 0x6e, 0x3a, 0x61, 0x6c, 0x69, 0x65, -0x6e, 0xd83d, 0xdc7e, 0x3a, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6e, -0x76, 0x61, 0x64, 0x65, 0x72, 0x3a, 0x69, 0x6e, 0x76, 0x61, 0x64, 0x65, -0x72, 0x73, 0x70, 0x61, 0x63, 0x65, 0xd83e, 0xdd16, 0x3a, 0x72, 0x6f, 0x62, -0x6f, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x72, 0x6f, 0x62, 0x6f, 0x74, 0xd83e, 0xdd16, 0x3a, 0x72, 0x6f, 0x62, 0x6f, -0x74, 0x3a, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0xd83c, 0xdf83, 0x3a, 0x6a, 0x61, -0x63, 0x6b, 0x5f, 0x6f, 0x5f, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, -0x3a, 0x6a, 0x61, 0x63, 0x6b, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, -0x6f, 0xd83d, 0xde3a, 0x3a, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x79, 0x5f, 0x63, -0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x79, -0xd83d, 0xde38, 0x3a, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, -0x3a, 0x63, 0x61, 0x74, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0xd83d, 0xde39, 0x3a, -0x6a, 0x6f, 0x79, 0x5f, 0x63, 0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x6a, -0x6f, 0x79, 0xd83d, 0xde3b, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, 0x65, -0x79, 0x65, 0x73, 0x5f, 0x63, 0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x65, -0x79, 0x65, 0x73, 0x68, 0x65, 0x61, 0x72, 0x74, 0xd83d, 0xde3c, 0x3a, 0x73, -0x6d, 0x69, 0x72, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, -0x73, 0x6d, 0x69, 0x72, 0x6b, 0xd83d, 0xde3d, 0x3a, 0x6b, 0x69, 0x73, 0x73, -0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x6b, -0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0xd83d, 0xde40, 0x3a, 0x73, 0x63, 0x72, -0x65, 0x61, 0x6d, 0x5f, 0x63, 0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x73, -0x63, 0x72, 0x65, 0x61, 0x6d, 0xd83d, 0xde3f, 0x3a, 0x63, 0x72, 0x79, 0x69, -0x6e, 0x67, 0x5f, 0x63, 0x61, 0x74, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, -0x63, 0x61, 0x74, 0x63, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, -0x65, 0xd83d, 0xde3e, 0x3a, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, -0x63, 0x61, 0x74, 0x3a, 0x63, 0x61, 0x74, 0x70, 0x6f, 0x75, 0x74, 0x69, -0x6e, 0x67, 0xd83d, 0xdc50, 0x3a, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x68, 0x61, -0x6e, 0x64, 0x73, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x6f, 0x70, 0x65, -0x6e, 0xd83d, 0xde4c, 0x3a, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x68, -0x61, 0x6e, 0x64, 0x73, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x72, 0x61, -0x69, 0x73, 0x65, 0x64, 0xd83d, 0xdc4f, 0x3a, 0x63, 0x6c, 0x61, 0x70, 0x3a, -0x63, 0x6c, 0x61, 0x70, 0xd83d, 0xde4f, 0x3a, 0x70, 0x72, 0x61, 0x79, 0x3a, -0x70, 0x72, 0x61, 0x79, 0xd83e, 0xdd1d, 0x3a, 0x73, 0x68, 0x61, 0x6b, 0x69, -0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x3a, 0x68, 0x61, 0x6e, -0x64, 0x73, 0x73, 0x68, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0xd83e, 0xdd1d, 0x3a, -0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x3a, 0x68, 0x61, -0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0xd83d, 0xdc4d, 0x3a, 0x6c, 0x69, -0x6b, 0x65, 0x3a, 0x6c, 0x69, 0x6b, 0x65, 0xd83d, 0xdc4d, 0x3a, 0x74, 0x68, -0x75, 0x6d, 0x62, 0x75, 0x70, 0x3a, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x75, -0x70, 0xd83d, 0xdc4d, 0x3a, 0x2b, 0x31, 0x3a, 0x2b, 0x31, 0xd83d, 0xdc4d, 0x3a, -0x74, 0x68, 0x75, 0x6d, 0x62, 0x73, 0x75, 0x70, 0x3a, 0x74, 0x68, 0x75, -0x6d, 0x62, 0x73, 0x75, 0x70, 0xd83d, 0xdc4e, 0x3a, 0x64, 0x69, 0x73, 0x6c, -0x69, 0x6b, 0x65, 0x3a, 0x64, 0x69, 0x73, 0x6c, 0x69, 0x6b, 0x65, 0xd83d, -0xdc4e, 0x3a, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x64, 0x6f, 0x77, 0x6e, 0x3a, -0x74, 0x68, 0x75, 0x6d, 0x62, 0x64, 0x6f, 0x77, 0x6e, 0xd83d, 0xdc4e, 0x3a, -0x2d, 0x31, 0x3a, 0x2d, 0x31, 0xd83d, 0xdc4e, 0x3a, 0x74, 0x68, 0x75, 0x6d, -0x62, 0x73, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x74, 0x68, 0x75, 0x6d, 0x62, -0x73, 0x64, 0x6f, 0x77, 0x6e, 0xd83d, 0xdc4a, 0x3a, 0x70, 0x75, 0x6e, 0x63, -0x68, 0x3a, 0x70, 0x75, 0x6e, 0x63, 0x68, 0x270a, 0xfe0f, 0x3a, 0x66, 0x69, -0x73, 0x74, 0x3a, 0x66, 0x69, 0x73, 0x74, 0xd83e, 0xdd1b, 0x3a, 0x6c, 0x65, -0x66, 0x74, 0x5f, 0x66, 0x69, 0x73, 0x74, 0x3a, 0x66, 0x69, 0x73, 0x74, -0x6c, 0x65, 0x66, 0x74, 0xd83e, 0xdd1b, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x5f, -0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x73, 0x74, 0x3a, -0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x66, 0x69, 0x73, 0x74, 0x6c, 0x65, -0x66, 0x74, 0xd83e, 0xdd1c, 0x3a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, -0x69, 0x73, 0x74, 0x3a, 0x66, 0x69, 0x73, 0x74, 0x72, 0x69, 0x67, 0x68, -0x74, 0xd83e, 0xdd1c, 0x3a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, 0x61, -0x63, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x69, 0x73, 0x74, 0x3a, 0x66, 0x61, -0x63, 0x69, 0x6e, 0x67, 0x66, 0x69, 0x73, 0x74, 0x72, 0x69, 0x67, 0x68, -0x74, 0xd83e, 0xdd1e, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x74, -0x68, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x61, 0x6e, 0x64, 0x5f, -0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, -0x72, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x3a, 0x61, 0x6e, -0x64, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x66, 0x69, 0x6e, 0x67, -0x65, 0x72, 0x68, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6d, -0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x69, 0x74, 0x68, 0xd83e, 0xdd1e, 0x3a, -0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x6f, 0x73, -0x73, 0x65, 0x64, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x66, -0x69, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x270c, 0xfe0f, 0x3a, 0x76, 0x3a, 0x76, -0xd83e, 0xdd18, 0x3a, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6f, 0x66, 0x5f, 0x74, -0x68, 0x65, 0x5f, 0x68, 0x6f, 0x72, 0x6e, 0x73, 0x3a, 0x68, 0x6f, 0x72, -0x6e, 0x73, 0x6f, 0x66, 0x73, 0x69, 0x67, 0x6e, 0x74, 0x68, 0x65, 0xd83e, -0xdd18, 0x3a, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x3a, 0x6d, 0x65, 0x74, 0x61, -0x6c, 0xd83d, 0xdc4c, 0x3a, 0x6f, 0x6b, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x3a, -0x68, 0x61, 0x6e, 0x64, 0x6f, 0x6b, 0xd83d, 0xdc48, 0x3a, 0x70, 0x6f, 0x69, -0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x6c, 0x65, 0x66, 0x74, -0x70, 0x6f, 0x69, 0x6e, 0x74, 0xd83d, 0xdc49, 0x3a, 0x70, 0x6f, 0x69, 0x6e, -0x74, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x70, 0x6f, 0x69, 0x6e, -0x74, 0x72, 0x69, 0x67, 0x68, 0x74, 0xd83d, 0xdc46, 0x3a, 0x70, 0x6f, 0x69, -0x6e, 0x74, 0x5f, 0x75, 0x70, 0x5f, 0x32, 0x3a, 0x32, 0x70, 0x6f, 0x69, -0x6e, 0x74, 0x75, 0x70, 0xd83d, 0xdc47, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, -0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x64, 0x6f, 0x77, 0x6e, 0x70, 0x6f, -0x69, 0x6e, 0x74, 0x261d, 0xfe0f, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, -0x75, 0x70, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x75, 0x70, 0x270b, 0xfe0f, -0x3a, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x6e, 0x64, -0x3a, 0x68, 0x61, 0x6e, 0x64, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0xd83e, -0xdd1a, 0x3a, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x61, -0x6e, 0x64, 0x3a, 0x62, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x6e, 0x64, 0x6f, -0x66, 0xd83e, 0xdd1a, 0x3a, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x62, -0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x3a, -0x62, 0x61, 0x63, 0x6b, 0x68, 0x61, 0x6e, 0x64, 0x6f, 0x66, 0x72, 0x61, -0x69, 0x73, 0x65, 0x64, 0xd83d, 0xdd90, 0x3a, 0x72, 0x61, 0x69, 0x73, 0x65, -0x64, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, -0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x70, 0x6c, 0x61, -0x79, 0x65, 0x64, 0x3a, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x68, -0x61, 0x6e, 0x64, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x73, 0x70, 0x6c, -0x61, 0x79, 0x65, 0x64, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdd90, 0x3a, 0x68, -0x61, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x3a, -0x68, 0x61, 0x6e, 0x64, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0xd83d, -0xdd96, 0x3a, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x6e, -0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x5f, -0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x69, 0x64, 0x64, -0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, -0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x3a, 0x61, 0x6e, 0x64, 0x62, -0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, -0x73, 0x68, 0x61, 0x6e, 0x64, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x70, -0x61, 0x72, 0x74, 0x72, 0x61, 0x69, 0x73, 0x65, 0x64, 0x72, 0x69, 0x6e, -0x67, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdd96, 0x3a, 0x76, 0x75, 0x6c, 0x63, -0x61, 0x6e, 0x3a, 0x76, 0x75, 0x6c, 0x63, 0x61, 0x6e, 0xd83d, 0xdc4b, 0x3a, -0x77, 0x61, 0x76, 0x65, 0x3a, 0x77, 0x61, 0x76, 0x65, 0xd83e, 0xdd19, 0x3a, -0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, -0x3a, 0x63, 0x61, 0x6c, 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6d, 0x65, 0xd83e, -0xdd19, 0x3a, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x65, 0x3a, 0x63, 0x61, -0x6c, 0x6c, 0x6d, 0x65, 0xd83d, 0xdcaa, 0x3a, 0x6d, 0x75, 0x73, 0x63, 0x6c, -0x65, 0x3a, 0x6d, 0x75, 0x73, 0x63, 0x6c, 0x65, 0xd83d, 0xdd95, 0x3a, 0x72, -0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x6e, 0x64, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, -0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, -0x6e, 0x64, 0x65, 0x64, 0x3a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, -0x64, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x68, 0x61, 0x6e, 0x64, 0x6d, -0x69, 0x64, 0x64, 0x6c, 0x65, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, -0x64, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdd95, 0x3a, 0x6d, 0x69, 0x64, 0x64, -0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x3a, 0x66, 0x69, -0x6e, 0x67, 0x65, 0x72, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x270d, 0xfe0f, -0x3a, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, -0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, -0x67, 0xd83e, 0xdd33, 0x3a, 0x73, 0x65, 0x6c, 0x66, 0x69, 0x65, 0x3a, 0x73, -0x65, 0x6c, 0x66, 0x69, 0x65, 0xd83d, 0xdc85, 0x3a, 0x6e, 0x61, 0x69, 0x6c, -0x5f, 0x63, 0x61, 0x72, 0x65, 0x3a, 0x63, 0x61, 0x72, 0x65, 0x6e, 0x61, -0x69, 0x6c, 0xd83d, 0xdc8d, 0x3a, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x72, 0x69, -0x6e, 0x67, 0xd83d, 0xdc84, 0x3a, 0x6c, 0x69, 0x70, 0x73, 0x74, 0x69, 0x63, -0x6b, 0x3a, 0x6c, 0x69, 0x70, 0x73, 0x74, 0x69, 0x63, 0x6b, 0xd83d, 0xdc8b, -0x3a, 0x6b, 0x69, 0x73, 0x73, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0xd83d, 0xdc44, -0x3a, 0x6c, 0x69, 0x70, 0x73, 0x3a, 0x6c, 0x69, 0x70, 0x73, 0xd83d, 0xdc45, -0x3a, 0x74, 0x6f, 0x6e, 0x67, 0x75, 0x65, 0x3a, 0x74, 0x6f, 0x6e, 0x67, -0x75, 0x65, 0xd83d, 0xdc42, 0x3a, 0x65, 0x61, 0x72, 0x3a, 0x65, 0x61, 0x72, -0xd83d, 0xdc43, 0x3a, 0x6e, 0x6f, 0x73, 0x65, 0x3a, 0x6e, 0x6f, 0x73, 0x65, -0xd83d, 0xdc63, 0x3a, 0x66, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x69, 0x6e, 0x74, -0x73, 0x3a, 0x66, 0x6f, 0x6f, 0x74, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, -0xd83d, 0xdc41, 0x3a, 0x65, 0x79, 0x65, 0x3a, 0x65, 0x79, 0x65, 0xd83d, 0xdc40, -0x3a, 0x65, 0x79, 0x65, 0x73, 0x3a, 0x65, 0x79, 0x65, 0x73, 0xd83d, 0xdde3, -0x3a, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, -0x61, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x6c, 0x68, 0x6f, 0x75, -0x65, 0x74, 0x74, 0x65, 0x3a, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x73, -0x69, 0x6c, 0x68, 0x6f, 0x75, 0x65, 0x74, 0x74, 0x65, 0x73, 0x70, 0x65, -0x61, 0x6b, 0x69, 0x6e, 0x67, 0xd83d, 0xdde3, 0x3a, 0x73, 0x70, 0x65, 0x61, -0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x3a, 0x68, 0x65, -0x61, 0x64, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0xd83d, 0xdc64, -0x3a, 0x62, 0x75, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x6c, -0x68, 0x6f, 0x75, 0x65, 0x74, 0x74, 0x65, 0x3a, 0x62, 0x75, 0x73, 0x74, -0x69, 0x6e, 0x73, 0x69, 0x6c, 0x68, 0x6f, 0x75, 0x65, 0x74, 0x74, 0x65, -0xd83d, 0xdc65, 0x3a, 0x62, 0x75, 0x73, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, -0x73, 0x69, 0x6c, 0x68, 0x6f, 0x75, 0x65, 0x74, 0x74, 0x65, 0x3a, 0x62, -0x75, 0x73, 0x74, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x6c, 0x68, 0x6f, 0x75, -0x65, 0x74, 0x74, 0x65, 0xd83d, 0xdc76, 0x3a, 0x62, 0x61, 0x62, 0x79, 0x3a, -0x62, 0x61, 0x62, 0x79, 0xd83d, 0xdc66, 0x3a, 0x62, 0x6f, 0x79, 0x3a, 0x62, -0x6f, 0x79, 0xd83d, 0xdc67, 0x3a, 0x67, 0x69, 0x72, 0x6c, 0x3a, 0x67, 0x69, -0x72, 0x6c, 0xd83d, 0xdc68, 0x3a, 0x6d, 0x61, 0x6e, 0x3a, 0x6d, 0x61, 0x6e, -0xd83d, 0xdc69, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x3a, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0xd83d, 0xdc71, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x62, 0x6c, 0x6f, 0x6e, -0x64, 0x2d, 0x68, 0x61, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0x3a, 0x62, 0x6c, 0x6f, 0x6e, 0x64, 0x68, 0x61, 0x69, 0x72, -0x65, 0x64, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc71, 0x3a, 0x62, 0x6c, -0x6f, 0x6e, 0x64, 0x2d, 0x68, 0x61, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6d, -0x61, 0x6e, 0x3a, 0x62, 0x6c, 0x6f, 0x6e, 0x64, 0x68, 0x61, 0x69, 0x72, -0x65, 0x64, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc71, 0x3a, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, 0x6c, 0x6f, 0x6e, -0x64, 0x5f, 0x68, 0x61, 0x69, 0x72, 0x3a, 0x62, 0x6c, 0x6f, 0x6e, 0x64, -0x68, 0x61, 0x69, 0x72, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x77, 0x69, -0x74, 0x68, 0xd83d, 0xdc71, 0x3a, 0x62, 0x6c, 0x6f, 0x6e, 0x64, 0x5f, 0x68, -0x61, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x3a, 0x62, 0x6c, 0x6f, 0x6e, 0x64, 0x68, 0x61, 0x69, 0x72, 0x65, 0x64, -0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83d, 0xdc74, 0x3a, 0x6f, 0x6c, 0x64, -0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x3a, 0x6d, 0x61, 0x6e, 0x6f, 0x6c, -0x64, 0x65, 0x72, 0xd83d, 0xdc75, 0x3a, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x6d, -0x61, 0x3a, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0xd83d, 0xdc75, 0x3a, -0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x3a, -0x6f, 0x6c, 0x64, 0x65, 0x72, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc72, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x67, 0x75, -0x61, 0x5f, 0x70, 0x69, 0x5f, 0x6d, 0x61, 0x6f, 0x3a, 0x67, 0x75, 0x61, -0x6d, 0x61, 0x6e, 0x6d, 0x61, 0x6f, 0x70, 0x69, 0x77, 0x69, 0x74, 0x68, -0xd83d, 0xdc72, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, -0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x3a, -0x63, 0x61, 0x70, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x65, 0x6d, 0x61, -0x6e, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdc73, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, -0x5f, 0x74, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x3a, 0x74, 0x75, 0x72, 0x62, -0x61, 0x6e, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0xd83d, 0xdc73, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x77, 0x65, 0x61, -0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x3a, -0x6d, 0x61, 0x6e, 0x74, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x77, 0x65, 0x61, -0x72, 0x69, 0x6e, 0x67, 0xd83d, 0xdc73, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x3a, 0x6d, -0x61, 0x6e, 0x74, 0x75, 0x72, 0x62, 0x61, 0x6e, 0x77, 0x69, 0x74, 0x68, -0xd83d, 0xdc73, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x77, 0x65, -0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x75, 0x72, 0x62, 0x61, 0x6e, -0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x74, 0x75, 0x72, 0x62, 0x61, -0x6e, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0xd83d, 0xdc6e, 0x200d, 0x2640, -0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, -0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x3a, 0x6f, -0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x65, -0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc6e, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, -0x70, 0x6f, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, -0x65, 0x72, 0x3a, 0x6d, 0x61, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, -0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x65, 0xd83d, 0xdc6e, 0x3a, 0x63, 0x6f, -0x70, 0x3a, 0x63, 0x6f, 0x70, 0xd83d, 0xdc6e, 0x3a, 0x70, 0x6f, 0x6c, 0x69, -0x63, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x3a, 0x6f, -0x66, 0x66, 0x69, 0x63, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x65, -0xd83d, 0xdc77, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, -0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x3a, 0x63, 0x6f, 0x6e, 0x73, -0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc77, 0x3a, 0x6d, 0x61, -0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, -0x6f, 0x6e, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x3a, 0x63, 0x6f, -0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x6d, 0x61, -0x6e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc77, 0x3a, 0x63, 0x6f, -0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, -0x6f, 0x72, 0x6b, 0x65, 0x72, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, -0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, -0xd83d, 0xdc82, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x67, 0x75, 0x61, 0x72, 0x64, 0x3a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc82, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x67, -0x75, 0x61, 0x72, 0x64, 0x3a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc82, 0x3a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x73, 0x6d, 0x61, -0x6e, 0x3a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x73, 0x6d, 0x61, 0x6e, 0xd83d, -0xdc82, 0x3a, 0x67, 0x75, 0x61, 0x72, 0x64, 0x3a, 0x67, 0x75, 0x61, 0x72, -0x64, 0xd83d, 0xdd75, 0xfe0f, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x3a, -0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0xd83d, 0xdd75, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x64, 0x65, -0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x3a, 0x64, 0x65, 0x74, 0x65, -0x63, 0x74, 0x69, 0x76, 0x65, 0x6d, 0x61, 0x6e, 0xd83d, 0xdd75, 0xfe0f, 0x3a, -0x73, 0x6c, 0x65, 0x75, 0x74, 0x68, 0x5f, 0x6f, 0x72, 0x5f, 0x73, 0x70, -0x79, 0x3a, 0x6f, 0x72, 0x73, 0x6c, 0x65, 0x75, 0x74, 0x68, 0x73, 0x70, -0x79, 0xd83d, 0xdd75, 0xfe0f, 0x3a, 0x73, 0x70, 0x79, 0x3a, 0x73, 0x70, 0x79, -0xd83d, 0xdd75, 0xfe0f, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, -0x65, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0xd83d, -0xdc69, 0x200d, 0x2695, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x68, -0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, -0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc68, 0x200d, 0x2695, 0xfe0f, 0x3a, -0x6d, 0x61, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x77, -0x6f, 0x72, 0x6b, 0x65, 0x72, 0x3a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, -0x6d, 0x61, 0x6e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc69, 0x200d, -0xd83c, 0xdf3e, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x61, 0x72, -0x6d, 0x65, 0x72, 0x3a, 0x66, 0x61, 0x72, 0x6d, 0x65, 0x72, 0x77, 0x6f, -0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83c, 0xdf3e, 0x3a, 0x6d, 0x61, 0x6e, -0x5f, 0x66, 0x61, 0x72, 0x6d, 0x65, 0x72, 0x3a, 0x66, 0x61, 0x72, 0x6d, -0x65, 0x72, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, 0xd83c, 0xdf73, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x3a, 0x63, 0x6f, -0x6f, 0x6b, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83c, 0xdf73, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x3a, 0x63, 0x6f, -0x6f, 0x6b, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, 0xd83c, 0xdf93, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, -0x3a, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83c, 0xdf93, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x73, -0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x3a, 0x6d, 0x61, 0x6e, 0x73, 0x74, -0x75, 0x64, 0x65, 0x6e, 0x74, 0xd83d, 0xdc69, 0x200d, 0xd83c, 0xdfa4, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x3a, -0x73, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, -0xdc68, 0x200d, 0xd83c, 0xdfa4, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x69, 0x6e, -0x67, 0x65, 0x72, 0x3a, 0x6d, 0x61, 0x6e, 0x73, 0x69, 0x6e, 0x67, 0x65, -0x72, 0xd83d, 0xdc69, 0x200d, 0xd83c, 0xdfeb, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x5f, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x3a, 0x74, 0x65, 0x61, -0x63, 0x68, 0x65, 0x72, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, -0xd83c, 0xdfeb, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x74, 0x65, 0x61, 0x63, 0x68, -0x65, 0x72, 0x3a, 0x6d, 0x61, 0x6e, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, -0x72, 0xd83d, 0xdc69, 0x200d, 0xd83c, 0xdfed, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, -0x6b, 0x65, 0x72, 0x3a, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc68, -0x200d, 0xd83c, 0xdfed, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, -0x6f, 0x72, 0x79, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x3a, 0x66, -0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x6d, 0x61, 0x6e, 0x77, 0x6f, 0x72, -0x6b, 0x65, 0x72, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdcbb, 0x3a, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0x5f, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, -0x69, 0x73, 0x74, 0x3a, 0x74, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, -0x67, 0x69, 0x73, 0x74, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, -0xd83d, 0xdcbb, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x74, 0x65, 0x63, 0x68, 0x6e, -0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x73, 0x74, 0x3a, 0x6d, 0x61, 0x6e, 0x74, -0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x73, 0x74, 0xd83d, -0xdc69, 0x200d, 0xd83d, 0xdcbc, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6f, -0x66, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, -0x3a, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdcbc, 0x3a, -0x6d, 0x61, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x77, -0x6f, 0x72, 0x6b, 0x65, 0x72, 0x3a, 0x6d, 0x61, 0x6e, 0x6f, 0x66, 0x66, -0x69, 0x63, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0xd83d, 0xdc69, 0x200d, -0xd83d, 0xdd27, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6d, 0x65, 0x63, -0x68, 0x61, 0x6e, 0x69, 0x63, 0x3a, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, -0x69, 0x63, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdd27, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, -0x63, 0x3a, 0x6d, 0x61, 0x6e, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, -0x63, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdd2c, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x5f, 0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x73, -0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdd2c, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x73, -0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x6d, 0x61, 0x6e, -0x73, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x73, 0x74, 0xd83d, 0xdc69, 0x200d, -0xd83c, 0xdfa8, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x61, 0x72, 0x74, -0x69, 0x73, 0x74, 0x3a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x77, 0x6f, -0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83c, 0xdfa8, 0x3a, 0x6d, 0x61, 0x6e, -0x5f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3a, 0x61, 0x72, 0x74, 0x69, -0x73, 0x74, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xde92, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x66, 0x69, 0x67, -0x68, 0x74, 0x65, 0x72, 0x3a, 0x66, 0x69, 0x72, 0x65, 0x66, 0x69, 0x67, -0x68, 0x74, 0x65, 0x72, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, -0xd83d, 0xde92, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x66, -0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x3a, 0x66, 0x69, 0x72, 0x65, 0x66, -0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, -0x2708, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x70, 0x69, 0x6c, -0x6f, 0x74, 0x3a, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0x2708, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x70, -0x69, 0x6c, 0x6f, 0x74, 0x3a, 0x6d, 0x61, 0x6e, 0x70, 0x69, 0x6c, 0x6f, -0x74, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xde80, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x5f, 0x61, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x3a, 0x61, -0x73, 0x74, 0x72, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xde80, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x61, -0x73, 0x74, 0x72, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x3a, 0x61, 0x73, 0x74, -0x72, 0x6f, 0x6e, 0x61, 0x75, 0x74, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, -0x2696, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6a, 0x75, 0x64, -0x67, 0x65, 0x3a, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0x2696, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x6a, -0x75, 0x64, 0x67, 0x65, 0x3a, 0x6a, 0x75, 0x64, 0x67, 0x65, 0x6d, 0x61, -0x6e, 0xd83e, 0xdd36, 0x3a, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, -0x68, 0x72, 0x69, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x3a, 0x63, 0x68, 0x72, -0x69, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x6d, 0x6f, 0x74, 0x68, 0x65, 0x72, -0xd83e, 0xdd36, 0x3a, 0x6d, 0x72, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, -0x3a, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x6d, 0x72, 0x73, 0xd83c, 0xdf85, 0x3a, -0x73, 0x61, 0x6e, 0x74, 0x61, 0x3a, 0x73, 0x61, 0x6e, 0x74, 0x61, 0xd83d, -0xdc78, 0x3a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x73, 0x3a, 0x70, -0x72, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x73, 0xd83e, 0xdd34, 0x3a, 0x70, 0x72, -0x69, 0x6e, 0x63, 0x65, 0x3a, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x65, 0xd83d, -0xdc70, 0x3a, 0x62, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, -0x5f, 0x76, 0x65, 0x69, 0x6c, 0x3a, 0x62, 0x72, 0x69, 0x64, 0x65, 0x76, -0x65, 0x69, 0x6c, 0x77, 0x69, 0x74, 0x68, 0xd83e, 0xdd35, 0x3a, 0x6d, 0x61, -0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x75, 0x78, 0x65, 0x64, 0x6f, 0x3a, -0x69, 0x6e, 0x6d, 0x61, 0x6e, 0x74, 0x75, 0x78, 0x65, 0x64, 0x6f, 0xd83d, -0xdc7c, 0x3a, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x3a, 0x61, 0x6e, 0x67, 0x65, -0x6c, 0xd83e, 0xdd30, 0x3a, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6e, -0x67, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x3a, 0x65, 0x78, 0x70, 0x65, -0x63, 0x74, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83e, 0xdd30, -0x3a, 0x70, 0x72, 0x65, 0x67, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x77, 0x6f, -0x6d, 0x61, 0x6e, 0x3a, 0x70, 0x72, 0x65, 0x67, 0x6e, 0x61, 0x6e, 0x74, -0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xde47, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x62, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x3a, -0x62, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, -0xde47, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x62, 0x6f, 0x77, 0x69, 0x6e, 0x67, -0x3a, 0x62, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0xd83d, 0xde47, -0x3a, 0x62, 0x6f, 0x77, 0x3a, 0x62, 0x6f, 0x77, 0xd83d, 0xde47, 0x3a, 0x70, -0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x77, 0x69, 0x6e, 0x67, -0x3a, 0x62, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, 0x6f, -0x6e, 0xd83d, 0xdc81, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x74, 0x69, -0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x3a, 0x68, -0x61, 0x6e, 0x64, 0x74, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x77, 0x6f, -0x6d, 0x61, 0x6e, 0xd83d, 0xdc81, 0x3a, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, -0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x6b, 0x5f, 0x70, -0x65, 0x72, 0x73, 0x6f, 0x6e, 0x3a, 0x64, 0x65, 0x73, 0x6b, 0x69, 0x6e, -0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x70, 0x65, 0x72, -0x73, 0x6f, 0x6e, 0xd83d, 0xdc81, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x5f, 0x74, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, -0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x74, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0xd83d, 0xdc81, 0x200d, 0x2642, 0xfe0f, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, -0x5f, 0x68, 0x61, 0x6e, 0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x6d, 0x61, -0x6e, 0x74, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0xd83d, 0xde45, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, -0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x3a, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, -0x69, 0x6e, 0x67, 0x6e, 0x6f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xde45, -0x3a, 0x6e, 0x6f, 0x5f, 0x67, 0x6f, 0x6f, 0x64, 0x3a, 0x67, 0x6f, 0x6f, -0x64, 0x6e, 0x6f, 0xd83d, 0xde45, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, -0x6f, 0x3a, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x6e, -0x6f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83d, 0xde45, 0x200d, 0x2642, 0xfe0f, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, -0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x3a, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, -0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0x6e, 0x6f, 0xd83d, 0xde46, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, -0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x3a, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, -0x69, 0x6e, 0x67, 0x6f, 0x6b, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xde46, -0x3a, 0x6f, 0x6b, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x3a, 0x6f, 0x6b, -0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xde46, 0x3a, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, 0x6e, 0x67, -0x5f, 0x6f, 0x6b, 0x3a, 0x67, 0x65, 0x73, 0x74, 0x75, 0x72, 0x69, 0x6e, -0x67, 0x6f, 0x6b, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83d, 0xde46, 0x200d, -0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x65, 0x73, 0x74, 0x75, -0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x3a, 0x67, 0x65, 0x73, 0x74, -0x75, 0x72, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0x6f, 0x6b, 0xd83d, 0xde4b, -0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x61, 0x69, 0x73, 0x69, -0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, -0x72, 0x61, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0xd83d, 0xde4b, 0x3a, 0x72, 0x61, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x68, -0x61, 0x6e, 0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x72, 0x61, 0x69, 0x73, -0x69, 0x6e, 0x67, 0xd83d, 0xde4b, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x5f, 0x72, 0x61, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, -0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x72, 0x61, 0x69, 0x73, 0x69, 0x6e, 0x67, 0xd83d, 0xde4b, 0x200d, 0x2642, 0xfe0f, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x61, 0x69, 0x73, 0x69, 0x6e, 0x67, -0x5f, 0x68, 0x61, 0x6e, 0x64, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x6d, 0x61, -0x6e, 0x72, 0x61, 0x69, 0x73, 0x69, 0x6e, 0x67, 0xd83e, 0xdd26, 0x200d, 0x2640, -0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x65, -0x70, 0x61, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x70, 0x61, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0xd83e, 0xdd26, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x61, -0x63, 0x65, 0x70, 0x61, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x66, 0x61, -0x63, 0x65, 0x70, 0x61, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, -0xd83e, 0xdd26, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x70, 0x61, -0x6c, 0x6d, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x70, 0x61, 0x6c, 0x6d, 0xd83e, -0xdd26, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x61, -0x6c, 0x6d, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x70, 0x61, 0x6c, 0x6d, 0xd83e, -0xdd26, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, -0x66, 0x61, 0x63, 0x65, 0x70, 0x61, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x3a, -0x66, 0x61, 0x63, 0x65, 0x70, 0x61, 0x6c, 0x6d, 0x69, 0x6e, 0x67, 0x70, -0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83e, 0xdd37, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x68, 0x72, 0x75, 0x67, 0x67, 0x69, -0x6e, 0x67, 0x3a, 0x73, 0x68, 0x72, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, -0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83e, 0xdd37, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x73, -0x68, 0x72, 0x75, 0x67, 0x3a, 0x73, 0x68, 0x72, 0x75, 0x67, 0xd83e, 0xdd37, -0x200d, 0x2640, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x73, -0x68, 0x72, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x3a, 0x70, 0x65, 0x72, -0x73, 0x6f, 0x6e, 0x73, 0x68, 0x72, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, -0xd83e, 0xdd37, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x68, -0x72, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x3a, 0x6d, 0x61, 0x6e, 0x73, -0x68, 0x72, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0xd83d, 0xde4e, 0x3a, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, -0x3a, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xde4e, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, -0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x70, 0x65, 0x72, -0x73, 0x6f, 0x6e, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x77, 0x69, -0x74, 0x68, 0xd83d, 0xde4e, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, -0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0xd83d, 0xde4e, 0x200d, -0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x75, 0x74, 0x69, -0x6e, 0x67, 0x3a, 0x6d, 0x61, 0x6e, 0x70, 0x6f, 0x75, 0x74, 0x69, 0x6e, -0x67, 0xd83d, 0xde4d, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x66, 0x72, -0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x66, 0x72, 0x6f, 0x77, 0x6e, -0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xde4d, 0x3a, 0x70, -0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, -0x6e, 0x67, 0x3a, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x70, -0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83d, 0xde4d, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, -0x61, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x3a, -0x66, 0x72, 0x6f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0xd83d, -0xdc87, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x65, 0x74, 0x74, -0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x69, 0x72, 0x63, 0x75, 0x74, 0x3a, -0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x68, 0x61, 0x69, 0x72, 0x63, -0x75, 0x74, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc87, 0x3a, 0x68, 0x61, -0x69, 0x72, 0x63, 0x75, 0x74, 0x3a, 0x68, 0x61, 0x69, 0x72, 0x63, 0x75, -0x74, 0xd83d, 0xdc87, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x67, -0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x69, 0x72, 0x63, -0x75, 0x74, 0x3a, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x68, 0x61, -0x69, 0x72, 0x63, 0x75, 0x74, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83d, -0xdc87, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x65, 0x74, -0x74, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x69, 0x72, 0x63, 0x75, 0x74, -0x3a, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x68, 0x61, 0x69, 0x72, -0x63, 0x75, 0x74, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc86, 0x3a, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0x5f, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66, -0x61, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, -0x66, 0x61, 0x63, 0x65, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x6d, -0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, -0xdc86, 0x3a, 0x6d, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x6d, 0x61, -0x73, 0x73, 0x61, 0x67, 0x65, 0xd83d, 0xdc86, 0x3a, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, -0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x67, 0x65, 0x74, 0x74, 0x69, -0x6e, 0x67, 0x6d, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x70, 0x65, 0x72, -0x73, 0x6f, 0x6e, 0xd83d, 0xdc86, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, -0x5f, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, -0x65, 0x5f, 0x6d, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x66, 0x61, -0x63, 0x65, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, -0x6d, 0x61, 0x73, 0x73, 0x61, 0x67, 0x65, 0xd83d, 0xdd74, 0x3a, 0x6d, 0x61, -0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, -0x73, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x69, 0x74, -0x61, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, -0x73, 0x73, 0x69, 0x6e, 0x6c, 0x65, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, -0x6e, 0x67, 0x6d, 0x61, 0x6e, 0x73, 0x75, 0x69, 0x74, 0xd83d, 0xdc83, 0x3a, -0x64, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x3a, 0x64, 0x61, 0x6e, 0x63, 0x65, -0x72, 0xd83d, 0xdd7a, 0x3a, 0x6d, 0x61, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x6e, -0x63, 0x65, 0x72, 0x3a, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x6d, 0x61, -0x6c, 0x65, 0xd83d, 0xdd7a, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x64, 0x61, 0x6e, -0x63, 0x69, 0x6e, 0x67, 0x3a, 0x64, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, -0x6d, 0x61, 0x6e, 0xd83d, 0xdc6f, 0x3a, 0x77, 0x6f, 0x6d, 0x65, 0x6e, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, 0x75, 0x6e, 0x6e, 0x79, 0x5f, 0x65, -0x61, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x69, 0x6e, 0x67, -0x3a, 0x62, 0x75, 0x6e, 0x6e, 0x79, 0x65, 0x61, 0x72, 0x73, 0x70, 0x61, -0x72, 0x74, 0x79, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x74, 0x68, 0x77, 0x6f, -0x6d, 0x65, 0x6e, 0xd83d, 0xdc6f, 0x3a, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x72, -0x73, 0x3a, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x73, 0xd83d, 0xdc6f, 0x3a, -0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, -0x62, 0x75, 0x6e, 0x6e, 0x79, 0x5f, 0x65, 0x61, 0x72, 0x73, 0x5f, 0x70, -0x61, 0x72, 0x74, 0x79, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, 0x6e, 0x6e, -0x79, 0x65, 0x61, 0x72, 0x73, 0x70, 0x61, 0x72, 0x74, 0x79, 0x69, 0x6e, -0x67, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x77, 0x69, 0x74, 0x68, 0xd83d, -0xdc6f, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x65, 0x6e, 0x5f, 0x77, 0x69, 0x74, -0x68, 0x5f, 0x62, 0x75, 0x6e, 0x6e, 0x79, 0x5f, 0x65, 0x61, 0x72, 0x73, -0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, -0x6e, 0x6e, 0x79, 0x65, 0x61, 0x72, 0x73, 0x6d, 0x65, 0x6e, 0x70, 0x61, -0x72, 0x74, 0x79, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdeb6, -0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x77, 0x61, -0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, -0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdeb6, 0x3a, 0x6d, 0x61, 0x6e, -0x5f, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x6d, 0x61, 0x6e, -0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0xd83d, 0xdeb6, 0x3a, 0x77, 0x61, -0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, -0x67, 0xd83d, 0xdeb6, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x77, -0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, -0x6e, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0xd83c, 0xdfc3, 0x200d, 0x2640, -0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x6e, -0x69, 0x6e, 0x67, 0x3a, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0xd83c, 0xdfc3, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x72, -0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x6d, 0x61, 0x6e, 0x72, 0x75, -0x6e, 0x6e, 0x69, 0x6e, 0x67, 0xd83c, 0xdfc3, 0x3a, 0x72, 0x75, 0x6e, 0x6e, -0x65, 0x72, 0x3a, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0xd83c, 0xdfc3, 0x3a, -0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, -0x6e, 0x67, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x72, 0x75, 0x6e, -0x6e, 0x69, 0x6e, 0x67, 0xd83d, 0xdc6b, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, -0x65, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0xd83d, 0xdc6d, 0x3a, 0x74, -0x77, 0x6f, 0x5f, 0x77, 0x6f, 0x6d, 0x65, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, -0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x3a, 0x68, -0x61, 0x6e, 0x64, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x74, -0x77, 0x6f, 0x77, 0x6f, 0x6d, 0x65, 0x6e, 0xd83d, 0xdc6c, 0x3a, 0x74, 0x77, -0x6f, 0x5f, 0x6d, 0x65, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, -0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x3a, 0x68, 0x61, 0x6e, 0x64, -0x73, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x6d, 0x65, 0x6e, 0x74, -0x77, 0x6f, 0xd83d, 0xdc91, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x3a, 0x63, -0x6f, 0x75, 0x70, 0x6c, 0x65, 0x68, 0x65, 0x61, 0x72, 0x74, 0x77, 0x69, -0x74, 0x68, 0xd83d, 0xdc91, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x3a, 0x63, 0x6f, 0x75, -0x70, 0x6c, 0x65, 0x68, 0x65, 0x61, 0x72, 0x74, 0x6d, 0x61, 0x6e, 0x77, -0x69, 0x74, 0x68, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, 0x2764, -0xfe0f, 0x200d, 0xd83d, 0xdc69, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, 0x77, -0x77, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x68, 0x65, 0x61, 0x72, -0x74, 0x77, 0x69, 0x74, 0x68, 0x77, 0x77, 0xd83d, 0xdc69, 0x200d, 0x2764, 0xfe0f, -0x200d, 0xd83d, 0xdc69, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x77, -0x77, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x77, 0x77, 0xd83d, 0xdc68, -0x200d, 0x2764, 0xfe0f, 0x200d, 0xd83d, 0xdc68, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, -0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, -0x5f, 0x6d, 0x6d, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x68, 0x65, -0x61, 0x72, 0x74, 0x6d, 0x6d, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdc68, 0x200d, -0x2764, 0xfe0f, 0x200d, 0xd83d, 0xdc68, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, -0x5f, 0x6d, 0x6d, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x6d, 0x6d, -0xd83d, 0xdc8f, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x6b, 0x69, 0x73, -0x73, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x6b, 0x69, 0x73, 0x73, -0xd83d, 0xdc8f, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0x5f, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0x6d, 0x61, -0x6e, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, 0x2764, 0xfe0f, 0x200d, -0xd83d, 0xdc8b, 0x200d, 0xd83d, 0xdc69, 0x3a, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, -0x6b, 0x69, 0x73, 0x73, 0x5f, 0x77, 0x77, 0x3a, 0x63, 0x6f, 0x75, 0x70, -0x6c, 0x65, 0x6b, 0x69, 0x73, 0x73, 0x77, 0x77, 0xd83d, 0xdc69, 0x200d, 0x2764, -0xfe0f, 0x200d, 0xd83d, 0xdc8b, 0x200d, 0xd83d, 0xdc69, 0x3a, 0x6b, 0x69, 0x73, 0x73, -0x5f, 0x77, 0x77, 0x3a, 0x6b, 0x69, 0x73, 0x73, 0x77, 0x77, 0xd83d, 0xdc68, -0x200d, 0x2764, 0xfe0f, 0x200d, 0xd83d, 0xdc8b, 0x200d, 0xd83d, 0xdc68, 0x3a, 0x63, 0x6f, -0x75, 0x70, 0x6c, 0x65, 0x6b, 0x69, 0x73, 0x73, 0x5f, 0x6d, 0x6d, 0x3a, -0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x6b, 0x69, 0x73, 0x73, 0x6d, 0x6d, -0xd83d, 0xdc68, 0x200d, 0x2764, 0xfe0f, 0x200d, 0xd83d, 0xdc8b, 0x200d, 0xd83d, 0xdc68, 0x3a, -0x6b, 0x69, 0x73, 0x73, 0x5f, 0x6d, 0x6d, 0x3a, 0x6b, 0x69, 0x73, 0x73, -0x6d, 0x6d, 0xd83d, 0xdc6a, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0xd83d, 0xdc6a, 0x3a, 0x66, 0x61, 0x6d, -0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x5f, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0x5f, 0x62, 0x6f, 0x79, 0x3a, 0x62, 0x6f, 0x79, 0x66, 0x61, 0x6d, -0x69, 0x6c, 0x79, 0x6d, 0x61, 0x6e, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, -0xdc68, 0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x5f, 0x6d, 0x77, 0x67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x6d, 0x77, 0x67, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc67, -0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, -0x77, 0x67, 0x62, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x77, -0x67, 0x62, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc66, 0x200d, 0xd83d, -0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x77, 0x62, -0x62, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x77, 0x62, 0x62, -0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc67, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x77, 0x67, 0x67, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x77, 0x67, 0x67, 0xd83d, 0xdc69, -0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x5f, 0x77, 0x77, 0x62, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, -0x77, 0x77, 0x62, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc67, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x77, 0x77, 0x67, 0x3a, 0x66, -0x61, 0x6d, 0x69, 0x6c, 0x79, 0x77, 0x77, 0x67, 0xd83d, 0xdc69, 0x200d, 0xd83d, -0xdc69, 0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x5f, 0x77, 0x77, 0x67, 0x62, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x77, 0x77, 0x67, 0x62, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc69, 0x200d, -0xd83d, 0xdc66, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, -0x5f, 0x77, 0x77, 0x62, 0x62, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, -0x77, 0x77, 0x62, 0x62, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc67, -0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x77, -0x77, 0x67, 0x67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x77, 0x77, -0x67, 0x67, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, -0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x6d, 0x62, 0x3a, 0x66, 0x61, -0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x6d, 0x62, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc68, -0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, -0x6d, 0x67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x6d, 0x67, -0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc66, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x6d, 0x67, 0x62, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x6d, 0x67, 0x62, 0xd83d, 0xdc68, -0x200d, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc66, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, -0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x6d, 0x62, 0x62, 0x3a, 0x66, 0x61, -0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x6d, 0x62, 0x62, 0xd83d, 0xdc68, 0x200d, 0xd83d, -0xdc68, 0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x5f, 0x6d, 0x6d, 0x67, 0x67, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x6d, 0x6d, 0x67, 0x67, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc66, 0x3a, -0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x5f, 0x62, 0x6f, 0x79, 0x3a, 0x62, 0x6f, 0x79, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, 0x200d, 0xd83d, 0xdc67, -0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0x5f, 0x67, 0x69, 0x72, 0x6c, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x67, 0x69, 0x72, 0x6c, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, -0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x69, 0x72, 0x6c, -0x5f, 0x62, 0x6f, 0x79, 0x3a, 0x62, 0x6f, 0x79, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x67, 0x69, 0x72, 0x6c, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, -0xdc69, 0x200d, 0xd83d, 0xdc66, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x62, 0x6f, 0x79, -0x5f, 0x62, 0x6f, 0x79, 0x3a, 0x62, 0x6f, 0x79, 0x62, 0x6f, 0x79, 0x66, -0x61, 0x6d, 0x69, 0x6c, 0x79, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc69, -0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x5f, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x69, 0x72, 0x6c, -0x5f, 0x67, 0x69, 0x72, 0x6c, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, -0x67, 0x69, 0x72, 0x6c, 0x67, 0x69, 0x72, 0x6c, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x5f, 0x62, 0x6f, 0x79, 0x3a, 0x62, 0x6f, -0x79, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, -0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, -0x61, 0x6e, 0x5f, 0x67, 0x69, 0x72, 0x6c, 0x3a, 0x66, 0x61, 0x6d, 0x69, -0x6c, 0x79, 0x67, 0x69, 0x72, 0x6c, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, -0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, -0x5f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x69, 0x72, 0x6c, 0x5f, 0x62, 0x6f, -0x79, 0x3a, 0x62, 0x6f, 0x79, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x67, -0x69, 0x72, 0x6c, 0x6d, 0x61, 0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc66, 0x200d, -0xd83d, 0xdc66, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x61, -0x6e, 0x5f, 0x62, 0x6f, 0x79, 0x5f, 0x62, 0x6f, 0x79, 0x3a, 0x62, 0x6f, -0x79, 0x62, 0x6f, 0x79, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6d, 0x61, -0x6e, 0xd83d, 0xdc68, 0x200d, 0xd83d, 0xdc67, 0x200d, 0xd83d, 0xdc67, 0x3a, 0x66, 0x61, -0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x69, 0x72, -0x6c, 0x5f, 0x67, 0x69, 0x72, 0x6c, 0x3a, 0x66, 0x61, 0x6d, 0x69, 0x6c, -0x79, 0x67, 0x69, 0x72, 0x6c, 0x67, 0x69, 0x72, 0x6c, 0x6d, 0x61, 0x6e, -0xd83d, 0xdc5a, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x73, 0x5f, 0x63, 0x6c, -0x6f, 0x74, 0x68, 0x65, 0x73, 0x3a, 0x63, 0x6c, 0x6f, 0x74, 0x68, 0x65, -0x73, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x73, 0xd83d, 0xdc55, 0x3a, 0x73, 0x68, -0x69, 0x72, 0x74, 0x3a, 0x73, 0x68, 0x69, 0x72, 0x74, 0xd83d, 0xdc56, 0x3a, -0x6a, 0x65, 0x61, 0x6e, 0x73, 0x3a, 0x6a, 0x65, 0x61, 0x6e, 0x73, 0xd83d, -0xdc54, 0x3a, 0x6e, 0x65, 0x63, 0x6b, 0x74, 0x69, 0x65, 0x3a, 0x6e, 0x65, -0x63, 0x6b, 0x74, 0x69, 0x65, 0xd83d, 0xdc57, 0x3a, 0x64, 0x72, 0x65, 0x73, -0x73, 0x3a, 0x64, 0x72, 0x65, 0x73, 0x73, 0xd83d, 0xdc59, 0x3a, 0x62, 0x69, -0x6b, 0x69, 0x6e, 0x69, 0x3a, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x69, 0xd83d, -0xdc58, 0x3a, 0x6b, 0x69, 0x6d, 0x6f, 0x6e, 0x6f, 0x3a, 0x6b, 0x69, 0x6d, -0x6f, 0x6e, 0x6f, 0xd83d, 0xdc60, 0x3a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x68, -0x65, 0x65, 0x6c, 0x3a, 0x68, 0x65, 0x65, 0x6c, 0x68, 0x69, 0x67, 0x68, -0xd83d, 0xdc61, 0x3a, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x3a, 0x73, 0x61, -0x6e, 0x64, 0x61, 0x6c, 0xd83d, 0xdc62, 0x3a, 0x62, 0x6f, 0x6f, 0x74, 0x3a, -0x62, 0x6f, 0x6f, 0x74, 0xd83d, 0xdc5e, 0x3a, 0x6d, 0x61, 0x6e, 0x73, 0x5f, -0x73, 0x68, 0x6f, 0x65, 0x3a, 0x6d, 0x61, 0x6e, 0x73, 0x73, 0x68, 0x6f, -0x65, 0xd83d, 0xdc5f, 0x3a, 0x61, 0x74, 0x68, 0x6c, 0x65, 0x74, 0x69, 0x63, -0x5f, 0x73, 0x68, 0x6f, 0x65, 0x3a, 0x61, 0x74, 0x68, 0x6c, 0x65, 0x74, -0x69, 0x63, 0x73, 0x68, 0x6f, 0x65, 0xd83d, 0xdc52, 0x3a, 0x77, 0x6f, 0x6d, -0x61, 0x6e, 0x73, 0x5f, 0x68, 0x61, 0x74, 0x3a, 0x68, 0x61, 0x74, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0x73, 0xd83c, 0xdfa9, 0x3a, 0x74, 0x6f, 0x70, 0x68, -0x61, 0x74, 0x3a, 0x74, 0x6f, 0x70, 0x68, 0x61, 0x74, 0xd83c, 0xdf93, 0x3a, -0x6d, 0x6f, 0x72, 0x74, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, -0x3a, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x6d, 0x6f, 0x72, 0x74, 0x61, 0x72, -0xd83d, 0xdc51, 0x3a, 0x63, 0x72, 0x6f, 0x77, 0x6e, 0x3a, 0x63, 0x72, 0x6f, -0x77, 0x6e, 0x26d1, 0x3a, 0x68, 0x65, 0x6c, 0x6d, 0x65, 0x74, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x72, -0x6f, 0x73, 0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x68, 0x65, 0x6c, -0x6d, 0x65, 0x74, 0x77, 0x68, 0x69, 0x74, 0x65, 0x77, 0x69, 0x74, 0x68, -0x26d1, 0x3a, 0x68, 0x65, 0x6c, 0x6d, 0x65, 0x74, 0x5f, 0x77, 0x69, 0x74, -0x68, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, -0x73, 0x68, 0x65, 0x6c, 0x6d, 0x65, 0x74, 0x77, 0x69, 0x74, 0x68, 0xd83c, -0xdf92, 0x3a, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x5f, 0x73, 0x61, 0x74, -0x63, 0x68, 0x65, 0x6c, 0x3a, 0x73, 0x61, 0x74, 0x63, 0x68, 0x65, 0x6c, -0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0xd83d, 0xdc5d, 0x3a, 0x70, 0x6f, 0x75, -0x63, 0x68, 0x3a, 0x70, 0x6f, 0x75, 0x63, 0x68, 0xd83d, 0xdc5b, 0x3a, 0x70, -0x75, 0x72, 0x73, 0x65, 0x3a, 0x70, 0x75, 0x72, 0x73, 0x65, 0xd83d, 0xdc5c, -0x3a, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x67, 0x3a, 0x68, 0x61, 0x6e, -0x64, 0x62, 0x61, 0x67, 0xd83d, 0xdcbc, 0x3a, 0x62, 0x72, 0x69, 0x65, 0x66, -0x63, 0x61, 0x73, 0x65, 0x3a, 0x62, 0x72, 0x69, 0x65, 0x66, 0x63, 0x61, -0x73, 0x65, 0xd83d, 0xdc53, 0x3a, 0x65, 0x79, 0x65, 0x67, 0x6c, 0x61, 0x73, -0x73, 0x65, 0x73, 0x3a, 0x65, 0x79, 0x65, 0x67, 0x6c, 0x61, 0x73, 0x73, -0x65, 0x73, 0xd83d, 0xdd76, 0x3a, 0x64, 0x61, 0x72, 0x6b, 0x5f, 0x73, 0x75, -0x6e, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x3a, 0x64, 0x61, 0x72, -0x6b, 0x73, 0x75, 0x6e, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0xd83c, -0xdf02, 0x3a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x75, 0x6d, 0x62, -0x72, 0x65, 0x6c, 0x6c, 0x61, 0x3a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, -0x75, 0x6d, 0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x2602, 0xfe0f, 0x3a, 0x75, -0x6d, 0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x32, 0x3a, 0x75, 0x6d, 0x62, -0x72, 0x65, 0x6c, 0x6c, 0x61, 0x32, 0xd83d, 0xdc36, 0x3a, 0x64, 0x6f, 0x67, -0x3a, 0x64, 0x6f, 0x67, 0xd83d, 0xdc31, 0x3a, 0x63, 0x61, 0x74, 0x3a, 0x63, -0x61, 0x74, 0xd83d, 0xdc2d, 0x3a, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x3a, 0x6d, -0x6f, 0x75, 0x73, 0x65, 0xd83d, 0xdc39, 0x3a, 0x68, 0x61, 0x6d, 0x73, 0x74, -0x65, 0x72, 0x3a, 0x68, 0x61, 0x6d, 0x73, 0x74, 0x65, 0x72, 0xd83d, 0xdc30, -0x3a, 0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x3a, 0x72, 0x61, 0x62, 0x62, -0x69, 0x74, 0xd83e, 0xdd8a, 0x3a, 0x66, 0x6f, 0x78, 0x5f, 0x66, 0x61, 0x63, -0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x66, 0x6f, 0x78, 0xd83e, 0xdd8a, 0x3a, -0x66, 0x6f, 0x78, 0x3a, 0x66, 0x6f, 0x78, 0xd83d, 0xdc3b, 0x3a, 0x62, 0x65, -0x61, 0x72, 0x3a, 0x62, 0x65, 0x61, 0x72, 0xd83d, 0xdc3c, 0x3a, 0x70, 0x61, -0x6e, 0x64, 0x61, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, -0x65, 0x70, 0x61, 0x6e, 0x64, 0x61, 0xd83d, 0xdc28, 0x3a, 0x6b, 0x6f, 0x61, -0x6c, 0x61, 0x3a, 0x6b, 0x6f, 0x61, 0x6c, 0x61, 0xd83d, 0xdc2f, 0x3a, 0x74, -0x69, 0x67, 0x65, 0x72, 0x3a, 0x74, 0x69, 0x67, 0x65, 0x72, 0xd83e, 0xdd81, -0x3a, 0x6c, 0x69, 0x6f, 0x6e, 0x3a, 0x6c, 0x69, 0x6f, 0x6e, 0xd83e, 0xdd81, -0x3a, 0x6c, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, -0x61, 0x63, 0x65, 0x6c, 0x69, 0x6f, 0x6e, 0xd83d, 0xdc2e, 0x3a, 0x63, 0x6f, -0x77, 0x3a, 0x63, 0x6f, 0x77, 0xd83d, 0xdc37, 0x3a, 0x70, 0x69, 0x67, 0x3a, -0x70, 0x69, 0x67, 0xd83d, 0xdc3d, 0x3a, 0x70, 0x69, 0x67, 0x5f, 0x6e, 0x6f, -0x73, 0x65, 0x3a, 0x6e, 0x6f, 0x73, 0x65, 0x70, 0x69, 0x67, 0xd83d, 0xdc38, -0x3a, 0x66, 0x72, 0x6f, 0x67, 0x3a, 0x66, 0x72, 0x6f, 0x67, 0xd83d, 0xdc35, -0x3a, 0x6d, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x61, 0x63, 0x65, -0x3a, 0x66, 0x61, 0x63, 0x65, 0x6d, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0xd83d, -0xde48, 0x3a, 0x73, 0x65, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x65, 0x76, 0x69, -0x6c, 0x3a, 0x65, 0x76, 0x69, 0x6c, 0x6e, 0x6f, 0x73, 0x65, 0x65, 0xd83d, -0xde49, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x5f, 0x6e, 0x6f, 0x5f, 0x65, 0x76, -0x69, 0x6c, 0x3a, 0x65, 0x76, 0x69, 0x6c, 0x68, 0x65, 0x61, 0x72, 0x6e, -0x6f, 0xd83d, 0xde4a, 0x3a, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x5f, 0x6e, 0x6f, -0x5f, 0x65, 0x76, 0x69, 0x6c, 0x3a, 0x65, 0x76, 0x69, 0x6c, 0x6e, 0x6f, -0x73, 0x70, 0x65, 0x61, 0x6b, 0xd83d, 0xdc12, 0x3a, 0x6d, 0x6f, 0x6e, 0x6b, -0x65, 0x79, 0x3a, 0x6d, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0xd83d, 0xdc14, 0x3a, -0x63, 0x68, 0x69, 0x63, 0x6b, 0x65, 0x6e, 0x3a, 0x63, 0x68, 0x69, 0x63, -0x6b, 0x65, 0x6e, 0xd83d, 0xdc27, 0x3a, 0x70, 0x65, 0x6e, 0x67, 0x75, 0x69, -0x6e, 0x3a, 0x70, 0x65, 0x6e, 0x67, 0x75, 0x69, 0x6e, 0xd83d, 0xdc26, 0x3a, -0x62, 0x69, 0x72, 0x64, 0x3a, 0x62, 0x69, 0x72, 0x64, 0xd83d, 0xdc24, 0x3a, -0x62, 0x61, 0x62, 0x79, 0x5f, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x3a, 0x62, -0x61, 0x62, 0x79, 0x63, 0x68, 0x69, 0x63, 0x6b, 0xd83d, 0xdc23, 0x3a, 0x68, -0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x69, 0x63, -0x6b, 0x3a, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x68, 0x61, 0x74, 0x63, 0x68, -0x69, 0x6e, 0x67, 0xd83d, 0xdc25, 0x3a, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, -0x64, 0x5f, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x3a, 0x63, 0x68, 0x69, 0x63, -0x6b, 0x68, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0xd83e, 0xdd86, 0x3a, 0x64, -0x75, 0x63, 0x6b, 0x3a, 0x64, 0x75, 0x63, 0x6b, 0xd83e, 0xdd85, 0x3a, 0x65, -0x61, 0x67, 0x6c, 0x65, 0x3a, 0x65, 0x61, 0x67, 0x6c, 0x65, 0xd83e, 0xdd89, -0x3a, 0x6f, 0x77, 0x6c, 0x3a, 0x6f, 0x77, 0x6c, 0xd83e, 0xdd87, 0x3a, 0x62, -0x61, 0x74, 0x3a, 0x62, 0x61, 0x74, 0xd83d, 0xdc3a, 0x3a, 0x77, 0x6f, 0x6c, -0x66, 0x3a, 0x77, 0x6f, 0x6c, 0x66, 0xd83d, 0xdc17, 0x3a, 0x62, 0x6f, 0x61, -0x72, 0x3a, 0x62, 0x6f, 0x61, 0x72, 0xd83d, 0xdc34, 0x3a, 0x68, 0x6f, 0x72, -0x73, 0x65, 0x3a, 0x68, 0x6f, 0x72, 0x73, 0x65, 0xd83e, 0xdd84, 0x3a, 0x75, -0x6e, 0x69, 0x63, 0x6f, 0x72, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, -0x66, 0x61, 0x63, 0x65, 0x75, 0x6e, 0x69, 0x63, 0x6f, 0x72, 0x6e, 0xd83e, -0xdd84, 0x3a, 0x75, 0x6e, 0x69, 0x63, 0x6f, 0x72, 0x6e, 0x3a, 0x75, 0x6e, -0x69, 0x63, 0x6f, 0x72, 0x6e, 0xd83d, 0xdc1d, 0x3a, 0x62, 0x65, 0x65, 0x3a, -0x62, 0x65, 0x65, 0xd83d, 0xdc1b, 0x3a, 0x62, 0x75, 0x67, 0x3a, 0x62, 0x75, -0x67, 0xd83e, 0xdd8b, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x65, 0x72, 0x66, 0x6c, -0x79, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x65, 0x72, 0x66, 0x6c, 0x79, 0xd83d, -0xdc0c, 0x3a, 0x73, 0x6e, 0x61, 0x69, 0x6c, 0x3a, 0x73, 0x6e, 0x61, 0x69, -0x6c, 0xd83d, 0xdc1a, 0x3a, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x3a, 0x73, 0x68, -0x65, 0x6c, 0x6c, 0xd83d, 0xdc1e, 0x3a, 0x62, 0x65, 0x65, 0x74, 0x6c, 0x65, -0x3a, 0x62, 0x65, 0x65, 0x74, 0x6c, 0x65, 0xd83d, 0xdc1c, 0x3a, 0x61, 0x6e, -0x74, 0x3a, 0x61, 0x6e, 0x74, 0xd83d, 0xdd77, 0x3a, 0x73, 0x70, 0x69, 0x64, -0x65, 0x72, 0x3a, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0xd83d, 0xdd78, 0x3a, -0x73, 0x70, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x77, 0x65, 0x62, 0x3a, 0x73, -0x70, 0x69, 0x64, 0x65, 0x72, 0x77, 0x65, 0x62, 0xd83d, 0xdc22, 0x3a, 0x74, -0x75, 0x72, 0x74, 0x6c, 0x65, 0x3a, 0x74, 0x75, 0x72, 0x74, 0x6c, 0x65, -0xd83d, 0xdc0d, 0x3a, 0x73, 0x6e, 0x61, 0x6b, 0x65, 0x3a, 0x73, 0x6e, 0x61, -0x6b, 0x65, 0xd83e, 0xdd8e, 0x3a, 0x6c, 0x69, 0x7a, 0x61, 0x72, 0x64, 0x3a, -0x6c, 0x69, 0x7a, 0x61, 0x72, 0x64, 0xd83e, 0xdd82, 0x3a, 0x73, 0x63, 0x6f, -0x72, 0x70, 0x69, 0x6f, 0x6e, 0x3a, 0x73, 0x63, 0x6f, 0x72, 0x70, 0x69, -0x6f, 0x6e, 0xd83e, 0xdd80, 0x3a, 0x63, 0x72, 0x61, 0x62, 0x3a, 0x63, 0x72, -0x61, 0x62, 0xd83e, 0xdd91, 0x3a, 0x73, 0x71, 0x75, 0x69, 0x64, 0x3a, 0x73, -0x71, 0x75, 0x69, 0x64, 0xd83d, 0xdc19, 0x3a, 0x6f, 0x63, 0x74, 0x6f, 0x70, -0x75, 0x73, 0x3a, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0xd83e, 0xdd90, -0x3a, 0x73, 0x68, 0x72, 0x69, 0x6d, 0x70, 0x3a, 0x73, 0x68, 0x72, 0x69, -0x6d, 0x70, 0xd83d, 0xdc20, 0x3a, 0x74, 0x72, 0x6f, 0x70, 0x69, 0x63, 0x61, -0x6c, 0x5f, 0x66, 0x69, 0x73, 0x68, 0x3a, 0x66, 0x69, 0x73, 0x68, 0x74, -0x72, 0x6f, 0x70, 0x69, 0x63, 0x61, 0x6c, 0xd83d, 0xdc1f, 0x3a, 0x66, 0x69, -0x73, 0x68, 0x3a, 0x66, 0x69, 0x73, 0x68, 0xd83d, 0xdc21, 0x3a, 0x62, 0x6c, -0x6f, 0x77, 0x66, 0x69, 0x73, 0x68, 0x3a, 0x62, 0x6c, 0x6f, 0x77, 0x66, -0x69, 0x73, 0x68, 0xd83d, 0xdc2c, 0x3a, 0x64, 0x6f, 0x6c, 0x70, 0x68, 0x69, -0x6e, 0x3a, 0x64, 0x6f, 0x6c, 0x70, 0x68, 0x69, 0x6e, 0xd83e, 0xdd88, 0x3a, -0x73, 0x68, 0x61, 0x72, 0x6b, 0x3a, 0x73, 0x68, 0x61, 0x72, 0x6b, 0xd83d, -0xdc33, 0x3a, 0x77, 0x68, 0x61, 0x6c, 0x65, 0x3a, 0x77, 0x68, 0x61, 0x6c, -0x65, 0xd83d, 0xdc0b, 0x3a, 0x77, 0x68, 0x61, 0x6c, 0x65, 0x32, 0x3a, 0x77, -0x68, 0x61, 0x6c, 0x65, 0x32, 0xd83d, 0xdc0a, 0x3a, 0x63, 0x72, 0x6f, 0x63, -0x6f, 0x64, 0x69, 0x6c, 0x65, 0x3a, 0x63, 0x72, 0x6f, 0x63, 0x6f, 0x64, -0x69, 0x6c, 0x65, 0xd83d, 0xdc06, 0x3a, 0x6c, 0x65, 0x6f, 0x70, 0x61, 0x72, -0x64, 0x3a, 0x6c, 0x65, 0x6f, 0x70, 0x61, 0x72, 0x64, 0xd83d, 0xdc05, 0x3a, -0x74, 0x69, 0x67, 0x65, 0x72, 0x32, 0x3a, 0x74, 0x69, 0x67, 0x65, 0x72, -0x32, 0xd83d, 0xdc03, 0x3a, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x62, 0x75, -0x66, 0x66, 0x61, 0x6c, 0x6f, 0x3a, 0x62, 0x75, 0x66, 0x66, 0x61, 0x6c, -0x6f, 0x77, 0x61, 0x74, 0x65, 0x72, 0xd83d, 0xdc02, 0x3a, 0x6f, 0x78, 0x3a, -0x6f, 0x78, 0xd83d, 0xdc04, 0x3a, 0x63, 0x6f, 0x77, 0x32, 0x3a, 0x63, 0x6f, -0x77, 0x32, 0xd83e, 0xdd8c, 0x3a, 0x64, 0x65, 0x65, 0x72, 0x3a, 0x64, 0x65, -0x65, 0x72, 0xd83d, 0xdc2a, 0x3a, 0x64, 0x72, 0x6f, 0x6d, 0x65, 0x64, 0x61, -0x72, 0x79, 0x5f, 0x63, 0x61, 0x6d, 0x65, 0x6c, 0x3a, 0x63, 0x61, 0x6d, -0x65, 0x6c, 0x64, 0x72, 0x6f, 0x6d, 0x65, 0x64, 0x61, 0x72, 0x79, 0xd83d, -0xdc2b, 0x3a, 0x63, 0x61, 0x6d, 0x65, 0x6c, 0x3a, 0x63, 0x61, 0x6d, 0x65, -0x6c, 0xd83d, 0xdc18, 0x3a, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, -0x3a, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x61, 0x6e, 0x74, 0xd83e, 0xdd8f, 0x3a, -0x72, 0x68, 0x69, 0x6e, 0x6f, 0x63, 0x65, 0x72, 0x6f, 0x73, 0x3a, 0x72, -0x68, 0x69, 0x6e, 0x6f, 0x63, 0x65, 0x72, 0x6f, 0x73, 0xd83e, 0xdd8f, 0x3a, -0x72, 0x68, 0x69, 0x6e, 0x6f, 0x3a, 0x72, 0x68, 0x69, 0x6e, 0x6f, 0xd83e, -0xdd8d, 0x3a, 0x67, 0x6f, 0x72, 0x69, 0x6c, 0x6c, 0x61, 0x3a, 0x67, 0x6f, -0x72, 0x69, 0x6c, 0x6c, 0x61, 0xd83d, 0xdc0e, 0x3a, 0x72, 0x61, 0x63, 0x65, -0x68, 0x6f, 0x72, 0x73, 0x65, 0x3a, 0x72, 0x61, 0x63, 0x65, 0x68, 0x6f, -0x72, 0x73, 0x65, 0xd83d, 0xdc16, 0x3a, 0x70, 0x69, 0x67, 0x32, 0x3a, 0x70, -0x69, 0x67, 0x32, 0xd83d, 0xdc10, 0x3a, 0x67, 0x6f, 0x61, 0x74, 0x3a, 0x67, -0x6f, 0x61, 0x74, 0xd83d, 0xdc0f, 0x3a, 0x72, 0x61, 0x6d, 0x3a, 0x72, 0x61, -0x6d, 0xd83d, 0xdc11, 0x3a, 0x73, 0x68, 0x65, 0x65, 0x70, 0x3a, 0x73, 0x68, -0x65, 0x65, 0x70, 0xd83d, 0xdc15, 0x3a, 0x64, 0x6f, 0x67, 0x32, 0x3a, 0x64, -0x6f, 0x67, 0x32, 0xd83d, 0xdc29, 0x3a, 0x70, 0x6f, 0x6f, 0x64, 0x6c, 0x65, -0x3a, 0x70, 0x6f, 0x6f, 0x64, 0x6c, 0x65, 0xd83d, 0xdc08, 0x3a, 0x63, 0x61, -0x74, 0x32, 0x3a, 0x63, 0x61, 0x74, 0x32, 0xd83d, 0xdc13, 0x3a, 0x72, 0x6f, -0x6f, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x72, 0x6f, 0x6f, 0x73, 0x74, 0x65, -0x72, 0xd83e, 0xdd83, 0x3a, 0x74, 0x75, 0x72, 0x6b, 0x65, 0x79, 0x3a, 0x74, -0x75, 0x72, 0x6b, 0x65, 0x79, 0xd83d, 0xdd4a, 0x3a, 0x64, 0x6f, 0x76, 0x65, -0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x65, 0x61, 0x63, 0x65, 0x3a, 0x64, 0x6f, -0x76, 0x65, 0x6f, 0x66, 0x70, 0x65, 0x61, 0x63, 0x65, 0xd83d, 0xdd4a, 0x3a, -0x64, 0x6f, 0x76, 0x65, 0x3a, 0x64, 0x6f, 0x76, 0x65, 0xd83d, 0xdc07, 0x3a, -0x72, 0x61, 0x62, 0x62, 0x69, 0x74, 0x32, 0x3a, 0x72, 0x61, 0x62, 0x62, -0x69, 0x74, 0x32, 0xd83d, 0xdc01, 0x3a, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x32, -0x3a, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x32, 0xd83d, 0xdc00, 0x3a, 0x72, 0x61, -0x74, 0x3a, 0x72, 0x61, 0x74, 0xd83d, 0xdc3f, 0x3a, 0x63, 0x68, 0x69, 0x70, -0x6d, 0x75, 0x6e, 0x6b, 0x3a, 0x63, 0x68, 0x69, 0x70, 0x6d, 0x75, 0x6e, -0x6b, 0xd83d, 0xdc3e, 0x3a, 0x70, 0x61, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6e, -0x74, 0x73, 0x3a, 0x70, 0x61, 0x77, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x73, -0xd83d, 0xdc3e, 0x3a, 0x66, 0x65, 0x65, 0x74, 0x3a, 0x66, 0x65, 0x65, 0x74, -0xd83d, 0xdc09, 0x3a, 0x64, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x3a, 0x64, 0x72, -0x61, 0x67, 0x6f, 0x6e, 0xd83d, 0xdc32, 0x3a, 0x64, 0x72, 0x61, 0x67, 0x6f, -0x6e, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x64, 0x72, 0x61, 0x67, 0x6f, -0x6e, 0x66, 0x61, 0x63, 0x65, 0xd83c, 0xdf35, 0x3a, 0x63, 0x61, 0x63, 0x74, -0x75, 0x73, 0x3a, 0x63, 0x61, 0x63, 0x74, 0x75, 0x73, 0xd83c, 0xdf84, 0x3a, -0x63, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x5f, 0x74, 0x72, -0x65, 0x65, 0x3a, 0x63, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6d, 0x61, 0x73, -0x74, 0x72, 0x65, 0x65, 0xd83c, 0xdf32, 0x3a, 0x65, 0x76, 0x65, 0x72, 0x67, -0x72, 0x65, 0x65, 0x6e, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x3a, 0x65, 0x76, -0x65, 0x72, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x74, 0x72, 0x65, 0x65, 0xd83c, -0xdf33, 0x3a, 0x64, 0x65, 0x63, 0x69, 0x64, 0x75, 0x6f, 0x75, 0x73, 0x5f, -0x74, 0x72, 0x65, 0x65, 0x3a, 0x64, 0x65, 0x63, 0x69, 0x64, 0x75, 0x6f, -0x75, 0x73, 0x74, 0x72, 0x65, 0x65, 0xd83c, 0xdf34, 0x3a, 0x70, 0x61, 0x6c, -0x6d, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x3a, 0x70, 0x61, 0x6c, 0x6d, 0x74, -0x72, 0x65, 0x65, 0xd83c, 0xdf31, 0x3a, 0x73, 0x65, 0x65, 0x64, 0x6c, 0x69, -0x6e, 0x67, 0x3a, 0x73, 0x65, 0x65, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0xd83c, -0xdf3f, 0x3a, 0x68, 0x65, 0x72, 0x62, 0x3a, 0x68, 0x65, 0x72, 0x62, 0x2618, -0xfe0f, 0x3a, 0x73, 0x68, 0x61, 0x6d, 0x72, 0x6f, 0x63, 0x6b, 0x3a, 0x73, -0x68, 0x61, 0x6d, 0x72, 0x6f, 0x63, 0x6b, 0xd83c, 0xdf40, 0x3a, 0x66, 0x6f, -0x75, 0x72, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x5f, 0x63, 0x6c, 0x6f, 0x76, -0x65, 0x72, 0x3a, 0x63, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6f, 0x75, -0x72, 0x6c, 0x65, 0x61, 0x66, 0xd83c, 0xdf8d, 0x3a, 0x62, 0x61, 0x6d, 0x62, -0x6f, 0x6f, 0x3a, 0x62, 0x61, 0x6d, 0x62, 0x6f, 0x6f, 0xd83c, 0xdf8b, 0x3a, -0x74, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x72, 0x65, -0x65, 0x3a, 0x74, 0x61, 0x6e, 0x61, 0x62, 0x61, 0x74, 0x61, 0x74, 0x72, -0x65, 0x65, 0xd83c, 0xdf43, 0x3a, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0x3a, -0x6c, 0x65, 0x61, 0x76, 0x65, 0x73, 0xd83c, 0xdf42, 0x3a, 0x66, 0x61, 0x6c, -0x6c, 0x65, 0x6e, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x3a, 0x66, 0x61, 0x6c, -0x6c, 0x65, 0x6e, 0x6c, 0x65, 0x61, 0x66, 0xd83c, 0xdf41, 0x3a, 0x6d, 0x61, -0x70, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x3a, 0x6c, 0x65, 0x61, -0x66, 0x6d, 0x61, 0x70, 0x6c, 0x65, 0xd83c, 0xdf44, 0x3a, 0x6d, 0x75, 0x73, -0x68, 0x72, 0x6f, 0x6f, 0x6d, 0x3a, 0x6d, 0x75, 0x73, 0x68, 0x72, 0x6f, -0x6f, 0x6d, 0xd83c, 0xdf3e, 0x3a, 0x65, 0x61, 0x72, 0x5f, 0x6f, 0x66, 0x5f, -0x72, 0x69, 0x63, 0x65, 0x3a, 0x65, 0x61, 0x72, 0x6f, 0x66, 0x72, 0x69, -0x63, 0x65, 0xd83d, 0xdc90, 0x3a, 0x62, 0x6f, 0x75, 0x71, 0x75, 0x65, 0x74, -0x3a, 0x62, 0x6f, 0x75, 0x71, 0x75, 0x65, 0x74, 0xd83c, 0xdf37, 0x3a, 0x74, -0x75, 0x6c, 0x69, 0x70, 0x3a, 0x74, 0x75, 0x6c, 0x69, 0x70, 0xd83c, 0xdf39, -0x3a, 0x72, 0x6f, 0x73, 0x65, 0x3a, 0x72, 0x6f, 0x73, 0x65, 0xd83e, 0xdd40, -0x3a, 0x77, 0x69, 0x6c, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, -0x65, 0x72, 0x3a, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x77, 0x69, 0x6c, -0x74, 0x65, 0x64, 0xd83e, 0xdd40, 0x3a, 0x77, 0x69, 0x6c, 0x74, 0x65, 0x64, -0x5f, 0x72, 0x6f, 0x73, 0x65, 0x3a, 0x72, 0x6f, 0x73, 0x65, 0x77, 0x69, -0x6c, 0x74, 0x65, 0x64, 0xd83c, 0xdf3b, 0x3a, 0x73, 0x75, 0x6e, 0x66, 0x6c, -0x6f, 0x77, 0x65, 0x72, 0x3a, 0x73, 0x75, 0x6e, 0x66, 0x6c, 0x6f, 0x77, -0x65, 0x72, 0xd83c, 0xdf3c, 0x3a, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, -0x3a, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0xd83c, 0xdf38, 0x3a, 0x63, -0x68, 0x65, 0x72, 0x72, 0x79, 0x5f, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, -0x6d, 0x3a, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x63, 0x68, 0x65, -0x72, 0x72, 0x79, 0xd83c, 0xdf3a, 0x3a, 0x68, 0x69, 0x62, 0x69, 0x73, 0x63, -0x75, 0x73, 0x3a, 0x68, 0x69, 0x62, 0x69, 0x73, 0x63, 0x75, 0x73, 0xd83c, -0xdf0e, 0x3a, 0x65, 0x61, 0x72, 0x74, 0x68, 0x5f, 0x61, 0x6d, 0x65, 0x72, -0x69, 0x63, 0x61, 0x73, 0x3a, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, -0x73, 0x65, 0x61, 0x72, 0x74, 0x68, 0xd83c, 0xdf0d, 0x3a, 0x65, 0x61, 0x72, -0x74, 0x68, 0x5f, 0x61, 0x66, 0x72, 0x69, 0x63, 0x61, 0x3a, 0x61, 0x66, -0x72, 0x69, 0x63, 0x61, 0x65, 0x61, 0x72, 0x74, 0x68, 0xd83c, 0xdf0f, 0x3a, -0x65, 0x61, 0x72, 0x74, 0x68, 0x5f, 0x61, 0x73, 0x69, 0x61, 0x3a, 0x61, -0x73, 0x69, 0x61, 0x65, 0x61, 0x72, 0x74, 0x68, 0xd83c, 0xdf15, 0x3a, 0x66, -0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x3a, 0x66, 0x75, 0x6c, -0x6c, 0x6d, 0x6f, 0x6f, 0x6e, 0xd83c, 0xdf16, 0x3a, 0x77, 0x61, 0x6e, 0x69, -0x6e, 0x67, 0x5f, 0x67, 0x69, 0x62, 0x62, 0x6f, 0x75, 0x73, 0x5f, 0x6d, -0x6f, 0x6f, 0x6e, 0x3a, 0x67, 0x69, 0x62, 0x62, 0x6f, 0x75, 0x73, 0x6d, -0x6f, 0x6f, 0x6e, 0x77, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0xd83c, 0xdf17, 0x3a, -0x6c, 0x61, 0x73, 0x74, 0x5f, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, -0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x3a, 0x6c, 0x61, 0x73, 0x74, 0x6d, 0x6f, -0x6f, 0x6e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0xd83c, 0xdf18, 0x3a, -0x77, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x73, 0x63, -0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x3a, 0x63, 0x72, 0x65, -0x73, 0x63, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x6f, 0x6e, 0x77, 0x61, 0x6e, -0x69, 0x6e, 0x67, 0xd83c, 0xdf11, 0x3a, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x6f, -0x6f, 0x6e, 0x3a, 0x6d, 0x6f, 0x6f, 0x6e, 0x6e, 0x65, 0x77, 0xd83c, 0xdf12, -0x3a, 0x77, 0x61, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x72, 0x65, 0x73, -0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x3a, 0x63, 0x72, -0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x6f, 0x6e, 0x77, 0x61, -0x78, 0x69, 0x6e, 0x67, 0xd83c, 0xdf13, 0x3a, 0x66, 0x69, 0x72, 0x73, 0x74, -0x5f, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x6f, -0x6e, 0x3a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6d, 0x6f, 0x6f, 0x6e, 0x71, -0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0xd83c, 0xdf14, 0x3a, 0x77, 0x61, 0x78, -0x69, 0x6e, 0x67, 0x5f, 0x67, 0x69, 0x62, 0x62, 0x6f, 0x75, 0x73, 0x5f, -0x6d, 0x6f, 0x6f, 0x6e, 0x3a, 0x67, 0x69, 0x62, 0x62, 0x6f, 0x75, 0x73, -0x6d, 0x6f, 0x6f, 0x6e, 0x77, 0x61, 0x78, 0x69, 0x6e, 0x67, 0xd83c, 0xdf1a, -0x3a, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x5f, 0x77, 0x69, -0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, -0x6d, 0x6f, 0x6f, 0x6e, 0x6e, 0x65, 0x77, 0x77, 0x69, 0x74, 0x68, 0xd83c, -0xdf1d, 0x3a, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, -0x63, 0x65, 0x66, 0x75, 0x6c, 0x6c, 0x6d, 0x6f, 0x6f, 0x6e, 0x77, 0x69, -0x74, 0x68, 0xd83c, 0xdf1e, 0x3a, 0x73, 0x75, 0x6e, 0x5f, 0x77, 0x69, 0x74, -0x68, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x73, -0x75, 0x6e, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdf1b, 0x3a, 0x66, 0x69, 0x72, -0x73, 0x74, 0x5f, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x6d, -0x6f, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, -0x65, 0x3a, 0x66, 0x61, 0x63, 0x65, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6d, -0x6f, 0x6f, 0x6e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x77, 0x69, -0x74, 0x68, 0xd83c, 0xdf1c, 0x3a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x71, 0x75, -0x61, 0x72, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x3a, 0x66, 0x61, 0x63, -0x65, 0x6c, 0x61, 0x73, 0x74, 0x6d, 0x6f, 0x6f, 0x6e, 0x71, 0x75, 0x61, -0x72, 0x74, 0x65, 0x72, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdf19, 0x3a, 0x63, -0x72, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x6f, 0x6f, 0x6e, -0x3a, 0x63, 0x72, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x6d, 0x6f, 0x6f, -0x6e, 0xd83d, 0xdcab, 0x3a, 0x64, 0x69, 0x7a, 0x7a, 0x79, 0x3a, 0x64, 0x69, -0x7a, 0x7a, 0x79, 0x2b50, 0xfe0f, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x3a, 0x73, -0x74, 0x61, 0x72, 0xd83c, 0xdf1f, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x32, 0x3a, -0x73, 0x74, 0x61, 0x72, 0x32, 0x2728, 0x3a, 0x73, 0x70, 0x61, 0x72, 0x6b, -0x6c, 0x65, 0x73, 0x3a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x6c, 0x65, 0x73, -0x26a1, 0xfe0f, 0x3a, 0x7a, 0x61, 0x70, 0x3a, 0x7a, 0x61, 0x70, 0xd83d, 0xdd25, -0x3a, 0x66, 0x6c, 0x61, 0x6d, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x6d, 0x65, -0xd83d, 0xdd25, 0x3a, 0x66, 0x69, 0x72, 0x65, 0x3a, 0x66, 0x69, 0x72, 0x65, -0xd83d, 0xdca5, 0x3a, 0x62, 0x6f, 0x6f, 0x6d, 0x3a, 0x62, 0x6f, 0x6f, 0x6d, -0x2604, 0xfe0f, 0x3a, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x3a, 0x63, 0x6f, 0x6d, -0x65, 0x74, 0x2600, 0xfe0f, 0x3a, 0x73, 0x75, 0x6e, 0x6e, 0x79, 0x3a, 0x73, -0x75, 0x6e, 0x6e, 0x79, 0xd83c, 0xdf24, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, -0x5f, 0x73, 0x75, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x6d, -0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x63, 0x6c, -0x6f, 0x75, 0x64, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x73, 0x75, 0x6e, 0x77, -0x68, 0x69, 0x74, 0x65, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdf24, 0x3a, 0x77, -0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6e, 0x5f, 0x73, 0x6d, 0x61, -0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x63, 0x6c, 0x6f, -0x75, 0x64, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x73, 0x75, 0x6e, 0x77, 0x68, -0x69, 0x74, 0x65, 0x26c5, 0xfe0f, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x6c, 0x79, -0x5f, 0x73, 0x75, 0x6e, 0x6e, 0x79, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x6c, -0x79, 0x73, 0x75, 0x6e, 0x6e, 0x79, 0xd83c, 0xdf25, 0x3a, 0x77, 0x68, 0x69, -0x74, 0x65, 0x5f, 0x73, 0x75, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x69, 0x6e, -0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x62, 0x65, 0x68, 0x69, -0x6e, 0x64, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x75, 0x6e, 0x77, 0x68, -0x69, 0x74, 0x65, 0xd83c, 0xdf25, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, -0x73, 0x75, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x63, 0x6c, -0x6f, 0x75, 0x64, 0x73, 0x75, 0x6e, 0x77, 0x68, 0x69, 0x74, 0x65, 0xd83c, -0xdf26, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x6e, 0x5f, -0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x69, 0x6e, 0x3a, 0x62, -0x65, 0x68, 0x69, 0x6e, 0x64, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x61, -0x69, 0x6e, 0x73, 0x75, 0x6e, 0x77, 0x68, 0x69, 0x74, 0x65, 0x77, 0x69, -0x74, 0x68, 0xd83c, 0xdf26, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, -0x75, 0x6e, 0x5f, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, 0x75, -0x64, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x73, -0x75, 0x6e, 0x77, 0x68, 0x69, 0x74, 0x65, 0xd83c, 0xdf08, 0x3a, 0x72, 0x61, -0x69, 0x6e, 0x62, 0x6f, 0x77, 0x3a, 0x72, 0x61, 0x69, 0x6e, 0x62, 0x6f, -0x77, 0x2601, 0xfe0f, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x63, 0x6c, -0x6f, 0x75, 0x64, 0xd83c, 0xdf27, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x69, 0x6e, 0x3a, 0x63, 0x6c, -0x6f, 0x75, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x77, 0x69, 0x74, 0x68, 0xd83c, -0xdf27, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x61, 0x69, 0x6e, -0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x26c8, 0x3a, -0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x75, -0x64, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x72, 0x61, 0x69, 0x6e, 0x3a, 0x61, -0x6e, 0x64, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x74, -0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x26c8, 0x3a, 0x74, 0x68, 0x75, 0x6e, -0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x61, -0x69, 0x6e, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x61, 0x69, 0x6e, -0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0xd83c, 0xdf29, 0x3a, 0x63, 0x6c, -0x6f, 0x75, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6c, 0x69, 0x67, -0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, -0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x77, 0x69, 0x74, -0x68, 0xd83c, 0xdf29, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6c, 0x69, -0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x63, 0x6c, 0x6f, 0x75, -0x64, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0xd83c, 0xdf28, -0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, -0x73, 0x6e, 0x6f, 0x77, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x6e, -0x6f, 0x77, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdf28, 0x3a, 0x63, 0x6c, 0x6f, -0x75, 0x64, 0x5f, 0x73, 0x6e, 0x6f, 0x77, 0x3a, 0x63, 0x6c, 0x6f, 0x75, -0x64, 0x73, 0x6e, 0x6f, 0x77, 0x2603, 0xfe0f, 0x3a, 0x73, 0x6e, 0x6f, 0x77, -0x6d, 0x61, 0x6e, 0x32, 0x3a, 0x73, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, -0x32, 0x26c4, 0xfe0f, 0x3a, 0x73, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, 0x3a, -0x73, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, 0x2744, 0xfe0f, 0x3a, 0x73, 0x6e, -0x6f, 0x77, 0x66, 0x6c, 0x61, 0x6b, 0x65, 0x3a, 0x73, 0x6e, 0x6f, 0x77, -0x66, 0x6c, 0x61, 0x6b, 0x65, 0xd83c, 0xdf2c, 0x3a, 0x77, 0x69, 0x6e, 0x64, -0x5f, 0x62, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x63, -0x65, 0x3a, 0x62, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x66, 0x61, 0x63, -0x65, 0x77, 0x69, 0x6e, 0x64, 0xd83d, 0xdca8, 0x3a, 0x64, 0x61, 0x73, 0x68, -0x3a, 0x64, 0x61, 0x73, 0x68, 0xd83c, 0xdf2a, 0x3a, 0x63, 0x6c, 0x6f, 0x75, -0x64, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x72, 0x6e, 0x61, -0x64, 0x6f, 0x3a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x74, 0x6f, 0x72, 0x6e, -0x61, 0x64, 0x6f, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdf2a, 0x3a, 0x63, 0x6c, -0x6f, 0x75, 0x64, 0x5f, 0x74, 0x6f, 0x72, 0x6e, 0x61, 0x64, 0x6f, 0x3a, -0x63, 0x6c, 0x6f, 0x75, 0x64, 0x74, 0x6f, 0x72, 0x6e, 0x61, 0x64, 0x6f, -0xd83c, 0xdf2b, 0x3a, 0x66, 0x6f, 0x67, 0x3a, 0x66, 0x6f, 0x67, 0xd83c, 0xdf0a, -0x3a, 0x6f, 0x63, 0x65, 0x61, 0x6e, 0x3a, 0x6f, 0x63, 0x65, 0x61, 0x6e, -0xd83d, 0xdca7, 0x3a, 0x64, 0x72, 0x6f, 0x70, 0x6c, 0x65, 0x74, 0x3a, 0x64, -0x72, 0x6f, 0x70, 0x6c, 0x65, 0x74, 0xd83d, 0xdca6, 0x3a, 0x73, 0x77, 0x65, -0x61, 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x73, 0x3a, 0x64, 0x72, 0x6f, -0x70, 0x73, 0x73, 0x77, 0x65, 0x61, 0x74, 0x2614, 0xfe0f, 0x3a, 0x75, 0x6d, -0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x3a, 0x75, 0x6d, 0x62, 0x72, 0x65, -0x6c, 0x6c, 0x61, 0xd83c, 0xdf4f, 0x3a, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x5f, -0x61, 0x70, 0x70, 0x6c, 0x65, 0x3a, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x67, -0x72, 0x65, 0x65, 0x6e, 0xd83c, 0xdf4e, 0x3a, 0x61, 0x70, 0x70, 0x6c, 0x65, -0x3a, 0x61, 0x70, 0x70, 0x6c, 0x65, 0xd83c, 0xdf50, 0x3a, 0x70, 0x65, 0x61, -0x72, 0x3a, 0x70, 0x65, 0x61, 0x72, 0xd83c, 0xdf4a, 0x3a, 0x74, 0x61, 0x6e, -0x67, 0x65, 0x72, 0x69, 0x6e, 0x65, 0x3a, 0x74, 0x61, 0x6e, 0x67, 0x65, -0x72, 0x69, 0x6e, 0x65, 0xd83c, 0xdf4b, 0x3a, 0x6c, 0x65, 0x6d, 0x6f, 0x6e, -0x3a, 0x6c, 0x65, 0x6d, 0x6f, 0x6e, 0xd83c, 0xdf4c, 0x3a, 0x62, 0x61, 0x6e, -0x61, 0x6e, 0x61, 0x3a, 0x62, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0xd83c, 0xdf49, -0x3a, 0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x6c, 0x6f, 0x6e, 0x3a, -0x77, 0x61, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x6c, 0x6f, 0x6e, 0xd83c, 0xdf47, -0x3a, 0x67, 0x72, 0x61, 0x70, 0x65, 0x73, 0x3a, 0x67, 0x72, 0x61, 0x70, -0x65, 0x73, 0xd83c, 0xdf53, 0x3a, 0x73, 0x74, 0x72, 0x61, 0x77, 0x62, 0x65, -0x72, 0x72, 0x79, 0x3a, 0x73, 0x74, 0x72, 0x61, 0x77, 0x62, 0x65, 0x72, -0x72, 0x79, 0xd83c, 0xdf48, 0x3a, 0x6d, 0x65, 0x6c, 0x6f, 0x6e, 0x3a, 0x6d, -0x65, 0x6c, 0x6f, 0x6e, 0xd83c, 0xdf52, 0x3a, 0x63, 0x68, 0x65, 0x72, 0x72, -0x69, 0x65, 0x73, 0x3a, 0x63, 0x68, 0x65, 0x72, 0x72, 0x69, 0x65, 0x73, -0xd83c, 0xdf51, 0x3a, 0x70, 0x65, 0x61, 0x63, 0x68, 0x3a, 0x70, 0x65, 0x61, -0x63, 0x68, 0xd83c, 0xdf4d, 0x3a, 0x70, 0x69, 0x6e, 0x65, 0x61, 0x70, 0x70, -0x6c, 0x65, 0x3a, 0x70, 0x69, 0x6e, 0x65, 0x61, 0x70, 0x70, 0x6c, 0x65, -0xd83e, 0xdd5d, 0x3a, 0x6b, 0x69, 0x77, 0x69, 0x66, 0x72, 0x75, 0x69, 0x74, -0x3a, 0x6b, 0x69, 0x77, 0x69, 0x66, 0x72, 0x75, 0x69, 0x74, 0xd83e, 0xdd5d, -0x3a, 0x6b, 0x69, 0x77, 0x69, 0x3a, 0x6b, 0x69, 0x77, 0x69, 0xd83e, 0xdd51, -0x3a, 0x61, 0x76, 0x6f, 0x63, 0x61, 0x64, 0x6f, 0x3a, 0x61, 0x76, 0x6f, -0x63, 0x61, 0x64, 0x6f, 0xd83c, 0xdf45, 0x3a, 0x74, 0x6f, 0x6d, 0x61, 0x74, -0x6f, 0x3a, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x6f, 0xd83c, 0xdf46, 0x3a, 0x65, -0x67, 0x67, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x3a, 0x65, 0x67, 0x67, 0x70, -0x6c, 0x61, 0x6e, 0x74, 0xd83e, 0xdd52, 0x3a, 0x63, 0x75, 0x63, 0x75, 0x6d, -0x62, 0x65, 0x72, 0x3a, 0x63, 0x75, 0x63, 0x75, 0x6d, 0x62, 0x65, 0x72, -0xd83e, 0xdd55, 0x3a, 0x63, 0x61, 0x72, 0x72, 0x6f, 0x74, 0x3a, 0x63, 0x61, -0x72, 0x72, 0x6f, 0x74, 0xd83c, 0xdf3d, 0x3a, 0x63, 0x6f, 0x72, 0x6e, 0x3a, -0x63, 0x6f, 0x72, 0x6e, 0xd83c, 0xdf36, 0x3a, 0x68, 0x6f, 0x74, 0x5f, 0x70, -0x65, 0x70, 0x70, 0x65, 0x72, 0x3a, 0x68, 0x6f, 0x74, 0x70, 0x65, 0x70, -0x70, 0x65, 0x72, 0xd83e, 0xdd54, 0x3a, 0x70, 0x6f, 0x74, 0x61, 0x74, 0x6f, -0x3a, 0x70, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0xd83c, 0xdf60, 0x3a, 0x73, 0x77, -0x65, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x3a, 0x70, -0x6f, 0x74, 0x61, 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, 0x74, 0xd83c, 0xdf30, -0x3a, 0x63, 0x68, 0x65, 0x73, 0x74, 0x6e, 0x75, 0x74, 0x3a, 0x63, 0x68, -0x65, 0x73, 0x74, 0x6e, 0x75, 0x74, 0xd83e, 0xdd5c, 0x3a, 0x73, 0x68, 0x65, -0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x61, 0x6e, 0x75, 0x74, 0x3a, -0x70, 0x65, 0x61, 0x6e, 0x75, 0x74, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x65, -0x64, 0xd83e, 0xdd5c, 0x3a, 0x70, 0x65, 0x61, 0x6e, 0x75, 0x74, 0x73, 0x3a, -0x70, 0x65, 0x61, 0x6e, 0x75, 0x74, 0x73, 0xd83c, 0xdf6f, 0x3a, 0x68, 0x6f, -0x6e, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x74, 0x3a, 0x68, 0x6f, 0x6e, 0x65, -0x79, 0x70, 0x6f, 0x74, 0xd83e, 0xdd50, 0x3a, 0x63, 0x72, 0x6f, 0x69, 0x73, -0x73, 0x61, 0x6e, 0x74, 0x3a, 0x63, 0x72, 0x6f, 0x69, 0x73, 0x73, 0x61, -0x6e, 0x74, 0xd83c, 0xdf5e, 0x3a, 0x62, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x62, -0x72, 0x65, 0x61, 0x64, 0xd83e, 0xdd56, 0x3a, 0x62, 0x61, 0x67, 0x75, 0x65, -0x74, 0x74, 0x65, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x3a, 0x62, 0x61, -0x67, 0x75, 0x65, 0x74, 0x74, 0x65, 0x62, 0x72, 0x65, 0x61, 0x64, 0xd83e, -0xdd56, 0x3a, 0x66, 0x72, 0x65, 0x6e, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, -0x61, 0x64, 0x3a, 0x62, 0x72, 0x65, 0x61, 0x64, 0x66, 0x72, 0x65, 0x6e, -0x63, 0x68, 0xd83e, 0xddc0, 0x3a, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x5f, -0x77, 0x65, 0x64, 0x67, 0x65, 0x3a, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, -0x77, 0x65, 0x64, 0x67, 0x65, 0xd83e, 0xddc0, 0x3a, 0x63, 0x68, 0x65, 0x65, -0x73, 0x65, 0x3a, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0xd83e, 0xdd5a, 0x3a, -0x65, 0x67, 0x67, 0x3a, 0x65, 0x67, 0x67, 0xd83c, 0xdf73, 0x3a, 0x63, 0x6f, -0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, -0x67, 0xd83e, 0xdd53, 0x3a, 0x62, 0x61, 0x63, 0x6f, 0x6e, 0x3a, 0x62, 0x61, -0x63, 0x6f, 0x6e, 0xd83e, 0xdd5e, 0x3a, 0x70, 0x61, 0x6e, 0x63, 0x61, 0x6b, -0x65, 0x73, 0x3a, 0x70, 0x61, 0x6e, 0x63, 0x61, 0x6b, 0x65, 0x73, 0xd83c, -0xdf64, 0x3a, 0x66, 0x72, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x72, 0x69, -0x6d, 0x70, 0x3a, 0x66, 0x72, 0x69, 0x65, 0x64, 0x73, 0x68, 0x72, 0x69, -0x6d, 0x70, 0xd83c, 0xdf57, 0x3a, 0x70, 0x6f, 0x75, 0x6c, 0x74, 0x72, 0x79, -0x5f, 0x6c, 0x65, 0x67, 0x3a, 0x6c, 0x65, 0x67, 0x70, 0x6f, 0x75, 0x6c, -0x74, 0x72, 0x79, 0xd83c, 0xdf56, 0x3a, 0x6d, 0x65, 0x61, 0x74, 0x5f, 0x6f, -0x6e, 0x5f, 0x62, 0x6f, 0x6e, 0x65, 0x3a, 0x62, 0x6f, 0x6e, 0x65, 0x6d, -0x65, 0x61, 0x74, 0x6f, 0x6e, 0xd83c, 0xdf55, 0x3a, 0x70, 0x69, 0x7a, 0x7a, -0x61, 0x3a, 0x70, 0x69, 0x7a, 0x7a, 0x61, 0xd83c, 0xdf2d, 0x3a, 0x68, 0x6f, -0x74, 0x5f, 0x64, 0x6f, 0x67, 0x3a, 0x64, 0x6f, 0x67, 0x68, 0x6f, 0x74, -0xd83c, 0xdf2d, 0x3a, 0x68, 0x6f, 0x74, 0x64, 0x6f, 0x67, 0x3a, 0x68, 0x6f, -0x74, 0x64, 0x6f, 0x67, 0xd83c, 0xdf54, 0x3a, 0x68, 0x61, 0x6d, 0x62, 0x75, -0x72, 0x67, 0x65, 0x72, 0x3a, 0x68, 0x61, 0x6d, 0x62, 0x75, 0x72, 0x67, -0x65, 0x72, 0xd83c, 0xdf5f, 0x3a, 0x66, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x66, -0x72, 0x69, 0x65, 0x73, 0xd83e, 0xdd59, 0x3a, 0x73, 0x74, 0x75, 0x66, 0x66, -0x65, 0x64, 0x5f, 0x70, 0x69, 0x74, 0x61, 0x3a, 0x70, 0x69, 0x74, 0x61, -0x73, 0x74, 0x75, 0x66, 0x66, 0x65, 0x64, 0xd83e, 0xdd59, 0x3a, 0x73, 0x74, -0x75, 0x66, 0x66, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x74, 0x62, 0x72, -0x65, 0x61, 0x64, 0x3a, 0x66, 0x6c, 0x61, 0x74, 0x62, 0x72, 0x65, 0x61, -0x64, 0x73, 0x74, 0x75, 0x66, 0x66, 0x65, 0x64, 0xd83c, 0xdf2e, 0x3a, 0x74, -0x61, 0x63, 0x6f, 0x3a, 0x74, 0x61, 0x63, 0x6f, 0xd83c, 0xdf2f, 0x3a, 0x62, -0x75, 0x72, 0x72, 0x69, 0x74, 0x6f, 0x3a, 0x62, 0x75, 0x72, 0x72, 0x69, -0x74, 0x6f, 0xd83e, 0xdd57, 0x3a, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x73, -0x61, 0x6c, 0x61, 0x64, 0x3a, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x61, -0x6c, 0x61, 0x64, 0xd83e, 0xdd57, 0x3a, 0x73, 0x61, 0x6c, 0x61, 0x64, 0x3a, -0x73, 0x61, 0x6c, 0x61, 0x64, 0xd83e, 0xdd58, 0x3a, 0x70, 0x61, 0x65, 0x6c, -0x6c, 0x61, 0x3a, 0x70, 0x61, 0x65, 0x6c, 0x6c, 0x61, 0xd83e, 0xdd58, 0x3a, -0x73, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x61, 0x6e, 0x5f, -0x6f, 0x66, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x3a, 0x66, 0x6f, 0x6f, 0x64, -0x6f, 0x66, 0x70, 0x61, 0x6e, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x77, -0xd83c, 0xdf5d, 0x3a, 0x73, 0x70, 0x61, 0x67, 0x68, 0x65, 0x74, 0x74, 0x69, -0x3a, 0x73, 0x70, 0x61, 0x67, 0x68, 0x65, 0x74, 0x74, 0x69, 0xd83c, 0xdf5c, -0x3a, 0x72, 0x61, 0x6d, 0x65, 0x6e, 0x3a, 0x72, 0x61, 0x6d, 0x65, 0x6e, -0xd83c, 0xdf72, 0x3a, 0x73, 0x74, 0x65, 0x77, 0x3a, 0x73, 0x74, 0x65, 0x77, -0xd83c, 0xdf65, 0x3a, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x61, 0x6b, 0x65, -0x3a, 0x63, 0x61, 0x6b, 0x65, 0x66, 0x69, 0x73, 0x68, 0xd83c, 0xdf63, 0x3a, -0x73, 0x75, 0x73, 0x68, 0x69, 0x3a, 0x73, 0x75, 0x73, 0x68, 0x69, 0xd83c, -0xdf71, 0x3a, 0x62, 0x65, 0x6e, 0x74, 0x6f, 0x3a, 0x62, 0x65, 0x6e, 0x74, -0x6f, 0xd83c, 0xdf5b, 0x3a, 0x63, 0x75, 0x72, 0x72, 0x79, 0x3a, 0x63, 0x75, -0x72, 0x72, 0x79, 0xd83c, 0xdf59, 0x3a, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x62, -0x61, 0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x72, 0x69, 0x63, 0x65, -0xd83c, 0xdf5a, 0x3a, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x72, 0x69, 0x63, 0x65, -0xd83c, 0xdf58, 0x3a, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x61, 0x63, -0x6b, 0x65, 0x72, 0x3a, 0x63, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x72, -0x69, 0x63, 0x65, 0xd83c, 0xdf62, 0x3a, 0x6f, 0x64, 0x65, 0x6e, 0x3a, 0x6f, -0x64, 0x65, 0x6e, 0xd83c, 0xdf61, 0x3a, 0x64, 0x61, 0x6e, 0x67, 0x6f, 0x3a, -0x64, 0x61, 0x6e, 0x67, 0x6f, 0xd83c, 0xdf67, 0x3a, 0x73, 0x68, 0x61, 0x76, -0x65, 0x64, 0x5f, 0x69, 0x63, 0x65, 0x3a, 0x69, 0x63, 0x65, 0x73, 0x68, -0x61, 0x76, 0x65, 0x64, 0xd83c, 0xdf68, 0x3a, 0x69, 0x63, 0x65, 0x5f, 0x63, -0x72, 0x65, 0x61, 0x6d, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x63, -0x65, 0xd83c, 0xdf66, 0x3a, 0x69, 0x63, 0x65, 0x63, 0x72, 0x65, 0x61, 0x6d, -0x3a, 0x69, 0x63, 0x65, 0x63, 0x72, 0x65, 0x61, 0x6d, 0xd83c, 0xdf70, 0x3a, -0x63, 0x61, 0x6b, 0x65, 0x3a, 0x63, 0x61, 0x6b, 0x65, 0xd83c, 0xdf82, 0x3a, -0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x3a, 0x62, 0x69, 0x72, -0x74, 0x68, 0x64, 0x61, 0x79, 0xd83c, 0xdf6e, 0x3a, 0x66, 0x6c, 0x61, 0x6e, -0x3a, 0x66, 0x6c, 0x61, 0x6e, 0xd83c, 0xdf6e, 0x3a, 0x70, 0x75, 0x64, 0x64, -0x69, 0x6e, 0x67, 0x3a, 0x70, 0x75, 0x64, 0x64, 0x69, 0x6e, 0x67, 0xd83c, -0xdf6e, 0x3a, 0x63, 0x75, 0x73, 0x74, 0x61, 0x72, 0x64, 0x3a, 0x63, 0x75, -0x73, 0x74, 0x61, 0x72, 0x64, 0xd83c, 0xdf6d, 0x3a, 0x6c, 0x6f, 0x6c, 0x6c, -0x69, 0x70, 0x6f, 0x70, 0x3a, 0x6c, 0x6f, 0x6c, 0x6c, 0x69, 0x70, 0x6f, -0x70, 0xd83c, 0xdf6c, 0x3a, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x3a, 0x63, 0x61, -0x6e, 0x64, 0x79, 0xd83c, 0xdf6b, 0x3a, 0x63, 0x68, 0x6f, 0x63, 0x6f, 0x6c, -0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x72, 0x3a, 0x62, 0x61, 0x72, 0x63, -0x68, 0x6f, 0x63, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0xd83c, 0xdf7f, 0x3a, 0x70, -0x6f, 0x70, 0x63, 0x6f, 0x72, 0x6e, 0x3a, 0x70, 0x6f, 0x70, 0x63, 0x6f, -0x72, 0x6e, 0xd83c, 0xdf69, 0x3a, 0x64, 0x6f, 0x75, 0x67, 0x68, 0x6e, 0x75, -0x74, 0x3a, 0x64, 0x6f, 0x75, 0x67, 0x68, 0x6e, 0x75, 0x74, 0xd83c, 0xdf6a, -0x3a, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x3a, 0x63, 0x6f, 0x6f, 0x6b, -0x69, 0x65, 0xd83e, 0xdd5b, 0x3a, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6f, -0x66, 0x5f, 0x6d, 0x69, 0x6c, 0x6b, 0x3a, 0x67, 0x6c, 0x61, 0x73, 0x73, -0x6d, 0x69, 0x6c, 0x6b, 0x6f, 0x66, 0xd83e, 0xdd5b, 0x3a, 0x6d, 0x69, 0x6c, -0x6b, 0x3a, 0x6d, 0x69, 0x6c, 0x6b, 0xd83c, 0xdf7c, 0x3a, 0x62, 0x61, 0x62, -0x79, 0x5f, 0x62, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x3a, 0x62, 0x61, 0x62, -0x79, 0x62, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x2615, 0xfe0f, 0x3a, 0x63, 0x6f, -0x66, 0x66, 0x65, 0x65, 0x3a, 0x63, 0x6f, 0x66, 0x66, 0x65, 0x65, 0xd83c, -0xdf75, 0x3a, 0x74, 0x65, 0x61, 0x3a, 0x74, 0x65, 0x61, 0xd83c, 0xdf76, 0x3a, -0x73, 0x61, 0x6b, 0x65, 0x3a, 0x73, 0x61, 0x6b, 0x65, 0xd83c, 0xdf7a, 0x3a, -0x62, 0x65, 0x65, 0x72, 0x3a, 0x62, 0x65, 0x65, 0x72, 0xd83c, 0xdf7b, 0x3a, -0x62, 0x65, 0x65, 0x72, 0x73, 0x3a, 0x62, 0x65, 0x65, 0x72, 0x73, 0xd83e, -0xdd42, 0x3a, 0x63, 0x6c, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x67, -0x6c, 0x61, 0x73, 0x73, 0x3a, 0x63, 0x6c, 0x69, 0x6e, 0x6b, 0x69, 0x6e, -0x67, 0x67, 0x6c, 0x61, 0x73, 0x73, 0xd83e, 0xdd42, 0x3a, 0x63, 0x68, 0x61, -0x6d, 0x70, 0x61, 0x67, 0x6e, 0x65, 0x5f, 0x67, 0x6c, 0x61, 0x73, 0x73, -0x3a, 0x63, 0x68, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x6e, 0x65, 0x67, 0x6c, -0x61, 0x73, 0x73, 0xd83c, 0xdf77, 0x3a, 0x77, 0x69, 0x6e, 0x65, 0x5f, 0x67, -0x6c, 0x61, 0x73, 0x73, 0x3a, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x77, 0x69, -0x6e, 0x65, 0xd83e, 0xdd43, 0x3a, 0x77, 0x68, 0x69, 0x73, 0x6b, 0x79, 0x3a, -0x77, 0x68, 0x69, 0x73, 0x6b, 0x79, 0xd83e, 0xdd43, 0x3a, 0x74, 0x75, 0x6d, -0x62, 0x6c, 0x65, 0x72, 0x5f, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x3a, 0x67, -0x6c, 0x61, 0x73, 0x73, 0x74, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x72, 0xd83c, -0xdf78, 0x3a, 0x63, 0x6f, 0x63, 0x6b, 0x74, 0x61, 0x69, 0x6c, 0x3a, 0x63, -0x6f, 0x63, 0x6b, 0x74, 0x61, 0x69, 0x6c, 0xd83c, 0xdf79, 0x3a, 0x74, 0x72, -0x6f, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x69, 0x6e, 0x6b, -0x3a, 0x64, 0x72, 0x69, 0x6e, 0x6b, 0x74, 0x72, 0x6f, 0x70, 0x69, 0x63, -0x61, 0x6c, 0xd83c, 0xdf7e, 0x3a, 0x62, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, -0x5f, 0x63, 0x6f, 0x72, 0x6b, 0x3a, 0x62, 0x6f, 0x74, 0x74, 0x6c, 0x65, -0x63, 0x6f, 0x72, 0x6b, 0x70, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x77, -0x69, 0x74, 0x68, 0xd83c, 0xdf7e, 0x3a, 0x63, 0x68, 0x61, 0x6d, 0x70, 0x61, -0x67, 0x6e, 0x65, 0x3a, 0x63, 0x68, 0x61, 0x6d, 0x70, 0x61, 0x67, 0x6e, -0x65, 0xd83e, 0xdd44, 0x3a, 0x73, 0x70, 0x6f, 0x6f, 0x6e, 0x3a, 0x73, 0x70, -0x6f, 0x6f, 0x6e, 0xd83c, 0xdf74, 0x3a, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x61, -0x6e, 0x64, 0x5f, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0x3a, 0x61, 0x6e, 0x64, -0x66, 0x6f, 0x72, 0x6b, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0xd83c, 0xdf7d, 0x3a, -0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x6b, 0x6e, 0x69, -0x66, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x6c, 0x61, 0x74, -0x65, 0x3a, 0x61, 0x6e, 0x64, 0x66, 0x6f, 0x72, 0x6b, 0x6b, 0x6e, 0x69, -0x66, 0x65, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x77, 0x69, 0x74, 0x68, 0xd83c, -0xdf7d, 0x3a, 0x66, 0x6f, 0x72, 0x6b, 0x5f, 0x6b, 0x6e, 0x69, 0x66, 0x65, -0x5f, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3a, 0x66, 0x6f, 0x72, 0x6b, 0x6b, -0x6e, 0x69, 0x66, 0x65, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x26bd, 0xfe0f, 0x3a, -0x73, 0x6f, 0x63, 0x63, 0x65, 0x72, 0x3a, 0x73, 0x6f, 0x63, 0x63, 0x65, -0x72, 0xd83c, 0xdfc0, 0x3a, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x62, 0x61, -0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x62, 0x61, 0x6c, -0x6c, 0xd83c, 0xdfc8, 0x3a, 0x66, 0x6f, 0x6f, 0x74, 0x62, 0x61, 0x6c, 0x6c, -0x3a, 0x66, 0x6f, 0x6f, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x26be, 0xfe0f, 0x3a, -0x62, 0x61, 0x73, 0x65, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x73, -0x65, 0x62, 0x61, 0x6c, 0x6c, 0xd83c, 0xdfbe, 0x3a, 0x74, 0x65, 0x6e, 0x6e, -0x69, 0x73, 0x3a, 0x74, 0x65, 0x6e, 0x6e, 0x69, 0x73, 0xd83c, 0xdfd0, 0x3a, -0x76, 0x6f, 0x6c, 0x6c, 0x65, 0x79, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x76, -0x6f, 0x6c, 0x6c, 0x65, 0x79, 0x62, 0x61, 0x6c, 0x6c, 0xd83c, 0xdfc9, 0x3a, -0x72, 0x75, 0x67, 0x62, 0x79, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x62, 0x61, -0x6c, 0x6c, 0x3a, 0x66, 0x6f, 0x6f, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x72, -0x75, 0x67, 0x62, 0x79, 0xd83c, 0xdfb1, 0x3a, 0x38, 0x62, 0x61, 0x6c, 0x6c, -0x3a, 0x38, 0x62, 0x61, 0x6c, 0x6c, 0xd83c, 0xdfd3, 0x3a, 0x74, 0x61, 0x62, -0x6c, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x6e, 0x69, 0x73, 0x3a, 0x74, 0x61, -0x62, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x6e, 0x69, 0x73, 0xd83c, 0xdfd3, 0x3a, -0x70, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6e, 0x67, 0x3a, 0x70, 0x69, -0x6e, 0x67, 0x70, 0x6f, 0x6e, 0x67, 0xd83c, 0xdff8, 0x3a, 0x62, 0x61, 0x64, -0x6d, 0x69, 0x6e, 0x74, 0x6f, 0x6e, 0x3a, 0x62, 0x61, 0x64, 0x6d, 0x69, -0x6e, 0x74, 0x6f, 0x6e, 0xd83e, 0xdd45, 0x3a, 0x67, 0x6f, 0x61, 0x6c, 0x5f, -0x6e, 0x65, 0x74, 0x3a, 0x67, 0x6f, 0x61, 0x6c, 0x6e, 0x65, 0x74, 0xd83e, -0xdd45, 0x3a, 0x67, 0x6f, 0x61, 0x6c, 0x3a, 0x67, 0x6f, 0x61, 0x6c, 0xd83c, -0xdfd2, 0x3a, 0x68, 0x6f, 0x63, 0x6b, 0x65, 0x79, 0x3a, 0x68, 0x6f, 0x63, -0x6b, 0x65, 0x79, 0xd83c, 0xdfd1, 0x3a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, -0x68, 0x6f, 0x63, 0x6b, 0x65, 0x79, 0x3a, 0x66, 0x69, 0x65, 0x6c, 0x64, -0x68, 0x6f, 0x63, 0x6b, 0x65, 0x79, 0xd83c, 0xdfcf, 0x3a, 0x63, 0x72, 0x69, -0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x74, 0x5f, 0x62, 0x61, 0x6c, -0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x74, 0x63, 0x72, 0x69, -0x63, 0x6b, 0x65, 0x74, 0xd83c, 0xdfcf, 0x3a, 0x63, 0x72, 0x69, 0x63, 0x6b, -0x65, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x3a, 0x63, 0x72, 0x69, 0x63, -0x6b, 0x65, 0x74, 0x67, 0x61, 0x6d, 0x65, 0x26f3, 0xfe0f, 0x3a, 0x67, 0x6f, -0x6c, 0x66, 0x3a, 0x67, 0x6f, 0x6c, 0x66, 0xd83c, 0xdff9, 0x3a, 0x61, 0x72, -0x63, 0x68, 0x65, 0x72, 0x79, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x65, 0x72, -0x79, 0xd83c, 0xdff9, 0x3a, 0x62, 0x6f, 0x77, 0x5f, 0x61, 0x6e, 0x64, 0x5f, -0x61, 0x72, 0x72, 0x6f, 0x77, 0x3a, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x72, -0x6f, 0x77, 0x62, 0x6f, 0x77, 0xd83c, 0xdfa3, 0x3a, 0x66, 0x69, 0x73, 0x68, -0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x64, -0x5f, 0x66, 0x69, 0x73, 0x68, 0x3a, 0x61, 0x6e, 0x64, 0x66, 0x69, 0x73, -0x68, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x65, -0xd83e, 0xdd4a, 0x3a, 0x62, 0x6f, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x6c, -0x6f, 0x76, 0x65, 0x73, 0x3a, 0x62, 0x6f, 0x78, 0x69, 0x6e, 0x67, 0x67, -0x6c, 0x6f, 0x76, 0x65, 0x73, 0xd83e, 0xdd4a, 0x3a, 0x62, 0x6f, 0x78, 0x69, -0x6e, 0x67, 0x5f, 0x67, 0x6c, 0x6f, 0x76, 0x65, 0x3a, 0x62, 0x6f, 0x78, -0x69, 0x6e, 0x67, 0x67, 0x6c, 0x6f, 0x76, 0x65, 0xd83e, 0xdd4b, 0x3a, 0x6b, -0x61, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, -0x6d, 0x3a, 0x6b, 0x61, 0x72, 0x61, 0x74, 0x65, 0x75, 0x6e, 0x69, 0x66, -0x6f, 0x72, 0x6d, 0xd83e, 0xdd4b, 0x3a, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x61, -0x6c, 0x5f, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x66, 0x6f, -0x72, 0x6d, 0x3a, 0x61, 0x72, 0x74, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x69, -0x61, 0x6c, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x26f8, 0x3a, 0x69, -0x63, 0x65, 0x5f, 0x73, 0x6b, 0x61, 0x74, 0x65, 0x3a, 0x69, 0x63, 0x65, -0x73, 0x6b, 0x61, 0x74, 0x65, 0xd83c, 0xdfbf, 0x3a, 0x73, 0x6b, 0x69, 0x3a, -0x73, 0x6b, 0x69, 0x26f7, 0x3a, 0x73, 0x6b, 0x69, 0x65, 0x72, 0x3a, 0x73, -0x6b, 0x69, 0x65, 0x72, 0xd83c, 0xdfc2, 0x3a, 0x73, 0x6e, 0x6f, 0x77, 0x62, -0x6f, 0x61, 0x72, 0x64, 0x65, 0x72, 0x3a, 0x73, 0x6e, 0x6f, 0x77, 0x62, -0x6f, 0x61, 0x72, 0x64, 0x65, 0x72, 0xd83c, 0xdfcb, 0xfe0f, 0x200d, 0x2640, 0xfe0f, -0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6c, 0x69, 0x66, 0x74, 0x69, -0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0x3a, 0x6c, -0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, -0x73, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83c, 0xdfcb, 0xfe0f, 0x3a, 0x6d, 0x61, -0x6e, 0x5f, 0x6c, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, -0x69, 0x67, 0x68, 0x74, 0x73, 0x3a, 0x6c, 0x69, 0x66, 0x74, 0x69, 0x6e, -0x67, 0x6d, 0x61, 0x6e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0xd83c, -0xdfcb, 0xfe0f, 0x3a, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6c, 0x69, -0x66, 0x74, 0x65, 0x72, 0x3a, 0x6c, 0x69, 0x66, 0x74, 0x65, 0x72, 0x77, -0x65, 0x69, 0x67, 0x68, 0x74, 0xd83c, 0xdfcb, 0xfe0f, 0x3a, 0x6c, 0x69, 0x66, -0x74, 0x65, 0x72, 0x3a, 0x6c, 0x69, 0x66, 0x74, 0x65, 0x72, 0xd83c, 0xdfcb, -0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x66, -0x74, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, -0x3a, 0x6c, 0x69, 0x66, 0x74, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x73, 0xd83e, 0xdd3a, 0x3a, -0x66, 0x65, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x3a, 0x66, 0x65, 0x6e, 0x63, -0x69, 0x6e, 0x67, 0xd83e, 0xdd3a, 0x3a, 0x66, 0x65, 0x6e, 0x63, 0x65, 0x72, -0x3a, 0x66, 0x65, 0x6e, 0x63, 0x65, 0x72, 0xd83e, 0xdd3a, 0x3a, 0x70, 0x65, -0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x6e, 0x63, 0x69, 0x6e, 0x67, -0x3a, 0x66, 0x65, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0xd83e, 0xdd3c, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x65, -0x6e, 0x5f, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x3a, -0x77, 0x6f, 0x6d, 0x65, 0x6e, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, -0x6e, 0x67, 0xd83e, 0xdd3c, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x65, 0x6e, 0x5f, -0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x3a, 0x6d, 0x65, -0x6e, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0xd83e, 0xdd3c, -0x200d, 0x2642, 0xfe0f, 0x3a, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, -0x67, 0x3a, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0xd83e, -0xdd3c, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x65, -0x72, 0x73, 0x3a, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x65, 0x72, 0x73, -0xd83e, 0xdd3c, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65, -0x5f, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x3a, 0x70, -0x65, 0x6f, 0x70, 0x6c, 0x65, 0x77, 0x72, 0x65, 0x73, 0x74, 0x6c, 0x69, -0x6e, 0x67, 0xd83e, 0xdd38, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0x5f, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x69, -0x6e, 0x67, 0x3a, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, 0x65, 0x65, 0x6c, -0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83e, 0xdd38, 0x200d, 0x2642, -0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, -0x65, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x3a, 0x63, 0x61, 0x72, 0x74, 0x77, -0x68, 0x65, 0x65, 0x6c, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0xd83e, 0xdd38, -0x200d, 0x2642, 0xfe0f, 0x3a, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, 0x65, 0x65, -0x6c, 0x3a, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, 0x65, 0x65, 0x6c, 0xd83e, -0xdd38, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, -0x64, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, -0x65, 0x65, 0x6c, 0x3a, 0x63, 0x61, 0x72, 0x74, 0x77, 0x68, 0x65, 0x65, -0x6c, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x26f9, 0xfe0f, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x62, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x6c, -0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x69, -0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x26f9, 0xfe0f, 0x3a, 0x6d, 0x61, -0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x62, -0x61, 0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x62, 0x6f, 0x75, 0x6e, -0x63, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0x26f9, 0xfe0f, 0x3a, 0x70, 0x65, -0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x62, 0x61, -0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x6f, -0x6e, 0x77, 0x69, 0x74, 0x68, 0x26f9, 0xfe0f, 0x3a, 0x62, 0x61, 0x73, 0x6b, -0x65, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, -0x72, 0x3a, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x62, 0x61, 0x6c, 0x6c, -0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x26f9, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, -0x73, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x69, 0x6e, 0x67, -0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x62, 0x6f, -0x75, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0xd83e, 0xdd3e, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, 0x64, -0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x6c, -0x6c, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, -0x6e, 0xd83e, 0xdd3e, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x62, -0x61, 0x6c, 0x6c, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x6c, 0x6c, -0xd83e, 0xdd3e, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, -0x64, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x61, -0x6c, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x70, 0x6c, 0x61, 0x79, -0x69, 0x6e, 0x67, 0xd83e, 0xdd3e, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, -0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x6e, -0x64, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x61, -0x6c, 0x6c, 0x6d, 0x61, 0x6e, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, -0xd83c, 0xdfcc, 0xfe0f, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, -0x5f, 0x67, 0x6f, 0x6c, 0x66, 0x69, 0x6e, 0x67, 0x3a, 0x67, 0x6f, 0x6c, -0x66, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83c, 0xdfcc, 0xfe0f, -0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x67, 0x6f, 0x6c, 0x66, 0x69, 0x6e, 0x67, -0x3a, 0x67, 0x6f, 0x6c, 0x66, 0x69, 0x6e, 0x67, 0x6d, 0x61, 0x6e, 0xd83c, -0xdfcc, 0xfe0f, 0x3a, 0x67, 0x6f, 0x6c, 0x66, 0x65, 0x72, 0x3a, 0x67, 0x6f, -0x6c, 0x66, 0x65, 0x72, 0xd83c, 0xdfcc, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x5f, 0x67, 0x6f, 0x6c, 0x66, 0x69, 0x6e, 0x67, 0x3a, 0x67, -0x6f, 0x6c, 0x66, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0xd83c, 0xdfc4, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x73, 0x75, 0x72, 0x66, 0x69, 0x6e, 0x67, 0x3a, 0x73, 0x75, 0x72, 0x66, -0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83c, 0xdfc4, 0x3a, 0x6d, -0x61, 0x6e, 0x5f, 0x73, 0x75, 0x72, 0x66, 0x69, 0x6e, 0x67, 0x3a, 0x6d, -0x61, 0x6e, 0x73, 0x75, 0x72, 0x66, 0x69, 0x6e, 0x67, 0xd83c, 0xdfc4, 0x3a, -0x73, 0x75, 0x72, 0x66, 0x65, 0x72, 0x3a, 0x73, 0x75, 0x72, 0x66, 0x65, -0x72, 0xd83c, 0xdfc4, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x73, -0x75, 0x72, 0x66, 0x69, 0x6e, 0x67, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, -0x6e, 0x73, 0x75, 0x72, 0x66, 0x69, 0x6e, 0x67, 0xd83c, 0xdfca, 0x200d, 0x2640, -0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x77, 0x69, 0x6d, -0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x73, 0x77, 0x69, 0x6d, 0x6d, 0x69, 0x6e, -0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83c, 0xdfca, 0x3a, 0x6d, 0x61, 0x6e, -0x5f, 0x73, 0x77, 0x69, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x6d, 0x61, -0x6e, 0x73, 0x77, 0x69, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0xd83c, 0xdfca, 0x3a, -0x73, 0x77, 0x69, 0x6d, 0x6d, 0x65, 0x72, 0x3a, 0x73, 0x77, 0x69, 0x6d, -0x6d, 0x65, 0x72, 0xd83c, 0xdfca, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, -0x5f, 0x73, 0x77, 0x69, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x3a, 0x70, 0x65, -0x72, 0x73, 0x6f, 0x6e, 0x73, 0x77, 0x69, 0x6d, 0x6d, 0x69, 0x6e, 0x67, -0xd83e, 0xdd3d, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x61, 0x74, 0x65, -0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x6f, 0x3a, 0x70, 0x6c, 0x61, 0x79, 0x69, -0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x6f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0xd83e, 0xdd3d, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, -0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x61, -0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x6f, 0x3a, 0x6d, 0x61, 0x6e, -0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x6f, 0x77, -0x61, 0x74, 0x65, 0x72, 0xd83e, 0xdd3d, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x77, 0x61, -0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x6f, 0x3a, 0x70, 0x6f, 0x6c, -0x6f, 0x77, 0x61, 0x74, 0x65, 0x72, 0xd83e, 0xdd3d, 0x200d, 0x2642, 0xfe0f, 0x3a, -0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, -0x6e, 0x67, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, -0x6f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x70, 0x6c, 0x61, 0x79, -0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, 0x6f, 0x77, 0x61, 0x74, 0x65, 0x72, -0xd83d, 0xdea3, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, -0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x74, 0x3a, -0x62, 0x6f, 0x61, 0x74, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x77, 0x6f, -0x6d, 0x61, 0x6e, 0xd83d, 0xdea3, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x6f, -0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x74, 0x3a, 0x62, 0x6f, -0x61, 0x74, 0x6d, 0x61, 0x6e, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0xd83d, -0xdea3, 0x3a, 0x72, 0x6f, 0x77, 0x62, 0x6f, 0x61, 0x74, 0x3a, 0x72, 0x6f, -0x77, 0x62, 0x6f, 0x61, 0x74, 0xd83d, 0xdea3, 0x3a, 0x70, 0x65, 0x72, 0x73, -0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, -0x61, 0x74, 0x3a, 0x62, 0x6f, 0x61, 0x74, 0x70, 0x65, 0x72, 0x73, 0x6f, -0x6e, 0x72, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0xd83c, 0xdfc7, 0x3a, 0x68, 0x6f, -0x72, 0x73, 0x65, 0x5f, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x3a, 0x68, -0x6f, 0x72, 0x73, 0x65, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0xd83d, 0xdeb4, -0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x62, 0x69, -0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x77, -0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdeb4, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x62, -0x69, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x67, -0x6d, 0x61, 0x6e, 0xd83d, 0xdeb4, 0x3a, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, -0x69, 0x73, 0x74, 0x3a, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x69, 0x73, -0x74, 0xd83d, 0xdeb4, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x62, -0x69, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x67, -0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83d, 0xdeb5, 0x200d, 0x2640, 0xfe0f, 0x3a, -0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, -0x69, 0x6e, 0x5f, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x69, -0x6b, 0x69, 0x6e, 0x67, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, -0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83d, 0xdeb5, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, -0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x69, 0x6b, -0x69, 0x6e, 0x67, 0x3a, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x6d, 0x61, -0x6e, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0xd83d, 0xdeb5, 0x3a, -0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x69, 0x63, -0x79, 0x63, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x62, 0x69, 0x63, 0x79, 0x63, -0x6c, 0x69, 0x73, 0x74, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, -0xd83d, 0xdeb5, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, -0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x62, 0x69, 0x6b, 0x69, 0x6e, -0x67, 0x3a, 0x62, 0x69, 0x6b, 0x69, 0x6e, 0x67, 0x6d, 0x6f, 0x75, 0x6e, -0x74, 0x61, 0x69, 0x6e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83c, 0xdfbd, -0x3a, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x68, 0x69, -0x72, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x61, 0x73, 0x68, -0x3a, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x61, 0x73, 0x68, -0x73, 0x68, 0x69, 0x72, 0x74, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdfc5, 0x3a, -0x73, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6d, 0x65, 0x64, 0x61, 0x6c, -0x3a, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x73, -0xd83c, 0xdfc5, 0x3a, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x3a, 0x6d, 0x65, 0x64, -0x61, 0x6c, 0xd83c, 0xdf96, 0x3a, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, -0x79, 0x5f, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x3a, 0x6d, 0x65, 0x64, 0x61, -0x6c, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, 0x79, 0xd83e, 0xdd47, 0x3a, -0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, -0x6d, 0x65, 0x64, 0x61, 0x6c, 0x3a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x6d, -0x65, 0x64, 0x61, 0x6c, 0x70, 0x6c, 0x61, 0x63, 0x65, 0xd83e, 0xdd47, 0x3a, -0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x3a, -0x66, 0x69, 0x72, 0x73, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0xd83e, 0xdd48, -0x3a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x63, -0x65, 0x5f, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x3a, 0x6d, 0x65, 0x64, 0x61, -0x6c, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, -0xd83e, 0xdd48, 0x3a, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x70, 0x6c, -0x61, 0x63, 0x65, 0x3a, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x73, 0x65, 0x63, -0x6f, 0x6e, 0x64, 0xd83e, 0xdd49, 0x3a, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, -0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x3a, -0x6d, 0x65, 0x64, 0x61, 0x6c, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x74, 0x68, -0x69, 0x72, 0x64, 0xd83e, 0xdd49, 0x3a, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, -0x70, 0x6c, 0x61, 0x63, 0x65, 0x3a, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x74, -0x68, 0x69, 0x72, 0x64, 0xd83c, 0xdfc6, 0x3a, 0x74, 0x72, 0x6f, 0x70, 0x68, -0x79, 0x3a, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x79, 0xd83c, 0xdff5, 0x3a, 0x72, -0x6f, 0x73, 0x65, 0x74, 0x74, 0x65, 0x3a, 0x72, 0x6f, 0x73, 0x65, 0x74, -0x74, 0x65, 0xd83c, 0xdf97, 0x3a, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, -0x72, 0x5f, 0x72, 0x69, 0x62, 0x62, 0x6f, 0x6e, 0x3a, 0x72, 0x65, 0x6d, -0x69, 0x6e, 0x64, 0x65, 0x72, 0x72, 0x69, 0x62, 0x62, 0x6f, 0x6e, 0xd83c, -0xdfab, 0x3a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x3a, 0x74, 0x69, 0x63, -0x6b, 0x65, 0x74, 0xd83c, 0xdf9f, 0x3a, 0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, -0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x3a, -0x61, 0x64, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x74, 0x69, 0x63, -0x6b, 0x65, 0x74, 0x73, 0xd83c, 0xdf9f, 0x3a, 0x74, 0x69, 0x63, 0x6b, 0x65, -0x74, 0x73, 0x3a, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x73, 0xd83c, 0xdfaa, -0x3a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x73, 0x5f, 0x74, 0x65, 0x6e, 0x74, -0x3a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x73, 0x74, 0x65, 0x6e, 0x74, 0xd83e, -0xdd39, 0x200d, 0x2640, 0xfe0f, 0x3a, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0x5f, 0x6a, -0x75, 0x67, 0x67, 0x6c, 0x69, 0x6e, 0x67, 0x3a, 0x6a, 0x75, 0x67, 0x67, -0x6c, 0x69, 0x6e, 0x67, 0x77, 0x6f, 0x6d, 0x61, 0x6e, 0xd83e, 0xdd39, 0x200d, -0x2642, 0xfe0f, 0x3a, 0x6d, 0x61, 0x6e, 0x5f, 0x6a, 0x75, 0x67, 0x67, 0x6c, -0x69, 0x6e, 0x67, 0x3a, 0x6a, 0x75, 0x67, 0x67, 0x6c, 0x69, 0x6e, 0x67, -0x6d, 0x61, 0x6e, 0xd83e, 0xdd39, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6a, 0x75, 0x67, -0x67, 0x6c, 0x65, 0x72, 0x3a, 0x6a, 0x75, 0x67, 0x67, 0x6c, 0x65, 0x72, -0xd83e, 0xdd39, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x6a, 0x75, 0x67, 0x67, 0x6c, 0x69, -0x6e, 0x67, 0x3a, 0x6a, 0x75, 0x67, 0x67, 0x6c, 0x69, 0x6e, 0x67, 0xd83e, -0xdd39, 0x200d, 0x2642, 0xfe0f, 0x3a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x5f, -0x6a, 0x75, 0x67, 0x67, 0x6c, 0x69, 0x6e, 0x67, 0x3a, 0x6a, 0x75, 0x67, -0x67, 0x6c, 0x69, 0x6e, 0x67, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0xd83c, -0xdfad, 0x3a, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6e, 0x67, -0x5f, 0x61, 0x72, 0x74, 0x73, 0x3a, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, -0x72, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0xd83c, 0xdfa8, 0x3a, 0x61, -0x72, 0x74, 0x3a, 0x61, 0x72, 0x74, 0xd83c, 0xdfac, 0x3a, 0x63, 0x6c, 0x61, -0x70, 0x70, 0x65, 0x72, 0x3a, 0x63, 0x6c, 0x61, 0x70, 0x70, 0x65, 0x72, -0xd83c, 0xdfa4, 0x3a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, -0x65, 0x3a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, -0xd83c, 0xdfa7, 0x3a, 0x68, 0x65, 0x61, 0x64, 0x70, 0x68, 0x6f, 0x6e, 0x65, -0x73, 0x3a, 0x68, 0x65, 0x61, 0x64, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, -0xd83c, 0xdfbc, 0x3a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, -0x63, 0x6f, 0x72, 0x65, 0x3a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, -0x73, 0x63, 0x6f, 0x72, 0x65, 0xd83c, 0xdfb9, 0x3a, 0x6d, 0x75, 0x73, 0x69, -0x63, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, -0x3a, 0x6b, 0x65, 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x6d, 0x75, 0x73, -0x69, 0x63, 0x61, 0x6c, 0xd83e, 0xdd41, 0x3a, 0x64, 0x72, 0x75, 0x6d, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x72, 0x75, 0x6d, 0x73, 0x74, 0x69, -0x63, 0x6b, 0x73, 0x3a, 0x64, 0x72, 0x75, 0x6d, 0x64, 0x72, 0x75, 0x6d, -0x73, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x77, 0x69, 0x74, 0x68, 0xd83e, 0xdd41, -0x3a, 0x64, 0x72, 0x75, 0x6d, 0x3a, 0x64, 0x72, 0x75, 0x6d, 0xd83c, 0xdfb7, -0x3a, 0x73, 0x61, 0x78, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x3a, 0x73, -0x61, 0x78, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0xd83c, 0xdfba, 0x3a, 0x74, -0x72, 0x75, 0x6d, 0x70, 0x65, 0x74, 0x3a, 0x74, 0x72, 0x75, 0x6d, 0x70, -0x65, 0x74, 0xd83c, 0xdfb8, 0x3a, 0x67, 0x75, 0x69, 0x74, 0x61, 0x72, 0x3a, -0x67, 0x75, 0x69, 0x74, 0x61, 0x72, 0xd83c, 0xdfbb, 0x3a, 0x76, 0x69, 0x6f, -0x6c, 0x69, 0x6e, 0x3a, 0x76, 0x69, 0x6f, 0x6c, 0x69, 0x6e, 0xd83c, 0xdfb2, -0x3a, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x65, 0x3a, 0x64, 0x69, -0x65, 0x67, 0x61, 0x6d, 0x65, 0xd83c, 0xdfaf, 0x3a, 0x64, 0x61, 0x72, 0x74, -0x3a, 0x64, 0x61, 0x72, 0x74, 0xd83c, 0xdfb3, 0x3a, 0x62, 0x6f, 0x77, 0x6c, -0x69, 0x6e, 0x67, 0x3a, 0x62, 0x6f, 0x77, 0x6c, 0x69, 0x6e, 0x67, 0xd83c, -0xdfae, 0x3a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x67, 0x61, 0x6d, 0x65, -0x3a, 0x67, 0x61, 0x6d, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6f, 0xd83c, 0xdfb0, -0x3a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, -0x65, 0x3a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x6c, 0x6f, -0x74, 0xd83d, 0xde97, 0x3a, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x3a, -0x63, 0x61, 0x72, 0x72, 0x65, 0x64, 0xd83d, 0xde95, 0x3a, 0x74, 0x61, 0x78, -0x69, 0x3a, 0x74, 0x61, 0x78, 0x69, 0xd83d, 0xde99, 0x3a, 0x62, 0x6c, 0x75, -0x65, 0x5f, 0x63, 0x61, 0x72, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x63, 0x61, -0x72, 0xd83d, 0xde8c, 0x3a, 0x62, 0x75, 0x73, 0x3a, 0x62, 0x75, 0x73, 0xd83d, -0xde8e, 0x3a, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x79, 0x62, 0x75, 0x73, -0x3a, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x79, 0x62, 0x75, 0x73, 0xd83c, -0xdfce, 0x3a, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x72, -0x3a, 0x63, 0x61, 0x72, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0xd83c, 0xdfce, -0x3a, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x3a, 0x63, 0x61, -0x72, 0x72, 0x61, 0x63, 0x65, 0xd83d, 0xde93, 0x3a, 0x70, 0x6f, 0x6c, 0x69, -0x63, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x3a, 0x63, 0x61, 0x72, 0x70, 0x6f, -0x6c, 0x69, 0x63, 0x65, 0xd83d, 0xde91, 0x3a, 0x61, 0x6d, 0x62, 0x75, 0x6c, -0x61, 0x6e, 0x63, 0x65, 0x3a, 0x61, 0x6d, 0x62, 0x75, 0x6c, 0x61, 0x6e, -0x63, 0x65, 0xd83d, 0xde92, 0x3a, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65, 0x6e, -0x67, 0x69, 0x6e, 0x65, 0x3a, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x66, -0x69, 0x72, 0x65, 0xd83d, 0xde90, 0x3a, 0x6d, 0x69, 0x6e, 0x69, 0x62, 0x75, -0x73, 0x3a, 0x6d, 0x69, 0x6e, 0x69, 0x62, 0x75, 0x73, 0xd83d, 0xde9a, 0x3a, -0x74, 0x72, 0x75, 0x63, 0x6b, 0x3a, 0x74, 0x72, 0x75, 0x63, 0x6b, 0xd83d, -0xde9b, 0x3a, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, -0x64, 0x5f, 0x6c, 0x6f, 0x72, 0x72, 0x79, 0x3a, 0x61, 0x72, 0x74, 0x69, -0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x6c, 0x6f, 0x72, 0x72, 0x79, -0xd83d, 0xde9c, 0x3a, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x74, -0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0xd83d, 0xdef4, 0x3a, 0x73, 0x63, 0x6f, -0x6f, 0x74, 0x65, 0x72, 0x3a, 0x73, 0x63, 0x6f, 0x6f, 0x74, 0x65, 0x72, -0xd83d, 0xdeb2, 0x3a, 0x62, 0x69, 0x6b, 0x65, 0x3a, 0x62, 0x69, 0x6b, 0x65, -0xd83d, 0xdef5, 0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x62, 0x69, 0x6b, 0x65, -0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x62, 0x69, 0x6b, 0x65, 0xd83d, 0xdef5, -0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x6f, 0x74, -0x65, 0x72, 0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x73, 0x63, 0x6f, 0x6f, -0x74, 0x65, 0x72, 0xd83c, 0xdfcd, 0x3a, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, -0x5f, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x3a, -0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x72, 0x61, -0x63, 0x69, 0x6e, 0x67, 0xd83c, 0xdfcd, 0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, -0x63, 0x79, 0x63, 0x6c, 0x65, 0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x63, -0x79, 0x63, 0x6c, 0x65, 0xd83d, 0xdea8, 0x3a, 0x72, 0x6f, 0x74, 0x61, 0x74, -0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x6c, 0x69, -0x67, 0x68, 0x74, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, 0xd83d, -0xde94, 0x3a, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x70, -0x6f, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x3a, 0x63, 0x61, -0x72, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x70, 0x6f, 0x6c, -0x69, 0x63, 0x65, 0xd83d, 0xde8d, 0x3a, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x69, -0x6e, 0x67, 0x5f, 0x62, 0x75, 0x73, 0x3a, 0x62, 0x75, 0x73, 0x6f, 0x6e, -0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0xd83d, 0xde98, 0x3a, 0x6f, 0x6e, 0x63, -0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6f, -0x62, 0x69, 0x6c, 0x65, 0x3a, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x6f, 0x62, -0x69, 0x6c, 0x65, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0xd83d, -0xde96, 0x3a, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, -0x61, 0x78, 0x69, 0x3a, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, -0x74, 0x61, 0x78, 0x69, 0xd83d, 0xdea1, 0x3a, 0x61, 0x65, 0x72, 0x69, 0x61, -0x6c, 0x5f, 0x74, 0x72, 0x61, 0x6d, 0x77, 0x61, 0x79, 0x3a, 0x61, 0x65, -0x72, 0x69, 0x61, 0x6c, 0x74, 0x72, 0x61, 0x6d, 0x77, 0x61, 0x79, 0xd83d, -0xdea0, 0x3a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x63, -0x61, 0x62, 0x6c, 0x65, 0x77, 0x61, 0x79, 0x3a, 0x63, 0x61, 0x62, 0x6c, -0x65, 0x77, 0x61, 0x79, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, -0xd83d, 0xde9f, 0x3a, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, 0x69, 0x6f, -0x6e, 0x5f, 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x3a, 0x72, 0x61, -0x69, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x73, -0x69, 0x6f, 0x6e, 0xd83d, 0xde83, 0x3a, 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, -0x79, 0x5f, 0x63, 0x61, 0x72, 0x3a, 0x63, 0x61, 0x72, 0x72, 0x61, 0x69, -0x6c, 0x77, 0x61, 0x79, 0xd83d, 0xde8b, 0x3a, 0x74, 0x72, 0x61, 0x69, 0x6e, -0x3a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0xd83d, 0xde9e, 0x3a, 0x6d, 0x6f, 0x75, -0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, -0x79, 0x3a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x72, 0x61, -0x69, 0x6c, 0x77, 0x61, 0x79, 0xd83d, 0xde9d, 0x3a, 0x6d, 0x6f, 0x6e, 0x6f, -0x72, 0x61, 0x69, 0x6c, 0x3a, 0x6d, 0x6f, 0x6e, 0x6f, 0x72, 0x61, 0x69, -0x6c, 0xd83d, 0xde84, 0x3a, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x74, 0x72, -0x61, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x75, 0x6c, -0x6c, 0x65, 0x74, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, -0xd83d, 0xde85, 0x3a, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x74, 0x72, 0x61, -0x69, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x3a, 0x62, 0x75, 0x6c, -0x6c, 0x65, 0x74, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x66, 0x72, 0x6f, 0x6e, -0x74, 0xd83d, 0xde88, 0x3a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x72, 0x61, -0x69, 0x6c, 0x3a, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x72, 0x61, 0x69, 0x6c, -0xd83d, 0xde82, 0x3a, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, -0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x76, 0x65, 0x3a, 0x6c, 0x6f, 0x63, 0x6f, -0x6d, 0x6f, 0x74, 0x69, 0x76, 0x65, 0x73, 0x74, 0x65, 0x61, 0x6d, 0xd83d, -0xde86, 0x3a, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x32, 0x3a, 0x74, 0x72, 0x61, -0x69, 0x6e, 0x32, 0xd83d, 0xde87, 0x3a, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x3a, -0x6d, 0x65, 0x74, 0x72, 0x6f, 0xd83d, 0xde8a, 0x3a, 0x74, 0x72, 0x61, 0x6d, -0x3a, 0x74, 0x72, 0x61, 0x6d, 0xd83d, 0xde89, 0x3a, 0x73, 0x74, 0x61, 0x74, -0x69, 0x6f, 0x6e, 0x3a, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xd83d, -0xde81, 0x3a, 0x68, 0x65, 0x6c, 0x69, 0x63, 0x6f, 0x70, 0x74, 0x65, 0x72, -0x3a, 0x68, 0x65, 0x6c, 0x69, 0x63, 0x6f, 0x70, 0x74, 0x65, 0x72, 0xd83d, -0xdee9, 0x3a, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x69, 0x72, 0x70, -0x6c, 0x61, 0x6e, 0x65, 0x3a, 0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, -0x65, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0xd83d, 0xdee9, 0x3a, 0x61, 0x69, 0x72, -0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3a, -0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x6d, 0x61, 0x6c, -0x6c, 0x2708, 0xfe0f, 0x3a, 0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, -0x3a, 0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0xd83d, 0xdeeb, 0x3a, -0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x64, 0x65, 0x70, -0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x3a, 0x61, 0x69, 0x72, 0x70, 0x6c, -0x61, 0x6e, 0x65, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, -0xd83d, 0xdeec, 0x3a, 0x61, 0x69, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, -0x61, 0x72, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x3a, 0x61, 0x69, 0x72, -0x70, 0x6c, 0x61, 0x6e, 0x65, 0x61, 0x72, 0x72, 0x69, 0x76, 0x69, 0x6e, -0x67, 0xd83d, 0xde80, 0x3a, 0x72, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x3a, 0x72, -0x6f, 0x63, 0x6b, 0x65, 0x74, 0xd83d, 0xdef0, 0x3a, 0x73, 0x61, 0x74, 0x65, -0x6c, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x72, 0x62, 0x69, 0x74, 0x61, -0x6c, 0x3a, 0x6f, 0x72, 0x62, 0x69, 0x74, 0x61, 0x6c, 0x73, 0x61, 0x74, -0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0xd83d, 0xdcba, 0x3a, 0x73, 0x65, 0x61, -0x74, 0x3a, 0x73, 0x65, 0x61, 0x74, 0xd83d, 0xdef6, 0x3a, 0x6b, 0x61, 0x79, -0x61, 0x6b, 0x3a, 0x6b, 0x61, 0x79, 0x61, 0x6b, 0xd83d, 0xdef6, 0x3a, 0x63, -0x61, 0x6e, 0x6f, 0x65, 0x3a, 0x63, 0x61, 0x6e, 0x6f, 0x65, 0x26f5, 0xfe0f, -0x3a, 0x73, 0x61, 0x69, 0x6c, 0x62, 0x6f, 0x61, 0x74, 0x3a, 0x73, 0x61, -0x69, 0x6c, 0x62, 0x6f, 0x61, 0x74, 0xd83d, 0xdee5, 0x3a, 0x6d, 0x6f, 0x74, -0x6f, 0x72, 0x62, 0x6f, 0x61, 0x74, 0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, -0x62, 0x6f, 0x61, 0x74, 0xd83d, 0xdea4, 0x3a, 0x73, 0x70, 0x65, 0x65, 0x64, -0x62, 0x6f, 0x61, 0x74, 0x3a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x62, 0x6f, -0x61, 0x74, 0xd83d, 0xdef3, 0x3a, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, -0x65, 0x72, 0x5f, 0x73, 0x68, 0x69, 0x70, 0x3a, 0x70, 0x61, 0x73, 0x73, -0x65, 0x6e, 0x67, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0xd83d, 0xdef3, 0x3a, -0x63, 0x72, 0x75, 0x69, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x69, 0x70, 0x3a, -0x63, 0x72, 0x75, 0x69, 0x73, 0x65, 0x73, 0x68, 0x69, 0x70, 0x26f4, 0x3a, -0x66, 0x65, 0x72, 0x72, 0x79, 0x3a, 0x66, 0x65, 0x72, 0x72, 0x79, 0xd83d, -0xdea2, 0x3a, 0x73, 0x68, 0x69, 0x70, 0x3a, 0x73, 0x68, 0x69, 0x70, 0x2693, -0xfe0f, 0x3a, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x3a, 0x61, 0x6e, 0x63, -0x68, 0x6f, 0x72, 0xd83d, 0xdea7, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, -0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, -0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x26fd, 0xfe0f, 0x3a, 0x66, 0x75, -0x65, 0x6c, 0x70, 0x75, 0x6d, 0x70, 0x3a, 0x66, 0x75, 0x65, 0x6c, 0x70, -0x75, 0x6d, 0x70, 0xd83d, 0xde8f, 0x3a, 0x62, 0x75, 0x73, 0x73, 0x74, 0x6f, -0x70, 0x3a, 0x62, 0x75, 0x73, 0x73, 0x74, 0x6f, 0x70, 0xd83d, 0xdea6, 0x3a, -0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, -0x66, 0x66, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x6c, -0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x76, -0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0xd83d, 0xdea5, 0x3a, 0x74, 0x72, -0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x3a, -0x6c, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, -0xd83d, 0xddfa, 0x3a, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x70, -0x3a, 0x6d, 0x61, 0x70, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0xd83d, 0xddfa, 0x3a, -0x6d, 0x61, 0x70, 0x3a, 0x6d, 0x61, 0x70, 0xd83d, 0xddff, 0x3a, 0x6d, 0x6f, -0x79, 0x61, 0x69, 0x3a, 0x6d, 0x6f, 0x79, 0x61, 0x69, 0xd83d, 0xddfd, 0x3a, -0x73, 0x74, 0x61, 0x74, 0x75, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x6c, 0x69, -0x62, 0x65, 0x72, 0x74, 0x79, 0x3a, 0x6c, 0x69, 0x62, 0x65, 0x72, 0x74, -0x79, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x74, 0x75, 0x65, 0x26f2, 0xfe0f, 0x3a, -0x66, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x3a, 0x66, 0x6f, 0x75, -0x6e, 0x74, 0x61, 0x69, 0x6e, 0xd83d, 0xddfc, 0x3a, 0x74, 0x6f, 0x6b, 0x79, -0x6f, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x74, 0x6f, 0x6b, 0x79, -0x6f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0xd83c, 0xdff0, 0x3a, 0x65, 0x75, 0x72, -0x6f, 0x70, 0x65, 0x61, 0x6e, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x6c, 0x65, -0x3a, 0x63, 0x61, 0x73, 0x74, 0x6c, 0x65, 0x65, 0x75, 0x72, 0x6f, 0x70, -0x65, 0x61, 0x6e, 0xd83c, 0xdfef, 0x3a, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x65, -0x73, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x6c, 0x65, 0x3a, 0x63, 0x61, -0x73, 0x74, 0x6c, 0x65, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x65, 0x73, 0x65, -0xd83c, 0xdfdf, 0x3a, 0x73, 0x74, 0x61, 0x64, 0x69, 0x75, 0x6d, 0x3a, 0x73, -0x74, 0x61, 0x64, 0x69, 0x75, 0x6d, 0xd83c, 0xdfa1, 0x3a, 0x66, 0x65, 0x72, -0x72, 0x69, 0x73, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x3a, 0x66, 0x65, -0x72, 0x72, 0x69, 0x73, 0x77, 0x68, 0x65, 0x65, 0x6c, 0xd83c, 0xdfa2, 0x3a, -0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x61, 0x73, 0x74, -0x65, 0x72, 0x3a, 0x63, 0x6f, 0x61, 0x73, 0x74, 0x65, 0x72, 0x72, 0x6f, -0x6c, 0x6c, 0x65, 0x72, 0xd83c, 0xdfa0, 0x3a, 0x63, 0x61, 0x72, 0x6f, 0x75, -0x73, 0x65, 0x6c, 0x5f, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x3a, 0x63, 0x61, -0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x26f1, -0x3a, 0x75, 0x6d, 0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x5f, 0x6f, 0x6e, -0x5f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x67, 0x72, 0x6f, 0x75, -0x6e, 0x64, 0x6f, 0x6e, 0x75, 0x6d, 0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, -0x26f1, 0x3a, 0x62, 0x65, 0x61, 0x63, 0x68, 0x5f, 0x75, 0x6d, 0x62, 0x72, -0x65, 0x6c, 0x6c, 0x61, 0x3a, 0x62, 0x65, 0x61, 0x63, 0x68, 0x75, 0x6d, -0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0xd83c, 0xdfd6, 0x3a, 0x62, 0x65, 0x61, -0x63, 0x68, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x6d, 0x62, 0x72, -0x65, 0x6c, 0x6c, 0x61, 0x3a, 0x62, 0x65, 0x61, 0x63, 0x68, 0x75, 0x6d, -0x62, 0x72, 0x65, 0x6c, 0x6c, 0x61, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdfd6, -0x3a, 0x62, 0x65, 0x61, 0x63, 0x68, 0x3a, 0x62, 0x65, 0x61, 0x63, 0x68, -0xd83c, 0xdfdd, 0x3a, 0x64, 0x65, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x73, -0x6c, 0x61, 0x6e, 0x64, 0x3a, 0x64, 0x65, 0x73, 0x65, 0x72, 0x74, 0x69, -0x73, 0x6c, 0x61, 0x6e, 0x64, 0xd83c, 0xdfdd, 0x3a, 0x69, 0x73, 0x6c, 0x61, -0x6e, 0x64, 0x3a, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x26f0, 0x3a, 0x6d, -0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x3a, 0x6d, 0x6f, 0x75, 0x6e, -0x74, 0x61, 0x69, 0x6e, 0xd83c, 0xdfd4, 0x3a, 0x73, 0x6e, 0x6f, 0x77, 0x5f, -0x63, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, -0x61, 0x69, 0x6e, 0x3a, 0x63, 0x61, 0x70, 0x70, 0x65, 0x64, 0x6d, 0x6f, -0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x6e, 0x6f, 0x77, 0xd83c, 0xdfd4, -0x3a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x6e, -0x6f, 0x77, 0x3a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, -0x6e, 0x6f, 0x77, 0xd83d, 0xddfb, 0x3a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, -0x66, 0x75, 0x6a, 0x69, 0x3a, 0x66, 0x75, 0x6a, 0x69, 0x6d, 0x6f, 0x75, -0x6e, 0x74, 0xd83c, 0xdf0b, 0x3a, 0x76, 0x6f, 0x6c, 0x63, 0x61, 0x6e, 0x6f, -0x3a, 0x76, 0x6f, 0x6c, 0x63, 0x61, 0x6e, 0x6f, 0xd83c, 0xdfdc, 0x3a, 0x64, -0x65, 0x73, 0x65, 0x72, 0x74, 0x3a, 0x64, 0x65, 0x73, 0x65, 0x72, 0x74, -0xd83c, 0xdfd5, 0x3a, 0x63, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x3a, 0x63, -0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x26fa, 0xfe0f, 0x3a, 0x74, 0x65, 0x6e, -0x74, 0x3a, 0x74, 0x65, 0x6e, 0x74, 0xd83d, 0xdee4, 0x3a, 0x72, 0x61, 0x69, -0x6c, 0x72, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x3a, -0x72, 0x61, 0x69, 0x6c, 0x72, 0x6f, 0x61, 0x64, 0x74, 0x72, 0x61, 0x63, -0x6b, 0xd83d, 0xdee4, 0x3a, 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, 0x79, 0x5f, -0x74, 0x72, 0x61, 0x63, 0x6b, 0x3a, 0x72, 0x61, 0x69, 0x6c, 0x77, 0x61, -0x79, 0x74, 0x72, 0x61, 0x63, 0x6b, 0xd83d, 0xdee3, 0x3a, 0x6d, 0x6f, 0x74, -0x6f, 0x72, 0x77, 0x61, 0x79, 0x3a, 0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x77, -0x61, 0x79, 0xd83c, 0xdfd7, 0x3a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, -0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, -0x6f, 0x6e, 0x3a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x63, -0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0xd83c, -0xdfd7, 0x3a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, -0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x73, -0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x69, 0x74, 0x65, -0xd83c, 0xdfed, 0x3a, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x3a, 0x66, -0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0xd83c, 0xdfe0, 0x3a, 0x68, 0x6f, 0x75, -0x73, 0x65, 0x3a, 0x68, 0x6f, 0x75, 0x73, 0x65, 0xd83c, 0xdfe1, 0x3a, 0x68, -0x6f, 0x75, 0x73, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x67, 0x61, -0x72, 0x64, 0x65, 0x6e, 0x3a, 0x67, 0x61, 0x72, 0x64, 0x65, 0x6e, 0x68, -0x6f, 0x75, 0x73, 0x65, 0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdfd8, 0x3a, 0x68, -0x6f, 0x75, 0x73, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, -0x67, 0x73, 0x3a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x73, -0x68, 0x6f, 0x75, 0x73, 0x65, 0xd83c, 0xdfd8, 0x3a, 0x68, 0x6f, 0x6d, 0x65, -0x73, 0x3a, 0x68, 0x6f, 0x6d, 0x65, 0x73, 0xd83c, 0xdfda, 0x3a, 0x64, 0x65, -0x72, 0x65, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x68, 0x6f, 0x75, 0x73, 0x65, -0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, -0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x64, 0x65, 0x72, 0x65, 0x6c, 0x69, -0x63, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x65, 0xd83c, 0xdfda, 0x3a, 0x68, 0x6f, -0x75, 0x73, 0x65, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, -0x64, 0x3a, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x68, -0x6f, 0x75, 0x73, 0x65, 0xd83c, 0xdfe2, 0x3a, 0x6f, 0x66, 0x66, 0x69, 0x63, -0x65, 0x3a, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0xd83c, 0xdfec, 0x3a, 0x64, -0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, -0x6f, 0x72, 0x65, 0x3a, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, -0x6e, 0x74, 0x73, 0x74, 0x6f, 0x72, 0x65, 0xd83c, 0xdfe3, 0x3a, 0x70, 0x6f, -0x73, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x3a, 0x6f, 0x66, -0x66, 0x69, 0x63, 0x65, 0x70, 0x6f, 0x73, 0x74, 0xd83c, 0xdfe4, 0x3a, 0x65, -0x75, 0x72, 0x6f, 0x70, 0x65, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x74, -0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x3a, 0x65, 0x75, 0x72, 0x6f, -0x70, 0x65, 0x61, 0x6e, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x70, 0x6f, -0x73, 0x74, 0xd83c, 0xdfe5, 0x3a, 0x68, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, -0x6c, 0x3a, 0x68, 0x6f, 0x73, 0x70, 0x69, 0x74, 0x61, 0x6c, 0xd83c, 0xdfe6, -0x3a, 0x62, 0x61, 0x6e, 0x6b, 0x3a, 0x62, 0x61, 0x6e, 0x6b, 0xd83c, 0xdfe8, -0x3a, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x3a, 0x68, 0x6f, 0x74, 0x65, 0x6c, -0xd83c, 0xdfea, 0x3a, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x69, 0x65, 0x6e, -0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x3a, 0x63, 0x6f, 0x6e, -0x76, 0x65, 0x6e, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, -0x65, 0xd83c, 0xdfeb, 0x3a, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x3a, 0x73, -0x63, 0x68, 0x6f, 0x6f, 0x6c, 0xd83c, 0xdfe9, 0x3a, 0x6c, 0x6f, 0x76, 0x65, -0x5f, 0x68, 0x6f, 0x74, 0x65, 0x6c, 0x3a, 0x68, 0x6f, 0x74, 0x65, 0x6c, -0x6c, 0x6f, 0x76, 0x65, 0xd83d, 0xdc92, 0x3a, 0x77, 0x65, 0x64, 0x64, 0x69, -0x6e, 0x67, 0x3a, 0x77, 0x65, 0x64, 0x64, 0x69, 0x6e, 0x67, 0xd83c, 0xdfdb, -0x3a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, -0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x62, 0x75, 0x69, 0x6c, -0x64, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, 0x61, -0x6c, 0x26ea, 0xfe0f, 0x3a, 0x63, 0x68, 0x75, 0x72, 0x63, 0x68, 0x3a, 0x63, -0x68, 0x75, 0x72, 0x63, 0x68, 0xd83d, 0xdd4c, 0x3a, 0x6d, 0x6f, 0x73, 0x71, -0x75, 0x65, 0x3a, 0x6d, 0x6f, 0x73, 0x71, 0x75, 0x65, 0xd83d, 0xdd4d, 0x3a, -0x73, 0x79, 0x6e, 0x61, 0x67, 0x6f, 0x67, 0x75, 0x65, 0x3a, 0x73, 0x79, -0x6e, 0x61, 0x67, 0x6f, 0x67, 0x75, 0x65, 0xd83d, 0xdd4b, 0x3a, 0x6b, 0x61, -0x61, 0x62, 0x61, 0x3a, 0x6b, 0x61, 0x61, 0x62, 0x61, 0x26e9, 0x3a, 0x73, -0x68, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x73, 0x68, 0x72, 0x69, 0x6e, 0x65, -0x3a, 0x73, 0x68, 0x69, 0x6e, 0x74, 0x6f, 0x73, 0x68, 0x72, 0x69, 0x6e, -0x65, 0xd83d, 0xddfe, 0x3a, 0x6a, 0x61, 0x70, 0x61, 0x6e, 0x3a, 0x6a, 0x61, -0x70, 0x61, 0x6e, 0xd83c, 0xdf91, 0x3a, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x73, -0x63, 0x65, 0x6e, 0x65, 0x3a, 0x72, 0x69, 0x63, 0x65, 0x73, 0x63, 0x65, -0x6e, 0x65, 0xd83c, 0xdfde, 0x3a, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, -0x6c, 0x5f, 0x70, 0x61, 0x72, 0x6b, 0x3a, 0x6e, 0x61, 0x74, 0x69, 0x6f, -0x6e, 0x61, 0x6c, 0x70, 0x61, 0x72, 0x6b, 0xd83c, 0xdfde, 0x3a, 0x70, 0x61, -0x72, 0x6b, 0x3a, 0x70, 0x61, 0x72, 0x6b, 0xd83c, 0xdf05, 0x3a, 0x73, 0x75, -0x6e, 0x72, 0x69, 0x73, 0x65, 0x3a, 0x73, 0x75, 0x6e, 0x72, 0x69, 0x73, -0x65, 0xd83c, 0xdf04, 0x3a, 0x73, 0x75, 0x6e, 0x72, 0x69, 0x73, 0x65, 0x5f, -0x6f, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, -0x6e, 0x73, 0x3a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, -0x6f, 0x76, 0x65, 0x72, 0x73, 0x75, 0x6e, 0x72, 0x69, 0x73, 0x65, 0xd83c, -0xdf20, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x73, 0x3a, 0x73, 0x74, 0x61, 0x72, -0x73, 0xd83c, 0xdf87, 0x3a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x6c, 0x65, 0x72, -0x3a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x6c, 0x65, 0x72, 0xd83c, 0xdf86, 0x3a, -0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x3a, 0x66, 0x69, -0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0xd83c, 0xdf07, 0x3a, 0x63, 0x69, -0x74, 0x79, 0x5f, 0x73, 0x75, 0x6e, 0x72, 0x69, 0x73, 0x65, 0x3a, 0x63, -0x69, 0x74, 0x79, 0x73, 0x75, 0x6e, 0x72, 0x69, 0x73, 0x65, 0xd83c, 0xdf07, -0x3a, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x75, 0x6e, 0x73, 0x65, 0x74, -0x3a, 0x63, 0x69, 0x74, 0x79, 0x73, 0x75, 0x6e, 0x73, 0x65, 0x74, 0xd83c, -0xdf06, 0x3a, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x75, 0x73, 0x6b, 0x3a, -0x63, 0x69, 0x74, 0x79, 0x64, 0x75, 0x73, 0x6b, 0xd83c, 0xdfd9, 0x3a, 0x63, -0x69, 0x74, 0x79, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x69, 0x74, -0x79, 0x73, 0x63, 0x61, 0x70, 0x65, 0xd83c, 0xdf03, 0x3a, 0x6e, 0x69, 0x67, -0x68, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x72, -0x73, 0x3a, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x61, 0x72, 0x73, -0x77, 0x69, 0x74, 0x68, 0xd83c, 0xdf0c, 0x3a, 0x6d, 0x69, 0x6c, 0x6b, 0x79, -0x5f, 0x77, 0x61, 0x79, 0x3a, 0x6d, 0x69, 0x6c, 0x6b, 0x79, 0x77, 0x61, -0x79, 0xd83c, 0xdf09, 0x3a, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x61, -0x74, 0x5f, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x61, 0x74, 0x62, 0x72, -0x69, 0x64, 0x67, 0x65, 0x6e, 0x69, 0x67, 0x68, 0x74, 0xd83c, 0xdf01, 0x3a, -0x66, 0x6f, 0x67, 0x67, 0x79, 0x3a, 0x66, 0x6f, 0x67, 0x67, 0x79, 0x231a, -0xfe0f, 0x3a, 0x77, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x77, 0x61, 0x74, 0x63, -0x68, 0xd83d, 0xdcf1, 0x3a, 0x69, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x3a, 0x69, -0x70, 0x68, 0x6f, 0x6e, 0x65, 0xd83d, 0xdcf2, 0x3a, 0x63, 0x61, 0x6c, 0x6c, -0x69, 0x6e, 0x67, 0x3a, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0xd83d, -0xdcbb, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x63, -0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x2328, 0xfe0f, 0x3a, 0x6b, 0x65, -0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x3a, 0x6b, 0x65, 0x79, 0x62, 0x6f, -0x61, 0x72, 0x64, 0xd83d, 0xdda5, 0x3a, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, -0x70, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x63, -0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x64, 0x65, 0x73, 0x6b, 0x74, -0x6f, 0x70, 0xd83d, 0xdda5, 0x3a, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, -0x3a, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0xd83d, 0xdda8, 0x3a, 0x70, -0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x3a, 0x70, 0x72, 0x69, 0x6e, 0x74, -0x65, 0x72, 0xd83d, 0xddb1, 0x3a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x5f, 0x62, -0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x3a, -0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x74, -0x68, 0x72, 0x65, 0x65, 0xd83d, 0xddb1, 0x3a, 0x6d, 0x6f, 0x75, 0x73, 0x65, -0x5f, 0x74, 0x68, 0x72, 0x65, 0x65, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, -0x6e, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x6d, 0x6f, 0x75, 0x73, -0x65, 0x74, 0x68, 0x72, 0x65, 0x65, 0xd83d, 0xddb2, 0x3a, 0x74, 0x72, 0x61, -0x63, 0x6b, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x74, 0x72, 0x61, 0x63, 0x6b, -0x62, 0x61, 0x6c, 0x6c, 0xd83d, 0xdd79, 0x3a, 0x6a, 0x6f, 0x79, 0x73, 0x74, -0x69, 0x63, 0x6b, 0x3a, 0x6a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, -0xd83d, 0xdddc, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, -0x6f, 0x6e, 0x3a, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, -0x6f, 0x6e, 0xd83d, 0xdcbd, 0x3a, 0x6d, 0x69, 0x6e, 0x69, 0x64, 0x69, 0x73, -0x63, 0x3a, 0x6d, 0x69, 0x6e, 0x69, 0x64, 0x69, 0x73, 0x63, 0xd83d, 0xdcbe, -0x3a, 0x66, 0x6c, 0x6f, 0x70, 0x70, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, -0x3a, 0x64, 0x69, 0x73, 0x6b, 0x66, 0x6c, 0x6f, 0x70, 0x70, 0x79, 0xd83d, -0xdcbf, 0x3a, 0x63, 0x64, 0x3a, 0x63, 0x64, 0xd83d, 0xdcc0, 0x3a, 0x64, 0x76, -0x64, 0x3a, 0x64, 0x76, 0x64, 0xd83d, 0xdcfc, 0x3a, 0x76, 0x68, 0x73, 0x3a, -0x76, 0x68, 0x73, 0xd83d, 0xdcf7, 0x3a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, -0x3a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0xd83d, 0xdcf8, 0x3a, 0x63, 0x61, -0x6d, 0x65, 0x72, 0x61, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x66, 0x6c, -0x61, 0x73, 0x68, 0x3a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x66, 0x6c, -0x61, 0x73, 0x68, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdcf9, 0x3a, 0x76, 0x69, -0x64, 0x65, 0x6f, 0x5f, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x3a, 0x63, -0x61, 0x6d, 0x65, 0x72, 0x61, 0x76, 0x69, 0x64, 0x65, 0x6f, 0xd83c, 0xdfa5, -0x3a, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x65, 0x72, -0x61, 0x3a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x6f, 0x76, 0x69, -0x65, 0xd83d, 0xdcfd, 0x3a, 0x66, 0x69, 0x6c, 0x6d, 0x5f, 0x70, 0x72, 0x6f, -0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x66, 0x69, 0x6c, 0x6d, 0x70, -0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0xd83d, 0xdcfd, 0x3a, 0x70, -0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x70, 0x72, 0x6f, -0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0xd83c, 0xdf9e, 0x3a, 0x66, 0x69, 0x6c, -0x6d, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x3a, 0x66, 0x69, 0x6c, -0x6d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0xd83d, 0xdcde, 0x3a, 0x74, 0x65, -0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, -0x69, 0x76, 0x65, 0x72, 0x3a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, -0x72, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x260e, 0xfe0f, -0x3a, 0x74, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x3a, 0x74, -0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0xd83d, 0xdcdf, 0x3a, 0x70, -0x61, 0x67, 0x65, 0x72, 0x3a, 0x70, 0x61, 0x67, 0x65, 0x72, 0xd83d, 0xdce0, -0x3a, 0x66, 0x61, 0x78, 0x3a, 0x66, 0x61, 0x78, 0xd83d, 0xdcfa, 0x3a, 0x74, -0x76, 0x3a, 0x74, 0x76, 0xd83d, 0xdcfb, 0x3a, 0x72, 0x61, 0x64, 0x69, 0x6f, -0x3a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0xd83c, 0xdf99, 0x3a, 0x73, 0x74, 0x75, -0x64, 0x69, 0x6f, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, -0x6e, 0x65, 0x3a, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, -0x65, 0x73, 0x74, 0x75, 0x64, 0x69, 0x6f, 0xd83c, 0xdf99, 0x3a, 0x6d, 0x69, -0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x32, 0x3a, 0x6d, 0x69, -0x63, 0x72, 0x6f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x32, 0xd83c, 0xdf9a, 0x3a, -0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x72, -0x3a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x72, -0xd83c, 0xdf9b, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x6b, -0x6e, 0x6f, 0x62, 0x73, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, -0x6b, 0x6e, 0x6f, 0x62, 0x73, 0x23f1, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x77, -0x61, 0x74, 0x63, 0x68, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x77, 0x61, 0x74, -0x63, 0x68, 0x23f2, 0x3a, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x63, 0x6c, -0x6f, 0x63, 0x6b, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, -0x65, 0x72, 0x23f2, 0x3a, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x3a, 0x74, 0x69, -0x6d, 0x65, 0x72, 0x23f0, 0x3a, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x5f, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x3a, 0x61, 0x6c, 0x61, 0x72, 0x6d, 0x63, 0x6c, -0x6f, 0x63, 0x6b, 0xd83d, 0xdd70, 0x3a, 0x6d, 0x61, 0x6e, 0x74, 0x6c, 0x65, -0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x61, 0x6e, 0x74, 0x6c, 0x65, 0x70, -0x69, 0x65, 0x63, 0x65, 0xd83d, 0xdd70, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, -0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x231b, 0xfe0f, 0x3a, 0x68, 0x6f, 0x75, -0x72, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x3a, 0x68, 0x6f, 0x75, 0x72, 0x67, -0x6c, 0x61, 0x73, 0x73, 0x23f3, 0x3a, 0x68, 0x6f, 0x75, 0x72, 0x67, 0x6c, -0x61, 0x73, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x5f, -0x73, 0x61, 0x6e, 0x64, 0x3a, 0x66, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, -0x68, 0x6f, 0x75, 0x72, 0x67, 0x6c, 0x61, 0x73, 0x73, 0x73, 0x61, 0x6e, -0x64, 0xd83d, 0xdce1, 0x3a, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, -0x65, 0x3a, 0x73, 0x61, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x74, 0x65, 0xd83d, -0xdd0b, 0x3a, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x3a, 0x62, 0x61, -0x74, 0x74, 0x65, 0x72, 0x79, 0xd83d, 0xdd0c, 0x3a, 0x65, 0x6c, 0x65, 0x63, -0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x3a, 0x65, 0x6c, -0x65, 0x63, 0x74, 0x72, 0x69, 0x63, 0x70, 0x6c, 0x75, 0x67, 0xd83d, 0xdca1, -0x3a, 0x62, 0x75, 0x6c, 0x62, 0x3a, 0x62, 0x75, 0x6c, 0x62, 0xd83d, 0xdd26, -0x3a, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x3a, -0x66, 0x6c, 0x61, 0x73, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0xd83d, 0xdd6f, -0x3a, 0x63, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x3a, 0x63, 0x61, 0x6e, 0x64, -0x6c, 0x65, 0xd83d, 0xddd1, 0x3a, 0x77, 0x61, 0x73, 0x74, 0x65, 0x62, 0x61, -0x73, 0x6b, 0x65, 0x74, 0x3a, 0x77, 0x61, 0x73, 0x74, 0x65, 0x62, 0x61, -0x73, 0x6b, 0x65, 0x74, 0xd83d, 0xdee2, 0x3a, 0x6f, 0x69, 0x6c, 0x5f, 0x64, -0x72, 0x75, 0x6d, 0x3a, 0x64, 0x72, 0x75, 0x6d, 0x6f, 0x69, 0x6c, 0xd83d, -0xdee2, 0x3a, 0x6f, 0x69, 0x6c, 0x3a, 0x6f, 0x69, 0x6c, 0xd83d, 0xdcb8, 0x3a, -0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x77, -0x69, 0x6e, 0x67, 0x73, 0x3a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x77, 0x69, -0x6e, 0x67, 0x73, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdcb5, 0x3a, 0x64, 0x6f, -0x6c, 0x6c, 0x61, 0x72, 0x3a, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0xd83d, -0xdcb4, 0x3a, 0x79, 0x65, 0x6e, 0x3a, 0x79, 0x65, 0x6e, 0xd83d, 0xdcb6, 0x3a, -0x65, 0x75, 0x72, 0x6f, 0x3a, 0x65, 0x75, 0x72, 0x6f, 0xd83d, 0xdcb7, 0x3a, -0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0xd83d, -0xdcb0, 0x3a, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x62, 0x61, 0x67, 0x3a, 0x6d, -0x6f, 0x6e, 0x65, 0x79, 0x62, 0x61, 0x67, 0xd83d, 0xdcb3, 0x3a, 0x63, 0x72, -0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x3a, 0x63, 0x61, -0x72, 0x64, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0xd83d, 0xdc8e, 0x3a, 0x67, -0x65, 0x6d, 0x3a, 0x67, 0x65, 0x6d, 0x2696, 0xfe0f, 0x3a, 0x73, 0x63, 0x61, -0x6c, 0x65, 0x73, 0x3a, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x73, 0xd83d, 0xdd27, -0x3a, 0x77, 0x72, 0x65, 0x6e, 0x63, 0x68, 0x3a, 0x77, 0x72, 0x65, 0x6e, -0x63, 0x68, 0xd83d, 0xdd28, 0x3a, 0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x3a, -0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x2692, 0x3a, 0x68, 0x61, 0x6d, 0x6d, -0x65, 0x72, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x3a, -0x61, 0x6e, 0x64, 0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x70, 0x69, 0x63, -0x6b, 0x2692, 0x3a, 0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x70, 0x69, -0x63, 0x6b, 0x3a, 0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x70, 0x69, 0x63, -0x6b, 0xd83d, 0xdee0, 0x3a, 0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x61, -0x6e, 0x64, 0x5f, 0x77, 0x72, 0x65, 0x6e, 0x63, 0x68, 0x3a, 0x61, 0x6e, -0x64, 0x68, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x77, 0x72, 0x65, 0x6e, 0x63, -0x68, 0xd83d, 0xdee0, 0x3a, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x3a, 0x74, 0x6f, -0x6f, 0x6c, 0x73, 0x26cf, 0x3a, 0x70, 0x69, 0x63, 0x6b, 0x3a, 0x70, 0x69, -0x63, 0x6b, 0xd83d, 0xdd29, 0x3a, 0x6e, 0x75, 0x74, 0x5f, 0x61, 0x6e, 0x64, -0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x3a, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6c, -0x74, 0x6e, 0x75, 0x74, 0x2699, 0xfe0f, 0x3a, 0x67, 0x65, 0x61, 0x72, 0x3a, -0x67, 0x65, 0x61, 0x72, 0x26d3, 0x3a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, -0x3a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0xd83d, 0xdd2b, 0x3a, 0x67, 0x75, -0x6e, 0x3a, 0x67, 0x75, 0x6e, 0xd83d, 0xdca3, 0x3a, 0x62, 0x6f, 0x6d, 0x62, -0x3a, 0x62, 0x6f, 0x6d, 0x62, 0xd83d, 0xdd2a, 0x3a, 0x6b, 0x6e, 0x69, 0x66, -0x65, 0x3a, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0xd83d, 0xdde1, 0x3a, 0x64, 0x61, -0x67, 0x67, 0x65, 0x72, 0x5f, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0x3a, 0x64, -0x61, 0x67, 0x67, 0x65, 0x72, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0xd83d, 0xdde1, -0x3a, 0x64, 0x61, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x64, 0x61, 0x67, 0x67, -0x65, 0x72, 0x2694, 0xfe0f, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, -0x5f, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, -0x73, 0x65, 0x64, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0xd83d, 0xdee1, 0x3a, -0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x73, 0x68, 0x69, 0x65, 0x6c, -0x64, 0xd83d, 0xdeac, 0x3a, 0x73, 0x6d, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x3a, -0x73, 0x6d, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x26b0, 0xfe0f, 0x3a, 0x63, 0x6f, -0x66, 0x66, 0x69, 0x6e, 0x3a, 0x63, 0x6f, 0x66, 0x66, 0x69, 0x6e, 0x26b1, -0xfe0f, 0x3a, 0x66, 0x75, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x75, 0x72, -0x6e, 0x3a, 0x66, 0x75, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x75, 0x72, 0x6e, -0x26b1, 0xfe0f, 0x3a, 0x75, 0x72, 0x6e, 0x3a, 0x75, 0x72, 0x6e, 0xd83c, 0xdffa, -0x3a, 0x61, 0x6d, 0x70, 0x68, 0x6f, 0x72, 0x61, 0x3a, 0x61, 0x6d, 0x70, -0x68, 0x6f, 0x72, 0x61, 0xd83d, 0xdd2e, 0x3a, 0x63, 0x72, 0x79, 0x73, 0x74, -0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, -0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0xd83d, 0xdcff, 0x3a, 0x70, 0x72, -0x61, 0x79, 0x65, 0x72, 0x5f, 0x62, 0x65, 0x61, 0x64, 0x73, 0x3a, 0x62, -0x65, 0x61, 0x64, 0x73, 0x70, 0x72, 0x61, 0x79, 0x65, 0x72, 0xd83d, 0xdc88, -0x3a, 0x62, 0x61, 0x72, 0x62, 0x65, 0x72, 0x3a, 0x62, 0x61, 0x72, 0x62, -0x65, 0x72, 0x2697, 0xfe0f, 0x3a, 0x61, 0x6c, 0x65, 0x6d, 0x62, 0x69, 0x63, -0x3a, 0x61, 0x6c, 0x65, 0x6d, 0x62, 0x69, 0x63, 0xd83d, 0xdd2d, 0x3a, 0x74, -0x65, 0x6c, 0x65, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3a, 0x74, 0x65, 0x6c, -0x65, 0x73, 0x63, 0x6f, 0x70, 0x65, 0xd83d, 0xdd2c, 0x3a, 0x6d, 0x69, 0x63, -0x72, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x3a, 0x6d, 0x69, 0x63, 0x72, -0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0xd83d, 0xdd73, 0x3a, 0x68, 0x6f, 0x6c, -0x65, 0x3a, 0x68, 0x6f, 0x6c, 0x65, 0xd83d, 0xdc8a, 0x3a, 0x70, 0x69, 0x6c, -0x6c, 0x3a, 0x70, 0x69, 0x6c, 0x6c, 0xd83d, 0xdc89, 0x3a, 0x73, 0x79, 0x72, -0x69, 0x6e, 0x67, 0x65, 0x3a, 0x73, 0x79, 0x72, 0x69, 0x6e, 0x67, 0x65, -0xd83c, 0xdf21, 0x3a, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x6d, 0x65, 0x74, -0x65, 0x72, 0x3a, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x6f, 0x6d, 0x65, 0x74, -0x65, 0x72, 0xd83d, 0xdebd, 0x3a, 0x74, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0x3a, -0x74, 0x6f, 0x69, 0x6c, 0x65, 0x74, 0xd83d, 0xdeb0, 0x3a, 0x70, 0x6f, 0x74, -0x61, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x3a, 0x70, -0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x77, 0x61, 0x74, 0x65, 0x72, 0xd83d, -0xdebf, 0x3a, 0x73, 0x68, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x73, 0x68, 0x6f, -0x77, 0x65, 0x72, 0xd83d, 0xdec1, 0x3a, 0x62, 0x61, 0x74, 0x68, 0x74, 0x75, -0x62, 0x3a, 0x62, 0x61, 0x74, 0x68, 0x74, 0x75, 0x62, 0xd83d, 0xdec0, 0x3a, -0x62, 0x61, 0x74, 0x68, 0x3a, 0x62, 0x61, 0x74, 0x68, 0xd83d, 0xdece, 0x3a, -0x62, 0x65, 0x6c, 0x6c, 0x68, 0x6f, 0x70, 0x5f, 0x62, 0x65, 0x6c, 0x6c, -0x3a, 0x62, 0x65, 0x6c, 0x6c, 0x62, 0x65, 0x6c, 0x6c, 0x68, 0x6f, 0x70, -0xd83d, 0xdece, 0x3a, 0x62, 0x65, 0x6c, 0x6c, 0x68, 0x6f, 0x70, 0x3a, 0x62, -0x65, 0x6c, 0x6c, 0x68, 0x6f, 0x70, 0xd83d, 0xdd11, 0x3a, 0x6b, 0x65, 0x79, -0x3a, 0x6b, 0x65, 0x79, 0xd83d, 0xdddd, 0x3a, 0x6f, 0x6c, 0x64, 0x5f, 0x6b, -0x65, 0x79, 0x3a, 0x6b, 0x65, 0x79, 0x6f, 0x6c, 0x64, 0xd83d, 0xdddd, 0x3a, -0x6b, 0x65, 0x79, 0x32, 0x3a, 0x6b, 0x65, 0x79, 0x32, 0xd83d, 0xdeaa, 0x3a, -0x64, 0x6f, 0x6f, 0x72, 0x3a, 0x64, 0x6f, 0x6f, 0x72, 0xd83d, 0xdecb, 0x3a, -0x63, 0x6f, 0x75, 0x63, 0x68, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x6c, 0x61, -0x6d, 0x70, 0x3a, 0x61, 0x6e, 0x64, 0x63, 0x6f, 0x75, 0x63, 0x68, 0x6c, -0x61, 0x6d, 0x70, 0xd83d, 0xdecb, 0x3a, 0x63, 0x6f, 0x75, 0x63, 0x68, 0x3a, -0x63, 0x6f, 0x75, 0x63, 0x68, 0xd83d, 0xdecf, 0x3a, 0x62, 0x65, 0x64, 0x3a, -0x62, 0x65, 0x64, 0xd83d, 0xdecc, 0x3a, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x69, -0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x64, 0x61, -0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x63, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, -0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x69, -0x6e, 0x67, 0xd83d, 0xddbc, 0x3a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x3a, -0x66, 0x72, 0x61, 0x6d, 0x65, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, -0x77, 0x69, 0x74, 0x68, 0xd83d, 0xddbc, 0x3a, 0x66, 0x72, 0x61, 0x6d, 0x65, -0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x3a, 0x66, 0x72, 0x61, 0x6d, 0x65, -0x70, 0x68, 0x6f, 0x74, 0x6f, 0xd83d, 0xdecd, 0x3a, 0x73, 0x68, 0x6f, 0x70, -0x70, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x61, 0x67, 0x73, 0x3a, 0x62, 0x61, -0x67, 0x73, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0xd83d, 0xded2, -0x3a, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, -0x6f, 0x6c, 0x6c, 0x65, 0x79, 0x3a, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, -0x6e, 0x67, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x79, 0xd83d, 0xded2, 0x3a, -0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x72, -0x74, 0x3a, 0x63, 0x61, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, -0x6e, 0x67, 0xd83c, 0xdf81, 0x3a, 0x67, 0x69, 0x66, 0x74, 0x3a, 0x67, 0x69, -0x66, 0x74, 0xd83c, 0xdf88, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, -0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0xd83c, 0xdf8f, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0xd83c, 0xdf80, -0x3a, 0x72, 0x69, 0x62, 0x62, 0x6f, 0x6e, 0x3a, 0x72, 0x69, 0x62, 0x62, -0x6f, 0x6e, 0xd83c, 0xdf8a, 0x3a, 0x63, 0x6f, 0x6e, 0x66, 0x65, 0x74, 0x74, -0x69, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x63, -0x6f, 0x6e, 0x66, 0x65, 0x74, 0x74, 0x69, 0xd83c, 0xdf89, 0x3a, 0x74, 0x61, -0x64, 0x61, 0x3a, 0x74, 0x61, 0x64, 0x61, 0xd83c, 0xdf8e, 0x3a, 0x64, 0x6f, -0x6c, 0x6c, 0x73, 0x3a, 0x64, 0x6f, 0x6c, 0x6c, 0x73, 0xd83c, 0xdfee, 0x3a, -0x69, 0x7a, 0x61, 0x6b, 0x61, 0x79, 0x61, 0x5f, 0x6c, 0x61, 0x6e, 0x74, -0x65, 0x72, 0x6e, 0x3a, 0x69, 0x7a, 0x61, 0x6b, 0x61, 0x79, 0x61, 0x6c, -0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0xd83c, 0xdf90, 0x3a, 0x77, 0x69, 0x6e, -0x64, 0x5f, 0x63, 0x68, 0x69, 0x6d, 0x65, 0x3a, 0x63, 0x68, 0x69, 0x6d, -0x65, 0x77, 0x69, 0x6e, 0x64, 0x2709, 0xfe0f, 0x3a, 0x65, 0x6e, 0x76, 0x65, -0x6c, 0x6f, 0x70, 0x65, 0x3a, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, -0x65, 0xd83d, 0xdce9, 0x3a, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x3a, -0x61, 0x72, 0x72, 0x6f, 0x77, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, -0x65, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdce8, 0x3a, 0x69, 0x6e, 0x63, 0x6f, -0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, -0x65, 0x3a, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x69, 0x6e, -0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0xd83d, 0xdce7, 0x3a, 0x65, 0x6d, 0x61, -0x69, 0x6c, 0x3a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd83d, 0xdce7, 0x3a, 0x65, -0x2d, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0xd83d, -0xdc8c, 0x3a, 0x6c, 0x6f, 0x76, 0x65, 0x5f, 0x6c, 0x65, 0x74, 0x74, 0x65, -0x72, 0x3a, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6c, 0x6f, 0x76, 0x65, -0xd83d, 0xdce5, 0x3a, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x72, 0x61, -0x79, 0x3a, 0x69, 0x6e, 0x62, 0x6f, 0x78, 0x74, 0x72, 0x61, 0x79, 0xd83d, -0xdce4, 0x3a, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x78, 0x5f, 0x74, 0x72, 0x61, -0x79, 0x3a, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x78, 0x74, 0x72, 0x61, 0x79, -0xd83d, 0xdce6, 0x3a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x3a, 0x70, -0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0xd83c, 0xdff7, 0x3a, 0x6c, 0x61, 0x62, -0x65, 0x6c, 0x3a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0xd83d, 0xdcea, 0x3a, 0x6d, -0x61, 0x69, 0x6c, 0x62, 0x6f, 0x78, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, -0x64, 0x3a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x6d, 0x61, 0x69, 0x6c, -0x62, 0x6f, 0x78, 0xd83d, 0xdceb, 0x3a, 0x6d, 0x61, 0x69, 0x6c, 0x62, 0x6f, -0x78, 0x3a, 0x6d, 0x61, 0x69, 0x6c, 0x62, 0x6f, 0x78, 0xd83d, 0xdcec, 0x3a, -0x6d, 0x61, 0x69, 0x6c, 0x62, 0x6f, 0x78, 0x5f, 0x77, 0x69, 0x74, 0x68, -0x5f, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x6d, 0x61, 0x69, 0x6c, 0x6d, 0x61, -0x69, 0x6c, 0x62, 0x6f, 0x78, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdced, 0x3a, -0x6d, 0x61, 0x69, 0x6c, 0x62, 0x6f, 0x78, 0x5f, 0x77, 0x69, 0x74, 0x68, -0x5f, 0x6e, 0x6f, 0x5f, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x6d, 0x61, 0x69, -0x6c, 0x6d, 0x61, 0x69, 0x6c, 0x62, 0x6f, 0x78, 0x6e, 0x6f, 0x77, 0x69, -0x74, 0x68, 0xd83d, 0xdcee, 0x3a, 0x70, 0x6f, 0x73, 0x74, 0x62, 0x6f, 0x78, -0x3a, 0x70, 0x6f, 0x73, 0x74, 0x62, 0x6f, 0x78, 0xd83d, 0xdcef, 0x3a, 0x70, -0x6f, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x72, 0x6e, 0x3a, 0x68, -0x6f, 0x72, 0x6e, 0x70, 0x6f, 0x73, 0x74, 0x61, 0x6c, 0xd83d, 0xdcdc, 0x3a, -0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x3a, 0x73, 0x63, 0x72, 0x6f, 0x6c, -0x6c, 0xd83d, 0xdcc3, 0x3a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x77, 0x69, 0x74, -0x68, 0x5f, 0x63, 0x75, 0x72, 0x6c, 0x3a, 0x63, 0x75, 0x72, 0x6c, 0x70, -0x61, 0x67, 0x65, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdcc4, 0x3a, 0x70, 0x61, -0x67, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x70, -0x3a, 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x70, 0x61, 0x67, 0x65, 0x75, -0x70, 0xd83d, 0xdcd1, 0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, 0x72, 0x6b, -0x5f, 0x74, 0x61, 0x62, 0x73, 0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, -0x72, 0x6b, 0x74, 0x61, 0x62, 0x73, 0xd83d, 0xdcca, 0x3a, 0x62, 0x61, 0x72, -0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x61, 0x72, 0x63, 0x68, -0x61, 0x72, 0x74, 0xd83d, 0xdcc8, 0x3a, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, -0x77, 0x69, 0x74, 0x68, 0x5f, 0x75, 0x70, 0x77, 0x61, 0x72, 0x64, 0x73, -0x5f, 0x74, 0x72, 0x65, 0x6e, 0x64, 0x3a, 0x63, 0x68, 0x61, 0x72, 0x74, -0x74, 0x72, 0x65, 0x6e, 0x64, 0x75, 0x70, 0x77, 0x61, 0x72, 0x64, 0x73, -0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdcc9, 0x3a, 0x63, 0x68, 0x61, 0x72, 0x74, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x77, 0x61, -0x72, 0x64, 0x73, 0x5f, 0x74, 0x72, 0x65, 0x6e, 0x64, 0x3a, 0x63, 0x68, -0x61, 0x72, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x77, 0x61, 0x72, 0x64, 0x73, -0x74, 0x72, 0x65, 0x6e, 0x64, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xddd2, 0x3a, -0x73, 0x70, 0x69, 0x72, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x5f, -0x70, 0x61, 0x64, 0x3a, 0x6e, 0x6f, 0x74, 0x65, 0x70, 0x61, 0x64, 0x73, -0x70, 0x69, 0x72, 0x61, 0x6c, 0xd83d, 0xddd2, 0x3a, 0x6e, 0x6f, 0x74, 0x65, -0x70, 0x61, 0x64, 0x5f, 0x73, 0x70, 0x69, 0x72, 0x61, 0x6c, 0x3a, 0x6e, -0x6f, 0x74, 0x65, 0x70, 0x61, 0x64, 0x73, 0x70, 0x69, 0x72, 0x61, 0x6c, -0xd83d, 0xddd3, 0x3a, 0x73, 0x70, 0x69, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x61, -0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x5f, 0x70, 0x61, 0x64, 0x3a, 0x63, -0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x70, 0x61, 0x64, 0x73, 0x70, -0x69, 0x72, 0x61, 0x6c, 0xd83d, 0xddd3, 0x3a, 0x63, 0x61, 0x6c, 0x65, 0x6e, -0x64, 0x61, 0x72, 0x5f, 0x73, 0x70, 0x69, 0x72, 0x61, 0x6c, 0x3a, 0x63, -0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x73, 0x70, 0x69, 0x72, 0x61, -0x6c, 0xd83d, 0xdcc6, 0x3a, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, -0x3a, 0x63, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x61, 0x72, 0xd83d, 0xdcc5, 0x3a, -0x64, 0x61, 0x74, 0x65, 0x3a, 0x64, 0x61, 0x74, 0x65, 0xd83d, 0xdcc7, 0x3a, -0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x63, -0x61, 0x72, 0x64, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xd83d, 0xddc3, 0x3a, 0x63, -0x61, 0x72, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x78, -0x3a, 0x62, 0x6f, 0x78, 0x63, 0x61, 0x72, 0x64, 0x66, 0x69, 0x6c, 0x65, -0xd83d, 0xddc3, 0x3a, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x62, 0x6f, 0x78, 0x3a, -0x62, 0x6f, 0x78, 0x63, 0x61, 0x72, 0x64, 0xd83d, 0xddf3, 0x3a, 0x62, 0x61, -0x6c, 0x6c, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x78, 0x5f, 0x77, 0x69, 0x74, -0x68, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x3a, 0x62, 0x61, 0x6c, -0x6c, 0x6f, 0x74, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x62, 0x6f, 0x78, -0x77, 0x69, 0x74, 0x68, 0xd83d, 0xddf3, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x6f, -0x74, 0x5f, 0x62, 0x6f, 0x78, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, -0x62, 0x6f, 0x78, 0xd83d, 0xddc4, 0x3a, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, -0x61, 0x62, 0x69, 0x6e, 0x65, 0x74, 0x3a, 0x63, 0x61, 0x62, 0x69, 0x6e, -0x65, 0x74, 0x66, 0x69, 0x6c, 0x65, 0xd83d, 0xdccb, 0x3a, 0x63, 0x6c, 0x69, -0x70, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x3a, 0x63, 0x6c, 0x69, 0x70, 0x62, -0x6f, 0x61, 0x72, 0x64, 0xd83d, 0xdcc1, 0x3a, 0x66, 0x69, 0x6c, 0x65, 0x5f, -0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x66, 0x69, 0x6c, 0x65, 0x66, -0x6f, 0x6c, 0x64, 0x65, 0x72, 0xd83d, 0xdcc2, 0x3a, 0x6f, 0x70, 0x65, 0x6e, -0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, -0x3a, 0x66, 0x69, 0x6c, 0x65, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x6f, -0x70, 0x65, 0x6e, 0xd83d, 0xddc2, 0x3a, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, -0x6e, 0x64, 0x65, 0x78, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, -0x73, 0x3a, 0x63, 0x61, 0x72, 0x64, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, -0x72, 0x73, 0x69, 0x6e, 0x64, 0x65, 0x78, 0xd83d, 0xddc2, 0x3a, 0x64, 0x69, -0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x3a, 0x64, 0x69, 0x76, 0x69, 0x64, -0x65, 0x72, 0x73, 0xd83d, 0xddde, 0x3a, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, -0x5f, 0x75, 0x70, 0x5f, 0x6e, 0x65, 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, -0x72, 0x3a, 0x6e, 0x65, 0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x72, -0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x75, 0x70, 0xd83d, 0xddde, 0x3a, 0x6e, 0x65, -0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x32, 0x3a, 0x6e, 0x65, 0x77, -0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x32, 0xd83d, 0xdcf0, 0x3a, 0x6e, 0x65, -0x77, 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x3a, 0x6e, 0x65, 0x77, 0x73, -0x70, 0x61, 0x70, 0x65, 0x72, 0xd83d, 0xdcd3, 0x3a, 0x6e, 0x6f, 0x74, 0x65, -0x62, 0x6f, 0x6f, 0x6b, 0x3a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, -0x6b, 0xd83d, 0xdcd4, 0x3a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, -0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x3a, 0x63, -0x6f, 0x76, 0x65, 0x72, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, -0x76, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x77, 0x69, -0x74, 0x68, 0xd83d, 0xdcd2, 0x3a, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x3a, -0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0xd83d, 0xdcd5, 0x3a, 0x63, 0x6c, 0x6f, -0x73, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x3a, 0x62, 0x6f, 0x6f, -0x6b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0xd83d, 0xdcd7, 0x3a, 0x67, 0x72, -0x65, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x3a, 0x62, 0x6f, 0x6f, -0x6b, 0x67, 0x72, 0x65, 0x65, 0x6e, 0xd83d, 0xdcd8, 0x3a, 0x62, 0x6c, 0x75, -0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x62, -0x6f, 0x6f, 0x6b, 0xd83d, 0xdcd9, 0x3a, 0x6f, 0x72, 0x61, 0x6e, 0x67, 0x65, -0x5f, 0x62, 0x6f, 0x6f, 0x6b, 0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0x6f, 0x72, -0x61, 0x6e, 0x67, 0x65, 0xd83d, 0xdcda, 0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0x73, -0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0xd83d, 0xdcd6, 0x3a, 0x62, 0x6f, 0x6f, -0x6b, 0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0xd83d, 0xdd16, 0x3a, 0x62, 0x6f, 0x6f, -0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x3a, 0x62, 0x6f, 0x6f, 0x6b, 0x6d, 0x61, -0x72, 0x6b, 0xd83d, 0xdd17, 0x3a, 0x6c, 0x69, 0x6e, 0x6b, 0x3a, 0x6c, 0x69, -0x6e, 0x6b, 0xd83d, 0xdcce, 0x3a, 0x70, 0x61, 0x70, 0x65, 0x72, 0x63, 0x6c, -0x69, 0x70, 0x3a, 0x70, 0x61, 0x70, 0x65, 0x72, 0x63, 0x6c, 0x69, 0x70, -0xd83d, 0xdd87, 0x3a, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x61, -0x70, 0x65, 0x72, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x3a, 0x6c, 0x69, 0x6e, -0x6b, 0x65, 0x64, 0x70, 0x61, 0x70, 0x65, 0x72, 0x63, 0x6c, 0x69, 0x70, -0x73, 0xd83d, 0xdd87, 0x3a, 0x70, 0x61, 0x70, 0x65, 0x72, 0x63, 0x6c, 0x69, -0x70, 0x73, 0x3a, 0x70, 0x61, 0x70, 0x65, 0x72, 0x63, 0x6c, 0x69, 0x70, -0x73, 0xd83d, 0xdcd0, 0x3a, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x75, 0x6c, -0x61, 0x72, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x3a, 0x72, 0x75, 0x6c, -0x65, 0x72, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, -0xd83d, 0xdccf, 0x3a, 0x73, 0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x5f, -0x72, 0x75, 0x6c, 0x65, 0x72, 0x3a, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x73, -0x74, 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0xd83d, 0xdccc, 0x3a, 0x70, 0x75, -0x73, 0x68, 0x70, 0x69, 0x6e, 0x3a, 0x70, 0x75, 0x73, 0x68, 0x70, 0x69, -0x6e, 0xd83d, 0xdccd, 0x3a, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x75, -0x73, 0x68, 0x70, 0x69, 0x6e, 0x3a, 0x70, 0x75, 0x73, 0x68, 0x70, 0x69, -0x6e, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2702, 0xfe0f, 0x3a, 0x73, 0x63, 0x69, -0x73, 0x73, 0x6f, 0x72, 0x73, 0x3a, 0x73, 0x63, 0x69, 0x73, 0x73, 0x6f, -0x72, 0x73, 0xd83d, 0xdd8a, 0x3a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, -0x65, 0x66, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x70, 0x6f, 0x69, 0x6e, -0x74, 0x5f, 0x70, 0x65, 0x6e, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x70, 0x6f, -0x69, 0x6e, 0x74, 0x6c, 0x65, 0x66, 0x74, 0x6c, 0x6f, 0x77, 0x65, 0x72, -0x70, 0x65, 0x6e, 0xd83d, 0xdd8a, 0x3a, 0x70, 0x65, 0x6e, 0x5f, 0x62, 0x61, -0x6c, 0x6c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x62, 0x61, 0x6c, 0x6c, -0x70, 0x6f, 0x69, 0x6e, 0x74, 0x70, 0x65, 0x6e, 0xd83d, 0xdd8b, 0x3a, 0x6c, -0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x66, 0x6f, -0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x6e, 0x3a, 0x66, -0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6c, 0x65, 0x66, 0x74, 0x6c, -0x6f, 0x77, 0x65, 0x72, 0x70, 0x65, 0x6e, 0xd83d, 0xdd8b, 0x3a, 0x70, 0x65, -0x6e, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x3a, 0x66, -0x6f, 0x75, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x70, 0x65, 0x6e, 0x2712, 0xfe0f, -0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x6e, 0x69, 0x62, 0x3a, 0x62, -0x6c, 0x61, 0x63, 0x6b, 0x6e, 0x69, 0x62, 0xd83d, 0xdd8c, 0x3a, 0x6c, 0x6f, -0x77, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x70, 0x61, 0x69, -0x6e, 0x74, 0x62, 0x72, 0x75, 0x73, 0x68, 0x3a, 0x6c, 0x65, 0x66, 0x74, -0x6c, 0x6f, 0x77, 0x65, 0x72, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x62, 0x72, -0x75, 0x73, 0x68, 0xd83d, 0xdd8c, 0x3a, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x62, -0x72, 0x75, 0x73, 0x68, 0x3a, 0x70, 0x61, 0x69, 0x6e, 0x74, 0x62, 0x72, -0x75, 0x73, 0x68, 0xd83d, 0xdd8d, 0x3a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, -0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x72, 0x61, 0x79, 0x6f, 0x6e, 0x3a, -0x63, 0x72, 0x61, 0x79, 0x6f, 0x6e, 0x6c, 0x65, 0x66, 0x74, 0x6c, 0x6f, -0x77, 0x65, 0x72, 0xd83d, 0xdd8d, 0x3a, 0x63, 0x72, 0x61, 0x79, 0x6f, 0x6e, -0x3a, 0x63, 0x72, 0x61, 0x79, 0x6f, 0x6e, 0xd83d, 0xdcdd, 0x3a, 0x6d, 0x65, -0x6d, 0x6f, 0x3a, 0x6d, 0x65, 0x6d, 0x6f, 0xd83d, 0xdcdd, 0x3a, 0x70, 0x65, -0x6e, 0x63, 0x69, 0x6c, 0x3a, 0x70, 0x65, 0x6e, 0x63, 0x69, 0x6c, 0x270f, -0xfe0f, 0x3a, 0x70, 0x65, 0x6e, 0x63, 0x69, 0x6c, 0x32, 0x3a, 0x70, 0x65, -0x6e, 0x63, 0x69, 0x6c, 0x32, 0xd83d, 0xdd0d, 0x3a, 0x6d, 0x61, 0x67, 0x3a, -0x6d, 0x61, 0x67, 0xd83d, 0xdd0e, 0x3a, 0x6d, 0x61, 0x67, 0x5f, 0x72, 0x69, -0x67, 0x68, 0x74, 0x3a, 0x6d, 0x61, 0x67, 0x72, 0x69, 0x67, 0x68, 0x74, -0xd83d, 0xdd0f, 0x3a, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, -0x5f, 0x69, 0x6e, 0x6b, 0x5f, 0x70, 0x65, 0x6e, 0x3a, 0x69, 0x6e, 0x6b, -0x6c, 0x6f, 0x63, 0x6b, 0x70, 0x65, 0x6e, 0x77, 0x69, 0x74, 0x68, 0xd83d, -0xdd10, 0x3a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, -0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x3a, 0x63, -0x6c, 0x6f, 0x73, 0x65, 0x64, 0x6b, 0x65, 0x79, 0x6c, 0x6f, 0x63, 0x6b, -0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdd12, 0x3a, 0x6c, 0x6f, 0x63, 0x6b, 0x3a, -0x6c, 0x6f, 0x63, 0x6b, 0xd83d, 0xdd13, 0x3a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, -0x6b, 0x3a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x2764, 0xfe0f, 0x3a, 0x68, -0x65, 0x61, 0x72, 0x74, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0xd83d, 0xdc9b, -0x3a, 0x79, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x72, -0x74, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x79, 0x65, 0x6c, 0x6c, 0x6f, -0x77, 0xd83d, 0xdc9a, 0x3a, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x68, 0x65, -0x61, 0x72, 0x74, 0x3a, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x68, 0x65, 0x61, -0x72, 0x74, 0xd83d, 0xdc99, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x5f, 0x68, 0x65, -0x61, 0x72, 0x74, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x68, 0x65, 0x61, 0x72, -0x74, 0xd83d, 0xdc9c, 0x3a, 0x70, 0x75, 0x72, 0x70, 0x6c, 0x65, 0x5f, 0x68, -0x65, 0x61, 0x72, 0x74, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x70, 0x75, -0x72, 0x70, 0x6c, 0x65, 0xd83d, 0xdda4, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, -0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, -0x68, 0x65, 0x61, 0x72, 0x74, 0xd83d, 0xdc94, 0x3a, 0x62, 0x72, 0x6f, 0x6b, -0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x72, 0x6f, -0x6b, 0x65, 0x6e, 0x68, 0x65, 0x61, 0x72, 0x74, 0x2763, 0xfe0f, 0x3a, 0x68, -0x65, 0x61, 0x76, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, 0x65, -0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, -0x61, 0x72, 0x6b, 0x5f, 0x6f, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, -0x3a, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, -0x68, 0x65, 0x61, 0x72, 0x74, 0x68, 0x65, 0x61, 0x76, 0x79, 0x6d, 0x61, -0x72, 0x6b, 0x6f, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x6e, 0x74, 0x2763, 0xfe0f, -0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x61, -0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x78, 0x63, 0x6c, 0x61, -0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x68, 0x65, 0x61, 0x72, 0x74, 0xd83d, -0xdc95, 0x3a, 0x74, 0x77, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x73, -0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x73, 0x74, 0x77, 0x6f, 0xd83d, 0xdc9e, -0x3a, 0x72, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x68, -0x65, 0x61, 0x72, 0x74, 0x73, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x73, -0x72, 0x65, 0x76, 0x6f, 0x6c, 0x76, 0x69, 0x6e, 0x67, 0xd83d, 0xdc93, 0x3a, -0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x3a, 0x68, 0x65, -0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0xd83d, 0xdc97, 0x3a, 0x68, 0x65, -0x61, 0x72, 0x74, 0x70, 0x75, 0x6c, 0x73, 0x65, 0x3a, 0x68, 0x65, 0x61, -0x72, 0x74, 0x70, 0x75, 0x6c, 0x73, 0x65, 0xd83d, 0xdc96, 0x3a, 0x73, 0x70, -0x61, 0x72, 0x6b, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x65, 0x61, 0x72, -0x74, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x73, 0x70, 0x61, 0x72, 0x6b, -0x6c, 0x69, 0x6e, 0x67, 0xd83d, 0xdc98, 0x3a, 0x63, 0x75, 0x70, 0x69, 0x64, -0x3a, 0x63, 0x75, 0x70, 0x69, 0x64, 0xd83d, 0xdc9d, 0x3a, 0x67, 0x69, 0x66, -0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x74, 0x3a, 0x67, 0x69, 0x66, 0x74, -0x68, 0x65, 0x61, 0x72, 0x74, 0xd83d, 0xdc9f, 0x3a, 0x68, 0x65, 0x61, 0x72, -0x74, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, -0x3a, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x68, -0x65, 0x61, 0x72, 0x74, 0x262e, 0xfe0f, 0x3a, 0x70, 0x65, 0x61, 0x63, 0x65, -0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x3a, 0x70, 0x65, 0x61, 0x63, -0x65, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x262e, 0xfe0f, 0x3a, 0x70, 0x65, -0x61, 0x63, 0x65, 0x3a, 0x70, 0x65, 0x61, 0x63, 0x65, 0x271d, 0xfe0f, 0x3a, -0x6c, 0x61, 0x74, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x3a, -0x63, 0x72, 0x6f, 0x73, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x271d, 0xfe0f, -0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, -0x262a, 0xfe0f, 0x3a, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x61, 0x6e, 0x64, 0x5f, -0x63, 0x72, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x3a, 0x61, 0x6e, 0x64, -0x63, 0x72, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x74, 0x61, 0x72, -0xd83d, 0xdd49, 0x3a, 0x6f, 0x6d, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, -0x3a, 0x6f, 0x6d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x2638, 0xfe0f, 0x3a, -0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x68, 0x61, -0x72, 0x6d, 0x61, 0x3a, 0x64, 0x68, 0x61, 0x72, 0x6d, 0x61, 0x6f, 0x66, -0x77, 0x68, 0x65, 0x65, 0x6c, 0x2721, 0xfe0f, 0x3a, 0x73, 0x74, 0x61, 0x72, -0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x76, 0x69, 0x64, 0x3a, 0x64, 0x61, -0x76, 0x69, 0x64, 0x6f, 0x66, 0x73, 0x74, 0x61, 0x72, 0xd83d, 0xdd2f, 0x3a, -0x73, 0x69, 0x78, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x5f, -0x73, 0x74, 0x61, 0x72, 0x3a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x64, -0x73, 0x69, 0x78, 0x73, 0x74, 0x61, 0x72, 0xd83d, 0xdd4e, 0x3a, 0x6d, 0x65, -0x6e, 0x6f, 0x72, 0x61, 0x68, 0x3a, 0x6d, 0x65, 0x6e, 0x6f, 0x72, 0x61, -0x68, 0x262f, 0xfe0f, 0x3a, 0x79, 0x69, 0x6e, 0x5f, 0x79, 0x61, 0x6e, 0x67, -0x3a, 0x79, 0x61, 0x6e, 0x67, 0x79, 0x69, 0x6e, 0x2626, 0xfe0f, 0x3a, 0x6f, -0x72, 0x74, 0x68, 0x6f, 0x64, 0x6f, 0x78, 0x5f, 0x63, 0x72, 0x6f, 0x73, -0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x68, 0x6f, -0x64, 0x6f, 0x78, 0xd83d, 0xded0, 0x3a, 0x77, 0x6f, 0x72, 0x73, 0x68, 0x69, -0x70, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x3a, 0x73, 0x79, 0x6d, -0x62, 0x6f, 0x6c, 0x77, 0x6f, 0x72, 0x73, 0x68, 0x69, 0x70, 0xd83d, 0xded0, -0x3a, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x6f, -0x72, 0x73, 0x68, 0x69, 0x70, 0x3a, 0x6f, 0x66, 0x70, 0x6c, 0x61, 0x63, -0x65, 0x77, 0x6f, 0x72, 0x73, 0x68, 0x69, 0x70, 0x26ce, 0x3a, 0x6f, 0x70, -0x68, 0x69, 0x75, 0x63, 0x68, 0x75, 0x73, 0x3a, 0x6f, 0x70, 0x68, 0x69, -0x75, 0x63, 0x68, 0x75, 0x73, 0x2648, 0xfe0f, 0x3a, 0x61, 0x72, 0x69, 0x65, -0x73, 0x3a, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2649, 0xfe0f, 0x3a, 0x74, 0x61, -0x75, 0x72, 0x75, 0x73, 0x3a, 0x74, 0x61, 0x75, 0x72, 0x75, 0x73, 0x264a, -0xfe0f, 0x3a, 0x67, 0x65, 0x6d, 0x69, 0x6e, 0x69, 0x3a, 0x67, 0x65, 0x6d, -0x69, 0x6e, 0x69, 0x264b, 0xfe0f, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x72, -0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x264c, 0xfe0f, 0x3a, 0x6c, 0x65, -0x6f, 0x3a, 0x6c, 0x65, 0x6f, 0x264d, 0xfe0f, 0x3a, 0x76, 0x69, 0x72, 0x67, -0x6f, 0x3a, 0x76, 0x69, 0x72, 0x67, 0x6f, 0x264e, 0xfe0f, 0x3a, 0x6c, 0x69, -0x62, 0x72, 0x61, 0x3a, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x264f, 0xfe0f, 0x3a, -0x73, 0x63, 0x6f, 0x72, 0x70, 0x69, 0x75, 0x73, 0x3a, 0x73, 0x63, 0x6f, -0x72, 0x70, 0x69, 0x75, 0x73, 0x2650, 0xfe0f, 0x3a, 0x73, 0x61, 0x67, 0x69, -0x74, 0x74, 0x61, 0x72, 0x69, 0x75, 0x73, 0x3a, 0x73, 0x61, 0x67, 0x69, -0x74, 0x74, 0x61, 0x72, 0x69, 0x75, 0x73, 0x2651, 0xfe0f, 0x3a, 0x63, 0x61, -0x70, 0x72, 0x69, 0x63, 0x6f, 0x72, 0x6e, 0x3a, 0x63, 0x61, 0x70, 0x72, -0x69, 0x63, 0x6f, 0x72, 0x6e, 0x2652, 0xfe0f, 0x3a, 0x61, 0x71, 0x75, 0x61, -0x72, 0x69, 0x75, 0x73, 0x3a, 0x61, 0x71, 0x75, 0x61, 0x72, 0x69, 0x75, -0x73, 0x2653, 0xfe0f, 0x3a, 0x70, 0x69, 0x73, 0x63, 0x65, 0x73, 0x3a, 0x70, -0x69, 0x73, 0x63, 0x65, 0x73, 0xd83c, 0xdd94, 0x3a, 0x69, 0x64, 0x3a, 0x69, -0x64, 0x269b, 0xfe0f, 0x3a, 0x61, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x79, 0x6d, -0x62, 0x6f, 0x6c, 0x3a, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x79, 0x6d, 0x62, -0x6f, 0x6c, 0x269b, 0xfe0f, 0x3a, 0x61, 0x74, 0x6f, 0x6d, 0x3a, 0x61, 0x74, -0x6f, 0x6d, 0xd83c, 0xde51, 0x3a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x3a, -0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x2622, 0xfe0f, 0x3a, 0x72, 0x61, 0x64, -0x69, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x69, 0x67, -0x6e, 0x3a, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, -0x65, 0x73, 0x69, 0x67, 0x6e, 0x2622, 0xfe0f, 0x3a, 0x72, 0x61, 0x64, 0x69, -0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x3a, 0x72, 0x61, 0x64, 0x69, -0x6f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2623, 0xfe0f, 0x3a, 0x62, 0x69, -0x6f, 0x68, 0x61, 0x7a, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, -0x3a, 0x62, 0x69, 0x6f, 0x68, 0x61, 0x7a, 0x61, 0x72, 0x64, 0x73, 0x69, -0x67, 0x6e, 0x2623, 0xfe0f, 0x3a, 0x62, 0x69, 0x6f, 0x68, 0x61, 0x7a, 0x61, -0x72, 0x64, 0x3a, 0x62, 0x69, 0x6f, 0x68, 0x61, 0x7a, 0x61, 0x72, 0x64, -0xd83d, 0xdcf4, 0x3a, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x68, -0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x3a, 0x6d, 0x6f, 0x62, 0x69, -0x6c, 0x65, 0x6f, 0x66, 0x66, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0xd83d, 0xdcf3, -0x3a, 0x76, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, -0x6f, 0x64, 0x65, 0x3a, 0x6d, 0x6f, 0x64, 0x65, 0x76, 0x69, 0x62, 0x72, -0x61, 0x74, 0x69, 0x6f, 0x6e, 0xd83c, 0xde36, 0x3a, 0x75, 0x36, 0x37, 0x30, -0x39, 0x3a, 0x75, 0x36, 0x37, 0x30, 0x39, 0xd83c, 0xde1a, 0xfe0f, 0x3a, 0x75, -0x37, 0x31, 0x32, 0x31, 0x3a, 0x75, 0x37, 0x31, 0x32, 0x31, 0xd83c, 0xde38, -0x3a, 0x75, 0x37, 0x35, 0x33, 0x33, 0x3a, 0x75, 0x37, 0x35, 0x33, 0x33, -0xd83c, 0xde3a, 0x3a, 0x75, 0x35, 0x35, 0x62, 0x36, 0x3a, 0x75, 0x35, 0x35, -0x62, 0x36, 0xd83c, 0xde37, 0x3a, 0x75, 0x36, 0x37, 0x30, 0x38, 0x3a, 0x75, -0x36, 0x37, 0x30, 0x38, 0x2734, 0xfe0f, 0x3a, 0x65, 0x69, 0x67, 0x68, 0x74, -0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x61, -0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, -0x6b, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x65, -0x64, 0x73, 0x74, 0x61, 0x72, 0xd83c, 0xdd9a, 0x3a, 0x76, 0x73, 0x3a, 0x76, -0x73, 0xd83d, 0xdcae, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x66, 0x6c, -0x6f, 0x77, 0x65, 0x72, 0x3a, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x77, -0x68, 0x69, 0x74, 0x65, 0xd83c, 0xde50, 0x3a, 0x69, 0x64, 0x65, 0x6f, 0x67, -0x72, 0x61, 0x70, 0x68, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, -0x67, 0x65, 0x3a, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x74, 0x61, 0x67, 0x65, -0x69, 0x64, 0x65, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x3299, 0xfe0f, 0x3a, -0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x3a, 0x73, 0x65, 0x63, 0x72, 0x65, -0x74, 0x3297, 0xfe0f, 0x3a, 0x63, 0x6f, 0x6e, 0x67, 0x72, 0x61, 0x74, 0x75, -0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x63, 0x6f, 0x6e, 0x67, -0x72, 0x61, 0x74, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xd83c, -0xde34, 0x3a, 0x75, 0x35, 0x34, 0x30, 0x38, 0x3a, 0x75, 0x35, 0x34, 0x30, -0x38, 0xd83c, 0xde35, 0x3a, 0x75, 0x36, 0x65, 0x38, 0x30, 0x3a, 0x75, 0x36, -0x65, 0x38, 0x30, 0xd83c, 0xde39, 0x3a, 0x75, 0x35, 0x32, 0x37, 0x32, 0x3a, -0x75, 0x35, 0x32, 0x37, 0x32, 0xd83c, 0xde32, 0x3a, 0x75, 0x37, 0x39, 0x38, -0x31, 0x3a, 0x75, 0x37, 0x39, 0x38, 0x31, 0xd83c, 0xdd70, 0xfe0f, 0x3a, 0x61, -0x3a, 0x61, 0xd83c, 0xdd71, 0xfe0f, 0x3a, 0x62, 0x3a, 0x62, 0xd83c, 0xdd8e, 0x3a, -0x61, 0x62, 0x3a, 0x61, 0x62, 0xd83c, 0xdd91, 0x3a, 0x63, 0x6c, 0x3a, 0x63, -0x6c, 0xd83c, 0xdd7e, 0xfe0f, 0x3a, 0x6f, 0x32, 0x3a, 0x6f, 0x32, 0xd83c, 0xdd98, -0x3a, 0x73, 0x6f, 0x73, 0x3a, 0x73, 0x6f, 0x73, 0x274c, 0x3a, 0x78, 0x3a, -0x78, 0x2b55, 0xfe0f, 0x3a, 0x6f, 0x3a, 0x6f, 0xd83d, 0xded1, 0x3a, 0x73, 0x74, -0x6f, 0x70, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x3a, 0x73, 0x69, 0x67, 0x6e, -0x73, 0x74, 0x6f, 0x70, 0xd83d, 0xded1, 0x3a, 0x6f, 0x63, 0x74, 0x61, 0x67, -0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x3a, 0x6f, 0x63, -0x74, 0x61, 0x67, 0x6f, 0x6e, 0x61, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x26d4, -0xfe0f, 0x3a, 0x6e, 0x6f, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x65, -0x6e, 0x74, 0x72, 0x79, 0x6e, 0x6f, 0xd83d, 0xdcdb, 0x3a, 0x6e, 0x61, 0x6d, -0x65, 0x5f, 0x62, 0x61, 0x64, 0x67, 0x65, 0x3a, 0x62, 0x61, 0x64, 0x67, -0x65, 0x6e, 0x61, 0x6d, 0x65, 0xd83d, 0xdeab, 0x3a, 0x6e, 0x6f, 0x5f, 0x65, -0x6e, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x3a, 0x65, 0x6e, -0x74, 0x72, 0x79, 0x6e, 0x6f, 0x73, 0x69, 0x67, 0x6e, 0xd83d, 0xdcaf, 0x3a, -0x31, 0x30, 0x30, 0x3a, 0x31, 0x30, 0x30, 0xd83d, 0xdca2, 0x3a, 0x61, 0x6e, -0x67, 0x65, 0x72, 0x3a, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x2668, 0xfe0f, 0x3a, -0x68, 0x6f, 0x74, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x68, -0x6f, 0x74, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x67, 0x73, 0xd83d, 0xdeb7, 0x3a, -0x6e, 0x6f, 0x5f, 0x70, 0x65, 0x64, 0x65, 0x73, 0x74, 0x72, 0x69, 0x61, -0x6e, 0x73, 0x3a, 0x6e, 0x6f, 0x70, 0x65, 0x64, 0x65, 0x73, 0x74, 0x72, -0x69, 0x61, 0x6e, 0x73, 0xd83d, 0xdeaf, 0x3a, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, -0x74, 0x5f, 0x6c, 0x69, 0x74, 0x74, 0x65, 0x72, 0x3a, 0x64, 0x6f, 0x6c, -0x69, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x6f, 0x74, 0xd83d, 0xdeb3, 0x3a, 0x6e, -0x6f, 0x5f, 0x62, 0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x3a, 0x62, -0x69, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x6e, 0x6f, 0xd83d, 0xdeb1, 0x3a, -0x6e, 0x6f, 0x6e, 0x2d, 0x70, 0x6f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, -0x77, 0x61, 0x74, 0x65, 0x72, 0x3a, 0x6e, 0x6f, 0x6e, 0x70, 0x6f, 0x74, -0x61, 0x62, 0x6c, 0x65, 0x77, 0x61, 0x74, 0x65, 0x72, 0xd83d, 0xdd1e, 0x3a, -0x75, 0x6e, 0x64, 0x65, 0x72, 0x61, 0x67, 0x65, 0x3a, 0x75, 0x6e, 0x64, -0x65, 0x72, 0x61, 0x67, 0x65, 0xd83d, 0xdcf5, 0x3a, 0x6e, 0x6f, 0x5f, 0x6d, -0x6f, 0x62, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x73, -0x3a, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x70, 0x68, 0x6f, -0x6e, 0x65, 0x73, 0xd83d, 0xdead, 0x3a, 0x6e, 0x6f, 0x5f, 0x73, 0x6d, 0x6f, -0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x6e, 0x6f, 0x73, 0x6d, 0x6f, 0x6b, 0x69, -0x6e, 0x67, 0x2757, 0xfe0f, 0x3a, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, -0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, -0x74, 0x69, 0x6f, 0x6e, 0x2755, 0x3a, 0x67, 0x72, 0x65, 0x79, 0x5f, 0x65, -0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x65, -0x78, 0x63, 0x6c, 0x61, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x67, 0x72, -0x65, 0x79, 0x2753, 0x3a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, -0x3a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x2754, 0x3a, 0x67, -0x72, 0x65, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, -0x3a, 0x67, 0x72, 0x65, 0x79, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, -0x6e, 0x203c, 0xfe0f, 0x3a, 0x62, 0x61, 0x6e, 0x67, 0x62, 0x61, 0x6e, 0x67, -0x3a, 0x62, 0x61, 0x6e, 0x67, 0x62, 0x61, 0x6e, 0x67, 0x2049, 0xfe0f, 0x3a, -0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x62, 0x61, 0x6e, 0x67, 0x3a, -0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x6f, 0x62, 0x61, 0x6e, 0x67, 0xd83d, -0xdd05, 0x3a, 0x6c, 0x6f, 0x77, 0x5f, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, -0x6e, 0x65, 0x73, 0x73, 0x3a, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, -0x65, 0x73, 0x73, 0x6c, 0x6f, 0x77, 0xd83d, 0xdd06, 0x3a, 0x68, 0x69, 0x67, -0x68, 0x5f, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, -0x3a, 0x62, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x68, -0x69, 0x67, 0x68, 0x303d, 0xfe0f, 0x3a, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x61, -0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, -0x61, 0x72, 0x6b, 0x3a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, -0x69, 0x6f, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x70, 0x61, 0x72, 0x74, 0x26a0, -0xfe0f, 0x3a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x3a, 0x77, 0x61, -0x72, 0x6e, 0x69, 0x6e, 0x67, 0xd83d, 0xdeb8, 0x3a, 0x63, 0x68, 0x69, 0x6c, -0x64, 0x72, 0x65, 0x6e, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x69, 0x6e, -0x67, 0x3a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x63, 0x72, -0x6f, 0x73, 0x73, 0x69, 0x6e, 0x67, 0xd83d, 0xdd31, 0x3a, 0x74, 0x72, 0x69, -0x64, 0x65, 0x6e, 0x74, 0x3a, 0x74, 0x72, 0x69, 0x64, 0x65, 0x6e, 0x74, -0x269c, 0xfe0f, 0x3a, 0x66, 0x6c, 0x65, 0x75, 0x72, 0x2d, 0x64, 0x65, 0x2d, -0x6c, 0x69, 0x73, 0x3a, 0x64, 0x65, 0x66, 0x6c, 0x65, 0x75, 0x72, 0x6c, -0x69, 0x73, 0xd83d, 0xdd30, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x65, -0x72, 0x3a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x267b, 0xfe0f, -0x3a, 0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x3a, 0x72, 0x65, 0x63, -0x79, 0x63, 0x6c, 0x65, 0x2705, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, -0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x3a, 0x63, -0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x77, 0x68, 0x69, 0x74, -0x65, 0xd83c, 0xde2f, 0xfe0f, 0x3a, 0x75, 0x36, 0x33, 0x30, 0x37, 0x3a, 0x75, -0x36, 0x33, 0x30, 0x37, 0xd83d, 0xdcb9, 0x3a, 0x63, 0x68, 0x61, 0x72, 0x74, -0x3a, 0x63, 0x68, 0x61, 0x72, 0x74, 0x2747, 0xfe0f, 0x3a, 0x73, 0x70, 0x61, -0x72, 0x6b, 0x6c, 0x65, 0x3a, 0x73, 0x70, 0x61, 0x72, 0x6b, 0x6c, 0x65, -0x2733, 0xfe0f, 0x3a, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x73, 0x70, 0x6f, -0x6b, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x73, 0x6b, -0x3a, 0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x65, 0x69, 0x67, -0x68, 0x74, 0x73, 0x70, 0x6f, 0x6b, 0x65, 0x64, 0x274e, 0x3a, 0x6e, 0x65, -0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, -0x65, 0x64, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x6d, 0x61, 0x72, -0x6b, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x6d, 0x61, 0x72, 0x6b, 0x6e, -0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x71, 0x75, 0x61, 0x72, -0x65, 0x64, 0xd83c, 0xdf10, 0x3a, 0x67, 0x6c, 0x6f, 0x62, 0x65, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x72, 0x69, 0x64, 0x69, 0x61, 0x6e, -0x73, 0x3a, 0x67, 0x6c, 0x6f, 0x62, 0x65, 0x6d, 0x65, 0x72, 0x69, 0x64, -0x69, 0x61, 0x6e, 0x73, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdca0, 0x3a, 0x64, -0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x5f, 0x64, 0x6f, 0x74, 0x5f, -0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x3a, 0x61, 0x64, 0x69, 0x61, 0x6d, -0x6f, 0x6e, 0x64, 0x64, 0x6f, 0x74, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, -0x73, 0x68, 0x61, 0x70, 0x65, 0x77, 0x69, 0x74, 0x68, 0x24c2, 0xfe0f, 0x3a, -0x6d, 0x3a, 0x6d, 0xd83c, 0xdf00, 0x3a, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x6e, -0x65, 0x3a, 0x63, 0x79, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0xd83d, 0xdca4, 0x3a, -0x7a, 0x7a, 0x7a, 0x3a, 0x7a, 0x7a, 0x7a, 0xd83c, 0xdfe7, 0x3a, 0x61, 0x74, -0x6d, 0x3a, 0x61, 0x74, 0x6d, 0xd83d, 0xdebe, 0x3a, 0x77, 0x63, 0x3a, 0x77, -0x63, 0x267f, 0xfe0f, 0x3a, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x63, 0x68, 0x61, -0x69, 0x72, 0x3a, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x63, 0x68, 0x61, 0x69, -0x72, 0xd83c, 0xdd7f, 0xfe0f, 0x3a, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, -0x3a, 0x70, 0x61, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0xd83c, 0xde33, 0x3a, 0x75, -0x37, 0x61, 0x37, 0x61, 0x3a, 0x75, 0x37, 0x61, 0x37, 0x61, 0xd83c, 0xde02, -0x3a, 0x73, 0x61, 0x3a, 0x73, 0x61, 0xd83d, 0xdec2, 0x3a, 0x70, 0x61, 0x73, -0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, -0x6c, 0x3a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x70, 0x61, 0x73, -0x73, 0x70, 0x6f, 0x72, 0x74, 0xd83d, 0xdec3, 0x3a, 0x63, 0x75, 0x73, 0x74, -0x6f, 0x6d, 0x73, 0x3a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x73, 0xd83d, -0xdec4, 0x3a, 0x62, 0x61, 0x67, 0x67, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, -0x61, 0x69, 0x6d, 0x3a, 0x62, 0x61, 0x67, 0x67, 0x61, 0x67, 0x65, 0x63, -0x6c, 0x61, 0x69, 0x6d, 0xd83d, 0xdec5, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x5f, -0x6c, 0x75, 0x67, 0x67, 0x61, 0x67, 0x65, 0x3a, 0x6c, 0x65, 0x66, 0x74, -0x6c, 0x75, 0x67, 0x67, 0x61, 0x67, 0x65, 0xd83d, 0xdeb9, 0x3a, 0x6d, 0x65, -0x6e, 0x73, 0x3a, 0x6d, 0x65, 0x6e, 0x73, 0xd83d, 0xdeba, 0x3a, 0x77, 0x6f, -0x6d, 0x65, 0x6e, 0x73, 0x3a, 0x77, 0x6f, 0x6d, 0x65, 0x6e, 0x73, 0xd83d, -0xdebc, 0x3a, 0x62, 0x61, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6d, 0x62, 0x6f, -0x6c, 0x3a, 0x62, 0x61, 0x62, 0x79, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, -0xd83d, 0xdebb, 0x3a, 0x72, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x6f, 0x6d, 0x3a, -0x72, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x6f, 0x6d, 0xd83d, 0xdeae, 0x3a, 0x70, -0x75, 0x74, 0x5f, 0x6c, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, -0x5f, 0x69, 0x74, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x3a, 0x69, -0x6e, 0x69, 0x74, 0x73, 0x6c, 0x69, 0x74, 0x74, 0x65, 0x72, 0x70, 0x6c, -0x61, 0x63, 0x65, 0x70, 0x75, 0x74, 0xd83c, 0xdfa6, 0x3a, 0x63, 0x69, 0x6e, -0x65, 0x6d, 0x61, 0x3a, 0x63, 0x69, 0x6e, 0x65, 0x6d, 0x61, 0xd83d, 0xdcf6, -0x3a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x65, -0x6e, 0x67, 0x74, 0x68, 0x3a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x73, -0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0xd83c, 0xde01, 0x3a, 0x6b, 0x6f, -0x6b, 0x6f, 0x3a, 0x6b, 0x6f, 0x6b, 0x6f, 0xd83d, 0xdd23, 0x3a, 0x73, 0x79, -0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x3a, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, -0x73, 0x2139, 0xfe0f, 0x3a, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, -0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x69, -0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x6f, -0x75, 0x72, 0x63, 0x65, 0xd83d, 0xdd24, 0x3a, 0x61, 0x62, 0x63, 0x3a, 0x61, -0x62, 0x63, 0xd83d, 0xdd21, 0x3a, 0x61, 0x62, 0x63, 0x64, 0x3a, 0x61, 0x62, -0x63, 0x64, 0xd83d, 0xdd20, 0x3a, 0x63, 0x61, 0x70, 0x69, 0x74, 0x61, 0x6c, -0x5f, 0x61, 0x62, 0x63, 0x64, 0x3a, 0x61, 0x62, 0x63, 0x64, 0x63, 0x61, -0x70, 0x69, 0x74, 0x61, 0x6c, 0xd83c, 0xdd96, 0x3a, 0x6e, 0x67, 0x3a, 0x6e, -0x67, 0xd83c, 0xdd97, 0x3a, 0x6f, 0x6b, 0x3a, 0x6f, 0x6b, 0xd83c, 0xdd99, 0x3a, -0x75, 0x70, 0x3a, 0x75, 0x70, 0xd83c, 0xdd92, 0x3a, 0x63, 0x6f, 0x6f, 0x6c, -0x3a, 0x63, 0x6f, 0x6f, 0x6c, 0xd83c, 0xdd95, 0x3a, 0x6e, 0x65, 0x77, 0x3a, -0x6e, 0x65, 0x77, 0xd83c, 0xdd93, 0x3a, 0x66, 0x72, 0x65, 0x65, 0x3a, 0x66, -0x72, 0x65, 0x65, 0x30, 0xfe0f, 0x20e3, 0x3a, 0x7a, 0x65, 0x72, 0x6f, 0x3a, -0x7a, 0x65, 0x72, 0x6f, 0x31, 0xfe0f, 0x20e3, 0x3a, 0x6f, 0x6e, 0x65, 0x3a, -0x6f, 0x6e, 0x65, 0x32, 0xfe0f, 0x20e3, 0x3a, 0x74, 0x77, 0x6f, 0x3a, 0x74, -0x77, 0x6f, 0x33, 0xfe0f, 0x20e3, 0x3a, 0x74, 0x68, 0x72, 0x65, 0x65, 0x3a, -0x74, 0x68, 0x72, 0x65, 0x65, 0x34, 0xfe0f, 0x20e3, 0x3a, 0x66, 0x6f, 0x75, -0x72, 0x3a, 0x66, 0x6f, 0x75, 0x72, 0x35, 0xfe0f, 0x20e3, 0x3a, 0x66, 0x69, -0x76, 0x65, 0x3a, 0x66, 0x69, 0x76, 0x65, 0x36, 0xfe0f, 0x20e3, 0x3a, 0x73, -0x69, 0x78, 0x3a, 0x73, 0x69, 0x78, 0x37, 0xfe0f, 0x20e3, 0x3a, 0x73, 0x65, -0x76, 0x65, 0x6e, 0x3a, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x38, 0xfe0f, 0x20e3, -0x3a, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x65, 0x69, 0x67, 0x68, 0x74, -0x39, 0xfe0f, 0x20e3, 0x3a, 0x6e, 0x69, 0x6e, 0x65, 0x3a, 0x6e, 0x69, 0x6e, -0x65, 0xd83d, 0xdd1f, 0x3a, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x70, 0x5f, 0x74, -0x65, 0x6e, 0x3a, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x70, 0x74, 0x65, 0x6e, -0xd83d, 0xdd22, 0x3a, 0x31, 0x32, 0x33, 0x34, 0x3a, 0x31, 0x32, 0x33, 0x34, -0x23, 0xfe0f, 0x20e3, 0x3a, 0x68, 0x61, 0x73, 0x68, 0x3a, 0x68, 0x61, 0x73, -0x68, 0x2a, 0xfe0f, 0x20e3, 0x3a, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x70, 0x5f, -0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x3a, 0x61, 0x73, 0x74, -0x65, 0x72, 0x69, 0x73, 0x6b, 0x6b, 0x65, 0x79, 0x63, 0x61, 0x70, 0x2a, -0xfe0f, 0x20e3, 0x3a, 0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x3a, -0x61, 0x73, 0x74, 0x65, 0x72, 0x69, 0x73, 0x6b, 0x25b6, 0xfe0f, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, -0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, -0x64, 0x23f8, 0x3a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, -0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x72, 0x3a, 0x62, -0x61, 0x72, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x76, 0x65, 0x72, 0x74, -0x69, 0x63, 0x61, 0x6c, 0x23f8, 0x3a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, -0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x6f, -0x6e, 0x70, 0x61, 0x75, 0x73, 0x65, 0x23ef, 0x3a, 0x70, 0x6c, 0x61, 0x79, -0x5f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x3a, 0x70, 0x61, 0x75, 0x73, 0x65, -0x70, 0x6c, 0x61, 0x79, 0x23f9, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x62, -0x75, 0x74, 0x74, 0x6f, 0x6e, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, -0x73, 0x74, 0x6f, 0x70, 0x23fa, 0x3a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, -0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x3a, 0x62, 0x75, 0x74, 0x74, -0x6f, 0x6e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x23ed, 0x3a, 0x6e, 0x65, -0x78, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x3a, 0x6e, 0x65, 0x78, -0x74, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x23ed, 0x3a, 0x74, 0x72, 0x61, 0x63, -0x6b, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x3a, 0x6e, 0x65, 0x78, 0x74, 0x74, -0x72, 0x61, 0x63, 0x6b, 0x23ee, 0x3a, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, -0x75, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x3a, 0x70, 0x72, 0x65, -0x76, 0x69, 0x6f, 0x75, 0x73, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x23ee, 0x3a, -0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, -0x75, 0x73, 0x3a, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x74, -0x72, 0x61, 0x63, 0x6b, 0x23e9, 0x3a, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x66, -0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x3a, 0x66, 0x61, 0x73, 0x74, 0x66, -0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x23ea, 0x3a, 0x72, 0x65, 0x77, 0x69, -0x6e, 0x64, 0x3a, 0x72, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x23eb, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, -0x75, 0x70, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x75, 0x62, -0x6c, 0x65, 0x75, 0x70, 0x23ec, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, -0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x3a, -0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x64, -0x6f, 0x77, 0x6e, 0x25c0, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, -0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0x3a, 0x61, 0x72, 0x72, -0x6f, 0x77, 0x62, 0x61, 0x63, 0x6b, 0x77, 0x61, 0x72, 0x64, 0xd83d, 0xdd3c, -0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x5f, 0x73, 0x6d, -0x61, 0x6c, 0x6c, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x6d, 0x61, -0x6c, 0x6c, 0x75, 0x70, 0xd83d, 0xdd3d, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, -0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x3a, -0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x6d, 0x61, -0x6c, 0x6c, 0x27a1, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x72, -0x69, 0x67, 0x68, 0x74, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x72, 0x69, -0x67, 0x68, 0x74, 0x2b05, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, -0x6c, 0x65, 0x66, 0x74, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x65, -0x66, 0x74, 0x2b06, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, -0x70, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x75, 0x70, 0x2b07, 0xfe0f, 0x3a, -0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x2197, 0xfe0f, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x72, -0x69, 0x67, 0x68, 0x74, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x72, 0x69, -0x67, 0x68, 0x74, 0x75, 0x70, 0x70, 0x65, 0x72, 0x2198, 0xfe0f, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, -0x69, 0x67, 0x68, 0x74, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x6f, -0x77, 0x65, 0x72, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2199, 0xfe0f, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, -0x65, 0x66, 0x74, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x65, 0x66, -0x74, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x2196, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, -0x6f, 0x77, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x66, -0x74, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x65, 0x66, 0x74, 0x75, -0x70, 0x70, 0x65, 0x72, 0x2195, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, -0x5f, 0x75, 0x70, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x61, 0x72, 0x72, -0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x75, 0x70, 0x2194, 0xfe0f, 0x3a, 0x6c, -0x65, 0x66, 0x74, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x61, 0x72, -0x72, 0x6f, 0x77, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x6c, 0x65, 0x66, -0x74, 0x72, 0x69, 0x67, 0x68, 0x74, 0x21aa, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, -0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x68, 0x6f, 0x6f, -0x6b, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x68, 0x6f, 0x6f, 0x6b, 0x72, -0x69, 0x67, 0x68, 0x74, 0x21a9, 0xfe0f, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x77, -0x61, 0x72, 0x64, 0x73, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x77, -0x69, 0x74, 0x68, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x3a, 0x61, 0x72, 0x72, -0x6f, 0x77, 0x68, 0x6f, 0x6f, 0x6b, 0x6c, 0x65, 0x66, 0x74, 0x77, 0x61, -0x72, 0x64, 0x73, 0x77, 0x69, 0x74, 0x68, 0x2934, 0xfe0f, 0x3a, 0x61, 0x72, -0x72, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, -0x75, 0x70, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x68, 0x65, 0x61, 0x64, -0x69, 0x6e, 0x67, 0x75, 0x70, 0x2935, 0xfe0f, 0x3a, 0x61, 0x72, 0x72, 0x6f, -0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x6f, -0x77, 0x6e, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, -0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0xd83d, 0xdd00, 0x3a, 0x74, 0x77, -0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x77, -0x61, 0x72, 0x64, 0x73, 0x5f, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x3a, -0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x72, 0x69, 0x67, 0x68, 0x74, 0x77, -0x61, 0x72, 0x64, 0x73, 0x74, 0x77, 0x69, 0x73, 0x74, 0x65, 0x64, 0xd83d, -0xdd01, 0x3a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x3a, 0x72, 0x65, 0x70, -0x65, 0x61, 0x74, 0xd83d, 0xdd02, 0x3a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, -0x5f, 0x6f, 0x6e, 0x65, 0x3a, 0x6f, 0x6e, 0x65, 0x72, 0x65, 0x70, 0x65, -0x61, 0x74, 0xd83d, 0xdd04, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x5f, -0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6c, 0x6f, 0x63, 0x6b, -0x77, 0x69, 0x73, 0x65, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, 0x63, -0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x77, -0x69, 0x73, 0x65, 0xd83d, 0xdd03, 0x3a, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x73, -0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, 0x73, 0x65, 0x3a, 0x61, -0x72, 0x72, 0x6f, 0x77, 0x73, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x77, 0x69, -0x73, 0x65, 0xd83c, 0xdfb5, 0x3a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, 0x6c, -0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x3a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x61, -0x6c, 0x6e, 0x6f, 0x74, 0x65, 0xd83c, 0xdfb6, 0x3a, 0x6e, 0x6f, 0x74, 0x65, -0x73, 0x3a, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x2795, 0x3a, 0x68, 0x65, 0x61, -0x76, 0x79, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, -0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x70, 0x6c, 0x75, 0x73, 0x73, 0x69, -0x67, 0x6e, 0x2796, 0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x5f, 0x6d, 0x69, -0x6e, 0x75, 0x73, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x3a, 0x68, 0x65, 0x61, -0x76, 0x79, 0x6d, 0x69, 0x6e, 0x75, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x2797, -0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x5f, 0x64, 0x69, 0x76, 0x69, 0x73, -0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x3a, 0x64, 0x69, 0x76, -0x69, 0x73, 0x69, 0x6f, 0x6e, 0x68, 0x65, 0x61, 0x76, 0x79, 0x73, 0x69, -0x67, 0x6e, 0x2716, 0xfe0f, 0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x5f, 0x6d, -0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, -0x6e, 0x5f, 0x78, 0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x6d, 0x75, 0x6c, -0x74, 0x69, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x78, -0xd83d, 0xdcb2, 0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x5f, 0x64, 0x6f, 0x6c, -0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x3a, 0x64, 0x6f, 0x6c, -0x6c, 0x61, 0x72, 0x68, 0x65, 0x61, 0x76, 0x79, 0x73, 0x69, 0x67, 0x6e, -0xd83d, 0xdcb1, 0x3a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, -0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x3a, 0x63, 0x75, 0x72, -0x72, 0x65, 0x6e, 0x63, 0x79, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, -0x65, 0x2122, 0x3a, 0x74, 0x6d, 0x3a, 0x74, 0x6d, 0xa9, 0x3a, 0x63, 0x6f, -0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x63, 0x6f, 0x70, 0x79, -0x72, 0x69, 0x67, 0x68, 0x74, 0xae, 0x3a, 0x72, 0x65, 0x67, 0x69, 0x73, -0x74, 0x65, 0x72, 0x65, 0x64, 0x3a, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, -0x65, 0x72, 0x65, 0x64, 0x3030, 0x3a, 0x77, 0x61, 0x76, 0x79, 0x5f, 0x64, -0x61, 0x73, 0x68, 0x3a, 0x64, 0x61, 0x73, 0x68, 0x77, 0x61, 0x76, 0x79, -0x27b0, 0x3a, 0x63, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, -0x3a, 0x63, 0x75, 0x72, 0x6c, 0x79, 0x6c, 0x6f, 0x6f, 0x70, 0x27bf, 0x3a, -0x6c, 0x6f, 0x6f, 0x70, 0x3a, 0x6c, 0x6f, 0x6f, 0x70, 0xd83d, 0xdd1a, 0x3a, -0x65, 0x6e, 0x64, 0x3a, 0x65, 0x6e, 0x64, 0xd83d, 0xdd19, 0x3a, 0x62, 0x61, -0x63, 0x6b, 0x3a, 0x62, 0x61, 0x63, 0x6b, 0xd83d, 0xdd1b, 0x3a, 0x6f, 0x6e, -0x3a, 0x6f, 0x6e, 0xd83d, 0xdd1d, 0x3a, 0x74, 0x6f, 0x70, 0x3a, 0x74, 0x6f, -0x70, 0xd83d, 0xdd1c, 0x3a, 0x73, 0x6f, 0x6f, 0x6e, 0x3a, 0x73, 0x6f, 0x6f, -0x6e, 0x2714, 0xfe0f, 0x3a, 0x68, 0x65, 0x61, 0x76, 0x79, 0x5f, 0x63, 0x68, -0x65, 0x63, 0x6b, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x3a, 0x63, 0x68, 0x65, -0x63, 0x6b, 0x68, 0x65, 0x61, 0x76, 0x79, 0x6d, 0x61, 0x72, 0x6b, 0x2611, -0xfe0f, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x78, -0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x3a, -0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x74, 0x62, 0x6f, 0x78, 0x63, 0x68, 0x65, -0x63, 0x6b, 0x77, 0x69, 0x74, 0x68, 0xd83d, 0xdd18, 0x3a, 0x72, 0x61, 0x64, -0x69, 0x6f, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x3a, 0x62, 0x75, -0x74, 0x74, 0x6f, 0x6e, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x26aa, 0xfe0f, 0x3a, -0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, -0x3a, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x77, 0x68, 0x69, 0x74, 0x65, -0x26ab, 0xfe0f, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x69, 0x72, -0x63, 0x6c, 0x65, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x63, 0x69, 0x72, -0x63, 0x6c, 0x65, 0xd83d, 0xdd34, 0x3a, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x69, -0x72, 0x63, 0x6c, 0x65, 0x3a, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x72, -0x65, 0x64, 0xd83d, 0xdd35, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x69, -0x72, 0x63, 0x6c, 0x65, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x63, 0x69, 0x72, -0x63, 0x6c, 0x65, 0xd83d, 0xdd3a, 0x3a, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, -0x72, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x6c, 0x65, -0x3a, 0x72, 0x65, 0x64, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x74, 0x72, 0x69, -0x61, 0x6e, 0x67, 0x6c, 0x65, 0xd83d, 0xdd3b, 0x3a, 0x73, 0x6d, 0x61, 0x6c, -0x6c, 0x5f, 0x72, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, -0x6c, 0x65, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x64, 0x6f, 0x77, 0x6e, -0x72, 0x65, 0x64, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x74, 0x72, 0x69, 0x61, -0x6e, 0x67, 0x6c, 0x65, 0xd83d, 0xdd38, 0x3a, 0x73, 0x6d, 0x61, 0x6c, 0x6c, -0x5f, 0x6f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x61, 0x6d, -0x6f, 0x6e, 0x64, 0x3a, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x6f, -0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0xd83d, 0xdd39, -0x3a, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x5f, -0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x3a, 0x62, 0x6c, 0x75, 0x65, -0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x73, 0x6d, 0x61, 0x6c, 0x6c, -0xd83d, 0xdd36, 0x3a, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6f, 0x72, 0x61, -0x6e, 0x67, 0x65, 0x5f, 0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x3a, -0x64, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x6c, 0x61, 0x72, 0x67, 0x65, -0x6f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0xd83d, 0xdd37, 0x3a, 0x6c, 0x61, 0x72, -0x67, 0x65, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x69, 0x61, 0x6d, -0x6f, 0x6e, 0x64, 0x3a, 0x62, 0x6c, 0x75, 0x65, 0x64, 0x69, 0x61, 0x6d, -0x6f, 0x6e, 0x64, 0x6c, 0x61, 0x72, 0x67, 0x65, 0xd83d, 0xdd33, 0x3a, 0x77, -0x68, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x5f, -0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x6f, -0x6e, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x77, 0x68, 0x69, 0x74, 0x65, -0xd83d, 0xdd32, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x71, 0x75, -0x61, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x3a, 0x62, -0x6c, 0x61, 0x63, 0x6b, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x71, -0x75, 0x61, 0x72, 0x65, 0x25aa, 0xfe0f, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, -0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, -0x65, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x73, 0x6d, 0x61, 0x6c, 0x6c, -0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x25ab, 0xfe0f, 0x3a, 0x77, 0x68, 0x69, -0x74, 0x65, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x71, 0x75, -0x61, 0x72, 0x65, 0x3a, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x73, 0x71, 0x75, -0x61, 0x72, 0x65, 0x77, 0x68, 0x69, 0x74, 0x65, 0x25fe, 0xfe0f, 0x3a, 0x62, -0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x5f, -0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, -0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, -0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x25fd, -0xfe0f, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x64, 0x69, -0x75, 0x6d, 0x5f, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x71, 0x75, -0x61, 0x72, 0x65, 0x3a, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x73, 0x6d, -0x61, 0x6c, 0x6c, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x77, 0x68, 0x69, -0x74, 0x65, 0x25fc, 0xfe0f, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x6d, -0x65, 0x64, 0x69, 0x75, 0x6d, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, -0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, -0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x25fb, 0xfe0f, 0x3a, 0x77, 0x68, 0x69, -0x74, 0x65, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x5f, 0x73, 0x71, -0x75, 0x61, 0x72, 0x65, 0x3a, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x73, -0x71, 0x75, 0x61, 0x72, 0x65, 0x77, 0x68, 0x69, 0x74, 0x65, 0x2b1b, 0xfe0f, -0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, -0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x3a, 0x62, 0x6c, 0x61, 0x63, -0x6b, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, -0x2b1c, 0xfe0f, 0x3a, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x72, -0x67, 0x65, 0x5f, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x3a, 0x6c, 0x61, -0x72, 0x67, 0x65, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x77, 0x68, 0x69, -0x74, 0x65, 0xd83d, 0xdd08, 0x3a, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, -0x3a, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0xd83d, 0xdd07, 0x3a, 0x6d, -0x75, 0x74, 0x65, 0x3a, 0x6d, 0x75, 0x74, 0x65, 0xd83d, 0xdd09, 0x3a, 0x73, -0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0xd83d, 0xdd0a, -0x3a, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x3a, -0x6c, 0x6f, 0x75, 0x64, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0xd83d, 0xdd14, 0x3a, -0x62, 0x65, 0x6c, 0x6c, 0x3a, 0x62, 0x65, 0x6c, 0x6c, 0xd83d, 0xdd15, 0x3a, -0x6e, 0x6f, 0x5f, 0x62, 0x65, 0x6c, 0x6c, 0x3a, 0x62, 0x65, 0x6c, 0x6c, -0x6e, 0x6f, 0xd83d, 0xdce3, 0x3a, 0x6d, 0x65, 0x67, 0x61, 0x3a, 0x6d, 0x65, -0x67, 0x61, 0xd83d, 0xdce2, 0x3a, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x70, 0x65, -0x61, 0x6b, 0x65, 0x72, 0x3a, 0x6c, 0x6f, 0x75, 0x64, 0x73, 0x70, 0x65, -0x61, 0x6b, 0x65, 0x72, 0xd83d, 0xdde8, 0x3a, 0x6c, 0x65, 0x66, 0x74, 0x5f, -0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x62, 0x75, 0x62, 0x62, 0x6c, -0x65, 0x3a, 0x62, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x6c, 0x65, 0x66, 0x74, -0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0xd83d, 0xdde8, 0x3a, 0x73, 0x70, 0x65, -0x65, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x6c, 0x65, 0x66, -0x74, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0xd83d, 0xdc41, 0x200d, 0xd83d, 0xdde8, -0x3a, 0x65, 0x79, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x65, -0x63, 0x68, 0x5f, 0x62, 0x75, 0x62, 0x62, 0x6c, 0x65, 0x3a, 0x62, 0x75, -0x62, 0x62, 0x6c, 0x65, 0x65, 0x79, 0x65, 0x69, 0x6e, 0x73, 0x70, 0x65, -0x65, 0x63, 0x68, 0xd83d, 0xdcac, 0x3a, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, -0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x3a, 0x62, 0x61, 0x6c, -0x6c, 0x6f, 0x6f, 0x6e, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0xd83d, 0xdcad, -0x3a, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x6c, -0x6c, 0x6f, 0x6f, 0x6e, 0x3a, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, -0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x74, 0xd83d, 0xddef, 0x3a, 0x72, 0x69, -0x67, 0x68, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x75, -0x62, 0x62, 0x6c, 0x65, 0x3a, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x62, 0x75, -0x62, 0x62, 0x6c, 0x65, 0x72, 0x69, 0x67, 0x68, 0x74, 0xd83d, 0xddef, 0x3a, -0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, -0x61, 0x6e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2660, 0xfe0f, -0x3a, 0x73, 0x70, 0x61, 0x64, 0x65, 0x73, 0x3a, 0x73, 0x70, 0x61, 0x64, -0x65, 0x73, 0x2663, 0xfe0f, 0x3a, 0x63, 0x6c, 0x75, 0x62, 0x73, 0x3a, 0x63, -0x6c, 0x75, 0x62, 0x73, 0x2665, 0xfe0f, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, -0x73, 0x3a, 0x68, 0x65, 0x61, 0x72, 0x74, 0x73, 0x2666, 0xfe0f, 0x3a, 0x64, -0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x64, 0x69, 0x61, 0x6d, -0x6f, 0x6e, 0x64, 0x73, 0xd83c, 0xdccf, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, -0x5f, 0x6a, 0x6f, 0x6b, 0x65, 0x72, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, -0x6a, 0x6f, 0x6b, 0x65, 0x72, 0xd83c, 0xdfb4, 0x3a, 0x66, 0x6c, 0x6f, 0x77, -0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x63, -0x61, 0x72, 0x64, 0x73, 0x3a, 0x63, 0x61, 0x72, 0x64, 0x73, 0x66, 0x6c, -0x6f, 0x77, 0x65, 0x72, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0xd83c, -0xdc04, 0xfe0f, 0x3a, 0x6d, 0x61, 0x68, 0x6a, 0x6f, 0x6e, 0x67, 0x3a, 0x6d, -0x61, 0x68, 0x6a, 0x6f, 0x6e, 0x67, 0xd83d, 0xdd50, 0x3a, 0x63, 0x6c, 0x6f, -0x63, 0x6b, 0x31, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0xd83d, 0xdd51, -0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x32, 0x3a, 0x63, 0x6c, 0x6f, 0x63, -0x6b, 0x32, 0xd83d, 0xdd52, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x33, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x33, 0xd83d, 0xdd53, 0x3a, 0x63, 0x6c, 0x6f, -0x63, 0x6b, 0x34, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x34, 0xd83d, 0xdd54, -0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x35, 0x3a, 0x63, 0x6c, 0x6f, 0x63, -0x6b, 0x35, 0xd83d, 0xdd55, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x36, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x36, 0xd83d, 0xdd56, 0x3a, 0x63, 0x6c, 0x6f, -0x63, 0x6b, 0x37, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x37, 0xd83d, 0xdd57, -0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x38, 0x3a, 0x63, 0x6c, 0x6f, 0x63, -0x6b, 0x38, 0xd83d, 0xdd58, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x39, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x39, 0xd83d, 0xdd59, 0x3a, 0x63, 0x6c, 0x6f, -0x63, 0x6b, 0x31, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x30, -0xd83d, 0xdd5a, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x31, 0x3a, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x31, 0xd83d, 0xdd5b, 0x3a, 0x63, 0x6c, 0x6f, -0x63, 0x6b, 0x31, 0x32, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x32, -0xd83d, 0xdd5c, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x33, 0x30, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x33, 0x30, 0xd83d, 0xdd5d, 0x3a, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x32, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, -0x6b, 0x32, 0x33, 0x30, 0xd83d, 0xdd5e, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, -0x33, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x33, 0x33, 0x30, -0xd83d, 0xdd5f, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x34, 0x33, 0x30, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x34, 0x33, 0x30, 0xd83d, 0xdd60, 0x3a, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x35, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, -0x6b, 0x35, 0x33, 0x30, 0xd83d, 0xdd61, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, -0x36, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x36, 0x33, 0x30, -0xd83d, 0xdd62, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x37, 0x33, 0x30, 0x3a, -0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x37, 0x33, 0x30, 0xd83d, 0xdd63, 0x3a, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x38, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, -0x6b, 0x38, 0x33, 0x30, 0xd83d, 0xdd64, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, -0x39, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x39, 0x33, 0x30, -0xd83d, 0xdd65, 0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x30, 0x33, 0x30, -0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x30, 0x33, 0x30, 0xd83d, 0xdd66, -0x3a, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x31, 0x33, 0x30, 0x3a, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x31, 0x33, 0x30, 0xd83d, 0xdd67, 0x3a, 0x63, -0x6c, 0x6f, 0x63, 0x6b, 0x31, 0x32, 0x33, 0x30, 0x3a, 0x63, 0x6c, 0x6f, -0x63, 0x6b, 0x31, 0x32, 0x33, 0x30, 0xd83c, 0xdff3, 0x3a, 0x77, 0x61, 0x76, -0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x66, 0x6c, -0x61, 0x67, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x77, 0x61, 0x76, 0x69, 0x6e, -0x67, 0x77, 0x68, 0x69, 0x74, 0x65, 0xd83c, 0xdff3, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x77, 0x68, 0x69, 0x74, 0x65, 0xd83c, 0xdff4, 0x3a, 0x77, 0x61, 0x76, 0x69, -0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x6c, 0x61, -0x67, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x66, 0x6c, 0x61, 0x67, 0x77, -0x61, 0x76, 0x69, 0x6e, 0x67, 0xd83c, 0xdff4, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x6c, 0x61, 0x63, 0x6b, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdfc1, 0x3a, 0x63, 0x68, 0x65, 0x63, 0x6b, -0x65, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x3a, 0x63, 0x68, -0x65, 0x63, 0x6b, 0x65, 0x72, 0x65, 0x64, 0x66, 0x6c, 0x61, 0x67, 0xd83d, -0xdea9, 0x3a, 0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, -0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73, -0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6f, 0x6e, 0x70, 0x6f, 0x73, 0x74, -0x74, 0x72, 0x69, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0xd83c, 0xdff3, -0xfe0f, 0x200d, 0xd83c, 0xdf08, 0x3a, 0x67, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x69, -0x64, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x67, 0x61, 0x79, 0x70, 0x72, 0x69, 0x64, 0x65, 0xd83c, 0xdff3, 0xfe0f, 0x200d, -0xd83c, 0xdf08, 0x3a, 0x72, 0x61, 0x69, 0x6e, 0x62, 0x6f, 0x77, 0x5f, 0x66, -0x6c, 0x61, 0x67, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x72, 0x61, 0x69, 0x6e, -0x62, 0x6f, 0x77, 0xd83c, 0xdde6, 0xd83c, 0xddeb, 0x3a, 0x61, 0x66, 0x3a, 0x61, -0x66, 0xd83c, 0xdde6, 0xd83c, 0xddeb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, -0x66, 0x3a, 0x61, 0x66, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddfd, -0x3a, 0x61, 0x78, 0x3a, 0x61, 0x78, 0xd83c, 0xdde6, 0xd83c, 0xddfd, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x61, 0x78, 0x3a, 0x61, 0x78, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xdde6, 0xd83c, 0xddf1, 0x3a, 0x61, 0x6c, 0x3a, 0x61, 0x6c, 0xd83c, -0xdde6, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6c, 0x3a, -0x61, 0x6c, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde9, 0xd83c, 0xddff, 0x3a, 0x64, -0x7a, 0x3a, 0x64, 0x7a, 0xd83c, 0xdde9, 0xd83c, 0xddff, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x64, 0x7a, 0x3a, 0x64, 0x7a, 0x66, 0x6c, 0x61, 0x67, 0xd83c, -0xdde6, 0xd83c, 0xddf8, 0x3a, 0x61, 0x73, 0x3a, 0x61, 0x73, 0xd83c, 0xdde6, 0xd83c, -0xddf8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x73, 0x3a, 0x61, 0x73, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xdde9, 0x3a, 0x61, 0x64, 0x3a, -0x61, 0x64, 0xd83c, 0xdde6, 0xd83c, 0xdde9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x61, 0x64, 0x3a, 0x61, 0x64, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, -0xddf4, 0x3a, 0x61, 0x6f, 0x3a, 0x61, 0x6f, 0xd83c, 0xdde6, 0xd83c, 0xddf4, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6f, 0x3a, 0x61, 0x6f, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddee, 0x3a, 0x61, 0x69, 0x3a, 0x61, 0x69, -0xd83c, 0xdde6, 0xd83c, 0xddee, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x69, -0x3a, 0x61, 0x69, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddf6, 0x3a, -0x61, 0x71, 0x3a, 0x61, 0x71, 0xd83c, 0xdde6, 0xd83c, 0xddf6, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x61, 0x71, 0x3a, 0x61, 0x71, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xdde6, 0xd83c, 0xddec, 0x3a, 0x61, 0x67, 0x3a, 0x61, 0x67, 0xd83c, 0xdde6, -0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x67, 0x3a, 0x61, -0x67, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddf7, 0x3a, 0x61, 0x72, -0x3a, 0x61, 0x72, 0xd83c, 0xdde6, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x61, 0x72, 0x3a, 0x61, 0x72, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, -0xd83c, 0xddf2, 0x3a, 0x61, 0x6d, 0x3a, 0x61, 0x6d, 0xd83c, 0xdde6, 0xd83c, 0xddf2, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x6d, 0x3a, 0x61, 0x6d, 0x66, -0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddfc, 0x3a, 0x61, 0x77, 0x3a, 0x61, -0x77, 0xd83c, 0xdde6, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, -0x77, 0x3a, 0x61, 0x77, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddfa, -0x3a, 0x68, 0x6d, 0x3a, 0x68, 0x6d, 0xd83c, 0xdde6, 0xd83c, 0xddfa, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x68, 0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x68, -0x6d, 0xd83c, 0xdde6, 0xd83c, 0xddfa, 0x3a, 0x61, 0x75, 0x3a, 0x61, 0x75, 0xd83c, -0xdde6, 0xd83c, 0xddfa, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x75, 0x3a, -0x61, 0x75, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde6, 0xd83c, 0xddf9, 0x3a, 0x61, -0x74, 0x3a, 0x61, 0x74, 0xd83c, 0xdde6, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x61, 0x74, 0x3a, 0x61, 0x74, 0x66, 0x6c, 0x61, 0x67, 0xd83c, -0xdde6, 0xd83c, 0xddff, 0x3a, 0x61, 0x7a, 0x3a, 0x61, 0x7a, 0xd83c, 0xdde6, 0xd83c, -0xddff, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x61, 0x7a, 0x3a, 0x61, 0x7a, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddf8, 0x3a, 0x62, 0x73, 0x3a, -0x62, 0x73, 0xd83c, 0xdde7, 0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x62, 0x73, 0x3a, 0x62, 0x73, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, -0xdded, 0x3a, 0x62, 0x68, 0x3a, 0x62, 0x68, 0xd83c, 0xdde7, 0xd83c, 0xdded, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x68, 0x3a, 0x62, 0x68, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xdde9, 0x3a, 0x62, 0x64, 0x3a, 0x62, 0x64, -0xd83c, 0xdde7, 0xd83c, 0xdde9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x64, -0x3a, 0x62, 0x64, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xdde7, 0x3a, -0x62, 0x62, 0x3a, 0x62, 0x62, 0xd83c, 0xdde7, 0xd83c, 0xdde7, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x62, 0x62, 0x3a, 0x62, 0x62, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xdde7, 0xd83c, 0xddfe, 0x3a, 0x62, 0x79, 0x3a, 0x62, 0x79, 0xd83c, 0xdde7, -0xd83c, 0xddfe, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x79, 0x3a, 0x62, -0x79, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddea, 0x3a, 0x62, 0x65, -0x3a, 0x62, 0x65, 0xd83c, 0xdde7, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x62, 0x65, 0x3a, 0x62, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, -0xd83c, 0xddff, 0x3a, 0x62, 0x7a, 0x3a, 0x62, 0x7a, 0xd83c, 0xdde7, 0xd83c, 0xddff, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x7a, 0x3a, 0x62, 0x7a, 0x66, -0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddef, 0x3a, 0x62, 0x6a, 0x3a, 0x62, -0x6a, 0xd83c, 0xdde7, 0xd83c, 0xddef, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, -0x6a, 0x3a, 0x62, 0x6a, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddf2, -0x3a, 0x62, 0x6d, 0x3a, 0x62, 0x6d, 0xd83c, 0xdde7, 0xd83c, 0xddf2, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x62, 0x6d, 0x3a, 0x62, 0x6d, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xdde7, 0xd83c, 0xddf9, 0x3a, 0x62, 0x74, 0x3a, 0x62, 0x74, 0xd83c, -0xdde7, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x74, 0x3a, -0x62, 0x74, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddf4, 0x3a, 0x62, -0x6f, 0x3a, 0x62, 0x6f, 0xd83c, 0xdde7, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x62, 0x6f, 0x3a, 0x62, 0x6f, 0x66, 0x6c, 0x61, 0x67, 0xd83c, -0xdde7, 0xd83c, 0xdde6, 0x3a, 0x62, 0x61, 0x3a, 0x62, 0x61, 0xd83c, 0xdde7, 0xd83c, -0xdde6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x61, 0x3a, 0x62, 0x61, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddfc, 0x3a, 0x62, 0x77, 0x3a, -0x62, 0x77, 0xd83c, 0xdde7, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x62, 0x77, 0x3a, 0x62, 0x77, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, -0xddf7, 0x3a, 0x62, 0x72, 0x3a, 0x62, 0x72, 0xd83c, 0xdde7, 0xd83c, 0xddf7, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x72, 0x3a, 0x62, 0x72, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xddee, 0xd83c, 0xddf4, 0x3a, 0x69, 0x6f, 0x3a, 0x69, 0x6f, -0xd83c, 0xddee, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x69, 0x6f, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, 0x6f, 0xd83c, 0xddee, 0xd83c, 0xddf4, 0x3a, -0x64, 0x67, 0x3a, 0x64, 0x67, 0xd83c, 0xddee, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x64, 0x67, 0x3a, 0x64, 0x67, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xddfb, 0xd83c, 0xddec, 0x3a, 0x76, 0x67, 0x3a, 0x76, 0x67, 0xd83c, 0xddfb, -0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x76, 0x67, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x76, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddf3, 0x3a, 0x62, 0x6e, -0x3a, 0x62, 0x6e, 0xd83c, 0xdde7, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x62, 0x6e, 0x3a, 0x62, 0x6e, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, -0xd83c, 0xddec, 0x3a, 0x62, 0x67, 0x3a, 0x62, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddec, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x67, 0x3a, 0x62, 0x67, 0x66, -0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddeb, 0x3a, 0x62, 0x66, 0x3a, 0x62, -0x66, 0xd83c, 0xdde7, 0xd83c, 0xddeb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, -0x66, 0x3a, 0x62, 0x66, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddee, -0x3a, 0x62, 0x69, 0x3a, 0x62, 0x69, 0xd83c, 0xdde7, 0xd83c, 0xddee, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x62, 0x69, 0x3a, 0x62, 0x69, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xddf0, 0xd83c, 0xdded, 0x3a, 0x6b, 0x68, 0x3a, 0x6b, 0x68, 0xd83c, -0xddf0, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6b, 0x68, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x6b, 0x68, 0xd83c, 0xdde8, 0xd83c, 0xddf2, 0x3a, 0x63, -0x6d, 0x3a, 0x63, 0x6d, 0xd83c, 0xdde8, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x63, 0x6d, 0x3a, 0x63, 0x6d, 0x66, 0x6c, 0x61, 0x67, 0xd83c, -0xdde8, 0xd83c, 0xdde6, 0x3a, 0x63, 0x61, 0x3a, 0x63, 0x61, 0xd83c, 0xdde8, 0xd83c, -0xdde6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x61, 0x3a, 0x63, 0x61, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddee, 0xd83c, 0xdde8, 0x3a, 0x69, 0x63, 0x3a, -0x69, 0x63, 0xd83c, 0xddee, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x69, 0x63, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, 0x63, 0xd83c, 0xdde8, 0xd83c, -0xddfb, 0x3a, 0x63, 0x76, 0x3a, 0x63, 0x76, 0xd83c, 0xdde8, 0xd83c, 0xddfb, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x76, 0x3a, 0x63, 0x76, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xdde7, 0xd83c, 0xddf6, 0x3a, 0x62, 0x71, 0x3a, 0x62, 0x71, -0xd83c, 0xdde7, 0xd83c, 0xddf6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x71, -0x3a, 0x62, 0x71, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddf0, 0xd83c, 0xddfe, 0x3a, -0x6b, 0x79, 0x3a, 0x6b, 0x79, 0xd83c, 0xddf0, 0xd83c, 0xddfe, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x6b, 0x79, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6b, 0x79, -0xd83c, 0xdde8, 0xd83c, 0xddeb, 0x3a, 0x63, 0x66, 0x3a, 0x63, 0x66, 0xd83c, 0xdde8, -0xd83c, 0xddeb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x66, 0x3a, 0x63, -0x66, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddf9, 0xd83c, 0xdde9, 0x3a, 0x74, 0x64, -0x3a, 0x74, 0x64, 0xd83c, 0xddf9, 0xd83c, 0xdde9, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x74, 0x64, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x64, 0xd83c, 0xdde8, -0xd83c, 0xddf1, 0x3a, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x3a, 0x63, 0x68, 0x69, -0x6c, 0x65, 0xd83c, 0xdde8, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x63, 0x6c, 0x3a, 0x63, 0x6c, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, -0xddf3, 0x3a, 0x63, 0x6e, 0x3a, 0x63, 0x6e, 0xd83c, 0xdde8, 0xd83c, 0xddf3, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x6e, 0x3a, 0x63, 0x6e, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xddfd, 0x3a, 0x63, 0x78, 0x3a, 0x63, 0x78, -0xd83c, 0xdde8, 0xd83c, 0xddfd, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x78, -0x3a, 0x63, 0x78, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xdde8, 0x3a, -0x63, 0x63, 0x3a, 0x63, 0x63, 0xd83c, 0xdde8, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x63, 0x63, 0x3a, 0x63, 0x63, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xdde8, 0xd83c, 0xddf4, 0x3a, 0x63, 0x6f, 0x3a, 0x63, 0x6f, 0xd83c, 0xdde8, -0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x6f, 0x3a, 0x63, -0x6f, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddf0, 0xd83c, 0xddf2, 0x3a, 0x6b, 0x6d, -0x3a, 0x6b, 0x6d, 0xd83c, 0xddf0, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x6b, 0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6b, 0x6d, 0xd83c, 0xdde8, -0xd83c, 0xddec, 0x3a, 0x63, 0x67, 0x3a, 0x63, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xddec, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x67, 0x3a, 0x63, 0x67, 0x66, -0x6c, 0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xdde9, 0x3a, 0x63, 0x6f, 0x6e, 0x67, -0x6f, 0x3a, 0x63, 0x6f, 0x6e, 0x67, 0x6f, 0xd83c, 0xdde8, 0xd83c, 0xdde9, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x64, 0x3a, 0x63, 0x64, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xddf0, 0x3a, 0x63, 0x6b, 0x3a, 0x63, 0x6b, -0xd83c, 0xdde8, 0xd83c, 0xddf0, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x6b, -0x3a, 0x63, 0x6b, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xddf7, 0x3a, -0x63, 0x72, 0x3a, 0x63, 0x72, 0xd83c, 0xdde8, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x63, 0x72, 0x3a, 0x63, 0x72, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xdde8, 0xd83c, 0xddee, 0x3a, 0x63, 0x69, 0x3a, 0x63, 0x69, 0xd83c, 0xdde8, -0xd83c, 0xddee, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x69, 0x3a, 0x63, -0x69, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdded, 0xd83c, 0xddf7, 0x3a, 0x68, 0x72, -0x3a, 0x68, 0x72, 0xd83c, 0xdded, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x68, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x68, 0x72, 0xd83c, 0xdde8, -0xd83c, 0xddfa, 0x3a, 0x63, 0x75, 0x3a, 0x63, 0x75, 0xd83c, 0xdde8, 0xd83c, 0xddfa, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x75, 0x3a, 0x63, 0x75, 0x66, -0x6c, 0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xddfc, 0x3a, 0x63, 0x77, 0x3a, 0x63, -0x77, 0xd83c, 0xdde8, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, -0x77, 0x3a, 0x63, 0x77, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde8, 0xd83c, 0xddfe, -0x3a, 0x63, 0x79, 0x3a, 0x63, 0x79, 0xd83c, 0xdde8, 0xd83c, 0xddfe, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x63, 0x79, 0x3a, 0x63, 0x79, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xdde8, 0xd83c, 0xddff, 0x3a, 0x63, 0x7a, 0x3a, 0x63, 0x7a, 0xd83c, -0xdde8, 0xd83c, 0xddff, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x7a, 0x3a, -0x63, 0x7a, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde9, 0xd83c, 0xddf0, 0x3a, 0x64, -0x6b, 0x3a, 0x64, 0x6b, 0xd83c, 0xdde9, 0xd83c, 0xddf0, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x64, 0x6b, 0x3a, 0x64, 0x6b, 0x66, 0x6c, 0x61, 0x67, 0xd83c, -0xdde9, 0xd83c, 0xddef, 0x3a, 0x64, 0x6a, 0x3a, 0x64, 0x6a, 0xd83c, 0xdde9, 0xd83c, -0xddef, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x64, 0x6a, 0x3a, 0x64, 0x6a, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde9, 0xd83c, 0xddf2, 0x3a, 0x64, 0x6d, 0x3a, -0x64, 0x6d, 0xd83c, 0xdde9, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x64, 0x6d, 0x3a, 0x64, 0x6d, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xdde9, 0xd83c, -0xddf4, 0x3a, 0x64, 0x6f, 0x3a, 0x64, 0x6f, 0xd83c, 0xdde9, 0xd83c, 0xddf4, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x64, 0x6f, 0x3a, 0x64, 0x6f, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xddea, 0xd83c, 0xdde8, 0x3a, 0x65, 0x63, 0x3a, 0x65, 0x63, -0xd83c, 0xddea, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x65, 0x63, -0x3a, 0x65, 0x63, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddea, 0xd83c, 0xddec, 0x3a, -0x65, 0x67, 0x3a, 0x65, 0x67, 0xd83c, 0xddea, 0xd83c, 0xddec, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x65, 0x67, 0x3a, 0x65, 0x67, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xddf8, 0xd83c, 0xddfb, 0x3a, 0x73, 0x76, 0x3a, 0x73, 0x76, 0xd83c, 0xddf8, -0xd83c, 0xddfb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x76, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x73, 0x76, 0xd83c, 0xddec, 0xd83c, 0xddf6, 0x3a, 0x67, 0x71, -0x3a, 0x67, 0x71, 0xd83c, 0xddec, 0xd83c, 0xddf6, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x67, 0x71, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x71, 0xd83c, 0xddea, -0xd83c, 0xddf7, 0x3a, 0x65, 0x72, 0x3a, 0x65, 0x72, 0xd83c, 0xddea, 0xd83c, 0xddf7, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x65, 0x72, 0x3a, 0x65, 0x72, 0x66, -0x6c, 0x61, 0x67, 0xd83c, 0xddea, 0xd83c, 0xddea, 0x3a, 0x65, 0x65, 0x3a, 0x65, -0x65, 0xd83c, 0xddea, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x65, -0x65, 0x3a, 0x65, 0x65, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddea, 0xd83c, 0xddf9, -0x3a, 0x65, 0x74, 0x3a, 0x65, 0x74, 0xd83c, 0xddea, 0xd83c, 0xddf9, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x65, 0x74, 0x3a, 0x65, 0x74, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xddea, 0xd83c, 0xddfa, 0x3a, 0x65, 0x75, 0x3a, 0x65, 0x75, 0xd83c, -0xddea, 0xd83c, 0xddfa, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x65, 0x75, 0x3a, -0x65, 0x75, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddeb, 0xd83c, 0xddf0, 0x3a, 0x66, -0x6b, 0x3a, 0x66, 0x6b, 0xd83c, 0xddeb, 0xd83c, 0xddf0, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x66, 0x6b, 0x3a, 0x66, 0x6b, 0x66, 0x6c, 0x61, 0x67, 0xd83c, -0xddeb, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6f, 0x3a, 0x66, 0x6f, 0xd83c, 0xddeb, 0xd83c, -0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x6f, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x66, 0x6f, 0xd83c, 0xddeb, 0xd83c, 0xddef, 0x3a, 0x66, 0x6a, 0x3a, -0x66, 0x6a, 0xd83c, 0xddeb, 0xd83c, 0xddef, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x66, 0x6a, 0x3a, 0x66, 0x6a, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddeb, 0xd83c, -0xddee, 0x3a, 0x66, 0x69, 0x3a, 0x66, 0x69, 0xd83c, 0xddeb, 0xd83c, 0xddee, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x69, 0x3a, 0x66, 0x69, 0x66, 0x6c, -0x61, 0x67, 0xd83c, 0xddeb, 0xd83c, 0xddf7, 0x3a, 0x6d, 0x66, 0x3a, 0x6d, 0x66, -0xd83c, 0xddeb, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x66, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x66, 0xd83c, 0xddeb, 0xd83c, 0xddf7, 0x3a, -0x66, 0x72, 0x3a, 0x66, 0x72, 0xd83c, 0xddeb, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x66, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x66, 0x72, -0xd83c, 0xddeb, 0xd83c, 0xddf7, 0x3a, 0x63, 0x70, 0x3a, 0x63, 0x70, 0xd83c, 0xddeb, -0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x63, 0x70, 0x3a, 0x63, -0x70, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddec, 0xd83c, 0xddeb, 0x3a, 0x67, 0x66, -0x3a, 0x67, 0x66, 0xd83c, 0xddec, 0xd83c, 0xddeb, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x67, 0x66, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x66, 0xd83c, 0xddf5, -0xd83c, 0xddeb, 0x3a, 0x70, 0x66, 0x3a, 0x70, 0x66, 0xd83c, 0xddf5, 0xd83c, 0xddeb, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x66, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x70, 0x66, 0xd83c, 0xddf9, 0xd83c, 0xddeb, 0x3a, 0x74, 0x66, 0x3a, 0x74, -0x66, 0xd83c, 0xddf9, 0xd83c, 0xddeb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, -0x66, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x66, 0xd83c, 0xddec, 0xd83c, 0xdde6, -0x3a, 0x67, 0x61, 0x3a, 0x67, 0x61, 0xd83c, 0xddec, 0xd83c, 0xdde6, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x67, 0x61, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, -0x61, 0xd83c, 0xddec, 0xd83c, 0xddf2, 0x3a, 0x67, 0x6d, 0x3a, 0x67, 0x6d, 0xd83c, -0xddec, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x6d, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x67, 0x6d, 0xd83c, 0xddec, 0xd83c, 0xddea, 0x3a, 0x67, -0x65, 0x3a, 0x67, 0x65, 0xd83c, 0xddec, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x67, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x65, 0xd83c, -0xdde9, 0xd83c, 0xddea, 0x3a, 0x64, 0x65, 0x3a, 0x64, 0x65, 0xd83c, 0xdde9, 0xd83c, -0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x64, 0x65, 0x3a, 0x64, 0x65, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddec, 0xd83c, 0xdded, 0x3a, 0x67, 0x68, 0x3a, -0x67, 0x68, 0xd83c, 0xddec, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x67, 0x68, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x68, 0xd83c, 0xddec, 0xd83c, -0xddee, 0x3a, 0x67, 0x69, 0x3a, 0x67, 0x69, 0xd83c, 0xddec, 0xd83c, 0xddee, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x69, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x67, 0x69, 0xd83c, 0xddec, 0xd83c, 0xddf7, 0x3a, 0x67, 0x72, 0x3a, 0x67, 0x72, -0xd83c, 0xddec, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x72, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x72, 0xd83c, 0xddec, 0xd83c, 0xddf1, 0x3a, -0x67, 0x6c, 0x3a, 0x67, 0x6c, 0xd83c, 0xddec, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x67, 0x6c, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x6c, -0xd83c, 0xddec, 0xd83c, 0xdde9, 0x3a, 0x67, 0x64, 0x3a, 0x67, 0x64, 0xd83c, 0xddec, -0xd83c, 0xdde9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x64, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x67, 0x64, 0xd83c, 0xddec, 0xd83c, 0xddf5, 0x3a, 0x67, 0x70, -0x3a, 0x67, 0x70, 0xd83c, 0xddec, 0xd83c, 0xddf5, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x67, 0x70, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x70, 0xd83c, 0xddec, -0xd83c, 0xddfa, 0x3a, 0x67, 0x75, 0x3a, 0x67, 0x75, 0xd83c, 0xddec, 0xd83c, 0xddfa, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x75, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x67, 0x75, 0xd83c, 0xddec, 0xd83c, 0xddf9, 0x3a, 0x67, 0x74, 0x3a, 0x67, -0x74, 0xd83c, 0xddec, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, -0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x74, 0xd83c, 0xddec, 0xd83c, 0xddec, -0x3a, 0x67, 0x67, 0x3a, 0x67, 0x67, 0xd83c, 0xddec, 0xd83c, 0xddec, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x67, 0x67, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, -0x67, 0xd83c, 0xddec, 0xd83c, 0xddf3, 0x3a, 0x67, 0x6e, 0x3a, 0x67, 0x6e, 0xd83c, -0xddec, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x6e, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x67, 0x6e, 0xd83c, 0xddec, 0xd83c, 0xddfc, 0x3a, 0x67, -0x77, 0x3a, 0x67, 0x77, 0xd83c, 0xddec, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x67, 0x77, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, 0x77, 0xd83c, -0xddec, 0xd83c, 0xddfe, 0x3a, 0x67, 0x79, 0x3a, 0x67, 0x79, 0xd83c, 0xddec, 0xd83c, -0xddfe, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x79, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x67, 0x79, 0xd83c, 0xdded, 0xd83c, 0xddf9, 0x3a, 0x68, 0x74, 0x3a, -0x68, 0x74, 0xd83c, 0xdded, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x68, 0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x68, 0x74, 0xd83c, 0xdded, 0xd83c, -0xddf3, 0x3a, 0x68, 0x6e, 0x3a, 0x68, 0x6e, 0xd83c, 0xdded, 0xd83c, 0xddf3, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x68, 0x6e, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x68, 0x6e, 0xd83c, 0xdded, 0xd83c, 0xddf0, 0x3a, 0x68, 0x6b, 0x3a, 0x68, 0x6b, -0xd83c, 0xdded, 0xd83c, 0xddf0, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x68, 0x6b, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x68, 0x6b, 0xd83c, 0xdded, 0xd83c, 0xddfa, 0x3a, -0x68, 0x75, 0x3a, 0x68, 0x75, 0xd83c, 0xdded, 0xd83c, 0xddfa, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x68, 0x75, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x68, 0x75, -0xd83c, 0xddee, 0xd83c, 0xddf8, 0x3a, 0x69, 0x73, 0x3a, 0x69, 0x73, 0xd83c, 0xddee, -0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x69, 0x73, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x69, 0x73, 0xd83c, 0xddee, 0xd83c, 0xddf3, 0x3a, 0x69, 0x6e, -0x3a, 0x69, 0x6e, 0xd83c, 0xddee, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x69, 0x6e, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, 0x6e, 0xd83c, 0xddee, -0xd83c, 0xdde9, 0x3a, 0x69, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, -0x3a, 0x69, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0xd83c, 0xddee, -0xd83c, 0xdde9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x69, 0x64, 0xd83c, 0xddee, 0xd83c, 0xddf7, 0x3a, 0x69, 0x72, -0x3a, 0x69, 0x72, 0xd83c, 0xddee, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x69, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, 0x72, 0xd83c, 0xddee, -0xd83c, 0xddf6, 0x3a, 0x69, 0x71, 0x3a, 0x69, 0x71, 0xd83c, 0xddee, 0xd83c, 0xddf6, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x69, 0x71, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x69, 0x71, 0xd83c, 0xddee, 0xd83c, 0xddea, 0x3a, 0x69, 0x65, 0x3a, 0x69, -0x65, 0xd83c, 0xddee, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x69, -0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, 0x65, 0xd83c, 0xddee, 0xd83c, 0xddf2, -0x3a, 0x69, 0x6d, 0x3a, 0x69, 0x6d, 0xd83c, 0xddee, 0xd83c, 0xddf2, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x69, 0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, -0x6d, 0xd83c, 0xddee, 0xd83c, 0xddf1, 0x3a, 0x69, 0x6c, 0x3a, 0x69, 0x6c, 0xd83c, -0xddee, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x69, 0x6c, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x69, 0x6c, 0xd83c, 0xddee, 0xd83c, 0xddf9, 0x3a, 0x69, -0x74, 0x3a, 0x69, 0x74, 0xd83c, 0xddee, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x69, 0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x69, 0x74, 0xd83c, -0xddef, 0xd83c, 0xddf2, 0x3a, 0x6a, 0x6d, 0x3a, 0x6a, 0x6d, 0xd83c, 0xddef, 0xd83c, -0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6a, 0x6d, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x6a, 0x6d, 0xd83c, 0xddef, 0xd83c, 0xddf5, 0x3a, 0x6a, 0x70, 0x3a, -0x6a, 0x70, 0xd83c, 0xddef, 0xd83c, 0xddf5, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6a, 0x70, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6a, 0x70, 0xd83c, 0xdf8c, 0x3a, -0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, -0x73, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x65, 0x64, 0x66, 0x6c, 0x61, -0x67, 0x73, 0xd83c, 0xddef, 0xd83c, 0xddea, 0x3a, 0x6a, 0x65, 0x3a, 0x6a, 0x65, -0xd83c, 0xddef, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6a, 0x65, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6a, 0x65, 0xd83c, 0xddef, 0xd83c, 0xddf4, 0x3a, -0x6a, 0x6f, 0x3a, 0x6a, 0x6f, 0xd83c, 0xddef, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x6a, 0x6f, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6a, 0x6f, -0xd83c, 0xddf0, 0xd83c, 0xddff, 0x3a, 0x6b, 0x7a, 0x3a, 0x6b, 0x7a, 0xd83c, 0xddf0, -0xd83c, 0xddff, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6b, 0x7a, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x6b, 0x7a, 0xd83c, 0xddf0, 0xd83c, 0xddea, 0x3a, 0x6b, 0x65, -0x3a, 0x6b, 0x65, 0xd83c, 0xddf0, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x6b, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6b, 0x65, 0xd83c, 0xddf0, -0xd83c, 0xddee, 0x3a, 0x6b, 0x69, 0x3a, 0x6b, 0x69, 0xd83c, 0xddf0, 0xd83c, 0xddee, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6b, 0x69, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x6b, 0x69, 0xd83c, 0xddfd, 0xd83c, 0xddf0, 0x3a, 0x78, 0x6b, 0x3a, 0x78, -0x6b, 0xd83c, 0xddfd, 0xd83c, 0xddf0, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x78, -0x6b, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x78, 0x6b, 0xd83c, 0xddf0, 0xd83c, 0xddfc, -0x3a, 0x6b, 0x77, 0x3a, 0x6b, 0x77, 0xd83c, 0xddf0, 0xd83c, 0xddfc, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x6b, 0x77, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6b, -0x77, 0xd83c, 0xddf0, 0xd83c, 0xddec, 0x3a, 0x6b, 0x67, 0x3a, 0x6b, 0x67, 0xd83c, -0xddf0, 0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6b, 0x67, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x6b, 0x67, 0xd83c, 0xddf1, 0xd83c, 0xdde6, 0x3a, 0x6c, -0x61, 0x3a, 0x6c, 0x61, 0xd83c, 0xddf1, 0xd83c, 0xdde6, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x6c, 0x61, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6c, 0x61, 0xd83c, -0xddf1, 0xd83c, 0xddfb, 0x3a, 0x6c, 0x76, 0x3a, 0x6c, 0x76, 0xd83c, 0xddf1, 0xd83c, -0xddfb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6c, 0x76, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x6c, 0x76, 0xd83c, 0xddf1, 0xd83c, 0xdde7, 0x3a, 0x6c, 0x62, 0x3a, -0x6c, 0x62, 0xd83c, 0xddf1, 0xd83c, 0xdde7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6c, 0x62, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6c, 0x62, 0xd83c, 0xddf1, 0xd83c, -0xddf8, 0x3a, 0x6c, 0x73, 0x3a, 0x6c, 0x73, 0xd83c, 0xddf1, 0xd83c, 0xddf8, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6c, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x6c, 0x73, 0xd83c, 0xddf1, 0xd83c, 0xddf7, 0x3a, 0x6c, 0x72, 0x3a, 0x6c, 0x72, -0xd83c, 0xddf1, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6c, 0x72, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6c, 0x72, 0xd83c, 0xddf1, 0xd83c, 0xddfe, 0x3a, -0x6c, 0x79, 0x3a, 0x6c, 0x79, 0xd83c, 0xddf1, 0xd83c, 0xddfe, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x6c, 0x79, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6c, 0x79, -0xd83c, 0xddf1, 0xd83c, 0xddee, 0x3a, 0x6c, 0x69, 0x3a, 0x6c, 0x69, 0xd83c, 0xddf1, -0xd83c, 0xddee, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x6c, 0x69, 0xd83c, 0xddf1, 0xd83c, 0xddf9, 0x3a, 0x6c, 0x74, -0x3a, 0x6c, 0x74, 0xd83c, 0xddf1, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x6c, 0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6c, 0x74, 0xd83c, 0xddf1, -0xd83c, 0xddfa, 0x3a, 0x6c, 0x75, 0x3a, 0x6c, 0x75, 0xd83c, 0xddf1, 0xd83c, 0xddfa, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6c, 0x75, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x6c, 0x75, 0xd83c, 0xddf2, 0xd83c, 0xddf4, 0x3a, 0x6d, 0x6f, 0x3a, 0x6d, -0x6f, 0xd83c, 0xddf2, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, -0x6f, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x6f, 0xd83c, 0xddf2, 0xd83c, 0xddf0, -0x3a, 0x6d, 0x6b, 0x3a, 0x6d, 0x6b, 0xd83c, 0xddf2, 0xd83c, 0xddf0, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x6b, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, -0x6b, 0xd83c, 0xddf2, 0xd83c, 0xddec, 0x3a, 0x6d, 0x67, 0x3a, 0x6d, 0x67, 0xd83c, -0xddf2, 0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x67, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x6d, 0x67, 0xd83c, 0xddf2, 0xd83c, 0xddfc, 0x3a, 0x6d, -0x77, 0x3a, 0x6d, 0x77, 0xd83c, 0xddf2, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x6d, 0x77, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x77, 0xd83c, -0xddf2, 0xd83c, 0xddfe, 0x3a, 0x6d, 0x79, 0x3a, 0x6d, 0x79, 0xd83c, 0xddf2, 0xd83c, -0xddfe, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x79, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x6d, 0x79, 0xd83c, 0xddf2, 0xd83c, 0xddfb, 0x3a, 0x6d, 0x76, 0x3a, -0x6d, 0x76, 0xd83c, 0xddf2, 0xd83c, 0xddfb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6d, 0x76, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x76, 0xd83c, 0xddf2, 0xd83c, -0xddf1, 0x3a, 0x6d, 0x6c, 0x3a, 0x6d, 0x6c, 0xd83c, 0xddf2, 0xd83c, 0xddf1, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x6c, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x6d, 0x6c, 0xd83c, 0xddf2, 0xd83c, 0xddf9, 0x3a, 0x6d, 0x74, 0x3a, 0x6d, 0x74, -0xd83c, 0xddf2, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x74, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x74, 0xd83c, 0xddf2, 0xd83c, 0xdded, 0x3a, -0x6d, 0x68, 0x3a, 0x6d, 0x68, 0xd83c, 0xddf2, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x6d, 0x68, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x68, -0xd83c, 0xddf2, 0xd83c, 0xddf6, 0x3a, 0x6d, 0x71, 0x3a, 0x6d, 0x71, 0xd83c, 0xddf2, -0xd83c, 0xddf6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x71, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x6d, 0x71, 0xd83c, 0xddf2, 0xd83c, 0xddf7, 0x3a, 0x6d, 0x72, -0x3a, 0x6d, 0x72, 0xd83c, 0xddf2, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x6d, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x72, 0xd83c, 0xddf2, -0xd83c, 0xddfa, 0x3a, 0x6d, 0x75, 0x3a, 0x6d, 0x75, 0xd83c, 0xddf2, 0xd83c, 0xddfa, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x75, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x6d, 0x75, 0xd83c, 0xddfe, 0xd83c, 0xddf9, 0x3a, 0x79, 0x74, 0x3a, 0x79, -0x74, 0xd83c, 0xddfe, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x79, -0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x79, 0x74, 0xd83c, 0xddf2, 0xd83c, 0xddfd, -0x3a, 0x6d, 0x78, 0x3a, 0x6d, 0x78, 0xd83c, 0xddf2, 0xd83c, 0xddfd, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x78, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, -0x78, 0xd83c, 0xddeb, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6d, 0x3a, 0x66, 0x6d, 0xd83c, -0xddeb, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x66, 0x6d, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x66, 0x6d, 0xd83c, 0xddf2, 0xd83c, 0xdde9, 0x3a, 0x6d, -0x64, 0x3a, 0x6d, 0x64, 0xd83c, 0xddf2, 0xd83c, 0xdde9, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x6d, 0x64, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x64, 0xd83c, -0xddf2, 0xd83c, 0xdde8, 0x3a, 0x6d, 0x63, 0x3a, 0x6d, 0x63, 0xd83c, 0xddf2, 0xd83c, -0xdde8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x63, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x6d, 0x63, 0xd83c, 0xddf2, 0xd83c, 0xddf3, 0x3a, 0x6d, 0x6e, 0x3a, -0x6d, 0x6e, 0xd83c, 0xddf2, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6d, 0x6e, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x6e, 0xd83c, 0xddf2, 0xd83c, -0xddea, 0x3a, 0x6d, 0x65, 0x3a, 0x6d, 0x65, 0xd83c, 0xddf2, 0xd83c, 0xddea, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x6d, 0x65, 0xd83c, 0xddf2, 0xd83c, 0xddf8, 0x3a, 0x6d, 0x73, 0x3a, 0x6d, 0x73, -0xd83c, 0xddf2, 0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x73, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x73, 0xd83c, 0xddf2, 0xd83c, 0xdde6, 0x3a, -0x6d, 0x61, 0x3a, 0x6d, 0x61, 0xd83c, 0xddf2, 0xd83c, 0xdde6, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x6d, 0x61, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x61, -0xd83c, 0xddf2, 0xd83c, 0xddff, 0x3a, 0x6d, 0x7a, 0x3a, 0x6d, 0x7a, 0xd83c, 0xddf2, -0xd83c, 0xddff, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x7a, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x6d, 0x7a, 0xd83c, 0xddf2, 0xd83c, 0xddf2, 0x3a, 0x6d, 0x6d, -0x3a, 0x6d, 0x6d, 0xd83c, 0xddf2, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x6d, 0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, 0x6d, 0xd83c, 0xddf3, -0xd83c, 0xdde6, 0x3a, 0x6e, 0x61, 0x3a, 0x6e, 0x61, 0xd83c, 0xddf3, 0xd83c, 0xdde6, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x6e, 0x61, 0xd83c, 0xddf3, 0xd83c, 0xddf7, 0x3a, 0x6e, 0x72, 0x3a, 0x6e, -0x72, 0xd83c, 0xddf3, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, -0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6e, 0x72, 0xd83c, 0xddf3, 0xd83c, 0xddf5, -0x3a, 0x6e, 0x70, 0x3a, 0x6e, 0x70, 0xd83c, 0xddf3, 0xd83c, 0xddf5, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x70, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6e, -0x70, 0xd83c, 0xddf3, 0xd83c, 0xddf1, 0x3a, 0x6e, 0x6c, 0x3a, 0x6e, 0x6c, 0xd83c, -0xddf3, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x6c, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x6e, 0x6c, 0xd83c, 0xddf3, 0xd83c, 0xdde8, 0x3a, 0x6e, -0x63, 0x3a, 0x6e, 0x63, 0xd83c, 0xddf3, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x6e, 0x63, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6e, 0x63, 0xd83c, -0xddf3, 0xd83c, 0xddff, 0x3a, 0x6e, 0x7a, 0x3a, 0x6e, 0x7a, 0xd83c, 0xddf3, 0xd83c, -0xddff, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x7a, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x6e, 0x7a, 0xd83c, 0xddf3, 0xd83c, 0xddee, 0x3a, 0x6e, 0x69, 0x3a, -0x6e, 0x69, 0xd83c, 0xddf3, 0xd83c, 0xddee, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6e, 0x69, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6e, 0x69, 0xd83c, 0xddf3, 0xd83c, -0xddea, 0x3a, 0x6e, 0x65, 0x3a, 0x6e, 0x65, 0xd83c, 0xddf3, 0xd83c, 0xddea, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x6e, 0x65, 0xd83c, 0xddf3, 0xd83c, 0xddec, 0x3a, 0x6e, 0x69, 0x67, 0x65, 0x72, -0x69, 0x61, 0x3a, 0x6e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0xd83c, 0xddf3, -0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x67, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x6e, 0x67, 0xd83c, 0xddf3, 0xd83c, 0xddfa, 0x3a, 0x6e, 0x75, -0x3a, 0x6e, 0x75, 0xd83c, 0xddf3, 0xd83c, 0xddfa, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x6e, 0x75, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6e, 0x75, 0xd83c, 0xddf3, -0xd83c, 0xddeb, 0x3a, 0x6e, 0x66, 0x3a, 0x6e, 0x66, 0xd83c, 0xddf3, 0xd83c, 0xddeb, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6e, 0x66, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x6e, 0x66, 0xd83c, 0xddf0, 0xd83c, 0xddf5, 0x3a, 0x6b, 0x70, 0x3a, 0x6b, -0x70, 0xd83c, 0xddf0, 0xd83c, 0xddf5, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6b, -0x70, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6b, 0x70, 0xd83c, 0xddf2, 0xd83c, 0xddf5, -0x3a, 0x6d, 0x70, 0x3a, 0x6d, 0x70, 0xd83c, 0xddf2, 0xd83c, 0xddf5, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x6d, 0x70, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6d, -0x70, 0xd83c, 0xddf3, 0xd83c, 0xddf4, 0x3a, 0x73, 0x6a, 0x3a, 0x73, 0x6a, 0xd83c, -0xddf3, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x6a, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x73, 0x6a, 0xd83c, 0xddf3, 0xd83c, 0xddf4, 0x3a, 0x6e, -0x6f, 0x3a, 0x6e, 0x6f, 0xd83c, 0xddf3, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x6e, 0x6f, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6e, 0x6f, 0xd83c, -0xddf3, 0xd83c, 0xddf4, 0x3a, 0x62, 0x76, 0x3a, 0x62, 0x76, 0xd83c, 0xddf3, 0xd83c, -0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x76, 0x3a, 0x62, 0x76, -0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddf4, 0xd83c, 0xddf2, 0x3a, 0x6f, 0x6d, 0x3a, -0x6f, 0x6d, 0xd83c, 0xddf4, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6f, 0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6f, 0x6d, 0xd83c, 0xddf5, 0xd83c, -0xddf0, 0x3a, 0x70, 0x6b, 0x3a, 0x70, 0x6b, 0xd83c, 0xddf5, 0xd83c, 0xddf0, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x6b, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x70, 0x6b, 0xd83c, 0xddf5, 0xd83c, 0xddfc, 0x3a, 0x70, 0x77, 0x3a, 0x70, 0x77, -0xd83c, 0xddf5, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x77, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, 0x77, 0xd83c, 0xddf5, 0xd83c, 0xddf8, 0x3a, -0x70, 0x73, 0x3a, 0x70, 0x73, 0xd83c, 0xddf5, 0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x70, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, 0x73, -0xd83c, 0xddf5, 0xd83c, 0xdde6, 0x3a, 0x70, 0x61, 0x3a, 0x70, 0x61, 0xd83c, 0xddf5, -0xd83c, 0xdde6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x61, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x70, 0x61, 0xd83c, 0xddf5, 0xd83c, 0xddec, 0x3a, 0x70, 0x67, -0x3a, 0x70, 0x67, 0xd83c, 0xddf5, 0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x70, 0x67, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, 0x67, 0xd83c, 0xddf5, -0xd83c, 0xddfe, 0x3a, 0x70, 0x79, 0x3a, 0x70, 0x79, 0xd83c, 0xddf5, 0xd83c, 0xddfe, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x79, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x70, 0x79, 0xd83c, 0xddf5, 0xd83c, 0xddea, 0x3a, 0x70, 0x65, 0x3a, 0x70, -0x65, 0xd83c, 0xddf5, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, -0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, 0x65, 0xd83c, 0xddf5, 0xd83c, 0xdded, -0x3a, 0x70, 0x68, 0x3a, 0x70, 0x68, 0xd83c, 0xddf5, 0xd83c, 0xdded, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x70, 0x68, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, -0x68, 0xd83c, 0xddf5, 0xd83c, 0xddf3, 0x3a, 0x70, 0x6e, 0x3a, 0x70, 0x6e, 0xd83c, -0xddf5, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x6e, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x70, 0x6e, 0xd83c, 0xddf5, 0xd83c, 0xddf1, 0x3a, 0x70, -0x6c, 0x3a, 0x70, 0x6c, 0xd83c, 0xddf5, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x70, 0x6c, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, 0x6c, 0xd83c, -0xddf5, 0xd83c, 0xddf9, 0x3a, 0x70, 0x74, 0x3a, 0x70, 0x74, 0xd83c, 0xddf5, 0xd83c, -0xddf9, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x74, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x70, 0x74, 0xd83c, 0xddf5, 0xd83c, 0xddf7, 0x3a, 0x70, 0x72, 0x3a, -0x70, 0x72, 0xd83c, 0xddf5, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x70, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x70, 0x72, 0xd83c, 0xddf6, 0xd83c, -0xdde6, 0x3a, 0x71, 0x61, 0x3a, 0x71, 0x61, 0xd83c, 0xddf6, 0xd83c, 0xdde6, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x71, 0x61, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x71, 0x61, 0xd83c, 0xddf7, 0xd83c, 0xddea, 0x3a, 0x72, 0x65, 0x3a, 0x72, 0x65, -0xd83c, 0xddf7, 0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x72, 0x65, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x72, 0x65, 0xd83c, 0xddf7, 0xd83c, 0xddf4, 0x3a, -0x72, 0x6f, 0x3a, 0x72, 0x6f, 0xd83c, 0xddf7, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x72, 0x6f, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x72, 0x6f, -0xd83c, 0xddf7, 0xd83c, 0xddfa, 0x3a, 0x72, 0x75, 0x3a, 0x72, 0x75, 0xd83c, 0xddf7, -0xd83c, 0xddfa, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x72, 0x75, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x72, 0x75, 0xd83c, 0xddf7, 0xd83c, 0xddfc, 0x3a, 0x72, 0x77, -0x3a, 0x72, 0x77, 0xd83c, 0xddf7, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x72, 0x77, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x72, 0x77, 0xd83c, 0xddfc, -0xd83c, 0xddf8, 0x3a, 0x77, 0x73, 0x3a, 0x77, 0x73, 0xd83c, 0xddfc, 0xd83c, 0xddf8, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x77, 0x73, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x77, 0x73, 0xd83c, 0xddf8, 0xd83c, 0xddf2, 0x3a, 0x73, 0x6d, 0x3a, 0x73, -0x6d, 0xd83c, 0xddf8, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, -0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x6d, 0xd83c, 0xddf8, 0xd83c, 0xddf9, -0x3a, 0x73, 0x74, 0x3a, 0x73, 0x74, 0xd83c, 0xddf8, 0xd83c, 0xddf9, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x73, 0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, -0x74, 0xd83c, 0xddf8, 0xd83c, 0xdde6, 0x3a, 0x73, 0x61, 0x75, 0x64, 0x69, 0x3a, -0x73, 0x61, 0x75, 0x64, 0x69, 0xd83c, 0xddf8, 0xd83c, 0xdde6, 0x3a, 0x73, 0x61, -0x75, 0x64, 0x69, 0x61, 0x72, 0x61, 0x62, 0x69, 0x61, 0x3a, 0x73, 0x61, -0x75, 0x64, 0x69, 0x61, 0x72, 0x61, 0x62, 0x69, 0x61, 0xd83c, 0xddf8, 0xd83c, -0xdde6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x61, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x73, 0x61, 0xd83c, 0xddf8, 0xd83c, 0xddf3, 0x3a, 0x73, 0x6e, 0x3a, -0x73, 0x6e, 0xd83c, 0xddf8, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x73, 0x6e, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x6e, 0xd83c, 0xddf7, 0xd83c, -0xddf8, 0x3a, 0x72, 0x73, 0x3a, 0x72, 0x73, 0xd83c, 0xddf7, 0xd83c, 0xddf8, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x72, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x72, 0x73, 0xd83c, 0xddf8, 0xd83c, 0xdde8, 0x3a, 0x73, 0x63, 0x3a, 0x73, 0x63, -0xd83c, 0xddf8, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x63, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x63, 0xd83c, 0xddf8, 0xd83c, 0xddf1, 0x3a, -0x73, 0x6c, 0x3a, 0x73, 0x6c, 0xd83c, 0xddf8, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x73, 0x6c, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x6c, -0xd83c, 0xddf8, 0xd83c, 0xddec, 0x3a, 0x73, 0x67, 0x3a, 0x73, 0x67, 0xd83c, 0xddf8, -0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x67, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x73, 0x67, 0xd83c, 0xddf8, 0xd83c, 0xddfd, 0x3a, 0x73, 0x78, -0x3a, 0x73, 0x78, 0xd83c, 0xddf8, 0xd83c, 0xddfd, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x73, 0x78, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x78, 0xd83c, 0xddf8, -0xd83c, 0xddf0, 0x3a, 0x73, 0x6b, 0x3a, 0x73, 0x6b, 0xd83c, 0xddf8, 0xd83c, 0xddf0, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x6b, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x73, 0x6b, 0xd83c, 0xddf8, 0xd83c, 0xddee, 0x3a, 0x73, 0x69, 0x3a, 0x73, -0x69, 0xd83c, 0xddf8, 0xd83c, 0xddee, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, -0x69, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x69, 0xd83c, 0xddec, 0xd83c, 0xddf8, -0x3a, 0x67, 0x73, 0x3a, 0x67, 0x73, 0xd83c, 0xddec, 0xd83c, 0xddf8, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x67, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x67, -0x73, 0xd83c, 0xddf8, 0xd83c, 0xdde7, 0x3a, 0x73, 0x62, 0x3a, 0x73, 0x62, 0xd83c, -0xddf8, 0xd83c, 0xdde7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x62, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x73, 0x62, 0xd83c, 0xddf8, 0xd83c, 0xddf4, 0x3a, 0x73, -0x6f, 0x3a, 0x73, 0x6f, 0xd83c, 0xddf8, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x73, 0x6f, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x6f, 0xd83c, -0xddff, 0xd83c, 0xdde6, 0x3a, 0x7a, 0x61, 0x3a, 0x7a, 0x61, 0xd83c, 0xddff, 0xd83c, -0xdde6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x7a, 0x61, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x7a, 0x61, 0xd83c, 0xddf0, 0xd83c, 0xddf7, 0x3a, 0x6b, 0x72, 0x3a, -0x6b, 0x72, 0xd83c, 0xddf0, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x6b, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6b, 0x72, 0xd83c, 0xddf8, 0xd83c, -0xddf8, 0x3a, 0x73, 0x73, 0x3a, 0x73, 0x73, 0xd83c, 0xddf8, 0xd83c, 0xddf8, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x73, 0x73, 0xd83c, 0xddea, 0xd83c, 0xddf8, 0x3a, 0x65, 0x73, 0x3a, 0x65, 0x73, -0xd83c, 0xddea, 0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x65, 0x73, -0x3a, 0x65, 0x73, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddea, 0xd83c, 0xddf8, 0x3a, -0x65, 0x61, 0x3a, 0x65, 0x61, 0xd83c, 0xddea, 0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x65, 0x61, 0x3a, 0x65, 0x61, 0x66, 0x6c, 0x61, 0x67, -0xd83c, 0xddf1, 0xd83c, 0xddf0, 0x3a, 0x6c, 0x6b, 0x3a, 0x6c, 0x6b, 0xd83c, 0xddf1, -0xd83c, 0xddf0, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6c, 0x6b, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x6c, 0x6b, 0xd83c, 0xdde7, 0xd83c, 0xddf1, 0x3a, 0x62, 0x6c, -0x3a, 0x62, 0x6c, 0xd83c, 0xdde7, 0xd83c, 0xddf1, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x62, 0x6c, 0x3a, 0x62, 0x6c, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddf8, -0xd83c, 0xdded, 0x3a, 0x74, 0x61, 0x3a, 0x74, 0x61, 0xd83c, 0xddf8, 0xd83c, 0xdded, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x61, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x74, 0x61, 0xd83c, 0xddf8, 0xd83c, 0xdded, 0x3a, 0x73, 0x68, 0x3a, 0x73, -0x68, 0xd83c, 0xddf8, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, -0x68, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x68, 0xd83c, 0xddf8, 0xd83c, 0xdded, -0x3a, 0x61, 0x63, 0x3a, 0x61, 0x63, 0xd83c, 0xddf8, 0xd83c, 0xdded, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x61, 0x63, 0x3a, 0x61, 0x63, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xddf0, 0xd83c, 0xddf3, 0x3a, 0x6b, 0x6e, 0x3a, 0x6b, 0x6e, 0xd83c, -0xddf0, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x6b, 0x6e, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x6b, 0x6e, 0xd83c, 0xddf1, 0xd83c, 0xdde8, 0x3a, 0x6c, -0x63, 0x3a, 0x6c, 0x63, 0xd83c, 0xddf1, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x6c, 0x63, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x6c, 0x63, 0xd83c, -0xddf5, 0xd83c, 0xddf2, 0x3a, 0x70, 0x6d, 0x3a, 0x70, 0x6d, 0xd83c, 0xddf5, 0xd83c, -0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x70, 0x6d, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x70, 0x6d, 0xd83c, 0xddfb, 0xd83c, 0xdde8, 0x3a, 0x76, 0x63, 0x3a, -0x76, 0x63, 0xd83c, 0xddfb, 0xd83c, 0xdde8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x76, 0x63, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x76, 0x63, 0xd83c, 0xddf8, 0xd83c, -0xdde9, 0x3a, 0x73, 0x64, 0x3a, 0x73, 0x64, 0xd83c, 0xddf8, 0xd83c, 0xdde9, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x64, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x73, 0x64, 0xd83c, 0xddf8, 0xd83c, 0xddf7, 0x3a, 0x73, 0x72, 0x3a, 0x73, 0x72, -0xd83c, 0xddf8, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x72, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x72, 0xd83c, 0xddf8, 0xd83c, 0xddff, 0x3a, -0x73, 0x7a, 0x3a, 0x73, 0x7a, 0xd83c, 0xddf8, 0xd83c, 0xddff, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x73, 0x7a, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x7a, -0xd83c, 0xddf8, 0xd83c, 0xddea, 0x3a, 0x73, 0x65, 0x3a, 0x73, 0x65, 0xd83c, 0xddf8, -0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x65, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x73, 0x65, 0xd83c, 0xdde8, 0xd83c, 0xdded, 0x3a, 0x63, 0x68, -0x3a, 0x63, 0x68, 0xd83c, 0xdde8, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x63, 0x68, 0x3a, 0x63, 0x68, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddf8, -0xd83c, 0xddfe, 0x3a, 0x73, 0x79, 0x3a, 0x73, 0x79, 0xd83c, 0xddf8, 0xd83c, 0xddfe, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x79, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x73, 0x79, 0xd83c, 0xddf9, 0xd83c, 0xddfc, 0x3a, 0x74, 0x77, 0x3a, 0x74, -0x77, 0xd83c, 0xddf9, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, -0x77, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x77, 0xd83c, 0xddf9, 0xd83c, 0xddef, -0x3a, 0x74, 0x6a, 0x3a, 0x74, 0x6a, 0xd83c, 0xddf9, 0xd83c, 0xddef, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x74, 0x6a, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, -0x6a, 0xd83c, 0xddf9, 0xd83c, 0xddff, 0x3a, 0x74, 0x7a, 0x3a, 0x74, 0x7a, 0xd83c, -0xddf9, 0xd83c, 0xddff, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x7a, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x74, 0x7a, 0xd83c, 0xddf9, 0xd83c, 0xdded, 0x3a, 0x74, -0x68, 0x3a, 0x74, 0x68, 0xd83c, 0xddf9, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x74, 0x68, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x68, 0xd83c, -0xddf9, 0xd83c, 0xddf1, 0x3a, 0x74, 0x6c, 0x3a, 0x74, 0x6c, 0xd83c, 0xddf9, 0xd83c, -0xddf1, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x6c, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x74, 0x6c, 0xd83c, 0xddf9, 0xd83c, 0xddec, 0x3a, 0x74, 0x67, 0x3a, -0x74, 0x67, 0xd83c, 0xddf9, 0xd83c, 0xddec, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x74, 0x67, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x67, 0xd83c, 0xddf9, 0xd83c, -0xddf0, 0x3a, 0x74, 0x6b, 0x3a, 0x74, 0x6b, 0xd83c, 0xddf9, 0xd83c, 0xddf0, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x6b, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x74, 0x6b, 0xd83c, 0xddf9, 0xd83c, 0xddf4, 0x3a, 0x74, 0x6f, 0x3a, 0x74, 0x6f, -0xd83c, 0xddf9, 0xd83c, 0xddf4, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x6f, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x6f, 0xd83c, 0xddf9, 0xd83c, 0xddf9, 0x3a, -0x74, 0x74, 0x3a, 0x74, 0x74, 0xd83c, 0xddf9, 0xd83c, 0xddf9, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x74, 0x74, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x74, -0xd83c, 0xddf9, 0xd83c, 0xddf3, 0x3a, 0x74, 0x6e, 0x3a, 0x74, 0x6e, 0xd83c, 0xddf9, -0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x6e, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x74, 0x6e, 0xd83c, 0xddf9, 0xd83c, 0xddf7, 0x3a, 0x74, 0x72, -0x3a, 0x74, 0x72, 0xd83c, 0xddf9, 0xd83c, 0xddf7, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x74, 0x72, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x72, 0xd83c, 0xddf9, -0xd83c, 0xddf2, 0x3a, 0x74, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, 0x73, -0x74, 0x61, 0x6e, 0x3a, 0x74, 0x75, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, -0x73, 0x74, 0x61, 0x6e, 0xd83c, 0xddf9, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x74, 0x6d, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x74, 0x6d, 0xd83c, -0xddf9, 0xd83c, 0xdde8, 0x3a, 0x74, 0x63, 0x3a, 0x74, 0x63, 0xd83c, 0xddf9, 0xd83c, -0xdde8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x63, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x74, 0x63, 0xd83c, 0xddf9, 0xd83c, 0xddfb, 0x3a, 0x74, 0x75, 0x76, -0x61, 0x6c, 0x75, 0x3a, 0x74, 0x75, 0x76, 0x61, 0x6c, 0x75, 0xd83c, 0xddf9, -0xd83c, 0xddfb, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x74, 0x76, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x74, 0x76, 0xd83c, 0xddfb, 0xd83c, 0xddee, 0x3a, 0x76, 0x69, -0x3a, 0x76, 0x69, 0xd83c, 0xddfb, 0xd83c, 0xddee, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x76, 0x69, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x76, 0x69, 0xd83c, 0xddfa, -0xd83c, 0xddec, 0x3a, 0x75, 0x67, 0x3a, 0x75, 0x67, 0xd83c, 0xddfa, 0xd83c, 0xddec, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x75, 0x67, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x75, 0x67, 0xd83c, 0xddfa, 0xd83c, 0xdde6, 0x3a, 0x75, 0x61, 0x3a, 0x75, -0x61, 0xd83c, 0xddfa, 0xd83c, 0xdde6, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x75, -0x61, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x75, 0x61, 0xd83c, 0xdde6, 0xd83c, 0xddea, -0x3a, 0x61, 0x65, 0x3a, 0x61, 0x65, 0xd83c, 0xdde6, 0xd83c, 0xddea, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x61, 0x65, 0x3a, 0x61, 0x65, 0x66, 0x6c, 0x61, -0x67, 0xd83c, 0xddec, 0xd83c, 0xdde7, 0x3a, 0x67, 0x62, 0x3a, 0x67, 0x62, 0xd83c, -0xddec, 0xd83c, 0xdde7, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x67, 0x62, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x67, 0x62, 0xd83c, 0xddfa, 0xd83c, 0xddf8, 0x3a, 0x75, -0x73, 0x3a, 0x75, 0x73, 0xd83c, 0xddfa, 0xd83c, 0xddf8, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x75, 0x73, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x75, 0x73, 0xd83c, -0xddfa, 0xd83c, 0xddf8, 0x3a, 0x75, 0x6d, 0x3a, 0x75, 0x6d, 0xd83c, 0xddfa, 0xd83c, -0xddf8, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x75, 0x6d, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x75, 0x6d, 0xd83c, 0xddfa, 0xd83c, 0xddfe, 0x3a, 0x75, 0x79, 0x3a, -0x75, 0x79, 0xd83c, 0xddfa, 0xd83c, 0xddfe, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, -0x75, 0x79, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x75, 0x79, 0xd83c, 0xddfa, 0xd83c, -0xddff, 0x3a, 0x75, 0x7a, 0x3a, 0x75, 0x7a, 0xd83c, 0xddfa, 0xd83c, 0xddff, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x5f, 0x75, 0x7a, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x75, 0x7a, 0xd83c, 0xddfb, 0xd83c, 0xddfa, 0x3a, 0x76, 0x75, 0x3a, 0x76, 0x75, -0xd83c, 0xddfb, 0xd83c, 0xddfa, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x76, 0x75, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x76, 0x75, 0xd83c, 0xddfb, 0xd83c, 0xdde6, 0x3a, -0x76, 0x61, 0x3a, 0x76, 0x61, 0xd83c, 0xddfb, 0xd83c, 0xdde6, 0x3a, 0x66, 0x6c, -0x61, 0x67, 0x5f, 0x76, 0x61, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x76, 0x61, -0xd83c, 0xddfb, 0xd83c, 0xddea, 0x3a, 0x76, 0x65, 0x3a, 0x76, 0x65, 0xd83c, 0xddfb, -0xd83c, 0xddea, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x76, 0x65, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x76, 0x65, 0xd83c, 0xddfb, 0xd83c, 0xddf3, 0x3a, 0x76, 0x6e, -0x3a, 0x76, 0x6e, 0xd83c, 0xddfb, 0xd83c, 0xddf3, 0x3a, 0x66, 0x6c, 0x61, 0x67, -0x5f, 0x76, 0x6e, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x76, 0x6e, 0xd83c, 0xddfc, -0xd83c, 0xddeb, 0x3a, 0x77, 0x66, 0x3a, 0x77, 0x66, 0xd83c, 0xddfc, 0xd83c, 0xddeb, -0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x77, 0x66, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x77, 0x66, 0xd83c, 0xddea, 0xd83c, 0xdded, 0x3a, 0x65, 0x68, 0x3a, 0x65, -0x68, 0xd83c, 0xddea, 0xd83c, 0xdded, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x65, -0x68, 0x3a, 0x65, 0x68, 0x66, 0x6c, 0x61, 0x67, 0xd83c, 0xddfe, 0xd83c, 0xddea, -0x3a, 0x79, 0x65, 0x3a, 0x79, 0x65, 0xd83c, 0xddfe, 0xd83c, 0xddea, 0x3a, 0x66, -0x6c, 0x61, 0x67, 0x5f, 0x79, 0x65, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x79, -0x65, 0xd83c, 0xddff, 0xd83c, 0xddf2, 0x3a, 0x7a, 0x6d, 0x3a, 0x7a, 0x6d, 0xd83c, -0xddff, 0xd83c, 0xddf2, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x7a, 0x6d, 0x3a, -0x66, 0x6c, 0x61, 0x67, 0x7a, 0x6d, 0xd83c, 0xddff, 0xd83c, 0xddfc, 0x3a, 0x7a, -0x77, 0x3a, 0x7a, 0x77, 0xd83c, 0xddff, 0xd83c, 0xddfc, 0x3a, 0x66, 0x6c, 0x61, -0x67, 0x5f, 0x7a, 0x77, 0x3a, 0x66, 0x6c, 0x61, 0x67, 0x7a, 0x77 }; - -const small ReplacementWordLengths[] = { -8, 6, 5, 4, 9, 8, 5, 5, 3, 5, 8, 2, -7, 3, 4, 7, 5, 8, 4, 8, 7, 6, 5, 4, -4, 6, 4, 6, 4, 8, 4, 5, 5, 7, 7, 4, -7, 7, 6, 4, 7, 3, 3, 3, 5, 6, 7, 6, -4, 3, 5, 6, 3, 5, 6, 4, 5, 5, 5, 5, -4, 7, 7, 4, 4, 4, 10, 5, 4, 5, 6, 4, -3, 4, 6, 5, 8, 12, 7, 7, 8, 4, 8, 8, -5, 6, 4, 8, 5, 9, 9, 10, 4, 5, 5, 7, -5, 4, 5, 2, 4, 7, 14, 6, 8, 9, 5, 4, -10, 5, 4, 7, 6, 7, 4, 5, 3, 12, 8, 5, -8, 4, 3, 5, 6, 8, 4, 4, 7, 4, 4, 7, -3, 4, 8, 8, 4, 4, 5, 9, 4, 5, 6, 5, -6, 4, 4, 9, 6, 4, 8, 4, 4, 11, 4, 4, -11, 7, 4, 4, 4, 7, 4, 3, 7, 3, 8, 4, -6, 8, 3, 6, 4, 4, 5, 8, 5, 3, 10, 5, -10, 5, 5, 7, 5, 4, 5, 5, 4, 7, 1, 3, -6, 3, 5, 3, 3, 3, 4, 5, 3, 5, 3, 7, -3, 6, 3, 6, 4, 3, 7, 5, 4, 5, 6, 4, -4, 5, 7, 9, 4, 7, 2, 8, 7, 9, 2, 10, -5, 4, 4, 4, 6, 4, 4, 4, 5, 6, 4, 5, -3, 7, 6, 4, 5, 6, 4, 7, 7, 1, 5, 2, -4, 3, 5, 4, 2, 4, 5, 5, 5, 1, 5, 2, -4, 5, 5, 2, 4, 6, 4, 4, 2, 4, 4, 2, -6, 7, 4, 6, 7, 4, 4, 7, 3, 7, 7, 4, -6, 4, 6, 4, 4, 6, 4, 4, 4, 2, 4, 2, -6, 8, 6, 4, 6, 8, 4, 6, 6, 4, 7, 6, -4, 4, 4, 8, 4, 4, 6, 3, 4, 10, 3, 4, -4, 2, 10, 8, 4, 8, 4, 2, 10, 5, 2, 10, -4, 3, 4, 3, 5, 5, 6, 5, 5, 6, 3, 5, -4, 6, 4, 5, 6, 6, 3, 5, 7, 5, 5, 3, -3, 3, 2, 4, 3, 7, 3, 4, 6, 7, 5, 3, -6, 7, 3, 6, 4, 6, 6, 7, 7, 6, 5, 3, -7, 6, 3, 7, 6, 12, 5, 6, 12, 3, 6, 12, -6, 5, 5, 5, 3, 9, 5, 9, 5, 9, 3, 2, -6, 3, 3, 9, 6, 5, 6, 6, 3, 6, 6, 5, -6, 3, 4, 5, 4, 3, 7, 5, 3, 7, 6, 5, -3, 6, 7, 5, 3, 7, 7, 5, 6, 7, 3, 6, -12, 5, 3, 12, 6, 5, 6, 3, 6, 6, 8, 5, -3, 8, 9, 5, 3, 9, 6, 5, 6, 3, 11, 5, -11, 3, 5, 5, 3, 5, 9, 5, 9, 3, 5, 5, -5, 3, 9, 6, 5, 3, 5, 8, 6, 5, 4, 4, -2, 3, 6, 5, 9, 5, 8, 5, 6, 5, 6, 3, -3, 6, 6, 4, 7, 5, 4, 11, 6, 4, 6, 7, -4, 3, 7, 9, 2, 5, 4, 2, 9, 2, 6, 9, -3, 2, 9, 2, 5, 2, 5, 9, 2, 6, 9, 3, -2, 4, 7, 5, 4, 7, 4, 6, 7, 4, 3, 7, -11, 5, 11, 3, 8, 4, 4, 11, 6, 9, 5, 5, -6, 9, 3, 9, 7, 5, 4, 6, 7, 4, 6, 7, -3, 7, 8, 5, 8, 6, 8, 3, 7, 7, 5, 7, -7, 7, 6, 7, 7, 3, 4, 7, 7, 5, 7, 7, -7, 6, 4, 7, 3, 7, 8, 2, 10, 3, 4, 6, -6, 4, 7, 3, 5, 4, 8, 4, 5, 7, 5, 4, -8, 6, 4, 5, 4, 3, 8, 4, 7, 5, 3, 7, -7, 6, 7, 7, 5, 3, 7, 6, 6, 7, 6, 5, -7, 3, 5, 5, 7, 3, 3, 6, 5, 4, 6, 5, -3, 4, 5, 6, 5, 4, 2, 6, 2, 6, 5, 2, -4, 6, 2, 10, 4, 3, 5, 10, 2, 4, 2, 10, -2, 4, 2, 6, 3, 6, 3, 5, 6, 3, 6, 4, -6, 4, 6, 4, 6, 3, 6, 3, 6, 4, 6, 4, -6, 4, 6, 3, 6, 3, 6, 4, 6, 4, 6, 4, -3, 6, 5, 6, 4, 5, 3, 6, 4, 5, 3, 3, -6, 5, 6, 4, 4, 5, 3, 6, 3, 6, 4, 3, -3, 6, 4, 3, 3, 3, 6, 3, 6, 4, 4, 3, -7, 6, 5, 5, 7, 5, 6, 6, 4, 4, 6, 4, -4, 4, 8, 4, 3, 6, 6, 5, 6, 5, 5, 6, -5, 4, 5, 6, 4, 7, 6, 5, 5, 7, 9, 10, -4, 10, 6, 8, 9, 3, 3, 5, 7, 6, 4, 3, -3, 4, 4, 5, 5, 5, 4, 4, 4, 3, 3, 4, -3, 4, 4, 6, 4, 2, 3, 4, 4, 2, 4, 2, -5, 6, 7, 7, 4, 4, 5, 5, 8, 5, 7, 4, -5, 3, 3, 4, 4, 5, 4, 7, 7, 3, 3, 9, -5, 5, 6, 3, 6, 6, 3, 6, 5, 6, 8, 4, -5, 7, 6, 4, 8, 4, 8, 7, 5, 5, 6, 9, -7, 6, 7, 5, 2, 4, 4, 5, 9, 5, 8, 10, -5, 7, 9, 4, 4, 3, 5, 4, 6, 4, 7, 6, -4, 2, 5, 4, 7, 6, 3, 8, 3, 6, 4, 6, -6, 4, 6, 9, 4, 9, 4, 9, 4, 4, 4, 8, -4, 8, 6, 4, 4, 6, 8, 4, 6, 6, 4, 4, -5, 8, 3, 2, 4, 7, 5, 4, 6, 6, 4, 6, -9, 7, 7, 6, 8, 8, 5, 6, 5, 4, 5, 4, -4, 7, 4, 6, 4, 4, 7, 8, 4, 6, 4, 3, -8, 4, 6, 5, 4, 7, 7, 4, 6, 4, 4, 3, -4, 4, 4, 4, 4, 4, 3, 4, 4, 5, 4, 7, -4, 4, 4, 4, 7, 4, 8, 4, 5, 4, 5, 8, -3, 5, 4, 4, 5, 5, 5, 5, 3, 5, 4, 5, -5, 3, 5, 6, 5, 6, 5, 3, 5, 5, 3, 5, -6, 5, 4, 3, 5, 4, 5, 4, 3, 5, 7, 5, -5, 4, 4, 5, 4, 3, 5, 4, 7, 5, 4, 7, -5, 9, 4, 5, 9, 5, 4, 4, 5, 4, 8, 7, -9, 7, 4, 4, 4, 5, 7, 4, 5, 7, 3, 5, -7, 5, 5, 8, 5, 5, 5, 4, 9, 5, 6, 10, -6, 10, 5, 8, 5, 9, 9, 4, 7, 6, 8, 8, -6, 4, 3, 6, 6, 6, 5, 8, 6, 7, 7, 5, -3, 9, 5, 8, 5, 5, 6, 6, 5, 6, 3, 7, -5, 8, 5, 6, 3, 7, 4, 4, 2, 5, 3, 3, -6, 9, 5, 4, 7, 9, 7, 4, 7, 5, 5, 5, -6, 4, 2, 3, 7, 9, 5, 4, 4, 4, 5, 5, -5, 4, 4, 4, 7, 4, 4, 5, 3, 6, 5, 3, -8, 4, 8, 4, 7, 7, 8, 5, 3, 9, 7, 8, -6, 5, 4, 2, 4, 4, 6, 6, 3, 4, 4, 5, -8, 5, 9, 5, 5, 4, 6, 5, 7, 8, 5, 8, -6, 4, 7, 4, 9, 5, 3, 4, 5, 3, 4, 5, -5, 4, 4, 5, 5, 6, 10, 8, 8, 6, 10, 8, -5, 5, 5, 6, 4, 4, 9, 4, 3, 4, 6, 5, -6, 4, 3, 7, 7, 4, 4, 7, 3, 5, 3, 3, -4, 7, 4, 6, 6, 6, 5, 6, 7, 4, 7, 7, -3, 5, 3, 5, 11, 7, 7, 5, 7, 3, 7, 6, -6, 6, 7, 6, 7, 7, 6, 7, 6, 5, 9, 3, -9, 9, 9, 6, 9, 12, 5, 12, 3, 9, 9, 5, -6, 4, 8, 5, 4, 8, 3, 4, 6, 4, 10, 6, -4, 8, 6, 8, 7, 5, 8, 8, 6, 7, 8, 3, -7, 7, 5, 7, 3, 6, 7, 6, 7, 5, 3, 7, -6, 6, 7, 8, 5, 3, 8, 7, 6, 8, 7, 4, -5, 5, 3, 7, 4, 5, 4, 5, 6, 7, 4, 5, -4, 6, 5, 4, 3, 6, 7, 4, 6, 6, 5, 6, -6, 5, 6, 3, 9, 6, 6, 6, 8, 5, 6, 3, -8, 9, 8, 6, 8, 6, 7, 4, 5, 4, 5, 6, -5, 5, 8, 5, 5, 5, 5, 5, 5, 5, 6, 5, -6, 5, 5, 5, 5, 5, 6, 7, 8, 6, 6, 9, -7, 7, 6, 4, 8, 5, 8, 3, 7, 8, 8, 6, -4, 10, 3, 7, 10, 10, 7, 5, 8, 7, 4, 10, -4, 4, 9, 7, 6, 6, 3, 4, 4, 7, 4, 5, -7, 4, 3, 3, 4, 4, 3, 3, 10, 3, 6, 3, -4, 3, 6, 9, 6, 4, 7, 5, 11, 5, 7, 7, -4, 9, 5, 7, 10, 6, 10, 5, 8, 3, 8, 6, -3, 8, 10, 8, 8, 4, 6, 7, 8, 8, 7, 10, -3, 7, 5, 8, 7, 8, 11, 4, 11, 5, 5, 4, -10, 5, 6, 5, 4, 7, 10, 8, 5, 8, 5, 8, -8, 9, 8, 8, 6, 7, 9, 4, 5, 5, 8, 9, -9, 9, 4, 6, 4, 5, 4, 6, 12, 8, 7, 5, -7, 8, 5, 7, 3, 5, 3, 5, 7, 2, 6, 8, -5, 5, 6, 8, 6, 8, 7, 6, 5, 7, 6, 8, -5, 6, 2, 8, 5, 8, 5, 8, 4, 5, 6, 6, -6, 8, 6, 8, 4, 8, 4, 4, 5, 7, 6, 7, -4, 8, 5, 7, 5, 8, 8, 12, 12, 4, 7, 5, -6, 5, 4, 9, 5, 5, 8, 8, 5, 9, 5, 6, -10, 5, 6, 4, 8, 6, 4, 8, 4, 5, 11, 5, -6, 5, 4, 7, 8, 9, 6, 6, 9, 5, 6, 6, -5, 4, 5, 8, 4, 4, 7, 9, 4, 7, 5, 8, -9, 4, 7, 4, 6, 4, 4, 9, 5, 5, 4, 5, -3, 2, 6, 5, 5, 5, 6, 7, 8, 8, 8, 7, -7, 7, 6, 5, 5, 6, 5, 5, 9, 8, 11, 8, -4, 6, 2, 3, 3, 6, 6, 5, 4, 6, 5, 6, -5, 4, 9, 9, 4, 6, 8, 9, 9, 5, 3, 2, -5, 10, 6, 11, 5, 6, 7, 5, 9, 5, 5, 5, -5, 5, 5, 11, 5, 9, 7, 9, 4, 9, 7, 8, -4, 4, 10, 6, 11, 4, 3, 3, 5, 5, 4, 6, -3, 4, 5, 8, 4, 6, 3, 6, 6, 6, 3, 6, -4, 6, 4, 3, 6, 6, 5, 4, 3, 4, 3, 4, -6, 3, 4, 5, 6, 5, 6, 7, 6, 6, 7, 6, -7, 3, 3, 7, 4, 7, 5, 6, 6, 7, 9, 10, -4, 4, 7, 11, 6, 7, 5, 6, 7, 4, 4, 7, -7, 3, 3, 3, 4, 4, 3, 5, 4, 5, 3, 13, -8, 5, 7, 4, 5, 5, 4, 8, 8, 7, 4, 8, -4, 7, 5, 6, 4, 8, 4, 5, 7, 7, 5, 4, -8, 5, 8, 4, 8, 8, 5, 1, 4, 6, 4, 5, -4, 6, 4, 7, 5, 6, 7, 7, 4, 7, 4, 4, -7, 2, 4, 7, 4, 6, 6, 4, 4, 4, 6, 4, -2, 8, 4, 3, 5, 5, 5, 7, 4, 5, 9, 5, -4, 4, 3, 6, 7, 6, 8, 3, 6, 8, 6, 8, -4, 4, 5, 3, 4, 4, 3, 4, 6, 6, 3, 4, -6, 3, 7, 4, 9, 4, 6, 4, 6, 4, 4, 8, -5, 8, 9, 6, 2, 10, 9, 8, 5, 10, 8, 4, -6, 4, 6, 4, 5, 4, 4, 4, 6, 5, 4, 8, -4, 9, 6, 10, 10, 5, 10, 5, 8, 7, 7, 5, -8, 9, 4, 5, 3, 9, 3, 8, 4, 5, 3, 8, -3, 5, 3, 4, 5, 10, 10, 6, 4, 5, 6, 4, -6, 7, 3, 3, 5, 3, 4, 3, 4, 6, 3, 4, -4, 4, 6, 5, 5, 6, 5, 5, 4, 5, 5, 6, -5, 5, 6, 5, 11, 5, 5, 4, 8, 11, 5, 6, -3, 6, 9, 9, 10, 5, 9, 5, 4, 5, 10, 5, -5, 6, 5, 5, 5, 5, 3, 8, 4, 2, 6, 6, -2, 5, 5, 2, 4, 7, 3, 4, 7, 4, 3, 5, -8, 6, 7, 2, 5, 7, 9, 5, 6, 6, 6, 3, -5, 5, 8, 11, 9, 8, 6, 2, 4, 6, 4, 6, -11, 4, 11, 9, 4, 9, 6, 3, 5, 4, 9, 5, -5, 5, 5, 5, 5, 5, 7, 4, 2, 6, 5, 9, -9, 6, 15, 5, 5, 5, 5, 1, 1, 2, 2, 2, -3, 1, 1, 4, 4, 9, 4, 5, 2, 5, 4, 5, -2, 4, 3, 5, 10, 2, 11, 2, 6, 3, 8, 2, -3, 7, 5, 8, 6, 2, 6, 2, 7, 11, 11, 4, -8, 4, 8, 8, 11, 10, 3, 10, 4, 11, 4, 4, -7, 8, 8, 7, 2, 5, 3, 8, 7, 5, 4, 5, -5, 5, 7, 8, 5, 6, 5, 4, 8, 7, 5, 9, -4, 1, 7, 3, 6, 5, 4, 1, 7, 3, 3, 2, -10, 7, 5, 2, 7, 8, 7, 7, 5, 4, 7, 4, -6, 4, 6, 8, 2, 3, 6, 5, 3, 6, 6, 8, -4, 7, 11, 6, 3, 4, 4, 7, 2, 2, 2, 4, -3, 4, 4, 3, 3, 5, 4, 4, 3, 5, 5, 4, -6, 3, 4, 4, 8, 6, 8, 5, 7, 3, 6, 8, -6, 5, 5, 4, 6, 4, 6, 6, 4, 5, 4, 5, -8, 5, 8, 5, 4, 7, 6, 5, 6, 2, 5, 6, -4, 5, 8, 5, 5, 2, 5, 4, 5, 5, 5, 5, -4, 5, 2, 5, 4, 5, 5, 5, 5, 5, 5, 5, -4, 5, 5, 4, 5, 5, 4, 2, 5, 4, 5, 5, -4, 5, 5, 4, 9, 4, 5, 7, 2, 5, 4, 7, -6, 10, 7, 6, 3, 6, 6, 16, 6, 9, 7, 4, -5, 5, 4, 4, 5, 5, 4, 8, 5, 4, 5, 14, -1, 6, 5, 4, 8, 8, 2, 9, 10, 4, 4, 5, -4, 4, 3, 4, 2, 3, 4, 5, 5, 4, 6, 3, -5, 4, 6, 5, 6, 5, 5, 6, 6, 3, 4, 6, -3, 5, 8, 4, 3, 5, 8, 7, 6, 5, 4, 7, -5, 7, 5, 6, 4, 7, 5, 6, 6, 5, 5, 6, -6, 5, 5, 6, 5, 6, 5, 5, 6, 5, 6, 6, -5, 6, 5, 5, 6, 6, 6, 6, 5, 5, 5, 6, -5, 6, 5, 7, 4, 5, 4, 5, 4, 4, 2, 4, -11, 6, 4, 6, 4, 6, 6, 3, 2, 6, 7, 6, -7, 7, 5, 6, 5, 5, 5, 6, 5, 6, 8, 5, -5, 5, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, -6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, -8, 8, 9, 9, 9, 4, 6, 5, 4, 5, 5, 4, -6, 5, 4, 9, 4, 4, 2, 4, 10, 4, 3, 5, -4, 7, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 4, 2, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -4, 2, 2, 2, 4, 2, 4, 2, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 4, 2, 2, -2, 4, 2, 2, 4, 2, 4, 2, 2, 2, 4, 2, -2, 4, 2, 4, 2, 2, 2, 4, 2, 4, 2, 5, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 4, 2, 2, 2, 4, 5, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 4, 2, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 2, 4, 2, 4, 2, 2, 4, 2, 2, -2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, -2, 4, 2, 4, 2, 2, 2, 4, 2, 2, 4, 2, -4, 2, 2, 4, 2, 2, 2, 4, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 2, 4, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 9, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 7, 5, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 7, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 2, 4, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, 4, -2, 2, 4, 2, 2, 4, 2, 5, 11, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 2, 4, 2, 2, 4, 2, -4, 2, 2, 2, 4, 2, 4, 2, 2, 4, 2, 2, -2, 4, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 2, 4, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 12, 4, 2, 2, 4, 2, 6, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -2, 4, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 4, 2, 2, -4, 2, 2, 4, 2, 2, 4, 2, 2, 2, 4, 2, -4, 2, 2, 4, 2, 2, 4, 2 }; - -const ReplacementStruct ReplacementInitData[] = { - { small(2), small(10), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(31), small(5) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(23), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(18), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(22), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(5), small(1) }, - { small(2), small(30), small(5) }, - { small(2), small(30), small(5) }, - { small(2), small(18), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(22), small(4) }, - { small(2), small(8), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(14), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(24), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(21), small(3) }, - { small(2), small(11), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(16), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(12), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(23), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(24), small(4) }, - { small(2), small(14), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(23), small(3) }, - { small(2), small(18), small(2) }, - { small(2), small(24), small(4) }, - { small(2), small(14), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(22), small(3) }, - { small(2), small(18), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(16), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(9), small(2) }, - { small(2), small(16), small(3) }, - { small(2), small(11), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(17), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(18), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(43), small(7) }, - { small(2), small(17), small(2) }, - { small(2), small(3), small(1) }, - { small(2), small(19), small(4) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(10), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(14), small(3) }, - { small(2), small(21), small(4) }, - { small(2), small(34), small(5) }, - { small(2), small(14), small(2) }, - { small(2), small(55), small(9) }, - { small(2), small(8), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(14), small(3) }, - { small(2), small(9), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(43), small(6) }, - { small(2), small(15), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(29), small(4) }, - { small(2), small(15), small(2) }, - { small(2), small(20), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(6), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(5), small(20), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(24), small(4) }, - { small(2), small(21), small(3) }, - { small(2), small(11), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(21), small(5) }, - { small(2), small(22), small(4) }, - { small(5), small(22), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(17), small(3) }, - { small(2), small(23), small(3) }, - { small(5), small(22), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(5), small(1) }, - { small(2), small(16), small(2) }, - { small(5), small(27), small(3) }, - { small(2), small(25), small(3) }, - { small(2), small(21), small(2) }, - { small(5), small(13), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(6), small(17), small(2) }, - { small(3), small(15), small(2) }, - { small(3), small(15), small(3) }, - { small(3), small(5), small(1) }, - { small(3), small(11), small(1) }, - { small(5), small(21), small(3) }, - { small(5), small(19), small(3) }, - { small(5), small(14), small(2) }, - { small(5), small(12), small(2) }, - { small(5), small(12), small(2) }, - { small(5), small(10), small(2) }, - { small(5), small(15), small(2) }, - { small(5), small(13), small(2) }, - { small(5), small(14), small(2) }, - { small(5), small(12), small(2) }, - { small(5), small(15), small(2) }, - { small(5), small(13), small(2) }, - { small(5), small(22), small(3) }, - { small(5), small(20), small(3) }, - { small(5), small(20), small(2) }, - { small(5), small(18), small(2) }, - { small(5), small(21), small(3) }, - { small(5), small(19), small(3) }, - { small(5), small(16), small(2) }, - { small(5), small(14), small(2) }, - { small(5), small(17), small(2) }, - { small(5), small(15), small(2) }, - { small(5), small(14), small(2) }, - { small(5), small(12), small(2) }, - { small(5), small(19), small(2) }, - { small(5), small(17), small(2) }, - { small(5), small(13), small(2) }, - { small(5), small(11), small(2) }, - { small(5), small(17), small(2) }, - { small(5), small(15), small(2) }, - { small(5), small(13), small(2) }, - { small(5), small(11), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(17), small(3) }, - { small(2), small(15), small(3) }, - { small(2), small(7), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(16), small(2) }, - { small(5), small(14), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(20), small(3) }, - { small(2), small(25), small(3) }, - { small(2), small(21), small(3) }, - { small(5), small(18), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(9), small(2) }, - { small(2), small(21), small(3) }, - { small(5), small(18), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(10), small(2) }, - { small(2), small(21), small(3) }, - { small(5), small(18), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(21), small(3) }, - { small(5), small(18), small(3) }, - { small(5), small(19), small(2) }, - { small(5), small(17), small(2) }, - { small(5), small(10), small(1) }, - { small(5), small(11), small(2) }, - { small(5), small(20), small(2) }, - { small(5), small(17), small(2) }, - { small(5), small(7), small(1) }, - { small(5), small(18), small(2) }, - { small(5), small(15), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(26), small(4) }, - { small(2), small(16), small(2) }, - { small(5), small(13), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(17), small(2) }, - { small(5), small(14), small(2) }, - { small(2), small(23), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(24), small(3) }, - { small(5), small(21), small(3) }, - { small(2), small(28), small(4) }, - { small(2), small(9), small(1) }, - { small(2), small(24), small(3) }, - { small(5), small(26), small(4) }, - { small(2), small(33), small(5) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(32), small(5) }, - { small(2), small(9), small(1) }, - { small(2), small(33), small(5) }, - { small(5), small(30), small(5) }, - { small(5), small(15), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(16), small(2) }, - { small(5), small(15), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(25), small(4) }, - { small(2), small(23), small(4) }, - { small(2), small(19), small(3) }, - { small(2), small(29), small(5) }, - { small(8), small(22), small(4) }, - { small(8), small(11), small(2) }, - { small(8), small(22), small(4) }, - { small(8), small(11), small(2) }, - { small(2), small(12), small(1) }, - { small(2), small(16), small(3) }, - { small(11), small(15), small(2) }, - { small(11), small(9), small(2) }, - { small(11), small(15), small(2) }, - { small(11), small(9), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(22), small(4) }, - { small(8), small(12), small(2) }, - { small(11), small(13), small(2) }, - { small(11), small(13), small(2) }, - { small(11), small(13), small(2) }, - { small(8), small(12), small(2) }, - { small(8), small(12), small(2) }, - { small(11), small(13), small(2) }, - { small(11), small(13), small(2) }, - { small(11), small(13), small(2) }, - { small(8), small(12), small(2) }, - { small(8), small(12), small(2) }, - { small(11), small(13), small(2) }, - { small(11), small(13), small(2) }, - { small(11), small(13), small(2) }, - { small(5), small(18), small(3) }, - { small(5), small(19), small(3) }, - { small(8), small(23), small(4) }, - { small(8), small(22), small(4) }, - { small(8), small(24), small(4) }, - { small(5), small(16), small(3) }, - { small(5), small(17), small(3) }, - { small(8), small(21), small(4) }, - { small(8), small(20), small(4) }, - { small(8), small(22), small(4) }, - { small(2), small(16), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(7), small(1) }, - { small(1), small(25), small(4) }, - { small(1), small(19), small(3) }, - { small(2), small(16), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(13), small(3) }, - { small(2), small(14), small(3) }, - { small(2), small(15), small(3) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(4), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(3) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(18), small(3) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(21), small(3) }, - { small(2), small(19), small(3) }, - { small(2), small(22), small(3) }, - { small(2), small(10), small(2) }, - { small(2), small(22), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(20), small(4) }, - { small(2), small(21), small(4) }, - { small(2), small(15), small(3) }, - { small(2), small(30), small(5) }, - { small(2), small(29), small(5) }, - { small(2), small(15), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(1), small(10), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(28), small(5) }, - { small(2), small(23), small(4) }, - { small(2), small(14), small(2) }, - { small(2), small(24), small(4) }, - { small(2), small(17), small(3) }, - { small(2), small(34), small(6) }, - { small(2), small(22), small(4) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(17), small(3) }, - { small(2), small(12), small(2) }, - { small(1), small(24), small(4) }, - { small(1), small(20), small(3) }, - { small(2), small(22), small(3) }, - { small(2), small(17), small(2) }, - { small(2), small(17), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(6), small(1) }, - { small(2), small(20), small(3) }, - { small(2), small(15), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(14), small(3) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(21), small(4) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(3) }, - { small(2), small(6), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(26), small(4) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(16), small(3) }, - { small(2), small(27), small(5) }, - { small(2), small(18), small(3) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(18), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(15), small(3) }, - { small(2), small(23), small(4) }, - { small(2), small(15), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(22), small(3) }, - { small(1), small(11), small(2) }, - { small(2), small(5), small(1) }, - { small(1), small(7), small(1) }, - { small(2), small(13), small(1) }, - { small(6), small(23), small(3) }, - { small(3), small(21), small(3) }, - { small(3), small(15), small(2) }, - { small(3), small(8), small(1) }, - { small(3), small(24), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(16), small(2) }, - { small(5), small(17), small(2) }, - { small(5), small(15), small(2) }, - { small(5), small(11), small(1) }, - { small(5), small(11), small(1) }, - { small(5), small(18), small(2) }, - { small(5), small(20), small(2) }, - { small(5), small(18), small(2) }, - { small(5), small(11), small(1) }, - { small(5), small(24), small(3) }, - { small(5), small(21), small(3) }, - { small(2), small(19), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(19), small(2) }, - { small(2), small(22), small(3) }, - { small(5), small(24), small(3) }, - { small(5), small(10), small(1) }, - { small(5), small(25), small(3) }, - { small(5), small(22), small(3) }, - { small(6), small(15), small(2) }, - { small(3), small(13), small(2) }, - { small(3), small(8), small(1) }, - { small(3), small(16), small(2) }, - { small(5), small(15), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(16), small(2) }, - { small(5), small(16), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(17), small(2) }, - { small(5), small(26), small(4) }, - { small(5), small(24), small(4) }, - { small(5), small(12), small(2) }, - { small(5), small(27), small(4) }, - { small(5), small(19), small(3) }, - { small(2), small(17), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(20), small(3) }, - { small(2), small(14), small(2) }, - { small(5), small(14), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(15), small(2) }, - { small(5), small(23), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(20), small(2) }, - { small(2), small(24), small(3) }, - { small(2), small(25), small(4) }, - { small(2), small(14), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(20), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(13), small(2) }, - { small(5), small(16), small(2) }, - { small(5), small(14), small(2) }, - { small(5), small(9), small(1) }, - { small(5), small(10), small(1) }, - { small(5), small(17), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(22), small(3) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(9), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(10), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(12), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(21), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(21), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(20), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(20), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(13), small(2) }, - { small(1), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(14), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(24), small(3) }, - { small(2), small(15), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(16), small(2) }, - { small(1), small(20), small(3) }, - { small(1), small(16), small(2) }, - { small(2), small(21), small(3) }, - { small(2), small(7), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(8), small(1) }, - { small(1), small(10), small(1) }, - { small(2), small(22), small(3) }, - { small(2), small(15), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(23), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(17), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(25), small(3) }, - { small(2), small(17), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(22), small(3) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(20), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(1), small(15), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(24), small(3) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(18), small(3) }, - { small(2), small(11), small(2) }, - { small(2), small(17), small(3) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(20), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(11), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(4), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(14), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(20), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(13), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(15), small(2) }, - { small(1), small(11), small(1) }, - { small(1), small(13), small(2) }, - { small(1), small(7), small(1) }, - { small(1), small(13), small(2) }, - { small(2), small(19), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(11), small(1) }, - { small(1), small(24), small(3) }, - { small(2), small(11), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(18), small(3) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(1), small(17), small(3) }, - { small(1), small(13), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(7), small(1) }, - { small(1), small(6), small(1) }, - { small(2), small(14), small(3) }, - { small(2), small(6), small(1) }, - { small(1), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(13), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(9), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(16), small(3) }, - { small(2), small(7), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(24), small(2) }, - { small(2), small(20), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(21), small(3) }, - { small(2), small(19), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(22), small(4) }, - { small(2), small(9), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(16), small(3) }, - { small(2), small(16), small(3) }, - { small(2), small(15), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(26), small(4) }, - { small(2), small(28), small(4) }, - { small(2), small(17), small(3) }, - { small(2), small(16), small(2) }, - { small(2), small(21), small(3) }, - { small(2), small(17), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(15), small(3) }, - { small(2), small(10), small(2) }, - { small(2), small(24), small(4) }, - { small(2), small(12), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(18), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(10), small(1) }, - { small(2), small(21), small(3) }, - { small(2), small(12), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(32), small(4) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(12), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(26), small(4) }, - { small(2), small(15), small(2) }, - { small(2), small(25), small(4) }, - { small(2), small(14), small(2) }, - { small(2), small(11), small(2) }, - { small(2), small(23), small(3) }, - { small(2), small(12), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(8), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(19), small(4) }, - { small(2), small(22), small(4) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(39), small(5) }, - { small(2), small(19), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(7), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(11), small(2) }, - { small(2), small(17), small(3) }, - { small(2), small(15), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(10), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(18), small(3) }, - { small(1), small(11), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(13), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(11), small(1) }, - { small(2), small(18), small(3) }, - { small(2), small(16), small(2) }, - { small(2), small(7), small(1) }, - { small(3), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(26), small(4) }, - { small(2), small(4), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(21), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(17), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(3), small(3), small(1) }, - { small(3), small(3), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(4), small(1) }, - { small(3), small(4), small(1) }, - { small(2), small(5), small(1) }, - { small(1), small(3), small(1) }, - { small(2), small(3), small(1) }, - { small(2), small(11), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(10), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(15), small(3) }, - { small(2), small(5), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(12), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(15), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(10), small(1) }, - { small(2), small(18), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(13), small(1) }, - { small(1), small(18), small(2) }, - { small(1), small(10), small(1) }, - { small(1), small(15), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(1) }, - { small(2), small(16), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(23), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(19), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(14), small(3) }, - { small(2), small(10), small(1) }, - { small(2), small(9), small(1) }, - { small(1), small(18), small(3) }, - { small(3), small(7), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(23), small(3) }, - { small(1), small(29), small(4) }, - { small(2), small(22), small(3) }, - { small(2), small(33), small(6) }, - { small(2), small(3), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(12), small(1) }, - { small(3), small(9), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(18), small(2) }, - { small(2), small(9), small(1) }, - { small(2), small(15), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(10), small(1) }, - { small(2), small(25), small(5) }, - { small(2), small(8), small(1) }, - { small(2), small(17), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(20), small(2) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(14), small(2) }, - { small(2), small(4), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(3), small(6), small(1) }, - { small(3), small(5), small(1) }, - { small(3), small(5), small(1) }, - { small(3), small(7), small(1) }, - { small(3), small(6), small(1) }, - { small(3), small(6), small(1) }, - { small(3), small(5), small(1) }, - { small(3), small(7), small(1) }, - { small(3), small(7), small(1) }, - { small(3), small(6), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(6), small(1) }, - { small(3), small(6), small(1) }, - { small(3), small(17), small(2) }, - { small(3), small(10), small(1) }, - { small(2), small(15), small(2) }, - { small(1), small(21), small(3) }, - { small(1), small(14), small(2) }, - { small(1), small(12), small(2) }, - { small(1), small(13), small(2) }, - { small(1), small(15), small(2) }, - { small(1), small(12), small(2) }, - { small(1), small(12), small(2) }, - { small(1), small(16), small(2) }, - { small(1), small(16), small(2) }, - { small(1), small(14), small(2) }, - { small(1), small(8), small(1) }, - { small(1), small(17), small(3) }, - { small(1), small(19), small(3) }, - { small(2), small(16), small(2) }, - { small(2), small(16), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(10), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(19), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(15), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(18), small(3) }, - { small(2), small(27), small(4) }, - { small(2), small(18), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(27), small(3) }, - { small(2), small(8), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(25), small(2) }, - { small(2), small(18), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(7), small(1) }, - { small(1), small(17), small(3) }, - { small(1), small(18), small(3) }, - { small(1), small(21), small(3) }, - { small(2), small(24), small(3) }, - { small(2), small(19), small(3) }, - { small(2), small(19), small(2) }, - { small(1), small(4), small(1) }, - { small(1), small(11), small(1) }, - { small(1), small(12), small(1) }, - { small(1), small(11), small(2) }, - { small(1), small(12), small(2) }, - { small(1), small(6), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(4), small(1) }, - { small(2), small(5), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(18), small(3) }, - { small(2), small(23), small(4) }, - { small(2), small(14), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(14), small(2) }, - { small(2), small(12), small(2) }, - { small(2), small(13), small(2) }, - { small(2), small(20), small(3) }, - { small(2), small(25), small(4) }, - { small(2), small(22), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(22), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(27), small(4) }, - { small(2), small(27), small(4) }, - { small(2), small(21), small(3) }, - { small(2), small(21), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(20), small(3) }, - { small(2), small(9), small(1) }, - { small(2), small(6), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(12), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(9), small(2) }, - { small(2), small(6), small(1) }, - { small(2), small(13), small(1) }, - { small(2), small(20), small(3) }, - { small(2), small(13), small(2) }, - { small(5), small(22), small(4) }, - { small(2), small(16), small(2) }, - { small(2), small(17), small(2) }, - { small(2), small(20), small(3) }, - { small(2), small(13), small(2) }, - { small(2), small(8), small(1) }, - { small(2), small(7), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(13), small(2) }, - { small(2), small(22), small(3) }, - { small(3), small(9), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(8), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(9), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(10), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(11), small(1) }, - { small(2), small(19), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(19), small(3) }, - { small(2), small(12), small(2) }, - { small(2), small(16), small(2) }, - { small(2), small(25), small(4) }, - { small(6), small(16), small(3) }, - { small(6), small(14), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(7), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(7), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(11), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(2), small(15), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(9), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(7), small(1) }, - { small(4), small(13), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(14), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(8), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, - { small(4), small(4), small(1) }, - { small(4), small(9), small(2) }, -}; - -const medium ReplacementIndices[] = { -131, 135, 1208, 1284, 151, 671, 54, 61, 63, 107, 109, 143, -159, 240, 241, 246, 247, 257, 372, 431, 507, 508, 509, 545, -563, 564, 578, 661, 662, 682, 683, 684, 688, 762, 770, 771, -796, 800, 811, 813, 829, 830, 831, 832, 833, 846, 889, 922, -962, 987, 989, 992, 1006, 1010, 1028, 1031, 1047, 1147, 1158, 1168, -1171, 1172, 1173, 1188, 1195, 1197, 1209, 1226, 1237, 1240, 1244, 1264, -1265, 1266, 1286, 1287, 1288, 1300, 1301, 1302, 1303, 1304, 1305, 1306, -1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, -1319, 1322, 1323, 1379, 1380, 1420, 1421, 1422, 1423, 1424, 1425, 1428, -1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, -1441, 1442, 1443, 1444, 1445, 1448, 1449, 1450, 1451, 1452, 1453, 1850, -1851, 1906, 1907, 11, 94, 95, 155, 156, 159, 182, 183, 184, -185, 189, 190, 191, 192, 255, 260, 261, 262, 263, 304, 308, -310, 311, 336, 351, 353, 354, 356, 358, 359, 366, 370, 375, -383, 395, 412, 413, 419, 421, 425, 426, 427, 430, 444, 452, -491, 498, 504, 505, 531, 537, 539, 554, 568, 592, 593, 594, -599, 603, 612, 622, 624, 633, 639, 645, 649, 650, 658, 665, -667, 674, 679, 683, 685, 686, 710, 711, 712, 713, 714, 735, -736, 738, 740, 741, 742, 743, 744, 745, 746, 747, 785, 790, -791, 803, 810, 820, 821, 849, 865, 866, 867, 881, 886, 888, -895, 901, 922, 932, 933, 968, 970, 992, 996, 1007, 1008, 1009, -1020, 1021, 1022, 1023, 1030, 1034, 1038, 1041, 1065, 1066, 1076, 1077, -1078, 1079, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1108, 1109, 1112, -1129, 1131, 1132, 1176, 1177, 1185, 1196, 1206, 1213, 1222, 1224, 1225, -1231, 1252, 1256, 1289, 1290, 1292, 1293, 1302, 1339, 1344, 1345, 1347, -1349, 1353, 1355, 1356, 1357, 1358, 1360, 1362, 1364, 1370, 1371, 1374, -1376, 1377, 1378, 1379, 1385, 1414, 1415, 1454, 1455, 1456, 1457, 1458, -1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, -1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1488, -1489, 1490, 1491, 1492, 1493, 1494, 1495, 1506, 1507, 1763, 1764, 1844, -1845, 23, 26, 35, 36, 37, 38, 44, 50, 68, 69, 107, -108, 114, 115, 116, 117, 118, 119, 120, 121, 122, 125, 143, -144, 162, 163, 169, 197, 204, 206, 207, 208, 222, 223, 250, -251, 320, 323, 324, 325, 326, 327, 328, 329, 331, 333, 361, -376, 377, 378, 386, 389, 401, 410, 413, 414, 415, 438, 449, -454, 456, 457, 469, 477, 482, 483, 490, 505, 513, 515, 523, -532, 534, 535, 537, 538, 539, 540, 542, 543, 544, 545, 546, -547, 548, 549, 550, 556, 557, 573, 581, 582, 583, 587, 591, -595, 596, 598, 620, 623, 626, 630, 632, 636, 638, 639, 642, -646, 651, 652, 656, 658, 659, 679, 680, 706, 707, 708, 709, -764, 772, 788, 790, 793, 794, 795, 809, 814, 816, 838, 843, -847, 858, 859, 862, 863, 871, 876, 881, 882, 897, 901, 902, -916, 917, 918, 919, 926, 927, 929, 936, 939, 942, 943, 944, -945, 958, 960, 962, 963, 964, 972, 982, 994, 1000, 1003, 1007, -1028, 1029, 1036, 1041, 1045, 1056, 1063, 1066, 1067, 1068, 1071, 1072, -1073, 1075, 1076, 1077, 1080, 1081, 1084, 1090, 1092, 1115, 1116, 1123, -1140, 1145, 1146, 1147, 1154, 1161, 1167, 1190, 1198, 1228, 1233, 1235, -1238, 1242, 1250, 1251, 1252, 1259, 1266, 1270, 1322, 1323, 1331, 1333, -1336, 1343, 1344, 1346, 1347, 1348, 1349, 1382, 1386, 1388, 1389, 1390, -1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, -1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1416, 1498, 1499, -1500, 1501, 1504, 1505, 1510, 1511, 1514, 1515, 1516, 1517, 1518, 1519, -1520, 1521, 1522, 1523, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, -1534, 1535, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1582, 1583, -1652, 1868, 1869, 15, 16, 41, 64, 70, 71, 72, 133, 152, -213, 214, 217, 265, 305, 306, 307, 309, 365, 385, 388, 416, -445, 455, 456, 467, 472, 473, 480, 481, 485, 524, 555, 560, -561, 605, 628, 641, 657, 709, 777, 778, 783, 784, 832, 868, -875, 888, 891, 918, 929, 930, 938, 940, 974, 977, 998, 999, -1027, 1043, 1068, 1074, 1084, 1085, 1090, 1142, 1149, 1150, 1212, 1230, -1240, 1289, 1300, 1301, 1304, 1308, 1313, 1318, 1328, 1330, 1335, 1351, -1352, 1353, 1354, 1355, 1384, 1426, 1427, 1484, 1485, 1546, 1547, 1548, -1549, 1550, 1551, 1552, 1553, 1596, 1597, 19, 22, 23, 25, 26, -58, 77, 78, 117, 165, 175, 178, 179, 258, 308, 310, 311, -384, 406, 407, 408, 417, 458, 484, 497, 507, 508, 509, 580, -597, 797, 858, 893, 969, 979, 1046, 1047, 1048, 1049, 1050, 1133, -1134, 1185, 1205, 1207, 1218, 1219, 1237, 1281, 1331, 1338, 1376, 1554, -1555, 1556, 1557, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1838, -1839, 1840, 1841, 1928, 1929, 8, 13, 15, 28, 30, 32, 35, -37, 45, 46, 47, 48, 51, 57, 60, 64, 65, 67, 72, -77, 80, 83, 85, 88, 90, 92, 93, 94, 111, 121, 138, -139, 140, 141, 142, 143, 144, 157, 159, 165, 166, 177, 220, -221, 230, 231, 242, 243, 280, 281, 282, 283, 284, 290, 293, -294, 295, 300, 303, 335, 336, 337, 338, 339, 340, 341, 342, -343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, -355, 356, 357, 358, 359, 360, 393, 394, 396, 400, 404, 405, -423, 442, 443, 479, 481, 490, 494, 501, 510, 516, 518, 519, -520, 521, 522, 529, 530, 554, 558, 594, 601, 608, 610, 616, -620, 634, 661, 662, 663, 666, 670, 678, 684, 698, 699, 700, -752, 753, 797, 821, 844, 848, 856, 861, 873, 883, 915, 923, -938, 943, 946, 948, 952, 966, 971, 1004, 1032, 1033, 1039, 1064, -1076, 1080, 1082, 1083, 1110, 1111, 1187, 1230, 1272, 1277, 1278, 1288, -1298, 1386, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1421, 1423, -1425, 1427, 1429, 1431, 1433, 1435, 1437, 1439, 1441, 1443, 1445, 1447, -1449, 1451, 1453, 1455, 1457, 1459, 1461, 1463, 1465, 1467, 1469, 1471, -1473, 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491, 1493, 1495, -1497, 1499, 1501, 1503, 1505, 1507, 1509, 1511, 1513, 1515, 1517, 1519, -1521, 1523, 1525, 1527, 1529, 1531, 1533, 1535, 1537, 1539, 1541, 1543, -1545, 1547, 1549, 1551, 1553, 1555, 1557, 1559, 1561, 1563, 1565, 1567, -1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1579, 1580, 1581, -1583, 1585, 1587, 1589, 1591, 1593, 1595, 1597, 1599, 1601, 1603, 1605, -1607, 1609, 1611, 1613, 1615, 1617, 1619, 1621, 1623, 1625, 1627, 1629, -1631, 1633, 1635, 1637, 1639, 1641, 1643, 1645, 1647, 1649, 1651, 1652, -1654, 1656, 1658, 1660, 1662, 1664, 1666, 1668, 1670, 1672, 1674, 1676, -1678, 1680, 1682, 1684, 1686, 1688, 1690, 1692, 1694, 1696, 1698, 1700, -1702, 1704, 1706, 1708, 1710, 1712, 1714, 1715, 1716, 1718, 1720, 1722, -1724, 1726, 1728, 1730, 1732, 1734, 1736, 1738, 1740, 1742, 1744, 1746, -1748, 1750, 1752, 1754, 1756, 1758, 1760, 1762, 1764, 1766, 1768, 1770, -1772, 1774, 1776, 1778, 1780, 1782, 1784, 1786, 1788, 1790, 1792, 1794, -1796, 1798, 1800, 1802, 1804, 1806, 1809, 1811, 1813, 1815, 1817, 1819, -1821, 1823, 1825, 1827, 1829, 1831, 1833, 1835, 1837, 1839, 1841, 1843, -1845, 1847, 1849, 1851, 1853, 1855, 1857, 1859, 1861, 1863, 1865, 1867, -1869, 1871, 1873, 1875, 1877, 1879, 1881, 1883, 1885, 1887, 1889, 1891, -1893, 1895, 1897, 1899, 1901, 1903, 1905, 1907, 1909, 1911, 1913, 1915, -1917, 1919, 1921, 1923, 1925, 1927, 1929, 1931, 1933, 1935, 0, 3, -84, 99, 104, 186, 194, 196, 209, 210, 211, 212, 268, 269, -270, 271, 272, 274, 275, 296, 298, 299, 300, 302, 303, 352, -353, 355, 357, 358, 360, 461, 464, 511, 517, 563, 570, 613, -643, 651, 652, 653, 655, 675, 676, 680, 681, 685, 686, 719, -720, 721, 722, 781, 783, 786, 864, 885, 983, 993, 995, 1037, -1093, 1128, 1141, 1160, 1219, 1221, 1239, 1418, 1560, 1561, 1584, 1585, -1590, 1591, 1592, 1593, 1594, 1595, 1598, 1599, 1600, 1601, 1602, 1603, -1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, -1616, 1617, 1618, 1619, 1620, 1621, 1826, 1827, 1908, 1909, 19, 20, -30, 31, 37, 59, 79, 94, 95, 101, 117, 123, 124, 127, -128, 143, 146, 148, 154, 155, 156, 157, 158, 159, 162, 165, -167, 180, 181, 189, 190, 191, 192, 218, 219, 264, 266, 267, -276, 277, 278, 279, 296, 297, 298, 299, 321, 322, 323, 324, -325, 327, 368, 373, 377, 378, 382, 391, 407, 414, 415, 422, -488, 506, 584, 590, 605, 606, 607, 677, 678, 715, 716, 717, -718, 739, 774, 828, 863, 884, 885, 886, 887, 888, 889, 894, -896, 899, 965, 966, 986, 987, 988, 989, 1013, 1061, 1126, 1127, -1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, -1141, 1142, 1210, 1225, 1285, 1315, 1316, 1317, 1318, 1326, 1327, 1328, -1329, 1330, 1343, 1383, 1446, 1447, 1536, 1537, 1622, 1623, 1624, 1625, -1626, 1627, 1628, 1629, 12, 96, 97, 110, 143, 180, 182, 183, -256, 265, 304, 629, 630, 631, 689, 868, 869, 925, 1044, 1048, -1052, 1075, 1084, 1122, 1170, 1188, 1223, 1240, 1258, 1263, 1376, 1482, -1483, 1502, 1503, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, -1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 7, 98, 99, -113, 116, 248, 249, 363, 765, 766, 767, 768, 769, 859, 907, -935, 1385, 1648, 1649, 1650, 1651, 1653, 1654, 1655, 1656, 20, 21, -22, 23, 119, 172, 330, 332, 334, 367, 397, 576, 577, 661, -662, 663, 687, 776, 837, 905, 928, 958, 997, 998, 1024, 1025, -1026, 1123, 1261, 1283, 1286, 1496, 1497, 1508, 1509, 1524, 1525, 1657, -1658, 1659, 1660, 1661, 1662, 1665, 1666, 1667, 1668, 1755, 1756, 1834, -1835, 1852, 1853, 5, 8, 82, 83, 113, 129, 139, 140, 149, -171, 173, 304, 399, 400, 436, 450, 490, 493, 494, 495, 512, -522, 547, 548, 567, 602, 637, 693, 694, 695, 696, 697, 800, -808, 822, 823, 850, 851, 855, 899, 957, 1028, 1044, 1051, 1055, -1091, 1099, 1101, 1108, 1110, 1113, 1115, 1122, 1123, 1124, 1145, 1162, -1164, 1212, 1224, 1230, 1253, 1258, 1306, 1310, 1311, 1312, 1314, 1316, -1336, 1337, 1354, 1355, 1364, 1365, 1369, 1373, 1374, 1375, 1669, 1670, -1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, -1683, 1684, 1685, 1686, 1842, 1843, 1854, 1855, 28, 29, 56, 62, -85, 86, 91, 143, 147, 159, 162, 163, 164, 165, 166, 187, -190, 193, 196, 197, 199, 200, 203, 207, 210, 214, 219, 221, -223, 225, 227, 229, 231, 233, 235, 236, 237, 239, 241, 243, -245, 247, 249, 250, 251, 256, 261, 267, 271, 275, 279, 281, -288, 292, 295, 299, 300, 301, 302, 303, 304, 306, 307, 311, -313, 317, 322, 324, 327, 328, 330, 333, 334, 336, 337, 338, -339, 340, 346, 347, 348, 349, 350, 356, 357, 358, 359, 360, -371, 375, 390, 405, 409, 475, 495, 496, 510, 511, 512, 513, -514, 515, 516, 517, 518, 519, 521, 522, 523, 572, 603, 643, -644, 688, 694, 702, 707, 711, 718, 720, 724, 728, 732, 736, -741, 744, 745, 746, 747, 749, 750, 751, 752, 754, 756, 766, -773, 775, 776, 787, 798, 804, 805, 806, 807, 814, 818, 819, -825, 840, 852, 853, 854, 870, 871, 872, 873, 880, 903, 912, -921, 932, 933, 937, 945, 955, 956, 963, 976, 981, 1012, 1050, -1056, 1057, 1058, 1059, 1117, 1120, 1121, 1133, 1152, 1178, 1179, 1216, -1226, 1233, 1238, 1239, 1241, 1254, 1324, 1327, 1329, 1343, 1360, 1361, -1362, 1363, 1367, 1372, 1387, 1578, 1579, 1687, 1688, 1689, 1690, 1691, -1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, -1704, 1705, 1706, 1707, 1708, 1709, 1710, 1713, 1714, 1717, 1718, 1719, -1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, -1732, 1757, 1758, 32, 33, 56, 57, 88, 169, 176, 268, 269, -270, 271, 364, 403, 406, 407, 408, 514, 518, 675, 909, 920, -922, 992, 1059, 1069, 1070, 1086, 1087, 1088, 1089, 1090, 1112, 1205, -1206, 1207, 1211, 1212, 1213, 1214, 1216, 1217, 1238, 1267, 1271, 1282, -1294, 1295, 1324, 1325, 1371, 1733, 1734, 1735, 1736, 1737, 1738, 1739, -1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, -1752, 1753, 1754, 1761, 1762, 8, 25, 26, 27, 62, 98, 113, -123, 146, 148, 155, 156, 193, 195, 202, 203, 205, 215, 234, -235, 272, 273, 274, 275, 418, 440, 453, 472, 497, 559, 603, -616, 627, 643, 809, 810, 811, 812, 835, 855, 864, 890, 892, -893, 912, 974, 975, 1025, 1053, 1083, 1095, 1133, 1148, 1149, 1150, -1154, 1156, 1157, 1178, 1199, 1202, 1204, 1268, 1274, 1321, 1340, 1352, -1354, 1417, 1765, 1766, 42, 49, 100, 103, 122, 126, 137, 149, -150, 151, 152, 153, 159, 191, 192, 196, 201, 202, 203, 205, -244, 245, 253, 254, 259, 263, 265, 266, 270, 274, 278, 283, -284, 287, 289, 290, 291, 292, 294, 298, 302, 308, 310, 311, -315, 319, 380, 381, 396, 402, 403, 411, 463, 468, 472, 478, -486, 536, 565, 574, 575, 584, 585, 586, 588, 589, 590, 600, -602, 604, 609, 615, 616, 635, 640, 658, 662, 663, 673, 684, -697, 700, 705, 709, 712, 713, 714, 715, 717, 718, 722, 726, -730, 731, 732, 733, 734, 738, 743, 747, 752, 753, 754, 755, -756, 757, 769, 770, 795, 809, 842, 892, 893, 909, 910, 931, -946, 947, 951, 969, 980, 987, 988, 991, 1008, 1014, 1018, 1032, -1033, 1054, 1060, 1061, 1063, 1064, 1069, 1071, 1100, 1101, 1102, 1105, -1106, 1108, 1109, 1110, 1111, 1113, 1114, 1118, 1119, 1122, 1130, 1143, -1144, 1151, 1156, 1169, 1178, 1185, 1211, 1214, 1216, 1226, 1247, 1250, -1258, 1290, 1291, 1296, 1297, 1326, 1386, 1417, 1418, 1586, 1587, 1767, -1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, -1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1856, -1857, 512, 516, 521, 522, 1220, 1221, 1791, 1792, 8, 9, 10, -18, 55, 70, 77, 78, 111, 112, 124, 141, 142, 150, 154, -156, 157, 159, 165, 170, 276, 277, 278, 279, 316, 317, 318, -319, 392, 459, 460, 462, 465, 470, 474, 476, 497, 500, 502, -539, 540, 541, 543, 544, 545, 546, 618, 624, 625, 626, 670, -735, 736, 737, 738, 739, 748, 759, 760, 788, 793, 794, 806, -808, 815, 816, 818, 822, 834, 862, 878, 879, 908, 949, 954, -1040, 1086, 1103, 1104, 1106, 1121, 1136, 1174, 1175, 1232, 1257, 1293, -1299, 1305, 1309, 1310, 1314, 1315, 1319, 1320, 1321, 1334, 1345, 1348, -1350, 1351, 1379, 1380, 1419, 1793, 1794, 1795, 1796, 1797, 1798, 1799, -1800, 1812, 1813, 1, 2, 4, 6, 13, 14, 22, 25, 26, -27, 34, 39, 45, 46, 66, 68, 73, 74, 75, 76, 87, -89, 90, 96, 102, 105, 106, 107, 108, 110, 114, 115, 118, -120, 127, 146, 157, 158, 168, 180, 181, 182, 183, 215, 216, -224, 225, 226, 227, 238, 239, 252, 285, 286, 287, 288, 304, -362, 369, 371, 372, 379, 385, 406, 408, 428, 429, 432, 433, -435, 437, 439, 441, 446, 466, 487, 489, 503, 520, 525, 526, -527, 533, 534, 535, 536, 537, 538, 539, 540, 549, 550, 551, -552, 553, 561, 571, 586, 588, 601, 609, 610, 613, 614, 616, -617, 619, 621, 629, 648, 660, 664, 689, 690, 691, 692, 723, -724, 725, 726, 727, 728, 729, 730, 748, 749, 754, 755, 775, -779, 787, 802, 805, 815, 820, 823, 827, 829, 830, 835, 836, -839, 841, 842, 843, 845, 855, 860, 871, 872, 882, 891, 897, -898, 904, 906, 908, 911, 912, 913, 914, 916, 917, 920, 955, -957, 959, 966, 967, 984, 1000, 1001, 1002, 1015, 1019, 1031, 1034, -1035, 1036, 1062, 1069, 1070, 1071, 1072, 1104, 1107, 1139, 1143, 1147, -1148, 1150, 1151, 1155, 1165, 1166, 1171, 1174, 1176, 1185, 1189, 1200, -1203, 1204, 1207, 1217, 1236, 1237, 1238, 1240, 1249, 1256, 1260, 1262, -1263, 1279, 1280, 1292, 1303, 1304, 1326, 1327, 1328, 1330, 1342, 1350, -1351, 1352, 1353, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, -1365, 1366, 1368, 1369, 1374, 1375, 1376, 1377, 1381, 1558, 1559, 1759, -1760, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1814, 1815, -1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1828, 1829, -1830, 1831, 1836, 1837, 1848, 1849, 1860, 1861, 1862, 1863, 1864, 1865, -1866, 1867, 1870, 1871, 8, 25, 26, 27, 51, 53, 80, 81, -92, 93, 130, 132, 134, 136, 146, 174, 198, 199, 200, 201, -228, 229, 232, 233, 256, 264, 266, 267, 321, 322, 374, 398, -434, 442, 451, 471, 483, 484, 485, 486, 492, 499, 545, 546, -556, 557, 566, 579, 611, 647, 655, 657, 668, 672, 756, 757, -758, 761, 762, 763, 764, 780, 789, 792, 799, 801, 812, 813, -817, 824, 826, 850, 851, 857, 877, 878, 879, 932, 933, 934, -949, 950, 953, 960, 961, 990, 1011, 1016, 1017, 1035, 1042, 1052, -1053, 1065, 1067, 1068, 1103, 1135, 1159, 1229, 1275, 1276, 1283, 1294, -1295, 1296, 1297, 1319, 1332, 1341, 1350, 1351, 1378, 1417, 1512, 1513, -1588, 1589, 1846, 1847, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, -1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, -1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 15, 16, 40, 151, -153, 386, 387, 423, 424, 562, 687, 688, 864, 865, 866, 1004, -1005, 1064, 1067, 1086, 1125, 1180, 1181, 1182, 1183, 1184, 1191, 1192, -1193, 1194, 1215, 1234, 1248, 1269, 1300, 1303, 1307, 1309, 1312, 1313, -1317, 1902, 1903, 1904, 1905, 1910, 1911, 1912, 1913, 1914, 1915, 1916, -1917, 145, 160, 255, 669, 782, 786, 850, 874, 941, 944, 1163, -1179, 1186, 1289, 1486, 1487, 1858, 1859, 1900, 1901, 1918, 1919, 1920, -1921, 1922, 1923, 1924, 1925, 17, 25, 37, 43, 47, 52, 77, -92, 94, 143, 157, 159, 161, 165, 167, 188, 189, 191, 195, -196, 197, 198, 199, 200, 201, 202, 206, 207, 208, 209, 213, -218, 219, 220, 222, 224, 226, 228, 230, 231, 232, 234, 235, -236, 238, 240, 242, 244, 246, 248, 255, 258, 259, 260, 264, -268, 272, 273, 276, 280, 285, 289, 290, 293, 296, 300, 308, -310, 311, 312, 313, 314, 315, 316, 321, 323, 324, 325, 326, -327, 330, 331, 332, 336, 341, 342, 343, 344, 345, 351, 352, -353, 354, 355, 361, 373, 377, 378, 420, 433, 447, 448, 452, -501, 502, 511, 513, 515, 517, 518, 519, 520, 521, 522, 534, -535, 537, 538, 539, 540, 543, 547, 549, 554, 556, 569, 595, -653, 654, 658, 662, 693, 694, 695, 697, 701, 702, 703, 704, -705, 706, 710, 712, 715, 719, 723, 727, 731, 732, 733, 734, -735, 740, 744, 748, 765, 777, 852, 861, 866, 885, 900, 920, -921, 924, 943, 973, 976, 985, 989, 1018, 1032, 1045, 1047, 1058, -1059, 1063, 1067, 1068, 1078, 1090, 1122, 1123, 1149, 1155, 1156, 1187, -1214, 1227, 1233, 1239, 1240, 1245, 1246, 1255, 1316, 1335, 1344, 1346, -1356, 1359, 1361, 1363, 1365, 1412, 1413, 1414, 1801, 1802, 1926, 1927, -1201, 1329, 1663, 1664, 24, 978, 1127, 1153, 1711, 1712, 1930, 1931, -85, 86, 528, 1243, 1273, 1832, 1833, 1932, 1933, 1934, 1935 }; - -struct ReplacementIndexStruct { - utf16char ch; - medium count; -}; - -const internal::checksum ReplacementChecksums[] = { - -0xAE1DAB16U, 0x8F27A2AU, 0x465496D5U, 0x892E9135U, 0xD621DD31U, 0x40D5B583U, 0x23598B8CU, 0x174C4A14U, 0x9739B1DAU, 0xF448853DU, 0xF3DF7DF2U, 0x15D5108FU, -0xE8A0D4E8U, 0x8FBCAF62U, 0x95F9E2A9U, 0x47CEA738U, 0x839E1EBCU, 0xA58AFD2AU, 0xAAA850BDU, 0xBBEE1755U, 0x4F9A8CDDU, 0x77C2915FU, 0x42B9AA72U, 0xABB65511U, -0x984E9DE9U, 0x229620B8U, 0x11744AD7U, 0xDEA4DF8BU, 0x3DDDF327U, 0xC9016AA9U, 0xDD058F8EU, 0x33167FFDU, 0xCF4EB7B4U, 0x5E990F1U, 0xB6610B6U, 0xF3DA224AU, -0xDDF16CC9U, 0x26FBBFD8U, 0xF0D58D6U, 0x9F57820DU, 0xCAEFB5CCU, 0x868C5775U, 0x36F0B13EU, 0xC2104FC3U, 0x635ED438U, 0xFE76A6BFU, 0xAF98DEFEU, 0xC4A1CE0BU, -0x24A144DU, 0xA07F4113U, 0xA1B56E69U, 0x7AC6D4C1U, 0xA6737D27U, 0x3841C7E7U, 0x7BD9C74BU, 0x57960B20U, 0xA3016C3FU, 0x47DE3B8DU, 0x347522B4U, 0x3DD97630U, -0x283C812CU, 0x62FCCC72U, 0x2A8707F7U, 0x4CAAF872U, 0x7DE5251FU, 0xA1CE4738U, 0x65284ADEU, 0x3CAC3D83U, 0xBBB37EE8U, 0xB74B407AU, 0xBB721077U, 0xD5827C60U, -0xE79C25ACU, 0xF3A0B08AU, 0x754CB19FU, 0xC53F5EC8U, 0x2FB36C45U, 0x8A111CA0U, 0x16625752U, 0xC7DA2CAAU, 0x50A359D4U, 0x9E85659AU, 0xA6832DF5U, 0x7F7A32B5U, -0x349608E1U, 0x3CA5EFD1U, 0xBEEDA352U, 0x10FF4E8EU, 0x5A37598EU, 0x92500B16U, 0xD5E5CEF4U, 0xF9ABE6FBU, 0xEF0313FDU, 0x5D682C8AU, 0xD1D48498U, 0x4DA7CF6AU, -0x2B17F5C6U, 0xA903A376U, 0xCA823961U, 0x829E9619U, 0x8F456FB4U, 0xCC6B224AU, 0x75B42ABFU, 0xCD7DECEFU, 0x73290221U, 0xDF8E5CD8U, 0x1D568D7CU, 0x7F2FCD63U, -0x539DB28DU, 0xB9BB5841U, 0x88EB5D8DU, 0x30B6C9CCU, 0xEA5F5485U, 0xF282B417U, 0x46508060U, 0x8C9D5E3EU, 0xBC04162BU, 0xFA329E5DU, 0xC885E4CCU, 0xDCBF9DCAU, -0x4715B337U, 0x2FDC1366U, 0x3E3BBA50U, 0x9F2BF2CU, 0x73F18BAU, 0xB561B097U, 0x6DC1E6EFU, 0x9000A7E8U, 0xEE613496U, 0xCAD661B5U, 0xADEFBC1EU, 0x717A2494U, -0x10ED817CU, 0xD5497538U, 0xC264618U, 0xA723C789U, 0x365CA2E0U, 0xC4AE628U, 0xDAD44170U, 0x69B2A699U, 0xFA94A82BU, 0x9500E45FU, 0x641EDBEU, 0xBBC0F4D2U, -0xE21AA1F5U, 0x7FDEA451U, 0x5F8E4A17U, 0x9682906DU, 0x41B84148U, 0x6659DDC9U, 0xBA4A5BADU, 0x14B31920U, 0x1360E730U, 0x590C5708U, 0xF019A4AAU, 0x5089CA96U, -0xF0B0E775U, 0xFDD90E49U, 0x1BF1824BU, 0xE13025FCU, 0xEF137B9DU, 0x7935115AU, 0x718BD26AU, 0xF09E5811U, 0x7BA332A6U, 0xA7615393U, 0x73FAF11U, 0x55936B7CU, -0x141AF304U, 0x65E071DDU, 0x97589D6U, 0x73A15F22U, 0xB2FDF279U, 0xD6B59BAEU, 0x27ABA3E6U, 0x2367BEC9U, 0xE7C938F9U, 0x560FEC09U, 0x12C5119U, 0x5001267U, -0x85080CCDU, 0xA3B79EC5U, 0x960F8445U, 0xF895CC46U, 0x3A3AF35CU, 0xC4A951A1U, 0x6BE7869BU, 0xEA4D4D5BU, 0xAE72E7B2U, 0x4282D2C1U, 0x33ECB6EBU, 0x4415ADC3U, -0xC78A4A6EU, 0xA58D62B2U, 0xF3E3048EU, 0x1B8D6392U, 0x147A0701U, 0xE63DAAF0U, 0x8DDD9273U, 0xF5A4B231U, 0x9FF25F7FU, 0xDDEA0DB3U, 0x5CEB285U, 0x7DB792C7U, -0x750B1EB5U, 0x57AE509CU, 0xC8F777C2U, 0xBCD1360BU, 0x632D2CA8U, 0xBC462336U, 0x602E733DU, 0x2194100DU, 0x2FB69E71U, 0x58D9C98U, 0xD3907616U, 0x40B025B8U, -0x8638D05AU, 0xE4433DD5U, 0xB399E080U, 0xEB05158DU, 0x21E41D29U, 0xA97B497EU, 0x7DF9E406U, 0x2B2DDA74U, 0xBA0D8072U, 0x23F15693U, 0x69AB4478U, 0xE134102FU, -0x8522D229U, 0x1CDE04C8U, 0x1021B3B1U, 0x685893F3U, 0x548FAB48U, 0x3926C75EU, 0xCD7FFCC1U, 0x95E309CCU, 0x70DCC40DU, 0x5809E8BDU, 0xC3D9F1CBU, 0x15C41B45U, -0x461F4802U, 0xCE801C55U, 0x39156F0DU, 0x3AE08EU, 0x8D001528U, 0x51684523U, 0x85F53FF7U, 0x53E8D579U, 0x81AED8F1U, 0x5DC688FAU, 0x88B16330U, 0x43104043U, -0x364A68E3U, 0xA3F2B218U, 0x84AC213BU, 0x752D5FFCU, 0xA15A7026U, 0x2CD52C5U, 0x8C136450U, 0x1A32A58U, 0xBE1AD3FCU, 0x368587ABU, 0x24762692U, 0xDB6866FU, -0xDBFE03C1U, 0x32805E0BU, 0xBDB344CU, 0xB6576FD7U, 0xCE602BD5U, 0xD9A1C5D8U, 0x1E451C58U, 0xA3C947C3U, 0x8A5E6F27U, 0xA76375AEU, 0x5A7B58AAU, 0xE7F70331U, -0x9E18A785U, 0x5E2B2BB3U, 0x4E3D9008U, 0xF3B1CB93U, 0xFE1D8CFCU, 0xC732037FU, 0xE5F2028FU, 0x922F93ECU, 0x3B1CD1U, 0x489442A4U, 0xF7CEB34U, 0xE3308006U, -0x9E89A82AU, 0x88E25FD7U, 0xBA9183F8U, 0xC98F90D9U, 0x111E8936U, 0xAB056753U, 0x3E5DD491U, 0x83D04BE3U, 0x7419BEF7U, 0xDEC343D9U, 0xDF53B75BU, 0x8D38CBC1U, -0x9E65B31DU, 0x49E9647BU, 0x487990F9U, 0x8586DA3AU, 0x8D4BA4A5U, 0xE27A2FD3U, 0xCF0F75B3U, 0x506B7DCCU, 0x7729EE20U, 0x83A892CEU, 0x1724B686U, 0x1D5443E6U, -0xF994FF2AU, 0x606829CBU, 0x4F6BD1AEU, 0xB8F93024U, 0xF6C1C490U, 0x6F3D1271U, 0xE8119B5BU, 0xB7AC0B9EU, 0xA93D2434U, 0x9CBC7723U, 0x5384167CU, 0x6CC02C32U, -0xE3AEFA3BU, 0x96ACCCB8U, 0x93EDFEB5U, 0xB455ABEU, 0xE0468B3U, 0xD2638E77U, 0x85F33C85U, 0x53C0FE60U, 0x40A0CF69U, 0xCE296866U, 0xDD49596FU, 0x89ED9A7CU, -0xB2168218U, 0x2A16FE9FU, 0xC6158813U, 0x96D819A0U, 0xF1CB7821U, 0xF0B3234EU, 0xC76DD37CU, 0xF6999932U, 0xA6540881U, 0xC1476900U, 0xBF852F50U, 0x885BDF62U, -0x2B6EA5F0U, 0x7BA33443U, 0x1CB055C2U, 0x406B945CU, 0x21FBAB96U, 0x25A9EEF7U, 0x29D0280DU, 0xDCD83354U, 0x95D847CAU, 0x193AD0D7U, 0x65149603U, 0x875F1D51U, -0xF2D6AE5EU, 0x9E89C614U, 0x71040E80U, 0x2F6DB3B1U, 0x4FBD2D4DU, 0x382CE581U, 0x8682E54AU, 0xC6CE3C16U, 0xD0CDB310U, 0xC097D2DCU, 0x61442A6DU, 0x803FC77EU, -0xBFABF3D6U, 0x2AB83F69U, 0xB70E7066U, 0x1BED886U, 0xE496DD92U, 0x125067C1U, 0xF2BDF6E8U, 0xA1E56DA4U, 0x1D17DA74U, 0xD6E2180AU, 0x96AAE39BU, 0x9E79ED3CU, -0xFE814EF2U, 0x55E387B6U, 0x38A8B47FU, 0x1BD7ADCCU, 0xB200788AU, 0xC063E892U, 0x7E1CEC20U, 0x62C476EDU, 0xF83527BEU, 0xCB64655U, 0xF85F383EU, 0xEFE50809U, -0xA32D4B9DU, 0x14325108U, 0xC46CF3FCU, 0x8646A4A2U, 0x24231E6EU, 0xE8DC260CU, 0x9CA8A446U, 0x4A5517EBU, 0xCDBD569CU, 0xB4C0F066U, 0xF1C615D9U, 0x14C9784FU, -0xC35ACFA4U, 0xA1F99F39U, 0xDB5D327U, 0x16208387U, 0x487A6530U, 0x8B83FB15U, 0x47AA297BU, 0xA6838556U, 0xFE99F07BU, 0xAAC72C75U, 0xD7EE632BU, 0xCC9E80CU, -0xDC478D7BU, 0x7E2514C1U, 0xEC7A9229U, 0x7EFF1AE2U, 0xDA58F332U, 0x7FFD9AE0U, 0xD62250F0U, 0x36FF2FD3U, 0x5343E85AU, 0x8ADA0754U, 0x7DE1A231U, 0x73105D3AU, -0x9EA10A8CU, 0x454632DU, 0x2AFBA286U, 0x638306DBU, 0xD0EE5B94U, 0xBDBA49B8U, 0x26400C9AU, 0xB8A32501U, 0xED50973AU, 0x96A4B4A6U, 0x532A2EC9U, 0xC01BA957U, -0x11CDDFF8U, 0x38F60BF1U, 0xAA9B52FCU, 0x709E7D5BU, 0xD63F1DE9U, 0xE5D7E3BU, 0xF7AF95C2U, 0x3D792D12U, 0x77418D32U, 0x3AF7B59U, 0xDF7CC644U, 0x796A3A58U, -0x2A0F1115U, 0x8E3D8B1FU, 0x3EE734ECU, 0xA157B457U, 0x19AD5091U, 0xA348A4DCU, 0x4F107817U, 0xD65CF7B3U, 0xBD678059U, 0x5D63C132U, 0xB71ABEBBU, 0x3E76DFA6U, -0x7B931373U, 0x4C62A6D8U, 0x57F03940U, 0xB2A038EEU, 0x5FDF9A23U, 0xA0263983U, 0x7E882A01U, 0x9DFC1084U, 0x7072D927U, 0xD8FDE69FU, 0xE0E7157BU, 0x58F4B5B9U, -0x57E98EE9U, 0x2B7F17D5U, 0xBF5D536FU, 0x19B4B8DDU, 0x670EE546U, 0x759F5B56U, 0x521D3385U, 0x54FF4F92U, 0x2D9CBF6AU, 0xD0F0ACFBU, 0x41F4137CU, 0x3ECD73DCU, -0xD98F534U, 0xAFC9093DU, 0x11EB63E2U, 0x69341E0FU, 0x45C58EDBU, 0xDFF71D29U, 0xBACC8D3CU, 0x795F863CU, 0xDA5B599FU, 0x756A6CFCU, 0x492FD69AU, 0x29F01476U, -0x6E924FB3U, 0xE8B85ECU, 0x2AC4EC3FU, 0xF77C2327U, 0x4D7BA0B7U, 0xC9C38BCEU, 0xC46345A2U, 0xA8C65A6U, 0x1A0CBBA0U, 0xC6B953FBU, 0xF469483CU, 0xE8DBA058U, -0x55E1E9EDU, 0x220DF006U, 0x752BEE8CU, 0xFBB8B0D5U, 0x16F0C1B5U, 0x6F47CA15U, 0xE7DF0A66U, 0x93AA672CU, 0xA4B0DB5U, 0x9798D36AU, 0x210C73B2U, 0x2D884E0BU, -0x2CF555C5U, 0x2594AF17U, 0xF92DA22FU, 0x4C553278U, 0x559C4DCU, 0x2FEF17FCU, 0xF479A777U, 0x13EC6D08U, 0x507AFB0FU, 0x3DBD6B73U, 0xD3DAA910U, 0x56D07CCDU, -0x76F544DDU, 0x8D972880U, 0xFF842DA6U, 0xAB51C2E8U, 0xFE925847U, 0x1266FB35U, 0x9951A06U, 0xD3FF1DF6U, 0x51D302CEU, 0x66FB4072U, 0x3338DADDU, 0x67610EA3U, -0x8FD669ECU, 0xE3411213U, 0xA28A9DA9U, 0x170B62DFU, 0x46D9B7D7U, 0x3BAA86EEU, 0xF0257FF7U, 0x6DBF878BU, 0x520CEC4CU, 0x4A7596BEU, 0x732E55FDU, 0x36069DA1U, -0x17D3C5EEU, 0xCCBE59DCU, 0xF17154B8U, 0xFED05FF9U, 0x70F66BAAU, 0x668A255FU, 0x5E1E3F24U, 0xC6AA9101U, 0xA9DF1308U, 0x1CE8989FU, 0xF2C4756CU, 0x606CB509U, -0x2394B2A6U, 0x16C80794U, 0x2A219240U, 0xAE1222A3U, 0x8CB97B86U, 0x4CACE737U, 0x8EC4A97AU, 0xE6AE7EDU, 0xB911D42CU, 0x6C05079AU, 0x2A97030AU, 0x1E97978CU, -0xA9209129U, 0x859AA93BU, 0xC97EF510U, 0x66821408U, 0x54C18CD7U, 0x66B85367U, 0x5C604485U, 0x3A9FAE2U, 0x3CD0C352U, 0x92F9FA79U, 0xC17824C7U, 0xB803EAFU, -0x538FB0D3U, 0x948FC967U, 0x41D70FEBU, 0x8F21EB7FU, 0x90F8A446U, 0xD768A2BEU, 0xDDABF113U, 0xD17178C2U, 0x56378FD7U, 0xBED2C72U, 0x93D47BEAU, 0xAEA4D915U, -0xF5601C83U, 0x317F54CBU, 0x10AA0C84U, 0xD907DC46U, 0xE342A78AU, 0xBD65E28U, 0xB389E207U, 0x3BD7614EU, 0xC08B5199U, 0x4E118784U, 0x48C31E39U, 0x7CF71C84U, -0xB0B24B2CU, 0x1FE25283U, 0x629F7C2DU, 0x57EF2916U, 0x2B576B96U, 0xCE051BEAU, 0xEC16C919U, 0xBFF3A0CBU, 0xE838218DU, 0xEE352A21U, 0xE38E5B7FU, 0x3A8BB7DFU, -0x1F0ECE93U, 0x5385D9B7U, 0xAC29F8F4U, 0x575DB2ADU, 0xACBF183FU, 0x567EEE14U, 0xE8AD89DBU, 0xE3E9CEBBU, 0xD8CE4D00U, 0xBA789F5AU, 0xF87F77BBU, 0x4A4B351BU, -0xCF96A065U, 0x74744A1FU, 0xD93F0955U, 0x4F6722B3U, 0xFDCD24EEU, 0xE6A9F921U, 0x166CC0D6U, 0xB92186A0U, 0x29211071U, 0xD978BCDDU, 0xB14992FCU, 0x19854E77U, -0x3FE60A5U, 0x58FC1E58U, 0x10475664U, 0xDAFCA3E6U, 0xFDCAE1D1U, 0x82D2915DU, 0xE3DFF22AU, 0x130FDF55U, 0xD3B59A0FU, 0xD5F60290U, 0x6CCD0385U, 0x58438A99U, -0xDE26F199U, 0x3E40DEB9U, 0x706B5E46U, 0x3B8DBFD5U, 0x28CAFF29U, 0xD0A47AE4U, 0x3AA9B57AU, 0x8504AFF7U, 0x5E28BCA3U, 0xFBE90C93U, 0xEAD04C12U, 0xCB24B726U, -0xF6C65A18U, 0x2A34D380U, 0x62E270A6U, 0x6E546C36U, 0x31006A54U, 0x29503BFAU, 0xBF30759DU, 0xA18BD87CU, 0xA2D5259U, 0x34D4508EU, 0xCDF525B8U, 0xD28710F0U, -0xB2863FDDU, 0x9F9E5922U, 0xE1642FD1U, 0x12D001U, 0x16F6CE5BU, 0x70B1EF12U, 0xA6AC059CU, 0xBBEBD881U, 0x472BCFE6U, 0xE62890CU, 0xA80B1464U, 0xC5A27872U, -0x3BEA65ABU, 0xA8392847U, 0x279F356AU, 0x7F03C067U, 0x7D764E6CU, 0xA208B04BU, 0x110FA646U, 0xFC591AA1U, 0x4B671A82U, 0x8737FAAAU, 0x552AF746U, 0x21D61F84U, -0xB82AC965U, 0x3B3F074FU, 0x60BBD08AU, 0x426CB588U, 0xDB906369U, 0x9B6900FEU, 0x3017A86U, 0xEEDF7292U, 0xC60A5E22U, 0x19DDB430U, 0x7B87C150U, 0x49FFE8C2U, -0x875E3C9U, 0xEFB8D540U, 0xBB551FEU, 0x485E57B1U, 0x7171D832U, 0xAA37823U, 0xB678C79CU, 0x9AD6EC38U, 0x6CB5177AU, 0xE42A432DU, 0xA711D2F5U, 0xDF1942E9U, -0x92D028AU, 0xF00C77BCU, 0x7049BC1CU, 0xA2670B26U, 0x20B4D99EU, 0x8BEAF43BU, 0xEA39A146U, 0x14F38D7U, 0x3A72453FU, 0x464E138BU, 0xC1B90DE8U, 0x9EAD10B7U, -0x1E4CB9E4U, 0x2CF77C5BU, 0x8927E59AU, 0x7116D68AU, 0xBB545FEBU, 0x81B4AA98U, 0xD01859CAU, 0xDF71061U, 0x479A64C4U, 0x71B1C5DBU, 0x5964E96BU, 0xF1560394U, -0xF28823A4U, 0xE4E97619U, 0x1295A088U, 0x7049FDAU, 0xE592D573U, 0x3535BE69U, 0x1619B844U, 0xD727F3DEU, 0x13232E2BU, 0x51338796U, 0x4B84738U, 0xF482392DU, -0xAB40F973U, 0x9E36BDD6U, 0x3845F022U, 0xA2F40E8BU, 0xC698595DU, 0x87D8352DU, 0xEEB9CC7FU, 0xC644164DU, 0x4CDBDEAFU, 0xE2DE7491U, 0x31F7EB3DU, 0x9599038U, -0x9D918DA1U, 0x65E89B01U, 0x886E82A6U, 0xFFFE534AU, 0xE151673CU, 0x2026F087U, 0x6D682B4EU, 0xDEF444BDU, 0xF1416D33U, 0xBA2D6D03U, 0xEEFF589AU, 0xD41F5106U, -0xDE088E4CU, 0x999A79F6U, 0xE8AEA3D0U, 0xE93324AEU, 0xAD49F7U, 0x5FE7A23DU, 0xC1728CACU, 0x60B9C80EU, 0xE3F2AFEBU, 0x95F0722U, 0xA039D72EU, 0xD6262CCFU, -0x76C373F8U, 0xB040A838U, 0xCF9DD85FU, 0x89EE399BU, 0x4280BC28U, 0xFC69FC63U, 0x3D05B634U, 0x49B5C357U, 0x6E56C308U, 0x1754FB6U, 0xBB51865DU, 0x8715888CU, -0x1D1552DU, 0xB7351D91U, 0x4537E08EU, 0xAD2738D0U, 0xAE6891D3U, 0x3D480692U, 0x964B44CEU, 0x7F89BA71U, 0x2E2BD03U, 0x7686B89FU, 0xDC21E010U, 0xC76B9756U, -0x51599457U, 0x9E6B1EDU, 0x9A6FBFC1U, 0xBBC871A0U, 0xC3FAEA7CU, 0xFAD6BDE8U, 0x1D426A4FU, 0x54E93201U, 0x23516287U, 0x7D2AAB9U, 0x3D14944U, 0x20F91670U, -0x7A1502CDU, 0x5A8B6DF7U, 0x2D7BE547U, 0xC7686672U, 0x6101B9D7U, 0x6D9E58AFU, 0xEB0B3F26U, 0x92FD1CE6U, 0x10438777U, 0xB9A6DF98U, 0x8F21D6D6U, 0xA5DC42D9U, -0xAA8A7A11U, 0x97ABDF97U, 0xF820B371U, 0x12E7060FU, 0x7898B7E6U, 0xECC6032BU, 0x9CD6CAB9U, 0x3BC2405BU, 0x16974E59U, 0xB1168D81U, 0x2F1E6611U, 0xCEFB7A8CU, -0x399695C7U, 0x116814AFU, 0x588FA645U, 0xC9B298CDU, 0xC2BC200U, 0x264CB5CEU, 0x9C43107EU, 0xA1A8D07EU, 0xE6BF9B30U, 0xDAAEEB22U, 0x9AE019F0U, 0xE91C586BU, -0x2C799952U, 0xE5A1E7CEU, 0x405A2DB6U, 0x804346D2U, 0xBE708250U, 0x67B107D0U, 0xC596A1FBU, 0xB7E8AC33U, 0x829235A2U, 0xA0D9823DU, 0x46D24122U, 0x2B9EA93U, -0xA1C073C6U, 0xC4EAFBEU, 0x9CBCA0CEU, 0x87CB523EU, 0x93F53F24U, 0x30F100CBU, 0xC76E5C71U, 0xC5B21FE9U, 0xEEEE5BF8U, 0xBB647D0EU, 0xE0A73F06U, 0xC685C32DU, -0x1C5C9B9BU, 0x2A44CEAU, 0x9534296EU, 0x5A5EC350U, 0xB3780B29U, 0xE8A4B00U, 0xF8327784U, 0x996FC0C8U, 0xD67C8539U, 0x621659DDU, 0x1FD6996U, 0xB398D6D2U, -0xBBEC03D6U, 0x3F8504F6U, 0x9FA1B8CEU, 0x83ADB8A5U, 0x9004789FU, 0x99ED15F4U, 0x6883E2DU, 0x3C75FFACU, 0xD2391F74U, 0x66EE73F1U, 0x8FA89A21U, 0x801A7503U, -0x522E1784U, 0x36392E2EU, 0x19DF8128U, 0x6EA25305U, 0x846C8437U, 0x4EE0BEACU, 0xF690FDC5U, 0xF6832E1EU, 0xA48C9379U, 0x5F8921B0U, 0xFE3D1F9CU, 0x4B6BADFEU, -0x2DDBBD52U, 0xFA227036U, 0xFE4FE03AU, 0xD4BD8877U, 0xC255594EU, 0x8A61FE32U, 0x63B85E32U, 0xC24637DFU, 0x39229F39U, 0xF9B405A4U, 0x3EBF9329U, 0xF28B6E98U, -0x81DAA8C9U, 0x55ACEF34U, 0x296DE97FU, 0x5953C3AU, 0x7268DC76U, 0x49C2BAAAU, 0x1FD82E79U, 0xE54C1803U, 0x9CD98442U, 0x4C57DE89U, 0x7FD97D63U, 0x5B3CB6F5U, -0x67B3B2E4U, 0x3F4D318AU, 0x3EC0ABB7U, 0xEE3200C0U, 0x3FA3D082U, 0x4D0F7C4AU, 0x892D309CU, 0x56B3DD2CU, 0xEB5F7612U, 0x2EE42882U, 0xCF07E495U, 0xF2A9BC6BU, -0x9DA909A4U, 0x937B3A8U, 0x363217CFU, 0x9AED0006U, 0x60362015U, 0x5226B280U, 0x8524AEA3U, 0xFBC8F58DU, 0x7B172312U, 0x9CCC34DU, 0xA8AE6F61U, 0xE3CA111EU, -0x59FE8325U, 0x6EC95B2U, 0xF676DCD9U, 0x9A250AE3U, 0x99E585E7U, 0xA62C89BU, 0xC631DEF4U, 0x58BC30C1U, 0x470412E1U, 0xC05117F0U, 0xA51D983CU, 0x1E629C01U, -0x541C0E33U, 0xEB80059DU, 0x129D07E0U, 0x48EDAAD6U, 0x8397F485U, 0x1857F8F0U, 0x97497FE1U, 0xA8AEC1F6U, 0xC8027F76U, 0x736E96A8U, 0x1A578E1AU, 0x6B9FD701U, -0x8B4734B7U, 0x7102220U, 0x13FE645BU, 0xE25D1A59U, 0x7A7D69ECU, 0x9295838AU, 0x6761FB08U, 0x493105F6U, 0x13BF90E3U, 0x6691E578U, 0xC741FD85U, 0x62E01643U, -0xE782CAB0U, 0x3223B5F4U, 0xB36E1464U, 0x2C04AA45U, 0x9260D4CBU, 0x660DB966U, 0x41F2BCF7U, 0xF17D8432U, 0x17C405A6U, 0x87274585U, 0x537E9E9EU, 0x7B344BCU, -0x1E023531U, 0xDD6783A8U, 0xFA37738DU, 0xD7D7F72CU, 0xEAADB26BU, 0x5B511B45U, 0x240A687DU, 0x44E66B55U, 0xD0808C97U, 0xF31BFF35U, 0x9EE5345CU, 0x258906C2U, -0x9860CC4AU, 0xB9CCB14FU, 0x5580726EU, 0x26B182EU, 0x4F6C5C89U, 0x5D26775DU, 0xF0CA22ADU, 0x2DD7CAC5U, 0xD0EDAF27U, 0x8C09D6DU, 0xDCFB88F2U, 0x71C63BCFU, -0xAEC8C854U, 0xC3ADC8F6U, 0xE93C7B65U, 0xC698C893U, 0x8E574092U, 0x92FF3CB6U, 0xF8648ABAU, 0xB5BC2991U, 0x5E05BD9DU, 0xB09A78A0U, 0x15AB67C0U, 0x3FADF7CEU, -0x2927A3FDU, 0x445BA5DBU, 0xFA3008B2U, 0x2891DB6BU, 0xDBB845FU, 0x573B85ECU, 0x18F54327U, 0x74F4356BU, 0x95971E70U, 0x4470A211U, 0xB905173DU, 0x414D94A9U, -0xE929B3ADU, 0xAE3B8A7AU, 0xFF18EB1U, 0xEE383B0CU, 0x7B04D607U, 0x693E6DA4U, 0xC3FB577EU, 0x7AC48735U, 0x1A99C4ADU, 0x45B0C657U, 0x5CC05A5U, 0xE24AE587U, -0x884FA08EU, 0x5BCE0610U, 0xCCBADA00U, 0xEEBE62E2U, 0x1BED96D4U, 0xFF9731C4U, 0x5644B2A0U, 0x9119ABCAU, 0x28FC1FE4U, 0x983CF251U, 0xF92F5A3BU, 0xDC9DC061U, -0x5B150730U, 0xCB5F1CBDU, 0x5966470CU, 0xE5C92630U, 0x974502D1U, 0x2047F98CU, 0x444D6B88U, 0xFB8235EU, 0x359D6CU, 0xC34153C2U, 0x2A95D777U, 0x5B6E4E6FU, -0xB408F38U, 0x2423E46EU, 0x4C85DCE9U, 0xBBEEC84BU, 0xE9D46305U, 0x30187C97U, 0x181599U, 0xF4F90026U, 0x952F111CU, 0x5B9D9750U, 0x624304BEU, 0xCE566F2EU, -0xF5B066E3U, 0xC84AEDC4U, 0x26984E70U, 0xD637245CU, 0xAEADB1U, 0x7F65D377U, 0xDD7410C6U, 0xE156A6E8U, 0x2BDB808BU, 0x3107D6E5U, 0xA654151FU, 0x5DBD1349U, -0x29676B1CU, 0xD9B9A12BU, 0x559571C7U, 0x17D9B1EFU, 0x8EBB69EAU, 0x6E834FD7U, 0x22AF6658U, 0x50FD3DEBU, 0xA35B6E1U, 0x87B78513U, 0x5CA68B6U, 0xF3B77C65U, -0xDAE7ACC8U, 0xBD84E707U, 0xC0B1F2EEU, 0x7C5B280BU, 0x3C82C2A7U, 0xF1848767U, 0xCF397063U, 0x11293CECU, 0x86B3A406U, 0xCF0391E2U, 0xCAE6F488U, 0xA2130914U, -0x80443800U, 0x75A52C98U, 0x255D3BC5U, 0x70B8141FU, 0x52A6D7E8U, 0xF3773CB5U, 0x16682961U, 0xE291D23CU, 0xEA1AB08DU, 0x3AF6AC29U, 0xF077AF0BU, 0xDB42975FU, -0xE4B5A5C3U, 0x828767D9U, 0xCE511DFDU, 0x8FA20C6DU, 0xD4FEEEB4U, 0x3B75D536U, 0x81090466U, 0xB210CB77U, 0xA0A56499U, 0x601ADD2U, 0xAB167BEAU, 0xF706C300U, -0x1B058070U, 0x9F01D362U, 0x52CFBC44U, 0x96A9AB7BU, 0x966588D6U, 0xB899A286U, 0x5EE0407AU, 0x681CEAFFU, 0x4C40811U, 0xB20B7269U, 0x367237BFU, 0x428A0B94U, -0xD691C645U, 0xB12CFF27U, 0x9E6383BEU, 0x6176461EU, 0xFDB47228U, 0x51A94E60U, 0xFBD6A3E0U, 0xF187D05EU, 0x4DA143CFU, 0x49C7CCE6U, 0xB4B52BF7U, 0x3BA3A346U, -0xA803AAFEU, 0x9FC8C67BU, 0xA639766CU, 0x4C6B2408U, 0xED09AD3DU, 0xDBBD48U, 0xE0E2196DU, 0xE9FFEE62U, 0xB50384FU, 0xDFE188A2U, 0x3633AE21U, 0xAEF9F8C9U, -0x80178502U, 0xED42BC9CU, 0x85653DDDU, 0x394C79C4U, 0x71477B3DU, 0xF8C674CFU, 0xD4B8C4E9U, 0x2A5947F9U, 0xFC4C64D2U, 0x6B322B31U, 0xB9B20DFBU, 0x57BB1739U, -0x3D915162U, 0x5AAAA1ACU, 0x91EB2A66U, 0x35CA03C9U, 0xDE6D0202U, 0xCB2E089FU, 0x57048634U, 0xEEBBC058U, 0x3813A5F6U, 0x722CE848U, 0x8479A8A6U, 0xE92B8076U, -0x1B1F3F83U, 0x81D8932FU, 0xFDDDB092U, 0x30D5B4C9U, 0xC91CF267U, 0x36AD135BU, 0x71F52515U, 0xC089EF35U, 0x41038328U, 0x6456724BU, 0x1B2B3E23U, 0xD24210BBU, -0xC62FBD71U, 0xFCAD3662U, 0x8E3F7FF2U, 0xE48AE1B8U, 0xD23BC8ABU, 0xEF89F436U, 0x62BCE039U, 0x1A5DE46CU, 0x16236FU, 0xCA241E6DU, 0x9EEE203BU, 0x3D3879E4U, -0x1D1C6180U, 0xD378251U, 0xE2BA4A87U, 0x66DFA1A0U, 0x7418FB2CU, 0x6CB7295CU, 0x9F7002F9U, 0x1F7DE611U, 0x5FA0D6B3U, 0xA466F742U, 0x8E097065U, 0x7F7B3458U, -0x25360EB8U, 0xE8ADA4B0U, 0x18B1FE00U, 0x2AC22D1CU, 0x4186B027U, 0x959C76EAU, 0x8872FA1EU, 0x486317D3U, 0xED35E29BU, 0xB17E878U, 0x8F6CC5FCU, 0x2E8831DBU, -0xFA55FF05U, 0x6FEFF36U, 0xBE942D00U, 0x36B6480EU, 0x4C5D91EFU, 0xEB2C7AC2U, 0xEA33683AU, 0xB8A51C5EU, 0x8BF2227BU, 0xF37E24F6U, 0x864012FU, 0x5DE7786U, -0x3EFEC660U, 0xE2761ACU, 0x54A6C4ABU, 0x4047D505U, 0x37FBD45CU, 0x65D5D78BU, 0xBE3CF030U, 0x4A150EFBU, 0x2F283083U, 0xCB47C04DU, 0x973EDABU, 0xD6BC301FU, -0xD792EACU, 0xEEA55E7U, 0xAB40BD74U, 0x2CAC2CA8U, 0x9B8691CAU, 0xF0EF8D89U, 0xA743045FU, 0xB76BFEDU, 0x76DD731AU, 0x3752687U, 0x968C7740U, 0x770D8687U, -0xF6DE8D96U, 0x91B3A983U, 0x7228545U, 0xA8134914U, 0xFD9A01E6U, 0x72386ADDU, 0x845A80A6U, 0x10675D75U, 0x31032835U, 0xB6510D2AU, 0x67E9C2D9U, 0x8C073B5FU, -0x348F2BA5U, 0xE4DF38ECU, 0x535EDE00U, 0xE31FD2EFU, 0xAA5BD7DCU, 0x9D963F06U, 0x8D26D2E9U, 0x5D76C1A0U, 0x95131597U, 0x25521978U, 0xA549BA78U, 0xFC809EA1U, -0x9CC1A4E2U, 0x58043720U, 0xE3BD3B7BU, 0xED684815U, 0x8A1B48E8U, 0x9C5BFCA1U, 0x1C5A009AU, 0x7485B1C1U, 0xCA86F28AU, 0x32FA853AU, 0xB3626483U, 0x972DA82DU, -0xE492749AU, 0x35CA2D1DU, 0xC1E25D40U, 0xFAA559E2U, 0x27472E18U, 0xEA8FB72AU, 0x5D846824U, 0x77540CDAU, 0x45717960U, 0x57C4D68EU, 0xEF78B1EBU, 0x72AF8952U, -0xCA13EE37U, 0xD8A641D9U, 0x601A26BCU, 0x387936EAU, 0x80C5518FU, 0x47E9CBACU, 0xFF55ACC9U, 0xEDE00327U, 0x835DF178U, 0xDD2F69BU, 0xC178F605U, 0xCBBDFF1CU, -0x717FF82U, 0x8998F861U, 0x4532F8FFU, 0x9C12EA53U, 0x50B8EACDU, 0x2E8AEB86U, 0xE220EB18U, 0x6CAFECFBU, 0x6D9D258CU, 0xBC42E87CU, 0x61A4E33U, 0xCFB8C4FU, -0x81664E1AU, 0x13BBA529U, 0x5BFB8755U, 0x5B9E60F1U, 0x89633A85U, 0x3E0560D0U, 0x39A51A29U, 0x8EC3407CU, 0xE6DEDAE1U, 0x51B880B4U, 0xC3614311U, 0x74071944U, -0xEEA49D28U, 0x59C2C77DU, 0x236AF20EU, 0x940CA85BU, 0xF46B750FU, 0x430D2F5AU, 0xD1002AD3U, 0x66667086U, 0x44AD55A3U, 0xF3CB0FF6U, 0x31DF5DE0U, 0x86B907B5U, -0x5618FA4DU, 0xE17EA018U, 0x5E62BD84U, 0xE904E7D1U, 0x61C60A7FU, 0xD6A0502AU, 0x796DEC4CU, 0xCE0BB619U, 0xCBCFC2F4U, 0x7CA998A1U, 0x7373A591U, 0xC415FFC4U, -0x93ACD2A2U, 0x24CA88F7U, 0x6830EF86U, 0xDF56B5D3U, 0xEF283F18U, 0x584E654DU, 0xA5FE80A0U, 0x1298DAF5U, 0x8095DF7CU, 0x37F38529U, 0x78D0FE2U, 0xB0EB55B7U, -0x1D42E7C5U, 0xAA24BD90U, 0x1538A00CU, 0xA25EFA59U, 0x4521F793U, 0xF247ADC6U, 0xD8F6CF2AU, 0x6F90957FU, 0xF5E7D73FU, 0x42818D6AU, 0x72FF07A1U, 0xC5995DF4U, -0x92207092U, 0x25462AC7U, 0xE75278D1U, 0x50342284U, 0xD08C88E3U, 0x67EAD2B6U, 0x1838F762U, 0xAF5EAD37U, 0x6112CC53U, 0xD6749606U, 0x2F0C6FC3U, 0x986A3596U, -0xCA4360C4U, 0x7D253A91U, 0xB74B2F4EU, 0x2D751BU, 0xFF7482BU, 0xB891127EU, 0x5794587DU, 0xE0F20228U, 0xC8276ED0U, 0x7F413485U, 0x13AA1C8FU, 0xA4CC46DAU, -0x597CA337U, 0xEE1AF962U, 0x52EE48DAU, 0xE588128FU, 0x94B2CC11U, 0x23D49644U, 0xC239270DU, 0x755F7D58U, 0x20825E2AU, 0x97E4047FU, 0xC4AB9B8EU, 0x73CDC1DBU, -0x70716126U, 0xC7173B73U, 0xAC65B06DU, 0x1C7021BFU, 0x11FB361U, 0xB679E934U, 0x746DBB22U, 0xC30BE177U, 0xF3756BBCU, 0x441331E9U, 0xB9A3D404U, 0xEC58E51U, -0xFFF99EE2U, 0x489FC4B7U, 0x7C17FCEBU, 0xCB71A6BEU, 0x4106B2AAU, 0xD9C40950U, 0x36C14353U, 0x81A71906U, 0x1BD05B46U, 0xACB60113U, 0x9CC88BD8U, 0x2BAED18DU, -0x7117AB85U, 0xC671F1D0U, 0x860763FFU, 0x316139AAU, 0x2C0EAB74U, 0x9B68F121U, 0xCCD1DC47U, 0x7BB78612U, 0xDE6473A9U, 0x690229FCU, 0x2BC473EBU, 0x9CA229BEU, -0x9378148EU, 0x241E4EDBU, 0xEAF2C37U, 0xB9C97662U, 0xA4A6E4BCU, 0x13C0BEE9U, 0x252C88A1U, 0x924AD2F4U, 0xAA4E1FF6U, 0x1D2845A3U, 0x9764CE8AU, 0x200294DFU, -0x92F4B6BEU, 0x2592ECEBU, 0xCD89B85BU, 0x7AEFE20EU, 0x47D77DU, 0xB7218D28U, 0xE8E2E787U, 0x5F84BDD2U, 0x505E80E2U, 0xE738DAB7U, 0x660CD2E0U, 0xD16A88B5U, -0xE96E45B7U, 0x5E081FE2U, 0xDEB0B585U, 0x69D6EFD0U, 0xCC051A6BU, 0x7B63403EU, 0xFEA1FAFEU, 0x49C7A0ABU, 0x4B1DCAF5U, 0xFC7B90A0U, 0xB1D993CDU, 0x6BFC998U, -0x5F3AD998U, 0xE85C83CDU, 0x41E9EBBBU, 0xF68FB1EEU, 0xDA78A9ADU, 0x6D1EF3F8U, 0xC2EDE121U, 0x758BBB74U, 0x883B5E99U, 0x3F5D04CCU, 0x4D8F7676U, 0xFAE92C23U, -0xCB1B04D8U, 0x7C7D5E8DU, 0xBFE5AEABU, 0x883F4FEU, 0x759C9CEU, 0xB03F939BU, 0x80411950U, 0x37274305U, 0x308739FCU, 0x87E163A9U, 0xF5331113U, 0x42554B46U, -0x2A48D1DBU, 0x9D2E8B8EU, 0x1D9621E9U, 0xAAF07BBCU, 0xA52A468CU, 0x124C1CD9U, 0xE786BEFDU, 0x50E0E4A8U, 0x9A8EF177U, 0x2DE8AB22U, 0xB79FE962U, 0xF9B337U, -0x57409E51U, 0xE026C404U, 0x547CF459U, 0xE31AAE0CU, 0x6BD843A2U, 0xDCBE19F7U, 0x5C06B390U, 0xEB60E9C5U, 0xECC0933CU, 0x5BA6C969U, 0x2F71F45U, 0xB5914510U, -0xA0849007U, 0x17E2CA52U, 0x5D8F4DD1U, 0x785F2A36U, 0xBA4B7820U, 0xD2D2275U, 0xA8FED7CEU, 0x1F988D9BU, 0x77851706U, 0xC0E34D53U, 0xB2313FE9U, 0x55765BCU, -0xA8D588CU, 0xBDEB02D9U, 0x9F2027FCU, 0x28467DA9U, 0x34A54D47U, 0x83C31712U, 0x96D6C205U, 0x21B09850U, 0x335DBD17U, 0xF11165A8U, 0x46773FFDU, 0x9EAC85CCU, -0x29CADF99U, 0x3237F1C4U, 0x8551AB91U, 0x3A4DB60DU, 0x8D2BEC58U, 0x709B09B5U, 0xC7FD53E0U, 0x5FD0B10BU, 0xE8B6EB5EU, 0xC05D2919U, 0x773B734CU, 0x90447E86U, -0x272224D3U, 0xA82A11E2U, 0x1F4C4BB7U, 0x65E47EC4U, 0xD2822491U, 0xBA9FBE0CU, 0xDF9E459U, 0x523A8EF6U, 0xE55CD4A3U, 0xEA86E993U, 0x5DE0B3C6U, 0x3D876E92U, -0x8AE134C7U, 0x6D9E390DU, 0xDAF86358U, 0xCFEDB64FU, 0x788BEC1AU, 0x7751D12AU, 0xC0378B7FU, 0x83A9B574U, 0x34CFEF21U, 0xCCB2223U, 0xBBAD7876U, 0x461D9D9BU, -0xF17BC7CEU, 0x1604CA04U, 0xA1629051U, 0xF6DBBD37U, 0x41BDE762U, 0xAEB8AD61U, 0x19DEF734U, 0x911C1A9AU, 0x267A40CFU, 0x4B165EAU, 0xB3D73FBFU, 0x1E7E8DCDU, -0xA918D798U, 0x336F95D8U, 0x8409CF8DU, 0x21DA3A36U, 0x96BC6063U, 0xBC0D028FU, 0xB6B58DAU, 0x9CF62567U, 0x2B907F32U, 0x4E67DA52U, 0xF9018007U, 0x43678D3CU, -0xF401D769U, 0x54A83275U, 0xE3CE6820U, 0xC97F0ACCU, 0x7E195099U, 0x3B15D211U, 0x8C738844U, 0xEC145510U, 0x5B720F45U, 0x99665D53U, 0x2E000706U, 0x6376C247U, -0xD4109812U, 0xE46E12D9U, 0x5308488CU, 0x29A07DFFU, 0x9EC627AAU, 0xE5E2B0E9U, 0x5284EABCU, 0xA74E4898U, 0x102812CDU, 0xD478013U, 0xBA21DA46U, 0x17886834U, -0xA0EE3261U, 0x4FEB7862U, 0xF88D2237U, 0x62FA6077U, 0xD59C3A22U, 0x20569806U, 0x9730C253U, 0x6A8027BEU, 0xDDE67DEBU, 0x318A297CU, 0x77EFB560U, 0x3A997021U, -0x8DFF2A74U, 0x78358850U, 0xCF53D205U, 0x5D8A11A0U, 0xEAEC4BF5U, 0x8BD3F2BDU, 0x3CB5A8E8U, 0x8DAB26ADU, 0x3ACD7CF8U, 0x53DC7DAU, 0xB25B9D8FU, 0x5FEE1FB4U, -0xE88845E1U, 0x6468DCF4U, 0xD30E86A1U, 0xB3833366U, 0x4E56933U, 0xA94CDB41U, 0x1E2A8114U, 0x262E4C16U, 0x91481643U, 0xDC3ED302U, 0x6B588957U, 0xF9558CDEU, -0x4E33D68BU, 0x4993AC72U, 0xFEF5F627U, 0x535C4455U, 0xE43A1E00U, 0xA1369C88U, 0x1650C6DDU, 0x845DC354U, 0x333B9901U, 0x2E540BDFU, 0x9932518AU, 0xBBF974AFU, -0xC9F2EFAU, 0x9E922B73U, 0x29F47126U, 0x176200A7U, 0xA0045AF2U, 0x1E94E55EU, 0xA9F2BF0BU, 0x7129053AU, 0xC64F5F6FU, 0x4E8DB2C1U, 0xF9EBE894U, 0xE4847A4AU, -0x53E2201FU, 0x3B2B7CAEU, 0x8C4D26FBU, 0x107C1E14U, 0xA71A4441U, 0x3D6D0601U, 0x8A0B5C54U, 0xD1F96FEAU, 0x701F8A2FU, 0xEDCCFBF9U, 0x2C9B1FAU, 0xB5AFEBAFU, -0x6BE6ED1DU, 0xDC80B748U, 0xF0A36927U, 0x47C53372U, 0xA8C07971U, 0x1FA62324U, 0x7FC1FE70U, 0xC8A7A425U, 0x77BBB9B9U, 0xC0DDE3ECU, 0x351741C8U, 0x82711B9DU, -0x9F1E8943U, 0x2878D316U, 0x38FD7E35U, 0x8F9B2460U, 0x481F0E42U, 0xFF795417U, 0xBA75D69FU, 0xD138CCAU, 0x7DA5F064U, 0xCAC3AA31U, 0xF783D92BU, 0x40E5837EU, -0xA0BA3EB8U, 0x17DC64EDU, 0x7535DF3EU, 0xC253856BU, 0x8F25402AU, 0x38431A7FU, 0xC797F186U, 0x70F1ABD3U, 0x604AA84FU, 0xD72CF21AU, 0x47AF9114U, 0xF0C9CB41U, -0x27A2EE26U, 0x90C4B473U, 0xBEBDCAB7U, 0x9DB90E2U, 0xED4C310CU, 0x5A2A6B59U, 0x223D969U, 0xB545833CU, 0x96E86CBAU, 0x218E36EFU, 0xA06EF894U, 0x1708A2C1U, -0x6D74519EU, 0xDA120BCBU, 0x180659DDU, 0xAF600388U, 0xDDB27132U, 0x6AD42B67U, 0xD5C836FBU, 0x62AE6CAEU, 0x2474ECBDU, 0x9312B6E8U, 0xCF07DEDCU, 0x78618489U, -0x32DD9957U, 0x85BBC302U, 0x90AE1615U, 0x27C84C40U, 0xC0B7418AU, 0x77D11BDFU, 0x3AA7DE9EU, 0x8DC184CBU, 0xB5C549C9U, 0x2A3139CU, 0x62C4CEC8U, 0xD5A2949DU, -0x28127170U, 0x9F742B25U, 0xA770E627U, 0x1016BC72U, 0x206836B9U, 0x970E6CECU, 0x1FCC8142U, 0xA8AADB17U, 0x5036965U, 0xB2653330U, 0x52862C08U, 0xBA1F74F9U, -0xEDA6599FU, 0x5AC003CAU, 0x47526A2CU, 0x3D07A467U, 0xCFD318F0U, 0x78B542A5U, 0xA9981D6DU, 0x1EFE4738U, 0x8CF342B1U, 0x3B9518E4U, 0x9BD6956BU, 0x2CB0CF3EU, -0xD0584ECFU, 0x673E149AU, 0x76E3DDA5U, 0xC18587F0U, 0xC625FD09U, 0x7143A75CU, 0x195E3DC1U, 0xAE386794U, 0xBEB922FU, 0xBC8DC87AU, 0xD51CF0D7U, 0x627AAA82U, -0xA67301FU, 0xBD016A4AU, 0x8505A748U, 0x3263FD1DU, 0x52042049U, 0xE5627A1CU, 0x5CECDB03U, 0xEB8A8156U, 0xF22D0FA0U, 0x454B55F5U, 0x7453159DU, 0xC3354FC8U, -0x37734FDCU, 0x80151589U, 0x8D7F827U, 0xBFB1A272U }; - -const ReplacementIndexStruct ReplacementIndexData[] = { - { utf16char(43), medium(1) }, - { utf16char(45), medium(1) }, - { utf16char(49), medium(2) }, - { utf16char(50), medium(1) }, - { utf16char(56), medium(1) }, - { utf16char(97), medium(129) }, - { utf16char(98), medium(226) }, - { utf16char(99), medium(290) }, - { utf16char(100), medium(100) }, - { utf16char(101), medium(70) }, - { utf16char(102), medium(437) }, - { utf16char(103), medium(108) }, - { utf16char(104), medium(138) }, - { utf16char(105), medium(53) }, - { utf16char(106), medium(25) }, - { utf16char(107), medium(53) }, - { utf16char(108), medium(101) }, - { utf16char(109), medium(247) }, - { utf16char(110), medium(74) }, - { utf16char(111), medium(71) }, - { utf16char(112), medium(201) }, - { utf16char(113), medium(8) }, - { utf16char(114), medium(114) }, - { utf16char(115), medium(289) }, - { utf16char(116), medium(148) }, - { utf16char(117), medium(53) }, - { utf16char(118), medium(28) }, - { utf16char(119), medium(211) }, - { utf16char(120), medium(4) }, - { utf16char(121), medium(8) }, - { utf16char(122), medium(11) }, -}; - -std::vector Replacements; -std::map> ReplacementsMap; -std::map ReplacementsHash; - -} // namespace - -void InitReplacements() { - if (!Replacements.empty()) { - return; - } - auto data = ReplacementData; - auto takeString = [&data](int size) { - auto result = utf16string(data, size); - data += size; - return result; - }; - auto wordSize = ReplacementWordLengths; - - Replacements.reserve(1936); - for (auto item : ReplacementInitData) { - auto emoji = takeString(item.emojiSize); - auto replacement = takeString(item.replacementSize); - auto words = std::vector(); - words.reserve(item.wordsCount); - for (auto i = 0; i != item.wordsCount; ++i) { - words.push_back(takeString(*wordSize++)); - } - Replacements.push_back({ std::move(emoji), std::move(replacement), std::move(words) }); - } - - auto indices = ReplacementIndices; - auto items = &Replacements[0]; - for (auto item : ReplacementIndexData) { - auto index = std::vector(); - index.reserve(item.count); - for (auto i = 0; i != item.count; ++i) { - index.push_back(items + (*indices++)); - } - ReplacementsMap.emplace(item.ch, std::move(index)); - } - - for (auto checksum : ReplacementChecksums) { - ReplacementsHash.emplace(checksum, items++); - } -} - -const std::vector *GetReplacements(utf16char first) { - if (ReplacementsMap.empty()) { - InitReplacements(); - } - auto it = ReplacementsMap.find(first); - return (it == ReplacementsMap.cend()) ? nullptr : &it->second; -} - -utf16string GetReplacementEmoji(utf16string replacement) { - auto code = internal::countChecksum(replacement.data(), replacement.size() * sizeof(utf16char)); - auto it = ReplacementsHash.find(code); - return (it == ReplacementsHash.cend()) ? utf16string() : it->second->emoji; -} - -} // namespace internal -} // namespace Emoji -} // namespace Ui diff --git a/submodules/TelegramUI/TelegramUI/emoji_suggestions_data.h b/submodules/TelegramUI/TelegramUI/emoji_suggestions_data.h deleted file mode 100755 index fcf44ca85c..0000000000 --- a/submodules/TelegramUI/TelegramUI/emoji_suggestions_data.h +++ /dev/null @@ -1,46 +0,0 @@ -/* -WARNING! All changes made in this file will be lost! -Created from 'empty' by 'codegen_emoji' - -This file is part of Telegram Desktop, -the official desktop version of Telegram messaging app, see https://telegram.org - -Telegram Desktop is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -It is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -In addition, as a special exception, the copyright holders give permission -to link the code of portions of this program with the OpenSSL library. - -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE -Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org -*/ -#pragma once - -#include "emoji_suggestions.h" - -namespace Ui { -namespace Emoji { -namespace internal { - -struct Replacement { - utf16string emoji; - utf16string replacement; - std::vector words; -}; - -constexpr auto kReplacementMaxLength = 55; - -void InitReplacements(); -const std::vector *GetReplacements(utf16char first); -utf16string GetReplacementEmoji(utf16string replacement); - -} // namespace internal -} // namespace Emoji -} // namespace Ui diff --git a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj index 391f642ed9..1197b49b25 100644 --- a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj +++ b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj @@ -93,6 +93,7 @@ 09874E5721078FA100E190B8 /* YoutubeUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = 0979788121065F8B0077D77F /* YoutubeUserScript.js */; }; 09874E582107A4C300E190B8 /* VimeoEmbedImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09874E3A21075BF400E190B8 /* VimeoEmbedImplementation.swift */; }; 09874E592107BD4100E190B8 /* GenericEmbedImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09874E4021075C1700E190B8 /* GenericEmbedImplementation.swift */; }; + 098CF79222B924E200AF6134 /* ThemeSettingsAccentColorItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 098CF79122B924E200AF6134 /* ThemeSettingsAccentColorItem.swift */; }; 099529AA21CDB27900805E13 /* ShareProxyServerActionSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 099529A921CDB27900805E13 /* ShareProxyServerActionSheetController.swift */; }; 099529AC21CDBBB200805E13 /* QRCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 099529AB21CDBBB200805E13 /* QRCode.swift */; }; 099529B021D2123E00805E13 /* ChatMessageUnsupportedBubbleContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 099529AF21D2123E00805E13 /* ChatMessageUnsupportedBubbleContentNode.swift */; }; @@ -324,12 +325,6 @@ D0380DAD204ED434000414AB /* LegacyLiveUploadInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0380DAC204ED434000414AB /* LegacyLiveUploadInterface.swift */; }; D0380DB8204EE0A5000414AB /* ChatInstantVideoMessageDurationNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0380DB7204EE0A5000414AB /* ChatInstantVideoMessageDurationNode.swift */; }; D0383ED4207CFBB900C45548 /* GalleryThumbnailContainerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383ED3207CFBB900C45548 /* GalleryThumbnailContainerNode.swift */; }; - D0383EDC207D1A1600C45548 /* emoji_suggestions_data.h in Headers */ = {isa = PBXBuildFile; fileRef = D0383ED6207D1A1500C45548 /* emoji_suggestions_data.h */; }; - D0383EDD207D1A1600C45548 /* TGEmojiSuggestions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0383ED7207D1A1500C45548 /* TGEmojiSuggestions.h */; }; - D0383EDE207D1A1600C45548 /* emoji_suggestions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0383ED8207D1A1600C45548 /* emoji_suggestions.cpp */; }; - D0383EDF207D1A1600C45548 /* emoji_suggestions_data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D0383ED9207D1A1600C45548 /* emoji_suggestions_data.cpp */; }; - D0383EE0207D1A1600C45548 /* TGEmojiSuggestions.mm in Sources */ = {isa = PBXBuildFile; fileRef = D0383EDA207D1A1600C45548 /* TGEmojiSuggestions.mm */; }; - D0383EE1207D1A1600C45548 /* emoji_suggestions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0383EDB207D1A1600C45548 /* emoji_suggestions.h */; }; D0383EE4207D292800C45548 /* EmojisChatInputContextPanelNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383EE3207D292800C45548 /* EmojisChatInputContextPanelNode.swift */; }; D0383EE6207D299600C45548 /* EmojisChatInputPanelItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0383EE5207D299600C45548 /* EmojisChatInputPanelItem.swift */; }; D039FB152170D99D00BD1BAD /* RadialCloudProgressContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D039FB142170D99D00BD1BAD /* RadialCloudProgressContentNode.swift */; }; @@ -1265,6 +1260,7 @@ 0979788821065F8C0077D77F /* GenericUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = GenericUserScript.js; sourceTree = ""; }; 09874E3A21075BF400E190B8 /* VimeoEmbedImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VimeoEmbedImplementation.swift; sourceTree = ""; }; 09874E4021075C1700E190B8 /* GenericEmbedImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericEmbedImplementation.swift; sourceTree = ""; }; + 098CF79122B924E200AF6134 /* ThemeSettingsAccentColorItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThemeSettingsAccentColorItem.swift; sourceTree = ""; }; 099529A921CDB27900805E13 /* ShareProxyServerActionSheetController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareProxyServerActionSheetController.swift; sourceTree = ""; }; 099529AB21CDBBB200805E13 /* QRCode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRCode.swift; sourceTree = ""; }; 099529AF21D2123E00805E13 /* ChatMessageUnsupportedBubbleContentNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageUnsupportedBubbleContentNode.swift; sourceTree = ""; }; @@ -1588,12 +1584,6 @@ D0380DAC204ED434000414AB /* LegacyLiveUploadInterface.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyLiveUploadInterface.swift; sourceTree = ""; }; D0380DB7204EE0A5000414AB /* ChatInstantVideoMessageDurationNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatInstantVideoMessageDurationNode.swift; sourceTree = ""; }; D0383ED3207CFBB900C45548 /* GalleryThumbnailContainerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GalleryThumbnailContainerNode.swift; sourceTree = ""; }; - D0383ED6207D1A1500C45548 /* emoji_suggestions_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = emoji_suggestions_data.h; sourceTree = ""; }; - D0383ED7207D1A1500C45548 /* TGEmojiSuggestions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGEmojiSuggestions.h; sourceTree = ""; }; - D0383ED8207D1A1600C45548 /* emoji_suggestions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = emoji_suggestions.cpp; sourceTree = ""; }; - D0383ED9207D1A1600C45548 /* emoji_suggestions_data.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = emoji_suggestions_data.cpp; sourceTree = ""; }; - D0383EDA207D1A1600C45548 /* TGEmojiSuggestions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TGEmojiSuggestions.mm; sourceTree = ""; }; - D0383EDB207D1A1600C45548 /* emoji_suggestions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = emoji_suggestions.h; sourceTree = ""; }; D0383EE3207D292800C45548 /* EmojisChatInputContextPanelNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojisChatInputContextPanelNode.swift; sourceTree = ""; }; D0383EE5207D299600C45548 /* EmojisChatInputPanelItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojisChatInputPanelItem.swift; sourceTree = ""; }; D039EB021DEAEFEE00886EBC /* ChatTextInputAudioRecordingOverlayButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatTextInputAudioRecordingOverlayButton.swift; sourceTree = ""; }; @@ -3007,19 +2997,6 @@ name = "Plaintext Fields"; sourceTree = ""; }; - D0383ED5207D19BC00C45548 /* Emoji */ = { - isa = PBXGroup; - children = ( - D0383ED9207D1A1600C45548 /* emoji_suggestions_data.cpp */, - D0383ED6207D1A1500C45548 /* emoji_suggestions_data.h */, - D0383ED8207D1A1600C45548 /* emoji_suggestions.cpp */, - D0383EDB207D1A1600C45548 /* emoji_suggestions.h */, - D0383ED7207D1A1500C45548 /* TGEmojiSuggestions.h */, - D0383EDA207D1A1600C45548 /* TGEmojiSuggestions.mm */, - ); - name = Emoji; - sourceTree = ""; - }; D0383EE2207D291100C45548 /* Emojis */ = { isa = PBXGroup; children = ( @@ -3228,6 +3205,7 @@ D0B37C5F1F8D286E004252DF /* ThemeSettingsFontSizeItem.swift */, D06F31E52135A41C001A0F12 /* ThemeSettingsBrightnessItem.swift */, 09A218F422A15F1400DE6898 /* ThemeSettingsAppIconItem.swift */, + 098CF79122B924E200AF6134 /* ThemeSettingsAccentColorItem.swift */, 090E777822A6A32E00CD99F5 /* ThemeSettingsThemeItem.swift */, D06E4C322134A59700088087 /* ThemeAccentColorActionSheet.swift */, D06E4C342134AE3C00088087 /* ThemeAutoNightSettingsController.swift */, @@ -4728,7 +4706,6 @@ 09E4A7FE223ADFD80038140F /* Data */, D0B69C3A20EBD8B3003632C7 /* Device */, D01C7EFE1EF9D434008305F1 /* Device Contacts */, - D0383ED5207D19BC00C45548 /* Emoji */, D025A4241F79428300563950 /* Fetch Manager */, 09E4A7FC223ADF300038140F /* Images */, D04614352005093B00EC0EF2 /* Location */, @@ -4882,7 +4859,6 @@ D0208AD51FA33D14001F0D5F /* RaiseToListenActivator.h in Headers */, D00817DA22B47A14008A895F /* TGPresentationAutoNightPreferences.h in Headers */, D0E9BAE31F0574D800F079A4 /* STPBankAccountParams.h in Headers */, - D0383EE1207D1A1600C45548 /* emoji_suggestions.h in Headers */, D0E9BA361F05585000F079A4 /* STPPhoneNumberValidator.h in Headers */, D0E9BA511F0559DA00F079A4 /* STPImageLibrary.h in Headers */, D0E9BA4C1F0559C700F079A4 /* NSString+Stripe_CardBrands.h in Headers */, @@ -4892,7 +4868,6 @@ D0E9BA2A1F0557A600F079A4 /* STPFormEncoder.h in Headers */, D0E9BA321F05583A00F079A4 /* STPPostalCodeValidator.h in Headers */, D0E9BADC1F0574D800F079A4 /* PKPayment+Stripe.h in Headers */, - D0383EDC207D1A1600C45548 /* emoji_suggestions_data.h in Headers */, D0E9BA491F0559B600F079A4 /* STPPaymentMethod.h in Headers */, D08803C51F6064CF00DD7951 /* TelegramUI.h in Headers */, D0E9BA171F05574500F079A4 /* STPPaymentCardTextFieldViewModel.h in Headers */, @@ -4924,7 +4899,6 @@ D00817CE22B47A14008A895F /* TGProxyItem.h in Headers */, D0E9BA401F0558FE00F079A4 /* StripeError.h in Headers */, D0E9BA191F05574500F079A4 /* STPPaymentCardTextField.h in Headers */, - D0383EDD207D1A1600C45548 /* TGEmojiSuggestions.h in Headers */, D0E9BA3F1F0558FE00F079A4 /* STPSource.h in Headers */, D008177A22B46B7E008A895F /* TGShareLocationSignals.h in Headers */, D0E9BABC1F05735F00F079A4 /* STPPaymentConfiguration.h in Headers */, @@ -5655,7 +5629,6 @@ D056CD761FF2A30900880D28 /* ChatSwipeToReplyRecognizer.swift in Sources */, D00580B321E4B51600CB7CD3 /* DeleteChatPeerActionSheetItem.swift in Sources */, D091C7A41F8EBB1E00D7DE13 /* ChatPresentationData.swift in Sources */, - D0383EE0207D1A1600C45548 /* TGEmojiSuggestions.mm in Sources */, 09A218F522A15F1400DE6898 /* ThemeSettingsAppIconItem.swift in Sources */, D013630C208FA62400EB3653 /* SecureIdDocumentGalleryFooterContentNode.swift in Sources */, D0EB41F31F2FEAB800838FE6 /* LegacyComponentsStickers.swift in Sources */, @@ -6014,6 +5987,7 @@ D081E106217F5834003CD921 /* LanguageLinkPreviewControllerNode.swift in Sources */, D093D7E72063E57F00BC3599 /* BotPaymentActionItemNode.swift in Sources */, D01C06BA1FBBB076001561AB /* ItemListSelectableControlNode.swift in Sources */, + 098CF79222B924E200AF6134 /* ThemeSettingsAccentColorItem.swift in Sources */, D0EC6E541EB9F58900EBF1C3 /* ConvertToSupergroupController.swift in Sources */, D0EC6E561EB9F58900EBF1C3 /* UserInfoController.swift in Sources */, D0EC6E571EB9F58900EBF1C3 /* GroupsInCommonController.swift in Sources */, @@ -6044,14 +6018,12 @@ D0EC6E651EB9F58900EBF1C3 /* TwoStepVerificationResetController.swift in Sources */, D0EC6E661EB9F58900EBF1C3 /* PasscodeOptionsController.swift in Sources */, 09CE95082237A53900A7D2C3 /* SettingsSearchableItems.swift in Sources */, - D0383EDE207D1A1600C45548 /* emoji_suggestions.cpp in Sources */, D0EC6E671EB9F58900EBF1C3 /* DataAndStorageSettingsController.swift in Sources */, D0EC6E681EB9F58900EBF1C3 /* VoiceCallDataSavingController.swift in Sources */, D0EC6E691EB9F58900EBF1C3 /* NetworkUsageStatsController.swift in Sources */, D0EC6E6A1EB9F58900EBF1C3 /* StorageUsageController.swift in Sources */, D079FCDF1F05C9280038FADE /* BotReceiptController.swift in Sources */, D0EC6E6B1EB9F58900EBF1C3 /* InstalledStickerPacksController.swift in Sources */, - D0383EDF207D1A1600C45548 /* emoji_suggestions_data.cpp in Sources */, D0EC6E6C1EB9F58900EBF1C3 /* FeaturedStickerPacksController.swift in Sources */, D0B85C231FF70BF400E795B4 /* AuthorizationSequenceAwaitingAccountResetController.swift in Sources */, D0EC6E6D1EB9F58900EBF1C3 /* ItemListStickerPackItem.swift in Sources */,