From 26b9d922b5d4f01ae25b6d147d935244c05156e3 Mon Sep 17 00:00:00 2001
From: Peter <>
Date: Mon, 12 Aug 2019 23:42:50 +0300
Subject: [PATCH] Refactor BotPaymentsUI and LocalAuth
---
.../contents.xcworkspacedata | 9 +
.../project.pbxproj | 687 +++++++++++++++
submodules/BotPaymentsUI/Info.plist | 22 +
.../Sources}/BotCheckoutActionButton.swift | 0
.../Sources}/BotCheckoutController.swift | 16 +-
.../Sources}/BotCheckoutControllerNode.swift | 3 +-
.../Sources}/BotCheckoutHeaderItem.swift | 0
.../Sources}/BotCheckoutInfoController.swift | 0
.../BotCheckoutInfoControllerNode.swift | 0
...BotCheckoutNativeCardEntryController.swift | 0
...heckoutNativeCardEntryControllerNode.swift | 2 +-
.../BotCheckoutPasswordEntryController.swift | 0
.../BotCheckoutPaymentMethodSheet.swift | 0
...PaymentShippingOptionSheetController.swift | 0
.../Sources}/BotCheckoutPriceItem.swift | 0
.../BotCheckoutWebInteractionController.swift | 0
...CheckoutWebInteractionControllerNode.swift | 0
.../Sources}/BotPaymentActionItemNode.swift | 0
.../BotPaymentCardInputItemNode.swift | 2 +-
.../Sources}/BotPaymentDateItemNode.swift | 0
.../BotPaymentDisclosureItemNode.swift | 0
.../Sources}/BotPaymentFieldItemNode.swift | 0
.../Sources}/BotPaymentHeaderItemNode.swift | 0
.../Sources}/BotPaymentItemNode.swift | 0
.../Sources}/BotPaymentSwitchItemNode.swift | 0
.../Sources}/BotPaymentTextItemNode.swift | 0
.../BotPaymentsUI/Sources/BotPaymentsUI.h | 19 +
.../Sources}/BotReceiptController.swift | 16 +-
.../Sources}/BotReceiptControllerNode.swift | 0
.../Sources/FrameworkBundle.swift | 13 +
submodules/LocalAuth/Info.plist | 22 +
.../LocalAuth_Xcode.xcodeproj/project.pbxproj | 543 ++++++++++++
submodules/LocalAuth/Sources/LocalAuth.h | 19 +
.../Sources}/LocalAuth.swift | 10 +-
.../project.pbxproj | 88 ++
submodules/Stripe/Info.plist | 22 +
.../Sources}/NSDictionary+Stripe.h | 0
.../Sources}/NSDictionary+Stripe.m | 0
.../Sources}/NSString+Stripe.h | 0
.../Sources}/NSString+Stripe.m | 0
.../Sources}/NSString+Stripe_CardBrands.h | 0
.../Sources}/NSString+Stripe_CardBrands.m | 0
.../Sources}/PKPayment+Stripe.h | 0
.../Sources}/PKPayment+Stripe.m | 0
.../Sources}/STPAPIClient+ApplePay.h | 2 +-
.../Sources}/STPAPIClient+ApplePay.m | 0
.../Sources}/STPAPIClient+Private.h | 0
.../Sources}/STPAPIClient.h | 4 +-
.../Sources}/STPAPIClient.m | 0
.../Sources}/STPAPIPostRequest.h | 0
.../Sources}/STPAPIPostRequest.m | 0
.../Sources}/STPAPIResponseDecodable.h | 0
.../Sources}/STPAddress.h | 0
.../Sources}/STPAddress.m | 0
.../Sources}/STPBINRange.h | 2 +-
.../Sources}/STPBINRange.m | 0
.../Sources}/STPBackendAPIAdapter.h | 8 +-
.../Sources}/STPBankAccount.h | 4 +-
.../Sources}/STPBankAccount.m | 0
.../Sources}/STPBankAccountParams.h | 2 +-
.../Sources}/STPBankAccountParams.m | 0
.../TelegramUI => Stripe/Sources}/STPBlocks.h | 0
.../TelegramUI => Stripe/Sources}/STPCard.h | 10 +-
.../TelegramUI => Stripe/Sources}/STPCard.m | 0
.../Sources}/STPCardBrand.h | 0
.../Sources}/STPCardParams.h | 4 +-
.../Sources}/STPCardParams.m | 0
.../Sources}/STPCardValidationState.h | 0
.../Sources}/STPCardValidator.h | 6 +-
.../Sources}/STPCardValidator.m | 0
.../Sources}/STPCustomer.h | 2 +-
.../Sources}/STPCustomer.m | 0
.../Sources}/STPDelegateProxy.h | 0
.../Sources}/STPDelegateProxy.m | 0
.../Sources}/STPDispatchFunctions.h | 0
.../Sources}/STPDispatchFunctions.m | 0
.../Sources}/STPFormEncodable.h | 0
.../Sources}/STPFormEncoder.h | 0
.../Sources}/STPFormEncoder.m | 0
.../Sources}/STPFormTextField.h | 0
.../Sources}/STPFormTextField.m | 0
.../Sources}/STPImageLibrary+Private.h | 0
.../Sources}/STPImageLibrary.h | 2 +-
.../Sources}/STPImageLibrary.m | 0
.../Sources}/STPPaymentCardTextField.h | 2 +-
.../Sources}/STPPaymentCardTextField.m | 0
.../STPPaymentCardTextFieldViewModel.h | 0
.../STPPaymentCardTextFieldViewModel.m | 0
.../STPPaymentConfiguration+Private.h | 0
.../Sources}/STPPaymentConfiguration.h | 4 +-
.../Sources}/STPPaymentConfiguration.m | 0
.../Sources}/STPPaymentMethod.h | 0
.../Sources}/STPPhoneNumberValidator.h | 0
.../Sources}/STPPhoneNumberValidator.m | 0
.../Sources}/STPPostalCodeValidator.h | 0
.../Sources}/STPPostalCodeValidator.m | 0
.../TelegramUI => Stripe/Sources}/STPSource.h | 0
.../TelegramUI => Stripe/Sources}/STPToken.h | 4 +-
.../TelegramUI => Stripe/Sources}/STPToken.m | 0
.../Sources}/STPWeakStrongMacros.h | 0
submodules/Stripe/Sources/Stripe.h | 30 +
.../Sources}/StripeError.h | 0
.../Sources}/StripeError.m | 0
.../Stripe_Xcode.xcodeproj/project.pbxproj | 788 ++++++++++++++++++
.../TelegramUI/ChatController.swift | 1 +
.../ChatMessageAttachedContentNode.swift | 12 +-
.../ChatMessageBubbleItemNode.swift | 14 +-
.../ChatMessageContactBubbleContentNode.swift | 12 +-
.../ChatMessageInteractiveFileNode.swift | 12 +-
.../ChatMessageMapBubbleContentNode.swift | 12 +-
.../ChatMessageMediaBubbleContentNode.swift | 12 +-
...MessagePhoneNumberRequestContentNode.swift | 203 -----
.../ChatMessagePollBubbleContentNode.swift | 12 +-
.../ChatMessageTextBubbleContentNode.swift | 12 +-
.../TelegramUI/PasscodeEntryController.swift | 1 +
.../PasscodeEntryControllerNode.swift | 1 +
.../PasscodeOptionsController.swift | 1 +
.../PrivacyAndSecurityController.swift | 1 +
.../TelegramUI/SettingsSearchableItems.swift | 1 +
.../TelegramUIPrivate/module.modulemap | 6 -
.../project.pbxproj | 400 +--------
121 files changed, 2357 insertions(+), 723 deletions(-)
create mode 100644 submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj
create mode 100644 submodules/BotPaymentsUI/Info.plist
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutActionButton.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutController.swift (87%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutControllerNode.swift (99%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutHeaderItem.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutInfoController.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutInfoControllerNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutNativeCardEntryController.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutNativeCardEntryControllerNode.swift (99%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutPasswordEntryController.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutPaymentMethodSheet.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutPaymentShippingOptionSheetController.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutPriceItem.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutWebInteractionController.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotCheckoutWebInteractionControllerNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentActionItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentCardInputItemNode.swift (98%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentDateItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentDisclosureItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentFieldItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentHeaderItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentSwitchItemNode.swift (100%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotPaymentTextItemNode.swift (100%)
create mode 100644 submodules/BotPaymentsUI/Sources/BotPaymentsUI.h
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotReceiptController.swift (86%)
rename submodules/{TelegramUI/TelegramUI => BotPaymentsUI/Sources}/BotReceiptControllerNode.swift (100%)
create mode 100644 submodules/BotPaymentsUI/Sources/FrameworkBundle.swift
create mode 100644 submodules/LocalAuth/Info.plist
create mode 100644 submodules/LocalAuth/LocalAuth_Xcode.xcodeproj/project.pbxproj
create mode 100644 submodules/LocalAuth/Sources/LocalAuth.h
rename submodules/{TelegramUI/TelegramUI => LocalAuth/Sources}/LocalAuth.swift (88%)
create mode 100644 submodules/Stripe/Info.plist
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/NSDictionary+Stripe.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/NSDictionary+Stripe.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/NSString+Stripe.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/NSString+Stripe.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/NSString+Stripe_CardBrands.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/NSString+Stripe_CardBrands.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/PKPayment+Stripe.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/PKPayment+Stripe.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIClient+ApplePay.h (96%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIClient+ApplePay.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIClient+Private.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIClient.h (99%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIClient.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIPostRequest.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIPostRequest.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAPIResponseDecodable.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAddress.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPAddress.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBINRange.h (94%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBINRange.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBackendAPIAdapter.h (97%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBankAccount.h (97%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBankAccount.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBankAccountParams.h (97%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBankAccountParams.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPBlocks.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCard.h (97%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCard.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCardBrand.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCardParams.h (98%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCardParams.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCardValidationState.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCardValidator.h (98%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCardValidator.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCustomer.h (99%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPCustomer.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPDelegateProxy.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPDelegateProxy.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPDispatchFunctions.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPDispatchFunctions.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPFormEncodable.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPFormEncoder.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPFormEncoder.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPFormTextField.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPFormTextField.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPImageLibrary+Private.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPImageLibrary.h (97%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPImageLibrary.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentCardTextField.h (99%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentCardTextField.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentCardTextFieldViewModel.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentCardTextFieldViewModel.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentConfiguration+Private.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentConfiguration.h (97%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentConfiguration.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPaymentMethod.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPhoneNumberValidator.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPhoneNumberValidator.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPostalCodeValidator.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPPostalCodeValidator.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPSource.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPToken.h (95%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPToken.m (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/STPWeakStrongMacros.h (100%)
create mode 100644 submodules/Stripe/Sources/Stripe.h
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/StripeError.h (100%)
rename submodules/{TelegramUI/TelegramUI => Stripe/Sources}/StripeError.m (100%)
create mode 100644 submodules/Stripe/Stripe_Xcode.xcodeproj/project.pbxproj
delete mode 100644 submodules/TelegramUI/TelegramUI/ChatMessagePhoneNumberRequestContentNode.swift
diff --git a/Telegram-iOS.xcworkspace/contents.xcworkspacedata b/Telegram-iOS.xcworkspace/contents.xcworkspacedata
index 905405c567..95790791c2 100644
--- a/Telegram-iOS.xcworkspace/contents.xcworkspacedata
+++ b/Telegram-iOS.xcworkspace/contents.xcworkspacedata
@@ -16,6 +16,9 @@
+
+
+
+
@@ -343,6 +349,9 @@
+
+
diff --git a/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj b/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..84108cc736
--- /dev/null
+++ b/submodules/BotPaymentsUI/BotPaymentsUI_Xcode.xcodeproj/project.pbxproj
@@ -0,0 +1,687 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 50;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ D0C9C6CD2301FC9300FAB518 /* BotPaymentsUI.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6CB2301FC9300FAB518 /* BotPaymentsUI.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7922301FFD000FAB518 /* BotCheckoutPasswordEntryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7792301FFC900FAB518 /* BotCheckoutPasswordEntryController.swift */; };
+ D0C9C7932301FFD000FAB518 /* BotPaymentActionItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C77A2301FFC900FAB518 /* BotPaymentActionItemNode.swift */; };
+ D0C9C7942301FFD000FAB518 /* BotPaymentDateItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C77B2301FFC900FAB518 /* BotPaymentDateItemNode.swift */; };
+ D0C9C7952301FFD000FAB518 /* BotCheckoutPaymentShippingOptionSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C77C2301FFCA00FAB518 /* BotCheckoutPaymentShippingOptionSheetController.swift */; };
+ D0C9C7962301FFD000FAB518 /* BotPaymentTextItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C77D2301FFCA00FAB518 /* BotPaymentTextItemNode.swift */; };
+ D0C9C7972301FFD000FAB518 /* BotPaymentItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C77E2301FFCA00FAB518 /* BotPaymentItemNode.swift */; };
+ D0C9C7982301FFD000FAB518 /* BotCheckoutInfoControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C77F2301FFCA00FAB518 /* BotCheckoutInfoControllerNode.swift */; };
+ D0C9C7992301FFD000FAB518 /* BotPaymentCardInputItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7802301FFCA00FAB518 /* BotPaymentCardInputItemNode.swift */; };
+ D0C9C79A2301FFD000FAB518 /* BotReceiptController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7812301FFCA00FAB518 /* BotReceiptController.swift */; };
+ D0C9C79B2301FFD000FAB518 /* BotCheckoutActionButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7822301FFCA00FAB518 /* BotCheckoutActionButton.swift */; };
+ D0C9C79C2301FFD000FAB518 /* BotCheckoutWebInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7832301FFCB00FAB518 /* BotCheckoutWebInteractionController.swift */; };
+ D0C9C79D2301FFD000FAB518 /* BotPaymentHeaderItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7842301FFCB00FAB518 /* BotPaymentHeaderItemNode.swift */; };
+ D0C9C79E2301FFD000FAB518 /* BotCheckoutInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7852301FFCB00FAB518 /* BotCheckoutInfoController.swift */; };
+ D0C9C79F2301FFD000FAB518 /* BotReceiptControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7862301FFCB00FAB518 /* BotReceiptControllerNode.swift */; };
+ D0C9C7A02301FFD000FAB518 /* BotCheckoutPaymentMethodSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7872301FFCC00FAB518 /* BotCheckoutPaymentMethodSheet.swift */; };
+ D0C9C7A12301FFD000FAB518 /* BotCheckoutWebInteractionControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7882301FFCC00FAB518 /* BotCheckoutWebInteractionControllerNode.swift */; };
+ D0C9C7A22301FFD000FAB518 /* BotCheckoutPriceItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7892301FFCC00FAB518 /* BotCheckoutPriceItem.swift */; };
+ D0C9C7A32301FFD000FAB518 /* BotCheckoutNativeCardEntryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C78A2301FFCC00FAB518 /* BotCheckoutNativeCardEntryController.swift */; };
+ D0C9C7A42301FFD000FAB518 /* BotPaymentDisclosureItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C78B2301FFCC00FAB518 /* BotPaymentDisclosureItemNode.swift */; };
+ D0C9C7A52301FFD000FAB518 /* BotPaymentFieldItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C78C2301FFCD00FAB518 /* BotPaymentFieldItemNode.swift */; };
+ D0C9C7A62301FFD000FAB518 /* BotCheckoutHeaderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C78D2301FFCD00FAB518 /* BotCheckoutHeaderItem.swift */; };
+ D0C9C7A72301FFD000FAB518 /* BotCheckoutNativeCardEntryControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C78E2301FFCE00FAB518 /* BotCheckoutNativeCardEntryControllerNode.swift */; };
+ D0C9C7A82301FFD000FAB518 /* BotCheckoutController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C78F2301FFCE00FAB518 /* BotCheckoutController.swift */; };
+ D0C9C7A92301FFD000FAB518 /* BotPaymentSwitchItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7902301FFCF00FAB518 /* BotPaymentSwitchItemNode.swift */; };
+ D0C9C7AA2301FFD000FAB518 /* BotCheckoutControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7912301FFCF00FAB518 /* BotCheckoutControllerNode.swift */; };
+ D0C9C7AD2301FFD300FAB518 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7AC2301FFD300FAB518 /* Stripe.framework */; };
+ D0C9C7AF2301FFD800FAB518 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7AE2301FFD800FAB518 /* Foundation.framework */; };
+ D0C9C7B12301FFDC00FAB518 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B02301FFDC00FAB518 /* UIKit.framework */; };
+ D0C9C7B32301FFE000FAB518 /* Postbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B22301FFE000FAB518 /* Postbox.framework */; };
+ D0C9C7B52301FFE500FAB518 /* TelegramCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B42301FFE500FAB518 /* TelegramCore.framework */; };
+ D0C9C7B72301FFE900FAB518 /* SwiftSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B62301FFE900FAB518 /* SwiftSignalKit.framework */; };
+ D0C9C7B92301FFEF00FAB518 /* TelegramPresentationData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7B82301FFEF00FAB518 /* TelegramPresentationData.framework */; };
+ D0C9C7BF2302023D00FAB518 /* FrameworkBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7BE2302023D00FAB518 /* FrameworkBundle.swift */; };
+ D0C9C7E32302035800FAB518 /* LocalAuth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E22302035800FAB518 /* LocalAuth.framework */; };
+ D0C9C7E72302041100FAB518 /* AccountContext.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E62302041100FAB518 /* AccountContext.framework */; };
+ D0C9C7E9230205A500FAB518 /* ItemListUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E8230205A500FAB518 /* ItemListUI.framework */; };
+ D0C9C7EB230205D700FAB518 /* PasswordSetupUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7EA230205D700FAB518 /* PasswordSetupUI.framework */; };
+ D0C9C7EF2302061E00FAB518 /* PhotoResources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7EE2302061E00FAB518 /* PhotoResources.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ D0C9C6C82301FC9300FAB518 /* BotPaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BotPaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C6CB2301FC9300FAB518 /* BotPaymentsUI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BotPaymentsUI.h; sourceTree = ""; };
+ D0C9C6CC2301FC9300FAB518 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ D0C9C7792301FFC900FAB518 /* BotCheckoutPasswordEntryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPasswordEntryController.swift; sourceTree = ""; };
+ D0C9C77A2301FFC900FAB518 /* BotPaymentActionItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentActionItemNode.swift; sourceTree = ""; };
+ D0C9C77B2301FFC900FAB518 /* BotPaymentDateItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentDateItemNode.swift; sourceTree = ""; };
+ D0C9C77C2301FFCA00FAB518 /* BotCheckoutPaymentShippingOptionSheetController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPaymentShippingOptionSheetController.swift; sourceTree = ""; };
+ D0C9C77D2301FFCA00FAB518 /* BotPaymentTextItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentTextItemNode.swift; sourceTree = ""; };
+ D0C9C77E2301FFCA00FAB518 /* BotPaymentItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentItemNode.swift; sourceTree = ""; };
+ D0C9C77F2301FFCA00FAB518 /* BotCheckoutInfoControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutInfoControllerNode.swift; sourceTree = ""; };
+ D0C9C7802301FFCA00FAB518 /* BotPaymentCardInputItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentCardInputItemNode.swift; sourceTree = ""; };
+ D0C9C7812301FFCA00FAB518 /* BotReceiptController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotReceiptController.swift; sourceTree = ""; };
+ D0C9C7822301FFCA00FAB518 /* BotCheckoutActionButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutActionButton.swift; sourceTree = ""; };
+ D0C9C7832301FFCB00FAB518 /* BotCheckoutWebInteractionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutWebInteractionController.swift; sourceTree = ""; };
+ D0C9C7842301FFCB00FAB518 /* BotPaymentHeaderItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentHeaderItemNode.swift; sourceTree = ""; };
+ D0C9C7852301FFCB00FAB518 /* BotCheckoutInfoController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutInfoController.swift; sourceTree = ""; };
+ D0C9C7862301FFCB00FAB518 /* BotReceiptControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotReceiptControllerNode.swift; sourceTree = ""; };
+ D0C9C7872301FFCC00FAB518 /* BotCheckoutPaymentMethodSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPaymentMethodSheet.swift; sourceTree = ""; };
+ D0C9C7882301FFCC00FAB518 /* BotCheckoutWebInteractionControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutWebInteractionControllerNode.swift; sourceTree = ""; };
+ D0C9C7892301FFCC00FAB518 /* BotCheckoutPriceItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPriceItem.swift; sourceTree = ""; };
+ D0C9C78A2301FFCC00FAB518 /* BotCheckoutNativeCardEntryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutNativeCardEntryController.swift; sourceTree = ""; };
+ D0C9C78B2301FFCC00FAB518 /* BotPaymentDisclosureItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentDisclosureItemNode.swift; sourceTree = ""; };
+ D0C9C78C2301FFCD00FAB518 /* BotPaymentFieldItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentFieldItemNode.swift; sourceTree = ""; };
+ D0C9C78D2301FFCD00FAB518 /* BotCheckoutHeaderItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutHeaderItem.swift; sourceTree = ""; };
+ D0C9C78E2301FFCE00FAB518 /* BotCheckoutNativeCardEntryControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutNativeCardEntryControllerNode.swift; sourceTree = ""; };
+ D0C9C78F2301FFCE00FAB518 /* BotCheckoutController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutController.swift; sourceTree = ""; };
+ D0C9C7902301FFCF00FAB518 /* BotPaymentSwitchItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentSwitchItemNode.swift; sourceTree = ""; };
+ D0C9C7912301FFCF00FAB518 /* BotCheckoutControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutControllerNode.swift; sourceTree = ""; };
+ D0C9C7AC2301FFD300FAB518 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7AE2301FFD800FAB518 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ D0C9C7B02301FFDC00FAB518 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ D0C9C7B22301FFE000FAB518 /* Postbox.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Postbox.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7B42301FFE500FAB518 /* TelegramCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7B62301FFE900FAB518 /* SwiftSignalKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftSignalKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7B82301FFEF00FAB518 /* TelegramPresentationData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = TelegramPresentationData.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7BE2302023D00FAB518 /* FrameworkBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameworkBundle.swift; sourceTree = ""; };
+ D0C9C7E22302035800FAB518 /* LocalAuth.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocalAuth.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7E62302041100FAB518 /* AccountContext.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = AccountContext.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7E8230205A500FAB518 /* ItemListUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ItemListUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7EA230205D700FAB518 /* PasswordSetupUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PasswordSetupUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7EE2302061E00FAB518 /* PhotoResources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = PhotoResources.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D0C9C6C52301FC9300FAB518 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C7EF2302061E00FAB518 /* PhotoResources.framework in Frameworks */,
+ D0C9C7EB230205D700FAB518 /* PasswordSetupUI.framework in Frameworks */,
+ D0C9C7E9230205A500FAB518 /* ItemListUI.framework in Frameworks */,
+ D0C9C7E72302041100FAB518 /* AccountContext.framework in Frameworks */,
+ D0C9C7E32302035800FAB518 /* LocalAuth.framework in Frameworks */,
+ D0C9C7B92301FFEF00FAB518 /* TelegramPresentationData.framework in Frameworks */,
+ D0C9C7B72301FFE900FAB518 /* SwiftSignalKit.framework in Frameworks */,
+ D0C9C7B52301FFE500FAB518 /* TelegramCore.framework in Frameworks */,
+ D0C9C7B32301FFE000FAB518 /* Postbox.framework in Frameworks */,
+ D0C9C7B12301FFDC00FAB518 /* UIKit.framework in Frameworks */,
+ D0C9C7AF2301FFD800FAB518 /* Foundation.framework in Frameworks */,
+ D0C9C7AD2301FFD300FAB518 /* Stripe.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ D0C9C6BE2301FC9300FAB518 = {
+ isa = PBXGroup;
+ children = (
+ D0C9C6CC2301FC9300FAB518 /* Info.plist */,
+ D0C9C6CA2301FC9300FAB518 /* Sources */,
+ D0C9C6C92301FC9300FAB518 /* Products */,
+ D0C9C7AB2301FFD300FAB518 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ D0C9C6C92301FC9300FAB518 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C6C82301FC9300FAB518 /* BotPaymentsUI.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ D0C9C6CA2301FC9300FAB518 /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7822301FFCA00FAB518 /* BotCheckoutActionButton.swift */,
+ D0C9C78F2301FFCE00FAB518 /* BotCheckoutController.swift */,
+ D0C9C7912301FFCF00FAB518 /* BotCheckoutControllerNode.swift */,
+ D0C9C78D2301FFCD00FAB518 /* BotCheckoutHeaderItem.swift */,
+ D0C9C7852301FFCB00FAB518 /* BotCheckoutInfoController.swift */,
+ D0C9C77F2301FFCA00FAB518 /* BotCheckoutInfoControllerNode.swift */,
+ D0C9C78A2301FFCC00FAB518 /* BotCheckoutNativeCardEntryController.swift */,
+ D0C9C78E2301FFCE00FAB518 /* BotCheckoutNativeCardEntryControllerNode.swift */,
+ D0C9C7792301FFC900FAB518 /* BotCheckoutPasswordEntryController.swift */,
+ D0C9C7872301FFCC00FAB518 /* BotCheckoutPaymentMethodSheet.swift */,
+ D0C9C77C2301FFCA00FAB518 /* BotCheckoutPaymentShippingOptionSheetController.swift */,
+ D0C9C7892301FFCC00FAB518 /* BotCheckoutPriceItem.swift */,
+ D0C9C7832301FFCB00FAB518 /* BotCheckoutWebInteractionController.swift */,
+ D0C9C7882301FFCC00FAB518 /* BotCheckoutWebInteractionControllerNode.swift */,
+ D0C9C77A2301FFC900FAB518 /* BotPaymentActionItemNode.swift */,
+ D0C9C7802301FFCA00FAB518 /* BotPaymentCardInputItemNode.swift */,
+ D0C9C77B2301FFC900FAB518 /* BotPaymentDateItemNode.swift */,
+ D0C9C78B2301FFCC00FAB518 /* BotPaymentDisclosureItemNode.swift */,
+ D0C9C78C2301FFCD00FAB518 /* BotPaymentFieldItemNode.swift */,
+ D0C9C7842301FFCB00FAB518 /* BotPaymentHeaderItemNode.swift */,
+ D0C9C77E2301FFCA00FAB518 /* BotPaymentItemNode.swift */,
+ D0C9C7902301FFCF00FAB518 /* BotPaymentSwitchItemNode.swift */,
+ D0C9C77D2301FFCA00FAB518 /* BotPaymentTextItemNode.swift */,
+ D0C9C7812301FFCA00FAB518 /* BotReceiptController.swift */,
+ D0C9C7862301FFCB00FAB518 /* BotReceiptControllerNode.swift */,
+ D0C9C7BE2302023D00FAB518 /* FrameworkBundle.swift */,
+ D0C9C6CB2301FC9300FAB518 /* BotPaymentsUI.h */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ D0C9C7AB2301FFD300FAB518 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7EE2302061E00FAB518 /* PhotoResources.framework */,
+ D0C9C7EA230205D700FAB518 /* PasswordSetupUI.framework */,
+ D0C9C7E8230205A500FAB518 /* ItemListUI.framework */,
+ D0C9C7E62302041100FAB518 /* AccountContext.framework */,
+ D0C9C7E22302035800FAB518 /* LocalAuth.framework */,
+ D0C9C7B82301FFEF00FAB518 /* TelegramPresentationData.framework */,
+ D0C9C7B62301FFE900FAB518 /* SwiftSignalKit.framework */,
+ D0C9C7B42301FFE500FAB518 /* TelegramCore.framework */,
+ D0C9C7B22301FFE000FAB518 /* Postbox.framework */,
+ D0C9C7B02301FFDC00FAB518 /* UIKit.framework */,
+ D0C9C7AE2301FFD800FAB518 /* Foundation.framework */,
+ D0C9C7AC2301FFD300FAB518 /* Stripe.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D0C9C6C32301FC9300FAB518 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C6CD2301FC9300FAB518 /* BotPaymentsUI.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D0C9C6C72301FC9300FAB518 /* BotPaymentsUI */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0C9C6D02301FC9300FAB518 /* Build configuration list for PBXNativeTarget "BotPaymentsUI" */;
+ buildPhases = (
+ D0C9C6C32301FC9300FAB518 /* Headers */,
+ D0C9C6C42301FC9300FAB518 /* Sources */,
+ D0C9C6C52301FC9300FAB518 /* Frameworks */,
+ D0C9C6C62301FC9300FAB518 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = BotPaymentsUI;
+ productName = BotPaymentsUI;
+ productReference = D0C9C6C82301FC9300FAB518 /* BotPaymentsUI.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ D0C9C6BF2301FC9300FAB518 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ DefaultBuildSystemTypeForWorkspace = Latest;
+ LastUpgradeCheck = 1030;
+ ORGANIZATIONNAME = "Telegram Messenger LLP";
+ TargetAttributes = {
+ D0C9C6C72301FC9300FAB518 = {
+ CreatedOnToolsVersion = 10.3;
+ LastSwiftMigration = 1030;
+ };
+ };
+ };
+ buildConfigurationList = D0C9C6C22301FC9300FAB518 /* Build configuration list for PBXProject "BotPaymentsUI_Xcode" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = D0C9C6BE2301FC9300FAB518;
+ productRefGroup = D0C9C6C92301FC9300FAB518 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D0C9C6C72301FC9300FAB518 /* BotPaymentsUI */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ D0C9C6C62301FC9300FAB518 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D0C9C6C42301FC9300FAB518 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C7A82301FFD000FAB518 /* BotCheckoutController.swift in Sources */,
+ D0C9C7AA2301FFD000FAB518 /* BotCheckoutControllerNode.swift in Sources */,
+ D0C9C7942301FFD000FAB518 /* BotPaymentDateItemNode.swift in Sources */,
+ D0C9C7A02301FFD000FAB518 /* BotCheckoutPaymentMethodSheet.swift in Sources */,
+ D0C9C7A92301FFD000FAB518 /* BotPaymentSwitchItemNode.swift in Sources */,
+ D0C9C7A22301FFD000FAB518 /* BotCheckoutPriceItem.swift in Sources */,
+ D0C9C79E2301FFD000FAB518 /* BotCheckoutInfoController.swift in Sources */,
+ D0C9C7A42301FFD000FAB518 /* BotPaymentDisclosureItemNode.swift in Sources */,
+ D0C9C79A2301FFD000FAB518 /* BotReceiptController.swift in Sources */,
+ D0C9C7962301FFD000FAB518 /* BotPaymentTextItemNode.swift in Sources */,
+ D0C9C79B2301FFD000FAB518 /* BotCheckoutActionButton.swift in Sources */,
+ D0C9C7992301FFD000FAB518 /* BotPaymentCardInputItemNode.swift in Sources */,
+ D0C9C7A62301FFD000FAB518 /* BotCheckoutHeaderItem.swift in Sources */,
+ D0C9C79F2301FFD000FAB518 /* BotReceiptControllerNode.swift in Sources */,
+ D0C9C7952301FFD000FAB518 /* BotCheckoutPaymentShippingOptionSheetController.swift in Sources */,
+ D0C9C79D2301FFD000FAB518 /* BotPaymentHeaderItemNode.swift in Sources */,
+ D0C9C7972301FFD000FAB518 /* BotPaymentItemNode.swift in Sources */,
+ D0C9C7A12301FFD000FAB518 /* BotCheckoutWebInteractionControllerNode.swift in Sources */,
+ D0C9C7922301FFD000FAB518 /* BotCheckoutPasswordEntryController.swift in Sources */,
+ D0C9C7932301FFD000FAB518 /* BotPaymentActionItemNode.swift in Sources */,
+ D0C9C7BF2302023D00FAB518 /* FrameworkBundle.swift in Sources */,
+ D0C9C7A72301FFD000FAB518 /* BotCheckoutNativeCardEntryControllerNode.swift in Sources */,
+ D0C9C7A52301FFD000FAB518 /* BotPaymentFieldItemNode.swift in Sources */,
+ D0C9C79C2301FFD000FAB518 /* BotCheckoutWebInteractionController.swift in Sources */,
+ D0C9C7982301FFD000FAB518 /* BotCheckoutInfoControllerNode.swift in Sources */,
+ D0C9C7A32301FFD000FAB518 /* BotCheckoutNativeCardEntryController.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ D0C9C6CE2301FC9300FAB518 /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D0C9C6CF2301FC9300FAB518 /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D0C9C6D12301FC9300FAB518 /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.BotPaymentsUI;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D0C9C6D22301FC9300FAB518 /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.BotPaymentsUI;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D0C9C6D32301FCBD00FAB518 /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugHockeyapp;
+ };
+ D0C9C6D42301FCBD00FAB518 /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.BotPaymentsUI;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugHockeyapp;
+ };
+ D0C9C6D52301FCC700FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+ D0C9C6D62301FCC700FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.BotPaymentsUI;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ D0C9C6C22301FC9300FAB518 /* Build configuration list for PBXProject "BotPaymentsUI_Xcode" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0C9C6CE2301FC9300FAB518 /* DebugAppStoreLLC */,
+ D0C9C6D32301FCBD00FAB518 /* DebugHockeyapp */,
+ D0C9C6CF2301FC9300FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C6D52301FCC700FAB518 /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+ D0C9C6D02301FC9300FAB518 /* Build configuration list for PBXNativeTarget "BotPaymentsUI" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0C9C6D12301FC9300FAB518 /* DebugAppStoreLLC */,
+ D0C9C6D42301FCBD00FAB518 /* DebugHockeyapp */,
+ D0C9C6D22301FC9300FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C6D62301FCC700FAB518 /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = D0C9C6BF2301FC9300FAB518 /* Project object */;
+}
diff --git a/submodules/BotPaymentsUI/Info.plist b/submodules/BotPaymentsUI/Info.plist
new file mode 100644
index 0000000000..e1fe4cfb7b
--- /dev/null
+++ b/submodules/BotPaymentsUI/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutActionButton.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutActionButton.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutActionButton.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutActionButton.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutController.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutController.swift
similarity index 87%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutController.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutController.swift
index 50f8b42615..363b83aef1 100644
--- a/submodules/TelegramUI/TelegramUI/BotCheckoutController.swift
+++ b/submodules/BotPaymentsUI/Sources/BotCheckoutController.swift
@@ -8,13 +8,13 @@ import Postbox
import TelegramPresentationData
import AccountContext
-final class BotCheckoutController: ViewController {
+public final class BotCheckoutController: ViewController {
private var controllerNode: BotCheckoutControllerNode {
return self.displayNode as! BotCheckoutControllerNode
}
private let _ready = Promise()
- override var ready: Promise {
+ override public var ready: Promise {
return self._ready
}
@@ -26,7 +26,7 @@ final class BotCheckoutController: ViewController {
private var didPlayPresentationAnimation = false
- init(context: AccountContext, invoice: TelegramMediaInvoice, messageId: MessageId) {
+ public init(context: AccountContext, invoice: TelegramMediaInvoice, messageId: MessageId) {
self.context = context
self.invoice = invoice
self.messageId = messageId
@@ -46,11 +46,11 @@ final class BotCheckoutController: ViewController {
self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Cancel, style: .plain, target: self, action: #selector(self.cancelPressed))
}
- required init(coder aDecoder: NSCoder) {
+ required public init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
- override func loadDisplayNode() {
+ override public func loadDisplayNode() {
let displayNode = BotCheckoutControllerNode(controller: nil, navigationBar: self.navigationBar!, updateNavigationOffset: { [weak self] offset in
if let strongSelf = self {
strongSelf.navigationOffset = offset
@@ -72,7 +72,7 @@ final class BotCheckoutController: ViewController {
self._ready.set(displayNode.ready)
}
- override func viewDidAppear(_ animated: Bool) {
+ override public func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if let presentationArguments = self.presentationArguments as? ViewControllerPresentationArguments, !self.didPlayPresentationAnimation {
@@ -89,11 +89,11 @@ final class BotCheckoutController: ViewController {
self.controllerNode.containerLayoutUpdated(layout, navigationBarHeight: self.navigationHeight, transition: transition)
}
- override func dismiss(completion: (() -> Void)? = nil) {
+ override public func dismiss(completion: (() -> Void)? = nil) {
self.controllerNode.animateOut(completion: completion)
}
- @objc func cancelPressed() {
+ @objc private func cancelPressed() {
self.dismiss()
}
}
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutControllerNode.swift
similarity index 99%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutControllerNode.swift
index cd4268278f..4119dd80e3 100644
--- a/submodules/TelegramUI/TelegramUI/BotCheckoutControllerNode.swift
+++ b/submodules/BotPaymentsUI/Sources/BotCheckoutControllerNode.swift
@@ -7,13 +7,14 @@ import TelegramCore
import SwiftSignalKit
import PassKit
import TelegramPresentationData
-import TelegramUIPrivateModule
import ItemListUI
import AccountContext
import AlertUI
import TelegramNotices
import TelegramStringFormatting
import PasswordSetupUI
+import Stripe
+import LocalAuth
final class BotCheckoutControllerArguments {
fileprivate let account: Account
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutHeaderItem.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutHeaderItem.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutHeaderItem.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutHeaderItem.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutInfoController.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutInfoController.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutInfoController.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutInfoController.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutInfoControllerNode.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutInfoControllerNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutInfoControllerNode.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutInfoControllerNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutNativeCardEntryController.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutNativeCardEntryController.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutNativeCardEntryController.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutNativeCardEntryController.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutNativeCardEntryControllerNode.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutNativeCardEntryControllerNode.swift
similarity index 99%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutNativeCardEntryControllerNode.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutNativeCardEntryControllerNode.swift
index b05febbf4e..020629178c 100644
--- a/submodules/TelegramUI/TelegramUI/BotCheckoutNativeCardEntryControllerNode.swift
+++ b/submodules/BotPaymentsUI/Sources/BotCheckoutNativeCardEntryControllerNode.swift
@@ -6,7 +6,7 @@ import TelegramCore
import Postbox
import SwiftSignalKit
import TelegramPresentationData
-import TelegramUIPrivateModule
+import Stripe
import CountrySelectionUI
private final class BotCheckoutNativeCardEntryScrollerNodeView: UIScrollView {
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutPasswordEntryController.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutPasswordEntryController.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutPasswordEntryController.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutPasswordEntryController.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutPaymentMethodSheet.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutPaymentMethodSheet.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutPaymentMethodSheet.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutPaymentMethodSheet.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutPaymentShippingOptionSheetController.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutPaymentShippingOptionSheetController.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutPaymentShippingOptionSheetController.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutPaymentShippingOptionSheetController.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutPriceItem.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutPriceItem.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutPriceItem.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutPriceItem.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutWebInteractionController.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionController.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutWebInteractionController.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionController.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotCheckoutWebInteractionControllerNode.swift b/submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionControllerNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotCheckoutWebInteractionControllerNode.swift
rename to submodules/BotPaymentsUI/Sources/BotCheckoutWebInteractionControllerNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentActionItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentActionItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentActionItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentActionItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentCardInputItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentCardInputItemNode.swift
similarity index 98%
rename from submodules/TelegramUI/TelegramUI/BotPaymentCardInputItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentCardInputItemNode.swift
index accbbea24f..144944f6b2 100644
--- a/submodules/TelegramUI/TelegramUI/BotPaymentCardInputItemNode.swift
+++ b/submodules/BotPaymentsUI/Sources/BotPaymentCardInputItemNode.swift
@@ -3,7 +3,7 @@ import UIKit
import AsyncDisplayKit
import Display
import TelegramPresentationData
-import TelegramUIPrivateModule
+import Stripe
struct BotPaymentCardInputData {
let number: String
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentDateItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentDateItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentDateItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentDateItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentDisclosureItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentDisclosureItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentDisclosureItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentDisclosureItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentFieldItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentFieldItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentFieldItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentFieldItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentHeaderItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentHeaderItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentHeaderItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentHeaderItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentSwitchItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentSwitchItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentSwitchItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentSwitchItemNode.swift
diff --git a/submodules/TelegramUI/TelegramUI/BotPaymentTextItemNode.swift b/submodules/BotPaymentsUI/Sources/BotPaymentTextItemNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotPaymentTextItemNode.swift
rename to submodules/BotPaymentsUI/Sources/BotPaymentTextItemNode.swift
diff --git a/submodules/BotPaymentsUI/Sources/BotPaymentsUI.h b/submodules/BotPaymentsUI/Sources/BotPaymentsUI.h
new file mode 100644
index 0000000000..52ac46ad1b
--- /dev/null
+++ b/submodules/BotPaymentsUI/Sources/BotPaymentsUI.h
@@ -0,0 +1,19 @@
+//
+// BotPaymentsUI.h
+// BotPaymentsUI
+//
+// Created by Peter on 8/12/19.
+// Copyright © 2019 Telegram Messenger LLP. All rights reserved.
+//
+
+#import
+
+//! Project version number for BotPaymentsUI.
+FOUNDATION_EXPORT double BotPaymentsUIVersionNumber;
+
+//! Project version string for BotPaymentsUI.
+FOUNDATION_EXPORT const unsigned char BotPaymentsUIVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
+
diff --git a/submodules/TelegramUI/TelegramUI/BotReceiptController.swift b/submodules/BotPaymentsUI/Sources/BotReceiptController.swift
similarity index 86%
rename from submodules/TelegramUI/TelegramUI/BotReceiptController.swift
rename to submodules/BotPaymentsUI/Sources/BotReceiptController.swift
index 280fe38a74..c21c2013a6 100644
--- a/submodules/TelegramUI/TelegramUI/BotReceiptController.swift
+++ b/submodules/BotPaymentsUI/Sources/BotReceiptController.swift
@@ -8,13 +8,13 @@ import Postbox
import TelegramPresentationData
import AccountContext
-final class BotReceiptController: ViewController {
+public final class BotReceiptController: ViewController {
private var controllerNode: BotReceiptControllerNode {
return self.displayNode as! BotReceiptControllerNode
}
private let _ready = Promise()
- override var ready: Promise {
+ override public var ready: Promise {
return self._ready
}
@@ -26,7 +26,7 @@ final class BotReceiptController: ViewController {
private var didPlayPresentationAnimation = false
- init(context: AccountContext, invoice: TelegramMediaInvoice, messageId: MessageId) {
+ public init(context: AccountContext, invoice: TelegramMediaInvoice, messageId: MessageId) {
self.context = context
self.invoice = invoice
self.messageId = messageId
@@ -44,11 +44,11 @@ final class BotReceiptController: ViewController {
self.title = title
}
- required init(coder aDecoder: NSCoder) {
+ required public init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
- override func loadDisplayNode() {
+ override public func loadDisplayNode() {
let displayNode = BotReceiptControllerNode(controller: nil, navigationBar: self.navigationBar!, updateNavigationOffset: { [weak self] offset in
if let strongSelf = self {
strongSelf.navigationOffset = offset
@@ -66,7 +66,7 @@ final class BotReceiptController: ViewController {
self._ready.set(displayNode.ready)
}
- override func viewDidAppear(_ animated: Bool) {
+ override public func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if let presentationArguments = self.presentationArguments as? ViewControllerPresentationArguments, !self.didPlayPresentationAnimation {
@@ -83,11 +83,11 @@ final class BotReceiptController: ViewController {
self.controllerNode.containerLayoutUpdated(layout, navigationBarHeight: self.navigationHeight, transition: transition)
}
- override func dismiss(completion: (() -> Void)? = nil) {
+ override public func dismiss(completion: (() -> Void)? = nil) {
self.controllerNode.animateOut(completion: completion)
}
- @objc func cancelPressed() {
+ @objc private func cancelPressed() {
self.dismiss()
}
}
diff --git a/submodules/TelegramUI/TelegramUI/BotReceiptControllerNode.swift b/submodules/BotPaymentsUI/Sources/BotReceiptControllerNode.swift
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/BotReceiptControllerNode.swift
rename to submodules/BotPaymentsUI/Sources/BotReceiptControllerNode.swift
diff --git a/submodules/BotPaymentsUI/Sources/FrameworkBundle.swift b/submodules/BotPaymentsUI/Sources/FrameworkBundle.swift
new file mode 100644
index 0000000000..8ca13d7d92
--- /dev/null
+++ b/submodules/BotPaymentsUI/Sources/FrameworkBundle.swift
@@ -0,0 +1,13 @@
+import Foundation
+import UIKit
+
+private class FrameworkBundleClass: NSObject {
+}
+
+let frameworkBundle: Bundle = Bundle(for: FrameworkBundleClass.self)
+
+extension UIImage {
+ convenience init?(bundleImageName: String) {
+ self.init(named: bundleImageName, in: frameworkBundle, compatibleWith: nil)
+ }
+}
diff --git a/submodules/LocalAuth/Info.plist b/submodules/LocalAuth/Info.plist
new file mode 100644
index 0000000000..e1fe4cfb7b
--- /dev/null
+++ b/submodules/LocalAuth/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/submodules/LocalAuth/LocalAuth_Xcode.xcodeproj/project.pbxproj b/submodules/LocalAuth/LocalAuth_Xcode.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..cae8b818fc
--- /dev/null
+++ b/submodules/LocalAuth/LocalAuth_Xcode.xcodeproj/project.pbxproj
@@ -0,0 +1,543 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 50;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ D0C9C7CF2302025D00FAB518 /* LocalAuth.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7CD2302025D00FAB518 /* LocalAuth.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7DA2302032A00FAB518 /* LocalAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7D92302032900FAB518 /* LocalAuth.swift */; };
+ D0C9C7DD2302033700FAB518 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7DC2302033600FAB518 /* Foundation.framework */; };
+ D0C9C7DF2302033900FAB518 /* LocalAuthentication.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7DE2302033900FAB518 /* LocalAuthentication.framework */; };
+ D0C9C7E12302033C00FAB518 /* SwiftSignalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E02302033C00FAB518 /* SwiftSignalKit.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ D0C9C7CA2302025D00FAB518 /* LocalAuth.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LocalAuth.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7CD2302025D00FAB518 /* LocalAuth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LocalAuth.h; sourceTree = ""; };
+ D0C9C7CE2302025D00FAB518 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ D0C9C7D92302032900FAB518 /* LocalAuth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalAuth.swift; sourceTree = ""; };
+ D0C9C7DC2302033600FAB518 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ D0C9C7DE2302033900FAB518 /* LocalAuthentication.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LocalAuthentication.framework; path = System/Library/Frameworks/LocalAuthentication.framework; sourceTree = SDKROOT; };
+ D0C9C7E02302033C00FAB518 /* SwiftSignalKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SwiftSignalKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D0C9C7C72302025D00FAB518 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C7E12302033C00FAB518 /* SwiftSignalKit.framework in Frameworks */,
+ D0C9C7DF2302033900FAB518 /* LocalAuthentication.framework in Frameworks */,
+ D0C9C7DD2302033700FAB518 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ D0C9C7C02302025D00FAB518 = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7CE2302025D00FAB518 /* Info.plist */,
+ D0C9C7CC2302025D00FAB518 /* Sources */,
+ D0C9C7CB2302025D00FAB518 /* Products */,
+ D0C9C7DB2302033500FAB518 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ D0C9C7CB2302025D00FAB518 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7CA2302025D00FAB518 /* LocalAuth.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ D0C9C7CC2302025D00FAB518 /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7D92302032900FAB518 /* LocalAuth.swift */,
+ D0C9C7CD2302025D00FAB518 /* LocalAuth.h */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ D0C9C7DB2302033500FAB518 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7E02302033C00FAB518 /* SwiftSignalKit.framework */,
+ D0C9C7DE2302033900FAB518 /* LocalAuthentication.framework */,
+ D0C9C7DC2302033600FAB518 /* Foundation.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D0C9C7C52302025D00FAB518 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C7CF2302025D00FAB518 /* LocalAuth.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D0C9C7C92302025D00FAB518 /* LocalAuth */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0C9C7D22302025D00FAB518 /* Build configuration list for PBXNativeTarget "LocalAuth" */;
+ buildPhases = (
+ D0C9C7C52302025D00FAB518 /* Headers */,
+ D0C9C7C62302025D00FAB518 /* Sources */,
+ D0C9C7C72302025D00FAB518 /* Frameworks */,
+ D0C9C7C82302025D00FAB518 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = LocalAuth;
+ productName = LocalAuth;
+ productReference = D0C9C7CA2302025D00FAB518 /* LocalAuth.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ D0C9C7C12302025D00FAB518 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ DefaultBuildSystemTypeForWorkspace = Latest;
+ LastUpgradeCheck = 1030;
+ ORGANIZATIONNAME = "Telegram Messenger LLP";
+ TargetAttributes = {
+ D0C9C7C92302025D00FAB518 = {
+ CreatedOnToolsVersion = 10.3;
+ LastSwiftMigration = 1030;
+ };
+ };
+ };
+ buildConfigurationList = D0C9C7C42302025D00FAB518 /* Build configuration list for PBXProject "LocalAuth_Xcode" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = D0C9C7C02302025D00FAB518;
+ productRefGroup = D0C9C7CB2302025D00FAB518 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D0C9C7C92302025D00FAB518 /* LocalAuth */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ D0C9C7C82302025D00FAB518 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D0C9C7C62302025D00FAB518 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C7DA2302032A00FAB518 /* LocalAuth.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ D0C9C7D02302025D00FAB518 /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D0C9C7D12302025D00FAB518 /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D0C9C7D32302025D00FAB518 /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.LocalAuth;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D0C9C7D42302025D00FAB518 /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.LocalAuth;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D0C9C7D52302028000FAB518 /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugHockeyapp;
+ };
+ D0C9C7D62302028000FAB518 /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.LocalAuth;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugHockeyapp;
+ };
+ D0C9C7D72302028C00FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+ D0C9C7D82302028C00FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.LocalAuth;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ D0C9C7C42302025D00FAB518 /* Build configuration list for PBXProject "LocalAuth_Xcode" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0C9C7D02302025D00FAB518 /* DebugAppStoreLLC */,
+ D0C9C7D52302028000FAB518 /* DebugHockeyapp */,
+ D0C9C7D12302025D00FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C7D72302028C00FAB518 /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+ D0C9C7D22302025D00FAB518 /* Build configuration list for PBXNativeTarget "LocalAuth" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0C9C7D32302025D00FAB518 /* DebugAppStoreLLC */,
+ D0C9C7D62302028000FAB518 /* DebugHockeyapp */,
+ D0C9C7D42302025D00FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C7D82302028C00FAB518 /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = D0C9C7C12302025D00FAB518 /* Project object */;
+}
diff --git a/submodules/LocalAuth/Sources/LocalAuth.h b/submodules/LocalAuth/Sources/LocalAuth.h
new file mode 100644
index 0000000000..1ccdaa7046
--- /dev/null
+++ b/submodules/LocalAuth/Sources/LocalAuth.h
@@ -0,0 +1,19 @@
+//
+// LocalAuth.h
+// LocalAuth
+//
+// Created by Peter on 8/12/19.
+// Copyright © 2019 Telegram Messenger LLP. All rights reserved.
+//
+
+#import
+
+//! Project version number for LocalAuth.
+FOUNDATION_EXPORT double LocalAuthVersionNumber;
+
+//! Project version string for LocalAuth.
+FOUNDATION_EXPORT const unsigned char LocalAuthVersionString[];
+
+// In this header, you should import all the public headers of your framework using statements like #import
+
+
diff --git a/submodules/TelegramUI/TelegramUI/LocalAuth.swift b/submodules/LocalAuth/Sources/LocalAuth.swift
similarity index 88%
rename from submodules/TelegramUI/TelegramUI/LocalAuth.swift
rename to submodules/LocalAuth/Sources/LocalAuth.swift
index ffd7045f96..6b7ef0aebf 100644
--- a/submodules/TelegramUI/TelegramUI/LocalAuth.swift
+++ b/submodules/LocalAuth/Sources/LocalAuth.swift
@@ -2,13 +2,13 @@ import Foundation
import LocalAuthentication
import SwiftSignalKit
-enum LocalAuthBiometricAuthentication {
+public enum LocalAuthBiometricAuthentication {
case touchId
case faceId
}
-struct LocalAuth {
- static let biometricAuthentication: LocalAuthBiometricAuthentication? = {
+public struct LocalAuth {
+ public static let biometricAuthentication: LocalAuthBiometricAuthentication? = {
let context = LAContext()
if context.canEvaluatePolicy(LAPolicy(rawValue: Int(kLAPolicyDeviceOwnerAuthenticationWithBiometrics))!, error: nil) {
if #available(iOSApplicationExtension 11.0, iOS 11.0, *) {
@@ -28,7 +28,7 @@ struct LocalAuth {
}
}()
- static let evaluatedPolicyDomainState: Data? = {
+ public static let evaluatedPolicyDomainState: Data? = {
let context = LAContext()
if context.canEvaluatePolicy(LAPolicy(rawValue: Int(kLAPolicyDeviceOwnerAuthenticationWithBiometrics))!, error: nil) {
if #available(iOSApplicationExtension 9.0, iOS 9.0, *) {
@@ -40,7 +40,7 @@ struct LocalAuth {
return nil
}()
- static func auth(reason: String) -> Signal<(Bool, Data?), NoError> {
+ public static func auth(reason: String) -> Signal<(Bool, Data?), NoError> {
return Signal { subscriber in
let context = LAContext()
diff --git a/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj b/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj
index 322e103024..7738fbad24 100644
--- a/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj
+++ b/submodules/SearchBarNode/SearchBarNode_Xcode.xcodeproj/project.pbxproj
@@ -458,6 +458,92 @@
};
name = DebugHockeyapp;
};
+ D0C9C7EC230205FE00FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ SWIFT_COMPILATION_MODE = wholemodule;
+ SWIFT_OPTIMIZATION_LEVEL = "-O";
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+ D0C9C7ED230205FE00FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.SearchBarNode;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseHockeyappInternal;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -467,6 +553,7 @@
D0C9C2C62300A21900FAB518 /* DebugAppStoreLLC */,
D0C9C2E22300A3E700FAB518 /* DebugHockeyapp */,
D0C9C2C72300A21900FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C7EC230205FE00FAB518 /* ReleaseHockeyappInternal */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = ReleaseAppStoreLLC;
@@ -477,6 +564,7 @@
D0C9C2C92300A21900FAB518 /* DebugAppStoreLLC */,
D0C9C2E32300A3E700FAB518 /* DebugHockeyapp */,
D0C9C2CA2300A21900FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C7ED230205FE00FAB518 /* ReleaseHockeyappInternal */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = ReleaseAppStoreLLC;
diff --git a/submodules/Stripe/Info.plist b/submodules/Stripe/Info.plist
new file mode 100644
index 0000000000..e1fe4cfb7b
--- /dev/null
+++ b/submodules/Stripe/Info.plist
@@ -0,0 +1,22 @@
+
+
+
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ $(PRODUCT_NAME)
+ CFBundlePackageType
+ FMWK
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ $(CURRENT_PROJECT_VERSION)
+
+
diff --git a/submodules/TelegramUI/TelegramUI/NSDictionary+Stripe.h b/submodules/Stripe/Sources/NSDictionary+Stripe.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/NSDictionary+Stripe.h
rename to submodules/Stripe/Sources/NSDictionary+Stripe.h
diff --git a/submodules/TelegramUI/TelegramUI/NSDictionary+Stripe.m b/submodules/Stripe/Sources/NSDictionary+Stripe.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/NSDictionary+Stripe.m
rename to submodules/Stripe/Sources/NSDictionary+Stripe.m
diff --git a/submodules/TelegramUI/TelegramUI/NSString+Stripe.h b/submodules/Stripe/Sources/NSString+Stripe.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/NSString+Stripe.h
rename to submodules/Stripe/Sources/NSString+Stripe.h
diff --git a/submodules/TelegramUI/TelegramUI/NSString+Stripe.m b/submodules/Stripe/Sources/NSString+Stripe.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/NSString+Stripe.m
rename to submodules/Stripe/Sources/NSString+Stripe.m
diff --git a/submodules/TelegramUI/TelegramUI/NSString+Stripe_CardBrands.h b/submodules/Stripe/Sources/NSString+Stripe_CardBrands.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/NSString+Stripe_CardBrands.h
rename to submodules/Stripe/Sources/NSString+Stripe_CardBrands.h
diff --git a/submodules/TelegramUI/TelegramUI/NSString+Stripe_CardBrands.m b/submodules/Stripe/Sources/NSString+Stripe_CardBrands.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/NSString+Stripe_CardBrands.m
rename to submodules/Stripe/Sources/NSString+Stripe_CardBrands.m
diff --git a/submodules/TelegramUI/TelegramUI/PKPayment+Stripe.h b/submodules/Stripe/Sources/PKPayment+Stripe.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/PKPayment+Stripe.h
rename to submodules/Stripe/Sources/PKPayment+Stripe.h
diff --git a/submodules/TelegramUI/TelegramUI/PKPayment+Stripe.m b/submodules/Stripe/Sources/PKPayment+Stripe.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/PKPayment+Stripe.m
rename to submodules/Stripe/Sources/PKPayment+Stripe.m
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIClient+ApplePay.h b/submodules/Stripe/Sources/STPAPIClient+ApplePay.h
similarity index 96%
rename from submodules/TelegramUI/TelegramUI/STPAPIClient+ApplePay.h
rename to submodules/Stripe/Sources/STPAPIClient+ApplePay.h
index 8485269120..033f7ff219 100755
--- a/submodules/TelegramUI/TelegramUI/STPAPIClient+ApplePay.h
+++ b/submodules/Stripe/Sources/STPAPIClient+ApplePay.h
@@ -8,7 +8,7 @@
#import
#import
-#import "STPAPIClient.h"
+#import
#define FAUXPAS_IGNORED_IN_FILE(...)
FAUXPAS_IGNORED_IN_FILE(APIAvailability)
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIClient+ApplePay.m b/submodules/Stripe/Sources/STPAPIClient+ApplePay.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAPIClient+ApplePay.m
rename to submodules/Stripe/Sources/STPAPIClient+ApplePay.m
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIClient+Private.h b/submodules/Stripe/Sources/STPAPIClient+Private.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAPIClient+Private.h
rename to submodules/Stripe/Sources/STPAPIClient+Private.h
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIClient.h b/submodules/Stripe/Sources/STPAPIClient.h
similarity index 99%
rename from submodules/TelegramUI/TelegramUI/STPAPIClient.h
rename to submodules/Stripe/Sources/STPAPIClient.h
index c7113f7852..f0c803097a 100755
--- a/submodules/TelegramUI/TelegramUI/STPAPIClient.h
+++ b/submodules/Stripe/Sources/STPAPIClient.h
@@ -8,8 +8,8 @@
#import
#import
-#import "STPBlocks.h"
-#import "STPCardBrand.h"
+#import
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIClient.m b/submodules/Stripe/Sources/STPAPIClient.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAPIClient.m
rename to submodules/Stripe/Sources/STPAPIClient.m
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIPostRequest.h b/submodules/Stripe/Sources/STPAPIPostRequest.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAPIPostRequest.h
rename to submodules/Stripe/Sources/STPAPIPostRequest.h
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIPostRequest.m b/submodules/Stripe/Sources/STPAPIPostRequest.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAPIPostRequest.m
rename to submodules/Stripe/Sources/STPAPIPostRequest.m
diff --git a/submodules/TelegramUI/TelegramUI/STPAPIResponseDecodable.h b/submodules/Stripe/Sources/STPAPIResponseDecodable.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAPIResponseDecodable.h
rename to submodules/Stripe/Sources/STPAPIResponseDecodable.h
diff --git a/submodules/TelegramUI/TelegramUI/STPAddress.h b/submodules/Stripe/Sources/STPAddress.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAddress.h
rename to submodules/Stripe/Sources/STPAddress.h
diff --git a/submodules/TelegramUI/TelegramUI/STPAddress.m b/submodules/Stripe/Sources/STPAddress.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPAddress.m
rename to submodules/Stripe/Sources/STPAddress.m
diff --git a/submodules/TelegramUI/TelegramUI/STPBINRange.h b/submodules/Stripe/Sources/STPBINRange.h
similarity index 94%
rename from submodules/TelegramUI/TelegramUI/STPBINRange.h
rename to submodules/Stripe/Sources/STPBINRange.h
index e66d83b289..d9d0e8c93e 100755
--- a/submodules/TelegramUI/TelegramUI/STPBINRange.h
+++ b/submodules/Stripe/Sources/STPBINRange.h
@@ -7,7 +7,7 @@
//
#import
-#import "STPCardBrand.h"
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPBINRange.m b/submodules/Stripe/Sources/STPBINRange.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPBINRange.m
rename to submodules/Stripe/Sources/STPBINRange.m
diff --git a/submodules/TelegramUI/TelegramUI/STPBackendAPIAdapter.h b/submodules/Stripe/Sources/STPBackendAPIAdapter.h
similarity index 97%
rename from submodules/TelegramUI/TelegramUI/STPBackendAPIAdapter.h
rename to submodules/Stripe/Sources/STPBackendAPIAdapter.h
index 9ce54dec20..f772eeed4b 100755
--- a/submodules/TelegramUI/TelegramUI/STPBackendAPIAdapter.h
+++ b/submodules/Stripe/Sources/STPBackendAPIAdapter.h
@@ -8,10 +8,10 @@
#import
#import
-#import "STPAddress.h"
-#import "STPBlocks.h"
-#import "STPSource.h"
-#import "STPCustomer.h"
+#import
+#import
+#import
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPBankAccount.h b/submodules/Stripe/Sources/STPBankAccount.h
similarity index 97%
rename from submodules/TelegramUI/TelegramUI/STPBankAccount.h
rename to submodules/Stripe/Sources/STPBankAccount.h
index 0e18773d83..a01b7565c7 100755
--- a/submodules/TelegramUI/TelegramUI/STPBankAccount.h
+++ b/submodules/Stripe/Sources/STPBankAccount.h
@@ -7,8 +7,8 @@
//
#import
-#import "STPBankAccountParams.h"
-#import "STPAPIResponseDecodable.h"
+#import
+#import
typedef NS_ENUM(NSInteger, STPBankAccountStatus) {
STPBankAccountStatusNew,
diff --git a/submodules/TelegramUI/TelegramUI/STPBankAccount.m b/submodules/Stripe/Sources/STPBankAccount.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPBankAccount.m
rename to submodules/Stripe/Sources/STPBankAccount.m
diff --git a/submodules/TelegramUI/TelegramUI/STPBankAccountParams.h b/submodules/Stripe/Sources/STPBankAccountParams.h
similarity index 97%
rename from submodules/TelegramUI/TelegramUI/STPBankAccountParams.h
rename to submodules/Stripe/Sources/STPBankAccountParams.h
index 9d22c4e71d..ada0add4e8 100755
--- a/submodules/TelegramUI/TelegramUI/STPBankAccountParams.h
+++ b/submodules/Stripe/Sources/STPBankAccountParams.h
@@ -7,7 +7,7 @@
//
#import
-#import "STPFormEncodable.h"
+#import
typedef NS_ENUM(NSInteger, STPBankAccountHolderType) {
STPBankAccountHolderTypeIndividual,
diff --git a/submodules/TelegramUI/TelegramUI/STPBankAccountParams.m b/submodules/Stripe/Sources/STPBankAccountParams.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPBankAccountParams.m
rename to submodules/Stripe/Sources/STPBankAccountParams.m
diff --git a/submodules/TelegramUI/TelegramUI/STPBlocks.h b/submodules/Stripe/Sources/STPBlocks.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPBlocks.h
rename to submodules/Stripe/Sources/STPBlocks.h
diff --git a/submodules/TelegramUI/TelegramUI/STPCard.h b/submodules/Stripe/Sources/STPCard.h
similarity index 97%
rename from submodules/TelegramUI/TelegramUI/STPCard.h
rename to submodules/Stripe/Sources/STPCard.h
index efd3b4e456..3db9a08e19 100755
--- a/submodules/TelegramUI/TelegramUI/STPCard.h
+++ b/submodules/Stripe/Sources/STPCard.h
@@ -8,11 +8,11 @@
#import
-#import "STPCardBrand.h"
-#import "STPCardParams.h"
-#import "STPAPIResponseDecodable.h"
-#import "STPPaymentMethod.h"
-#import "STPSource.h"
+#import
+#import
+#import
+#import
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPCard.m b/submodules/Stripe/Sources/STPCard.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPCard.m
rename to submodules/Stripe/Sources/STPCard.m
diff --git a/submodules/TelegramUI/TelegramUI/STPCardBrand.h b/submodules/Stripe/Sources/STPCardBrand.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPCardBrand.h
rename to submodules/Stripe/Sources/STPCardBrand.h
diff --git a/submodules/TelegramUI/TelegramUI/STPCardParams.h b/submodules/Stripe/Sources/STPCardParams.h
similarity index 98%
rename from submodules/TelegramUI/TelegramUI/STPCardParams.h
rename to submodules/Stripe/Sources/STPCardParams.h
index f1cf06d03f..926fb088d4 100755
--- a/submodules/TelegramUI/TelegramUI/STPCardParams.h
+++ b/submodules/Stripe/Sources/STPCardParams.h
@@ -7,9 +7,9 @@
//
#import
-#import "STPFormEncodable.h"
+#import
#if TARGET_OS_IPHONE
-#import "STPAddress.h"
+#import
#endif
/**
diff --git a/submodules/TelegramUI/TelegramUI/STPCardParams.m b/submodules/Stripe/Sources/STPCardParams.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPCardParams.m
rename to submodules/Stripe/Sources/STPCardParams.m
diff --git a/submodules/TelegramUI/TelegramUI/STPCardValidationState.h b/submodules/Stripe/Sources/STPCardValidationState.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPCardValidationState.h
rename to submodules/Stripe/Sources/STPCardValidationState.h
diff --git a/submodules/TelegramUI/TelegramUI/STPCardValidator.h b/submodules/Stripe/Sources/STPCardValidator.h
similarity index 98%
rename from submodules/TelegramUI/TelegramUI/STPCardValidator.h
rename to submodules/Stripe/Sources/STPCardValidator.h
index b01a224802..f6bc671b50 100755
--- a/submodules/TelegramUI/TelegramUI/STPCardValidator.h
+++ b/submodules/Stripe/Sources/STPCardValidator.h
@@ -8,9 +8,9 @@
#import
-#import "STPCardParams.h"
-#import "STPCardBrand.h"
-#import "STPCardValidationState.h"
+#import
+#import
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPCardValidator.m b/submodules/Stripe/Sources/STPCardValidator.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPCardValidator.m
rename to submodules/Stripe/Sources/STPCardValidator.m
diff --git a/submodules/TelegramUI/TelegramUI/STPCustomer.h b/submodules/Stripe/Sources/STPCustomer.h
similarity index 99%
rename from submodules/TelegramUI/TelegramUI/STPCustomer.h
rename to submodules/Stripe/Sources/STPCustomer.h
index 46c5a9f714..bfc14864ee 100755
--- a/submodules/TelegramUI/TelegramUI/STPCustomer.h
+++ b/submodules/Stripe/Sources/STPCustomer.h
@@ -7,7 +7,7 @@
//
#import
-#import "STPSource.h"
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPCustomer.m b/submodules/Stripe/Sources/STPCustomer.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPCustomer.m
rename to submodules/Stripe/Sources/STPCustomer.m
diff --git a/submodules/TelegramUI/TelegramUI/STPDelegateProxy.h b/submodules/Stripe/Sources/STPDelegateProxy.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPDelegateProxy.h
rename to submodules/Stripe/Sources/STPDelegateProxy.h
diff --git a/submodules/TelegramUI/TelegramUI/STPDelegateProxy.m b/submodules/Stripe/Sources/STPDelegateProxy.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPDelegateProxy.m
rename to submodules/Stripe/Sources/STPDelegateProxy.m
diff --git a/submodules/TelegramUI/TelegramUI/STPDispatchFunctions.h b/submodules/Stripe/Sources/STPDispatchFunctions.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPDispatchFunctions.h
rename to submodules/Stripe/Sources/STPDispatchFunctions.h
diff --git a/submodules/TelegramUI/TelegramUI/STPDispatchFunctions.m b/submodules/Stripe/Sources/STPDispatchFunctions.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPDispatchFunctions.m
rename to submodules/Stripe/Sources/STPDispatchFunctions.m
diff --git a/submodules/TelegramUI/TelegramUI/STPFormEncodable.h b/submodules/Stripe/Sources/STPFormEncodable.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPFormEncodable.h
rename to submodules/Stripe/Sources/STPFormEncodable.h
diff --git a/submodules/TelegramUI/TelegramUI/STPFormEncoder.h b/submodules/Stripe/Sources/STPFormEncoder.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPFormEncoder.h
rename to submodules/Stripe/Sources/STPFormEncoder.h
diff --git a/submodules/TelegramUI/TelegramUI/STPFormEncoder.m b/submodules/Stripe/Sources/STPFormEncoder.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPFormEncoder.m
rename to submodules/Stripe/Sources/STPFormEncoder.m
diff --git a/submodules/TelegramUI/TelegramUI/STPFormTextField.h b/submodules/Stripe/Sources/STPFormTextField.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPFormTextField.h
rename to submodules/Stripe/Sources/STPFormTextField.h
diff --git a/submodules/TelegramUI/TelegramUI/STPFormTextField.m b/submodules/Stripe/Sources/STPFormTextField.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPFormTextField.m
rename to submodules/Stripe/Sources/STPFormTextField.m
diff --git a/submodules/TelegramUI/TelegramUI/STPImageLibrary+Private.h b/submodules/Stripe/Sources/STPImageLibrary+Private.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPImageLibrary+Private.h
rename to submodules/Stripe/Sources/STPImageLibrary+Private.h
diff --git a/submodules/TelegramUI/TelegramUI/STPImageLibrary.h b/submodules/Stripe/Sources/STPImageLibrary.h
similarity index 97%
rename from submodules/TelegramUI/TelegramUI/STPImageLibrary.h
rename to submodules/Stripe/Sources/STPImageLibrary.h
index 7b773a4123..a15a044a84 100755
--- a/submodules/TelegramUI/TelegramUI/STPImageLibrary.h
+++ b/submodules/Stripe/Sources/STPImageLibrary.h
@@ -8,7 +8,7 @@
#import
#import
-#import "STPCardBrand.h"
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPImageLibrary.m b/submodules/Stripe/Sources/STPImageLibrary.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPImageLibrary.m
rename to submodules/Stripe/Sources/STPImageLibrary.m
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentCardTextField.h b/submodules/Stripe/Sources/STPPaymentCardTextField.h
similarity index 99%
rename from submodules/TelegramUI/TelegramUI/STPPaymentCardTextField.h
rename to submodules/Stripe/Sources/STPPaymentCardTextField.h
index e64b20b230..4a38d7f442 100755
--- a/submodules/TelegramUI/TelegramUI/STPPaymentCardTextField.h
+++ b/submodules/Stripe/Sources/STPPaymentCardTextField.h
@@ -8,7 +8,7 @@
#import
-#import "STPCard.h"
+#import
@class STPPaymentCardTextField;
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentCardTextField.m b/submodules/Stripe/Sources/STPPaymentCardTextField.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPaymentCardTextField.m
rename to submodules/Stripe/Sources/STPPaymentCardTextField.m
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentCardTextFieldViewModel.h b/submodules/Stripe/Sources/STPPaymentCardTextFieldViewModel.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPaymentCardTextFieldViewModel.h
rename to submodules/Stripe/Sources/STPPaymentCardTextFieldViewModel.h
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentCardTextFieldViewModel.m b/submodules/Stripe/Sources/STPPaymentCardTextFieldViewModel.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPaymentCardTextFieldViewModel.m
rename to submodules/Stripe/Sources/STPPaymentCardTextFieldViewModel.m
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentConfiguration+Private.h b/submodules/Stripe/Sources/STPPaymentConfiguration+Private.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPaymentConfiguration+Private.h
rename to submodules/Stripe/Sources/STPPaymentConfiguration+Private.h
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentConfiguration.h b/submodules/Stripe/Sources/STPPaymentConfiguration.h
similarity index 97%
rename from submodules/TelegramUI/TelegramUI/STPPaymentConfiguration.h
rename to submodules/Stripe/Sources/STPPaymentConfiguration.h
index 05f24962b4..252b34b57b 100755
--- a/submodules/TelegramUI/TelegramUI/STPPaymentConfiguration.h
+++ b/submodules/Stripe/Sources/STPPaymentConfiguration.h
@@ -7,8 +7,8 @@
//
#import
-#import "STPBackendAPIAdapter.h"
-#import "STPPaymentMethod.h"
+#import
+#import
NS_ASSUME_NONNULL_BEGIN
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentConfiguration.m b/submodules/Stripe/Sources/STPPaymentConfiguration.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPaymentConfiguration.m
rename to submodules/Stripe/Sources/STPPaymentConfiguration.m
diff --git a/submodules/TelegramUI/TelegramUI/STPPaymentMethod.h b/submodules/Stripe/Sources/STPPaymentMethod.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPaymentMethod.h
rename to submodules/Stripe/Sources/STPPaymentMethod.h
diff --git a/submodules/TelegramUI/TelegramUI/STPPhoneNumberValidator.h b/submodules/Stripe/Sources/STPPhoneNumberValidator.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPhoneNumberValidator.h
rename to submodules/Stripe/Sources/STPPhoneNumberValidator.h
diff --git a/submodules/TelegramUI/TelegramUI/STPPhoneNumberValidator.m b/submodules/Stripe/Sources/STPPhoneNumberValidator.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPhoneNumberValidator.m
rename to submodules/Stripe/Sources/STPPhoneNumberValidator.m
diff --git a/submodules/TelegramUI/TelegramUI/STPPostalCodeValidator.h b/submodules/Stripe/Sources/STPPostalCodeValidator.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPostalCodeValidator.h
rename to submodules/Stripe/Sources/STPPostalCodeValidator.h
diff --git a/submodules/TelegramUI/TelegramUI/STPPostalCodeValidator.m b/submodules/Stripe/Sources/STPPostalCodeValidator.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPPostalCodeValidator.m
rename to submodules/Stripe/Sources/STPPostalCodeValidator.m
diff --git a/submodules/TelegramUI/TelegramUI/STPSource.h b/submodules/Stripe/Sources/STPSource.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPSource.h
rename to submodules/Stripe/Sources/STPSource.h
diff --git a/submodules/TelegramUI/TelegramUI/STPToken.h b/submodules/Stripe/Sources/STPToken.h
similarity index 95%
rename from submodules/TelegramUI/TelegramUI/STPToken.h
rename to submodules/Stripe/Sources/STPToken.h
index d3956fd53b..ad44f21ecb 100755
--- a/submodules/TelegramUI/TelegramUI/STPToken.h
+++ b/submodules/Stripe/Sources/STPToken.h
@@ -7,8 +7,8 @@
//
#import
-#import "STPAPIResponseDecodable.h"
-#import "STPSource.h"
+#import
+#import
@class STPCard;
@class STPBankAccount;
diff --git a/submodules/TelegramUI/TelegramUI/STPToken.m b/submodules/Stripe/Sources/STPToken.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPToken.m
rename to submodules/Stripe/Sources/STPToken.m
diff --git a/submodules/TelegramUI/TelegramUI/STPWeakStrongMacros.h b/submodules/Stripe/Sources/STPWeakStrongMacros.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/STPWeakStrongMacros.h
rename to submodules/Stripe/Sources/STPWeakStrongMacros.h
diff --git a/submodules/Stripe/Sources/Stripe.h b/submodules/Stripe/Sources/Stripe.h
new file mode 100644
index 0000000000..3cac805037
--- /dev/null
+++ b/submodules/Stripe/Sources/Stripe.h
@@ -0,0 +1,30 @@
+#import
+
+//! Project version number for Stripe.
+FOUNDATION_EXPORT double StripeVersionNumber;
+
+//! Project version string for Stripe.
+FOUNDATION_EXPORT const unsigned char StripeVersionString[];
+
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
+#import
diff --git a/submodules/TelegramUI/TelegramUI/StripeError.h b/submodules/Stripe/Sources/StripeError.h
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/StripeError.h
rename to submodules/Stripe/Sources/StripeError.h
diff --git a/submodules/TelegramUI/TelegramUI/StripeError.m b/submodules/Stripe/Sources/StripeError.m
similarity index 100%
rename from submodules/TelegramUI/TelegramUI/StripeError.m
rename to submodules/Stripe/Sources/StripeError.m
diff --git a/submodules/Stripe/Stripe_Xcode.xcodeproj/project.pbxproj b/submodules/Stripe/Stripe_Xcode.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..6bc8b04909
--- /dev/null
+++ b/submodules/Stripe/Stripe_Xcode.xcodeproj/project.pbxproj
@@ -0,0 +1,788 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 50;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ D0C9C6E62301FE2600FAB518 /* Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6E42301FE2600FAB518 /* Stripe.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7222301FEBF00FAB518 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7202301FEBE00FAB518 /* Foundation.framework */; };
+ D0C9C72B2301FEC300FAB518 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7292301FEC200FAB518 /* UIKit.framework */; };
+ D0C9C7372301FEC800FAB518 /* STPFormEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6F02301FEA900FAB518 /* STPFormEncoder.h */; };
+ D0C9C7382301FEC800FAB518 /* STPPaymentConfiguration+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6F12301FEAA00FAB518 /* STPPaymentConfiguration+Private.h */; };
+ D0C9C7392301FEC800FAB518 /* STPAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C6F22301FEAA00FAB518 /* STPAPIClient.m */; };
+ D0C9C73A2301FEC800FAB518 /* STPBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6F32301FEAA00FAB518 /* STPBlocks.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C73B2301FEC800FAB518 /* STPPhoneNumberValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6F42301FEAA00FAB518 /* STPPhoneNumberValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C73C2301FEC800FAB518 /* STPAPIPostRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C6F52301FEAB00FAB518 /* STPAPIPostRequest.m */; };
+ D0C9C73D2301FEC800FAB518 /* STPPostalCodeValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6F62301FEAB00FAB518 /* STPPostalCodeValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C73E2301FEC800FAB518 /* NSDictionary+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C6F72301FEAB00FAB518 /* NSDictionary+Stripe.m */; };
+ D0C9C73F2301FEC800FAB518 /* STPCustomer.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6F82301FEAB00FAB518 /* STPCustomer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7402301FEC800FAB518 /* STPCustomer.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C6F92301FEAC00FAB518 /* STPCustomer.m */; };
+ D0C9C7412301FEC800FAB518 /* PKPayment+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C6FA2301FEAC00FAB518 /* PKPayment+Stripe.m */; };
+ D0C9C7422301FEC800FAB518 /* NSString+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6FB2301FEAC00FAB518 /* NSString+Stripe.h */; };
+ D0C9C7432301FEC800FAB518 /* STPCard.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6FC2301FEAC00FAB518 /* STPCard.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7442301FEC800FAB518 /* STPDispatchFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6FD2301FEAD00FAB518 /* STPDispatchFunctions.h */; };
+ D0C9C7452301FEC800FAB518 /* STPAPIClient+ApplePay.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6FE2301FEAD00FAB518 /* STPAPIClient+ApplePay.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7462301FEC800FAB518 /* STPPaymentCardTextFieldViewModel.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C6FF2301FEAD00FAB518 /* STPPaymentCardTextFieldViewModel.h */; };
+ D0C9C7472301FEC800FAB518 /* STPPaymentMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7002301FEAE00FAB518 /* STPPaymentMethod.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7482301FEC800FAB518 /* STPImageLibrary+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7012301FEAE00FAB518 /* STPImageLibrary+Private.h */; };
+ D0C9C7492301FEC800FAB518 /* STPCardParams.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7022301FEAF00FAB518 /* STPCardParams.m */; };
+ D0C9C74A2301FEC800FAB518 /* STPCardValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7032301FEAF00FAB518 /* STPCardValidator.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C74B2301FEC800FAB518 /* STPAPIClient.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7042301FEAF00FAB518 /* STPAPIClient.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C74C2301FEC800FAB518 /* STPAPIClient+ApplePay.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7052301FEB000FAB518 /* STPAPIClient+ApplePay.m */; };
+ D0C9C74D2301FEC800FAB518 /* STPBankAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7062301FEB000FAB518 /* STPBankAccount.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C74E2301FEC800FAB518 /* STPCardBrand.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7072301FEB000FAB518 /* STPCardBrand.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C74F2301FEC800FAB518 /* STPCard.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7082301FEB100FAB518 /* STPCard.m */; };
+ D0C9C7502301FEC800FAB518 /* STPDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7092301FEB100FAB518 /* STPDelegateProxy.h */; };
+ D0C9C7512301FEC800FAB518 /* STPPaymentCardTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C70A2301FEB200FAB518 /* STPPaymentCardTextField.m */; };
+ D0C9C7522301FEC800FAB518 /* STPPaymentCardTextFieldViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C70B2301FEB200FAB518 /* STPPaymentCardTextFieldViewModel.m */; };
+ D0C9C7532301FEC800FAB518 /* STPToken.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C70C2301FEB200FAB518 /* STPToken.m */; };
+ D0C9C7542301FEC800FAB518 /* STPPaymentConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C70D2301FEB300FAB518 /* STPPaymentConfiguration.m */; };
+ D0C9C7552301FEC800FAB518 /* STPBINRange.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C70E2301FEB300FAB518 /* STPBINRange.m */; };
+ D0C9C7562301FEC800FAB518 /* NSString+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C70F2301FEB400FAB518 /* NSString+Stripe.m */; };
+ D0C9C7572301FEC800FAB518 /* STPPhoneNumberValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7102301FEB400FAB518 /* STPPhoneNumberValidator.m */; };
+ D0C9C7582301FEC800FAB518 /* STPImageLibrary.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7112301FEB400FAB518 /* STPImageLibrary.m */; };
+ D0C9C7592301FEC800FAB518 /* STPFormEncodable.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7122301FEB500FAB518 /* STPFormEncodable.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C75A2301FEC800FAB518 /* PKPayment+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7132301FEB500FAB518 /* PKPayment+Stripe.h */; };
+ D0C9C75B2301FEC800FAB518 /* STPCardValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7142301FEB600FAB518 /* STPCardValidator.m */; };
+ D0C9C75C2301FEC800FAB518 /* STPWeakStrongMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7152301FEB700FAB518 /* STPWeakStrongMacros.h */; };
+ D0C9C75D2301FEC800FAB518 /* STPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7162301FEB700FAB518 /* STPAddress.m */; };
+ D0C9C75E2301FEC800FAB518 /* STPBankAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7172301FEB800FAB518 /* STPBankAccount.m */; };
+ D0C9C75F2301FEC800FAB518 /* StripeError.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7182301FEB800FAB518 /* StripeError.m */; };
+ D0C9C7602301FEC800FAB518 /* STPToken.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7192301FEBA00FAB518 /* STPToken.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7612301FEC800FAB518 /* NSString+Stripe_CardBrands.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C71A2301FEBA00FAB518 /* NSString+Stripe_CardBrands.h */; };
+ D0C9C7622301FEC800FAB518 /* STPCardValidationState.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C71B2301FEBA00FAB518 /* STPCardValidationState.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7632301FEC800FAB518 /* STPBankAccountParams.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C71C2301FEBB00FAB518 /* STPBankAccountParams.m */; };
+ D0C9C7642301FEC800FAB518 /* STPFormTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C71D2301FEBB00FAB518 /* STPFormTextField.m */; };
+ D0C9C7652301FEC800FAB518 /* STPCardParams.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C71F2301FEBD00FAB518 /* STPCardParams.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7662301FEC800FAB518 /* STPAPIClient+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7212301FEBF00FAB518 /* STPAPIClient+Private.h */; };
+ D0C9C7672301FEC800FAB518 /* STPPostalCodeValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7232301FEBF00FAB518 /* STPPostalCodeValidator.m */; };
+ D0C9C7682301FEC800FAB518 /* STPAPIPostRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7242301FEC000FAB518 /* STPAPIPostRequest.h */; };
+ D0C9C7692301FEC800FAB518 /* STPDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7252301FEC000FAB518 /* STPDelegateProxy.m */; };
+ D0C9C76A2301FEC800FAB518 /* STPAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7262301FEC100FAB518 /* STPAddress.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C76B2301FEC800FAB518 /* STPBINRange.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7272301FEC200FAB518 /* STPBINRange.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C76C2301FEC800FAB518 /* STPSource.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7282301FEC200FAB518 /* STPSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C76D2301FEC800FAB518 /* STPPaymentCardTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C72A2301FEC300FAB518 /* STPPaymentCardTextField.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C76E2301FEC800FAB518 /* STPFormTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C72C2301FEC300FAB518 /* STPFormTextField.h */; };
+ D0C9C76F2301FEC800FAB518 /* STPFormEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C72D2301FEC400FAB518 /* STPFormEncoder.m */; };
+ D0C9C7702301FEC800FAB518 /* STPDispatchFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C72E2301FEC400FAB518 /* STPDispatchFunctions.m */; };
+ D0C9C7712301FEC800FAB518 /* STPImageLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C72F2301FEC500FAB518 /* STPImageLibrary.h */; };
+ D0C9C7722301FEC800FAB518 /* NSDictionary+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7302301FEC500FAB518 /* NSDictionary+Stripe.h */; };
+ D0C9C7732301FEC800FAB518 /* STPBackendAPIAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7312301FEC600FAB518 /* STPBackendAPIAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7742301FEC800FAB518 /* STPBankAccountParams.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7322301FEC600FAB518 /* STPBankAccountParams.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7752301FEC800FAB518 /* NSString+Stripe_CardBrands.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C9C7332301FEC600FAB518 /* NSString+Stripe_CardBrands.m */; };
+ D0C9C7762301FEC800FAB518 /* STPAPIResponseDecodable.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7342301FEC700FAB518 /* STPAPIResponseDecodable.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7772301FEC800FAB518 /* StripeError.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7352301FEC700FAB518 /* StripeError.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D0C9C7782301FEC800FAB518 /* STPPaymentConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C9C7362301FEC700FAB518 /* STPPaymentConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ D0C9C6E12301FE2600FAB518 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C6E42301FE2600FAB518 /* Stripe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Stripe.h; sourceTree = ""; };
+ D0C9C6E52301FE2600FAB518 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ D0C9C6F02301FEA900FAB518 /* STPFormEncoder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPFormEncoder.h; sourceTree = ""; };
+ D0C9C6F12301FEAA00FAB518 /* STPPaymentConfiguration+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "STPPaymentConfiguration+Private.h"; sourceTree = ""; };
+ D0C9C6F22301FEAA00FAB518 /* STPAPIClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPAPIClient.m; sourceTree = ""; };
+ D0C9C6F32301FEAA00FAB518 /* STPBlocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPBlocks.h; sourceTree = ""; };
+ D0C9C6F42301FEAA00FAB518 /* STPPhoneNumberValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPhoneNumberValidator.h; sourceTree = ""; };
+ D0C9C6F52301FEAB00FAB518 /* STPAPIPostRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPAPIPostRequest.m; sourceTree = ""; };
+ D0C9C6F62301FEAB00FAB518 /* STPPostalCodeValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPostalCodeValidator.h; sourceTree = ""; };
+ D0C9C6F72301FEAB00FAB518 /* NSDictionary+Stripe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Stripe.m"; sourceTree = ""; };
+ D0C9C6F82301FEAB00FAB518 /* STPCustomer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCustomer.h; sourceTree = ""; };
+ D0C9C6F92301FEAC00FAB518 /* STPCustomer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCustomer.m; sourceTree = ""; };
+ D0C9C6FA2301FEAC00FAB518 /* PKPayment+Stripe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "PKPayment+Stripe.m"; sourceTree = ""; };
+ D0C9C6FB2301FEAC00FAB518 /* NSString+Stripe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Stripe.h"; sourceTree = ""; };
+ D0C9C6FC2301FEAC00FAB518 /* STPCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCard.h; sourceTree = ""; };
+ D0C9C6FD2301FEAD00FAB518 /* STPDispatchFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPDispatchFunctions.h; sourceTree = ""; };
+ D0C9C6FE2301FEAD00FAB518 /* STPAPIClient+ApplePay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "STPAPIClient+ApplePay.h"; sourceTree = ""; };
+ D0C9C6FF2301FEAD00FAB518 /* STPPaymentCardTextFieldViewModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPaymentCardTextFieldViewModel.h; sourceTree = ""; };
+ D0C9C7002301FEAE00FAB518 /* STPPaymentMethod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPaymentMethod.h; sourceTree = ""; };
+ D0C9C7012301FEAE00FAB518 /* STPImageLibrary+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "STPImageLibrary+Private.h"; sourceTree = ""; };
+ D0C9C7022301FEAF00FAB518 /* STPCardParams.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCardParams.m; sourceTree = ""; };
+ D0C9C7032301FEAF00FAB518 /* STPCardValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCardValidator.h; sourceTree = ""; };
+ D0C9C7042301FEAF00FAB518 /* STPAPIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPAPIClient.h; sourceTree = ""; };
+ D0C9C7052301FEB000FAB518 /* STPAPIClient+ApplePay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "STPAPIClient+ApplePay.m"; sourceTree = ""; };
+ D0C9C7062301FEB000FAB518 /* STPBankAccount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPBankAccount.h; sourceTree = ""; };
+ D0C9C7072301FEB000FAB518 /* STPCardBrand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCardBrand.h; sourceTree = ""; };
+ D0C9C7082301FEB100FAB518 /* STPCard.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCard.m; sourceTree = ""; };
+ D0C9C7092301FEB100FAB518 /* STPDelegateProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPDelegateProxy.h; sourceTree = ""; };
+ D0C9C70A2301FEB200FAB518 /* STPPaymentCardTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentCardTextField.m; sourceTree = ""; };
+ D0C9C70B2301FEB200FAB518 /* STPPaymentCardTextFieldViewModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentCardTextFieldViewModel.m; sourceTree = ""; };
+ D0C9C70C2301FEB200FAB518 /* STPToken.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPToken.m; sourceTree = ""; };
+ D0C9C70D2301FEB300FAB518 /* STPPaymentConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentConfiguration.m; sourceTree = ""; };
+ D0C9C70E2301FEB300FAB518 /* STPBINRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPBINRange.m; sourceTree = ""; };
+ D0C9C70F2301FEB400FAB518 /* NSString+Stripe.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Stripe.m"; sourceTree = ""; };
+ D0C9C7102301FEB400FAB518 /* STPPhoneNumberValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPhoneNumberValidator.m; sourceTree = ""; };
+ D0C9C7112301FEB400FAB518 /* STPImageLibrary.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPImageLibrary.m; sourceTree = ""; };
+ D0C9C7122301FEB500FAB518 /* STPFormEncodable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPFormEncodable.h; sourceTree = ""; };
+ D0C9C7132301FEB500FAB518 /* PKPayment+Stripe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "PKPayment+Stripe.h"; sourceTree = ""; };
+ D0C9C7142301FEB600FAB518 /* STPCardValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCardValidator.m; sourceTree = ""; };
+ D0C9C7152301FEB700FAB518 /* STPWeakStrongMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPWeakStrongMacros.h; sourceTree = ""; };
+ D0C9C7162301FEB700FAB518 /* STPAddress.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPAddress.m; sourceTree = ""; };
+ D0C9C7172301FEB800FAB518 /* STPBankAccount.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPBankAccount.m; sourceTree = ""; };
+ D0C9C7182301FEB800FAB518 /* StripeError.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StripeError.m; sourceTree = ""; };
+ D0C9C7192301FEBA00FAB518 /* STPToken.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPToken.h; sourceTree = ""; };
+ D0C9C71A2301FEBA00FAB518 /* NSString+Stripe_CardBrands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Stripe_CardBrands.h"; sourceTree = ""; };
+ D0C9C71B2301FEBA00FAB518 /* STPCardValidationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCardValidationState.h; sourceTree = ""; };
+ D0C9C71C2301FEBB00FAB518 /* STPBankAccountParams.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPBankAccountParams.m; sourceTree = ""; };
+ D0C9C71D2301FEBB00FAB518 /* STPFormTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPFormTextField.m; sourceTree = ""; };
+ D0C9C71F2301FEBD00FAB518 /* STPCardParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCardParams.h; sourceTree = ""; };
+ D0C9C7202301FEBE00FAB518 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ D0C9C7212301FEBF00FAB518 /* STPAPIClient+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "STPAPIClient+Private.h"; sourceTree = ""; };
+ D0C9C7232301FEBF00FAB518 /* STPPostalCodeValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPostalCodeValidator.m; sourceTree = ""; };
+ D0C9C7242301FEC000FAB518 /* STPAPIPostRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPAPIPostRequest.h; sourceTree = ""; };
+ D0C9C7252301FEC000FAB518 /* STPDelegateProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPDelegateProxy.m; sourceTree = ""; };
+ D0C9C7262301FEC100FAB518 /* STPAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPAddress.h; sourceTree = ""; };
+ D0C9C7272301FEC200FAB518 /* STPBINRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPBINRange.h; sourceTree = ""; };
+ D0C9C7282301FEC200FAB518 /* STPSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPSource.h; sourceTree = ""; };
+ D0C9C7292301FEC200FAB518 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ D0C9C72A2301FEC300FAB518 /* STPPaymentCardTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPaymentCardTextField.h; sourceTree = ""; };
+ D0C9C72C2301FEC300FAB518 /* STPFormTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPFormTextField.h; sourceTree = ""; };
+ D0C9C72D2301FEC400FAB518 /* STPFormEncoder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPFormEncoder.m; sourceTree = ""; };
+ D0C9C72E2301FEC400FAB518 /* STPDispatchFunctions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPDispatchFunctions.m; sourceTree = ""; };
+ D0C9C72F2301FEC500FAB518 /* STPImageLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPImageLibrary.h; sourceTree = ""; };
+ D0C9C7302301FEC500FAB518 /* NSDictionary+Stripe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Stripe.h"; sourceTree = ""; };
+ D0C9C7312301FEC600FAB518 /* STPBackendAPIAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPBackendAPIAdapter.h; sourceTree = ""; };
+ D0C9C7322301FEC600FAB518 /* STPBankAccountParams.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPBankAccountParams.h; sourceTree = ""; };
+ D0C9C7332301FEC600FAB518 /* NSString+Stripe_CardBrands.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Stripe_CardBrands.m"; sourceTree = ""; };
+ D0C9C7342301FEC700FAB518 /* STPAPIResponseDecodable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPAPIResponseDecodable.h; sourceTree = ""; };
+ D0C9C7352301FEC700FAB518 /* StripeError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StripeError.h; sourceTree = ""; };
+ D0C9C7362301FEC700FAB518 /* STPPaymentConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPaymentConfiguration.h; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D0C9C6DE2301FE2600FAB518 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C72B2301FEC300FAB518 /* UIKit.framework in Frameworks */,
+ D0C9C7222301FEBF00FAB518 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ D0C9C6D72301FE2600FAB518 = {
+ isa = PBXGroup;
+ children = (
+ D0C9C6E52301FE2600FAB518 /* Info.plist */,
+ D0C9C6E32301FE2600FAB518 /* Sources */,
+ D0C9C6E22301FE2600FAB518 /* Products */,
+ D0C9C71E2301FEBC00FAB518 /* Frameworks */,
+ );
+ sourceTree = "";
+ };
+ D0C9C6E22301FE2600FAB518 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C6E12301FE2600FAB518 /* Stripe.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ D0C9C6E32301FE2600FAB518 /* Sources */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7302301FEC500FAB518 /* NSDictionary+Stripe.h */,
+ D0C9C6F72301FEAB00FAB518 /* NSDictionary+Stripe.m */,
+ D0C9C71A2301FEBA00FAB518 /* NSString+Stripe_CardBrands.h */,
+ D0C9C7332301FEC600FAB518 /* NSString+Stripe_CardBrands.m */,
+ D0C9C6FB2301FEAC00FAB518 /* NSString+Stripe.h */,
+ D0C9C70F2301FEB400FAB518 /* NSString+Stripe.m */,
+ D0C9C7132301FEB500FAB518 /* PKPayment+Stripe.h */,
+ D0C9C6FA2301FEAC00FAB518 /* PKPayment+Stripe.m */,
+ D0C9C7262301FEC100FAB518 /* STPAddress.h */,
+ D0C9C7162301FEB700FAB518 /* STPAddress.m */,
+ D0C9C7042301FEAF00FAB518 /* STPAPIClient.h */,
+ D0C9C6F22301FEAA00FAB518 /* STPAPIClient.m */,
+ D0C9C6FE2301FEAD00FAB518 /* STPAPIClient+ApplePay.h */,
+ D0C9C7052301FEB000FAB518 /* STPAPIClient+ApplePay.m */,
+ D0C9C7212301FEBF00FAB518 /* STPAPIClient+Private.h */,
+ D0C9C7242301FEC000FAB518 /* STPAPIPostRequest.h */,
+ D0C9C6F52301FEAB00FAB518 /* STPAPIPostRequest.m */,
+ D0C9C7342301FEC700FAB518 /* STPAPIResponseDecodable.h */,
+ D0C9C7312301FEC600FAB518 /* STPBackendAPIAdapter.h */,
+ D0C9C7062301FEB000FAB518 /* STPBankAccount.h */,
+ D0C9C7172301FEB800FAB518 /* STPBankAccount.m */,
+ D0C9C7322301FEC600FAB518 /* STPBankAccountParams.h */,
+ D0C9C71C2301FEBB00FAB518 /* STPBankAccountParams.m */,
+ D0C9C7272301FEC200FAB518 /* STPBINRange.h */,
+ D0C9C70E2301FEB300FAB518 /* STPBINRange.m */,
+ D0C9C6F32301FEAA00FAB518 /* STPBlocks.h */,
+ D0C9C6FC2301FEAC00FAB518 /* STPCard.h */,
+ D0C9C7082301FEB100FAB518 /* STPCard.m */,
+ D0C9C7072301FEB000FAB518 /* STPCardBrand.h */,
+ D0C9C71F2301FEBD00FAB518 /* STPCardParams.h */,
+ D0C9C7022301FEAF00FAB518 /* STPCardParams.m */,
+ D0C9C71B2301FEBA00FAB518 /* STPCardValidationState.h */,
+ D0C9C7032301FEAF00FAB518 /* STPCardValidator.h */,
+ D0C9C7142301FEB600FAB518 /* STPCardValidator.m */,
+ D0C9C6F82301FEAB00FAB518 /* STPCustomer.h */,
+ D0C9C6F92301FEAC00FAB518 /* STPCustomer.m */,
+ D0C9C7092301FEB100FAB518 /* STPDelegateProxy.h */,
+ D0C9C7252301FEC000FAB518 /* STPDelegateProxy.m */,
+ D0C9C6FD2301FEAD00FAB518 /* STPDispatchFunctions.h */,
+ D0C9C72E2301FEC400FAB518 /* STPDispatchFunctions.m */,
+ D0C9C7122301FEB500FAB518 /* STPFormEncodable.h */,
+ D0C9C6F02301FEA900FAB518 /* STPFormEncoder.h */,
+ D0C9C72D2301FEC400FAB518 /* STPFormEncoder.m */,
+ D0C9C72C2301FEC300FAB518 /* STPFormTextField.h */,
+ D0C9C71D2301FEBB00FAB518 /* STPFormTextField.m */,
+ D0C9C72F2301FEC500FAB518 /* STPImageLibrary.h */,
+ D0C9C7112301FEB400FAB518 /* STPImageLibrary.m */,
+ D0C9C7012301FEAE00FAB518 /* STPImageLibrary+Private.h */,
+ D0C9C72A2301FEC300FAB518 /* STPPaymentCardTextField.h */,
+ D0C9C70A2301FEB200FAB518 /* STPPaymentCardTextField.m */,
+ D0C9C6FF2301FEAD00FAB518 /* STPPaymentCardTextFieldViewModel.h */,
+ D0C9C70B2301FEB200FAB518 /* STPPaymentCardTextFieldViewModel.m */,
+ D0C9C7362301FEC700FAB518 /* STPPaymentConfiguration.h */,
+ D0C9C70D2301FEB300FAB518 /* STPPaymentConfiguration.m */,
+ D0C9C6F12301FEAA00FAB518 /* STPPaymentConfiguration+Private.h */,
+ D0C9C7002301FEAE00FAB518 /* STPPaymentMethod.h */,
+ D0C9C6F42301FEAA00FAB518 /* STPPhoneNumberValidator.h */,
+ D0C9C7102301FEB400FAB518 /* STPPhoneNumberValidator.m */,
+ D0C9C6F62301FEAB00FAB518 /* STPPostalCodeValidator.h */,
+ D0C9C7232301FEBF00FAB518 /* STPPostalCodeValidator.m */,
+ D0C9C7282301FEC200FAB518 /* STPSource.h */,
+ D0C9C7192301FEBA00FAB518 /* STPToken.h */,
+ D0C9C70C2301FEB200FAB518 /* STPToken.m */,
+ D0C9C7152301FEB700FAB518 /* STPWeakStrongMacros.h */,
+ D0C9C7352301FEC700FAB518 /* StripeError.h */,
+ D0C9C7182301FEB800FAB518 /* StripeError.m */,
+ D0C9C6E42301FE2600FAB518 /* Stripe.h */,
+ );
+ path = Sources;
+ sourceTree = "";
+ };
+ D0C9C71E2301FEBC00FAB518 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ D0C9C7292301FEC200FAB518 /* UIKit.framework */,
+ D0C9C7202301FEBE00FAB518 /* Foundation.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D0C9C6DC2301FE2600FAB518 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C7482301FEC800FAB518 /* STPImageLibrary+Private.h in Headers */,
+ D0C9C7742301FEC800FAB518 /* STPBankAccountParams.h in Headers */,
+ D0C9C7452301FEC800FAB518 /* STPAPIClient+ApplePay.h in Headers */,
+ D0C9C7732301FEC800FAB518 /* STPBackendAPIAdapter.h in Headers */,
+ D0C9C73B2301FEC800FAB518 /* STPPhoneNumberValidator.h in Headers */,
+ D0C9C76E2301FEC800FAB518 /* STPFormTextField.h in Headers */,
+ D0C9C7762301FEC800FAB518 /* STPAPIResponseDecodable.h in Headers */,
+ D0C9C7502301FEC800FAB518 /* STPDelegateProxy.h in Headers */,
+ D0C9C7422301FEC800FAB518 /* NSString+Stripe.h in Headers */,
+ D0C9C74B2301FEC800FAB518 /* STPAPIClient.h in Headers */,
+ D0C9C7772301FEC800FAB518 /* StripeError.h in Headers */,
+ D0C9C76C2301FEC800FAB518 /* STPSource.h in Headers */,
+ D0C9C76D2301FEC800FAB518 /* STPPaymentCardTextField.h in Headers */,
+ D0C9C7722301FEC800FAB518 /* NSDictionary+Stripe.h in Headers */,
+ D0C9C7442301FEC800FAB518 /* STPDispatchFunctions.h in Headers */,
+ D0C9C75A2301FEC800FAB518 /* PKPayment+Stripe.h in Headers */,
+ D0C9C7652301FEC800FAB518 /* STPCardParams.h in Headers */,
+ D0C9C7682301FEC800FAB518 /* STPAPIPostRequest.h in Headers */,
+ D0C9C74E2301FEC800FAB518 /* STPCardBrand.h in Headers */,
+ D0C9C7592301FEC800FAB518 /* STPFormEncodable.h in Headers */,
+ D0C9C7602301FEC800FAB518 /* STPToken.h in Headers */,
+ D0C9C74A2301FEC800FAB518 /* STPCardValidator.h in Headers */,
+ D0C9C7662301FEC800FAB518 /* STPAPIClient+Private.h in Headers */,
+ D0C9C76A2301FEC800FAB518 /* STPAddress.h in Headers */,
+ D0C9C7622301FEC800FAB518 /* STPCardValidationState.h in Headers */,
+ D0C9C74D2301FEC800FAB518 /* STPBankAccount.h in Headers */,
+ D0C9C6E62301FE2600FAB518 /* Stripe.h in Headers */,
+ D0C9C7372301FEC800FAB518 /* STPFormEncoder.h in Headers */,
+ D0C9C75C2301FEC800FAB518 /* STPWeakStrongMacros.h in Headers */,
+ D0C9C7712301FEC800FAB518 /* STPImageLibrary.h in Headers */,
+ D0C9C73A2301FEC800FAB518 /* STPBlocks.h in Headers */,
+ D0C9C7382301FEC800FAB518 /* STPPaymentConfiguration+Private.h in Headers */,
+ D0C9C7472301FEC800FAB518 /* STPPaymentMethod.h in Headers */,
+ D0C9C7462301FEC800FAB518 /* STPPaymentCardTextFieldViewModel.h in Headers */,
+ D0C9C7432301FEC800FAB518 /* STPCard.h in Headers */,
+ D0C9C73F2301FEC800FAB518 /* STPCustomer.h in Headers */,
+ D0C9C7782301FEC800FAB518 /* STPPaymentConfiguration.h in Headers */,
+ D0C9C73D2301FEC800FAB518 /* STPPostalCodeValidator.h in Headers */,
+ D0C9C76B2301FEC800FAB518 /* STPBINRange.h in Headers */,
+ D0C9C7612301FEC800FAB518 /* NSString+Stripe_CardBrands.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D0C9C6E02301FE2600FAB518 /* Stripe */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = D0C9C6E92301FE2600FAB518 /* Build configuration list for PBXNativeTarget "Stripe" */;
+ buildPhases = (
+ D0C9C6DC2301FE2600FAB518 /* Headers */,
+ D0C9C6DD2301FE2600FAB518 /* Sources */,
+ D0C9C6DE2301FE2600FAB518 /* Frameworks */,
+ D0C9C6DF2301FE2600FAB518 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Stripe;
+ productName = Stripe;
+ productReference = D0C9C6E12301FE2600FAB518 /* Stripe.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ D0C9C6D82301FE2600FAB518 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ DefaultBuildSystemTypeForWorkspace = Latest;
+ LastUpgradeCheck = 1030;
+ ORGANIZATIONNAME = "Telegram Messenger LLP";
+ TargetAttributes = {
+ D0C9C6E02301FE2600FAB518 = {
+ CreatedOnToolsVersion = 10.3;
+ };
+ };
+ };
+ buildConfigurationList = D0C9C6DB2301FE2600FAB518 /* Build configuration list for PBXProject "Stripe_Xcode" */;
+ compatibilityVersion = "Xcode 9.3";
+ developmentRegion = en;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = D0C9C6D72301FE2600FAB518;
+ productRefGroup = D0C9C6E22301FE2600FAB518 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D0C9C6E02301FE2600FAB518 /* Stripe */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ D0C9C6DF2301FE2600FAB518 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D0C9C6DD2301FE2600FAB518 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ D0C9C73C2301FEC800FAB518 /* STPAPIPostRequest.m in Sources */,
+ D0C9C7692301FEC800FAB518 /* STPDelegateProxy.m in Sources */,
+ D0C9C7642301FEC800FAB518 /* STPFormTextField.m in Sources */,
+ D0C9C7542301FEC800FAB518 /* STPPaymentConfiguration.m in Sources */,
+ D0C9C7562301FEC800FAB518 /* NSString+Stripe.m in Sources */,
+ D0C9C75B2301FEC800FAB518 /* STPCardValidator.m in Sources */,
+ D0C9C7512301FEC800FAB518 /* STPPaymentCardTextField.m in Sources */,
+ D0C9C7702301FEC800FAB518 /* STPDispatchFunctions.m in Sources */,
+ D0C9C76F2301FEC800FAB518 /* STPFormEncoder.m in Sources */,
+ D0C9C7412301FEC800FAB518 /* PKPayment+Stripe.m in Sources */,
+ D0C9C7672301FEC800FAB518 /* STPPostalCodeValidator.m in Sources */,
+ D0C9C7402301FEC800FAB518 /* STPCustomer.m in Sources */,
+ D0C9C7752301FEC800FAB518 /* NSString+Stripe_CardBrands.m in Sources */,
+ D0C9C7492301FEC800FAB518 /* STPCardParams.m in Sources */,
+ D0C9C75D2301FEC800FAB518 /* STPAddress.m in Sources */,
+ D0C9C7532301FEC800FAB518 /* STPToken.m in Sources */,
+ D0C9C75E2301FEC800FAB518 /* STPBankAccount.m in Sources */,
+ D0C9C7522301FEC800FAB518 /* STPPaymentCardTextFieldViewModel.m in Sources */,
+ D0C9C7392301FEC800FAB518 /* STPAPIClient.m in Sources */,
+ D0C9C7572301FEC800FAB518 /* STPPhoneNumberValidator.m in Sources */,
+ D0C9C7632301FEC800FAB518 /* STPBankAccountParams.m in Sources */,
+ D0C9C7582301FEC800FAB518 /* STPImageLibrary.m in Sources */,
+ D0C9C7552301FEC800FAB518 /* STPBINRange.m in Sources */,
+ D0C9C74F2301FEC800FAB518 /* STPCard.m in Sources */,
+ D0C9C75F2301FEC800FAB518 /* StripeError.m in Sources */,
+ D0C9C73E2301FEC800FAB518 /* NSDictionary+Stripe.m in Sources */,
+ D0C9C74C2301FEC800FAB518 /* STPAPIClient+ApplePay.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ D0C9C6E72301FE2600FAB518 /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D0C9C6E82301FE2600FAB518 /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D0C9C6EA2301FE2600FAB518 /* DebugAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Stripe;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugAppStoreLLC;
+ };
+ D0C9C6EB2301FE2600FAB518 /* ReleaseAppStoreLLC */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Stripe;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseAppStoreLLC;
+ };
+ D0C9C6EC2301FE6300FAB518 /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+ MTL_FAST_MATH = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = DebugHockeyapp;
+ };
+ D0C9C6ED2301FE6300FAB518 /* DebugHockeyapp */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Stripe;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = DebugHockeyapp;
+ };
+ D0C9C6EE2301FE7300FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_ENABLE_OBJC_WEAK = YES;
+ CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_COMMA = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
+ CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+ CLANG_WARN_STRICT_PROTOTYPES = YES;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ CURRENT_PROJECT_VERSION = 1;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu11;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ MTL_FAST_MATH = YES;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ VERSIONING_SYSTEM = "apple-generic";
+ VERSION_INFO_PREFIX = "";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+ D0C9C6EF2301FE7300FAB518 /* ReleaseHockeyappInternal */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_STYLE = Manual;
+ DEFINES_MODULE = YES;
+ DEVELOPMENT_TEAM = "";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ DYLIB_INSTALL_NAME_BASE = "@rpath";
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ "@loader_path/Frameworks",
+ );
+ MACH_O_TYPE = staticlib;
+ PRODUCT_BUNDLE_IDENTIFIER = org.telegram.Stripe;
+ PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = ReleaseHockeyappInternal;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ D0C9C6DB2301FE2600FAB518 /* Build configuration list for PBXProject "Stripe_Xcode" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0C9C6E72301FE2600FAB518 /* DebugAppStoreLLC */,
+ D0C9C6EC2301FE6300FAB518 /* DebugHockeyapp */,
+ D0C9C6E82301FE2600FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C6EE2301FE7300FAB518 /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+ D0C9C6E92301FE2600FAB518 /* Build configuration list for PBXNativeTarget "Stripe" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ D0C9C6EA2301FE2600FAB518 /* DebugAppStoreLLC */,
+ D0C9C6ED2301FE6300FAB518 /* DebugHockeyapp */,
+ D0C9C6EB2301FE2600FAB518 /* ReleaseAppStoreLLC */,
+ D0C9C6EF2301FE7300FAB518 /* ReleaseHockeyappInternal */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = ReleaseAppStoreLLC;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = D0C9C6D82301FE2600FAB518 /* Project object */;
+}
diff --git a/submodules/TelegramUI/TelegramUI/ChatController.swift b/submodules/TelegramUI/TelegramUI/ChatController.swift
index c8c243011a..e0f9c6fb94 100644
--- a/submodules/TelegramUI/TelegramUI/ChatController.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatController.swift
@@ -33,6 +33,7 @@ import OpenInExternalAppUI
import LegacyUI
import InstantPageUI
import LocationUI
+import BotPaymentsUI
public enum ChatControllerPeekActions {
case standard
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift
index 4242e47eed..90caf793b9 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageAttachedContentNode.swift
@@ -305,20 +305,14 @@ final class ChatMessageAttachedContentNode: ASDisplayNode {
var contentMode: InteractiveMediaNodeContentMode = preferMediaAspectFilled ? .aspectFill : .aspectFit
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: context.account.peerId, message: message, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, strings: presentationData.strings)
@@ -540,7 +534,7 @@ final class ChatMessageAttachedContentNode: ASDisplayNode {
}
}
- statusSizeAndApply = statusLayout(context, presentationData, edited && !sentViaBot, viewCount, dateText, statusType, textConstrainedSize)
+ statusSizeAndApply = statusLayout(context, presentationData, edited, viewCount, dateText, statusType, textConstrainedSize)
}
default:
break
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift
index e9f3d1b96c..3f5b59ccac 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageBubbleItemNode.swift
@@ -39,8 +39,6 @@ private func contentNodeMessagesAndClassesForItem(_ item: ChatMessageItem) -> [(
} else if let action = media as? TelegramMediaAction {
if case .phoneCall = action.action {
result.append((message, ChatMessageCallBubbleContentNode.self))
- } else if case .phoneNumberRequest = action.action {
- result.append((message, ChatMessagePhoneNumberRequestContentNode.self))
} else {
result.append((message, ChatMessageActionBubbleContentNode.self))
}
@@ -856,20 +854,14 @@ class ChatMessageBubbleItemNode: ChatMessageItemView {
let message = item.content.firstMessage
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: item.context.account.peerId, message: message, dateTimeFormat: item.presentationData.dateTimeFormat, nameDisplayOrder: item.presentationData.nameDisplayOrder, strings: item.presentationData.strings)
@@ -886,7 +878,7 @@ class ChatMessageBubbleItemNode: ChatMessageItemView {
}
}
- mosaicStatusSizeAndApply = mosaicStatusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, CGSize(width: 200.0, height: CGFloat.greatestFiniteMagnitude))
+ mosaicStatusSizeAndApply = mosaicStatusLayout(item.context, item.presentationData, edited, viewCount, dateText, statusType, CGSize(width: 200.0, height: CGFloat.greatestFiniteMagnitude))
}
}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageContactBubbleContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageContactBubbleContentNode.swift
index 1ede92f814..5ba0d0481c 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageContactBubbleContentNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageContactBubbleContentNode.swift
@@ -140,20 +140,14 @@ class ChatMessageContactBubbleContentNode: ChatMessageBubbleContentNode {
let (textLayout, textApply) = makeTextLayout(TextNodeLayoutArguments(attributedString: textString, backgroundColor: nil, maximumNumberOfLines: 5, truncationType: .end, constrainedSize: CGSize(width: maxTextWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in item.message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = item.message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: item.context.account.peerId, message: item.message, dateTimeFormat: item.presentationData.dateTimeFormat, nameDisplayOrder: item.presentationData.nameDisplayOrder, strings: item.presentationData.strings)
@@ -179,7 +173,7 @@ class ChatMessageContactBubbleContentNode: ChatMessageBubbleContentNode {
var statusApply: ((Bool) -> Void)?
if let statusType = statusType {
- let (size, apply) = statusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, CGSize(width: constrainedSize.width, height: CGFloat.greatestFiniteMagnitude))
+ let (size, apply) = statusLayout(item.context, item.presentationData, edited, viewCount, dateText, statusType, CGSize(width: constrainedSize.width, height: CGFloat.greatestFiniteMagnitude))
statusSize = size
statusApply = apply
}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveFileNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveFileNode.swift
index 740746abae..fa5055e1f7 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveFileNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageInteractiveFileNode.swift
@@ -267,24 +267,18 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode {
if let statusType = dateAndStatusType {
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: context.account.peerId, message: message, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, strings: presentationData.strings)
- let (size, apply) = statusLayout(context, presentationData, edited && !sentViaBot, viewCount, dateText, statusType, constrainedSize)
+ let (size, apply) = statusLayout(context, presentationData, edited, viewCount, dateText, statusType, constrainedSize)
statusSize = size
statusApply = apply
}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageMapBubbleContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageMapBubbleContentNode.swift
index 611d12334f..275180a4a8 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageMapBubbleContentNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageMapBubbleContentNode.swift
@@ -172,20 +172,14 @@ class ChatMessageMapBubbleContentNode: ChatMessageBubbleContentNode {
let (textLayout, textApply) = makeTextLayout(TextNodeLayoutArguments(attributedString: textString, backgroundColor: nil, maximumNumberOfLines: 2, truncationType: .end, constrainedSize: CGSize(width: max(1.0, maxTextWidth), height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in item.message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = item.message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
if let selectedMedia = selectedMedia {
if selectedMedia.liveBroadcastingTimeout != nil {
@@ -231,7 +225,7 @@ class ChatMessageMapBubbleContentNode: ChatMessageBubbleContentNode {
var statusApply: ((Bool) -> Void)?
if let statusType = statusType {
- let (size, apply) = statusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, CGSize(width: constrainedSize.width, height: CGFloat.greatestFiniteMagnitude))
+ let (size, apply) = statusLayout(item.context, item.presentationData, edited, viewCount, dateText, statusType, CGSize(width: constrainedSize.width, height: CGFloat.greatestFiniteMagnitude))
statusSize = size
statusApply = apply
}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageMediaBubbleContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageMediaBubbleContentNode.swift
index 6926a26b28..dee7f10b5d 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageMediaBubbleContentNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageMediaBubbleContentNode.swift
@@ -152,23 +152,17 @@ class ChatMessageMediaBubbleContentNode: ChatMessageBubbleContentNode {
let (imageSize, imageApply) = finishLayout(boundingWidth - bubbleInsets.left - bubbleInsets.right)
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in item.message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
+ if let attribute = attribute as? EditedMessageAttribute {
if case .mosaic = preparePosition {
} else {
- edited = true
+ edited = !attribute.isHidden
}
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = item.message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: item.context.account.peerId, message: item.message, dateTimeFormat: item.presentationData.dateTimeFormat, nameDisplayOrder: item.presentationData.nameDisplayOrder, strings: item.presentationData.strings)
@@ -198,7 +192,7 @@ class ChatMessageMediaBubbleContentNode: ChatMessageBubbleContentNode {
var statusApply: ((Bool) -> Void)?
if let statusType = statusType {
- let (size, apply) = statusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, CGSize(width: imageSize.width - 30.0, height: CGFloat.greatestFiniteMagnitude))
+ let (size, apply) = statusLayout(item.context, item.presentationData, edited, viewCount, dateText, statusType, CGSize(width: imageSize.width - 30.0, height: CGFloat.greatestFiniteMagnitude))
statusSize = size
statusApply = apply
}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessagePhoneNumberRequestContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessagePhoneNumberRequestContentNode.swift
deleted file mode 100644
index 225ac8a0fa..0000000000
--- a/submodules/TelegramUI/TelegramUI/ChatMessagePhoneNumberRequestContentNode.swift
+++ /dev/null
@@ -1,203 +0,0 @@
-import Foundation
-import UIKit
-import AsyncDisplayKit
-import Display
-import SwiftSignalKit
-import Postbox
-import TelegramCore
-import TelegramPresentationData
-import UrlEscaping
-
-private let avatarFont = UIFont(name: ".SFCompactRounded-Semibold", size: 16.0)!
-
-private let titleFont = Font.medium(14.0)
-private let textFont = Font.regular(14.0)
-
-class ChatMessagePhoneNumberRequestContentNode: ChatMessageBubbleContentNode {
- private let dateAndStatusNode: ChatMessageDateAndStatusNode
- private let textNode: TextNode
-
- private let buttonNode: ChatMessageAttachedContentButtonNode
-
- required init() {
- self.dateAndStatusNode = ChatMessageDateAndStatusNode()
- self.textNode = TextNode()
- self.buttonNode = ChatMessageAttachedContentButtonNode()
-
- super.init()
-
- self.addSubnode(self.textNode)
- self.addSubnode(self.buttonNode)
-
- self.buttonNode.addTarget(self, action: #selector(self.buttonPressed), forControlEvents: .touchUpInside)
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func didLoad() {
- super.didLoad()
- }
-
- override func asyncLayoutContent() -> (_ item: ChatMessageBubbleContentItem, _ layoutConstants: ChatMessageItemLayoutConstants, _ preparePosition: ChatMessageBubblePreparePosition, _ messageSelection: Bool?, _ constrainedSize: CGSize) -> (ChatMessageBubbleContentProperties, CGSize?, CGFloat, (CGSize, ChatMessageBubbleContentPosition) -> (CGFloat, (CGFloat) -> (CGSize, (ListViewItemUpdateAnimation, Bool) -> Void))) {
- let statusLayout = self.dateAndStatusNode.asyncLayout()
- let makeTextLayout = TextNode.asyncLayout(self.textNode)
- let makeButtonLayout = ChatMessageAttachedContentButtonNode.asyncLayout(self.buttonNode)
-
- return { item, layoutConstants, _, _, constrainedSize in
- let text: String
- if item.message.effectivelyIncoming(item.context.account.peerId) {
- text = "\(item.message.author?.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder) ?? "") requests your phone number"
- } else {
- text = "You have requested phone number"
- }
-
- let textString = NSAttributedString(string: text, font: textFont, textColor: item.message.effectivelyIncoming(item.context.account.peerId) ? item.presentationData.theme.theme.chat.message.incoming.primaryTextColor : item.presentationData.theme.theme.chat.message.outgoing.primaryTextColor)
-
- let contentProperties = ChatMessageBubbleContentProperties(hidesSimpleAuthorHeader: false, headerSpacing: 0.0, hidesBackground: .never, forceFullCorners: false, forceAlignment: .none)
-
- return (contentProperties, nil, CGFloat.greatestFiniteMagnitude, { constrainedSize, position in
- let maxTextWidth = max(1.0, constrainedSize.width - layoutConstants.text.bubbleInsets.left - layoutConstants.text.bubbleInsets.right)
- let (textLayout, textApply) = makeTextLayout(TextNodeLayoutArguments(attributedString: textString, backgroundColor: nil, maximumNumberOfLines: 0, truncationType: .end, constrainedSize: CGSize(width: maxTextWidth, height: CGFloat.greatestFiniteMagnitude), alignment: .natural, cutout: nil, insets: UIEdgeInsets()))
-
- var edited = false
- var sentViaBot = false
- var viewCount: Int?
- for attribute in item.message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
- } else if let attribute = attribute as? ViewCountMessageAttribute {
- viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
- }
- }
- if let author = item.message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
-
- let dateText = stringForMessageTimestampStatus(accountPeerId: item.context.account.peerId, message: item.message, dateTimeFormat: item.presentationData.dateTimeFormat, nameDisplayOrder: item.presentationData.nameDisplayOrder, strings: item.presentationData.strings)
-
- let statusType: ChatMessageDateAndStatusType?
- switch position {
- case .linear(_, .None):
- if item.message.effectivelyIncoming(item.context.account.peerId) {
- statusType = .BubbleIncoming
- } else {
- if item.message.flags.contains(.Failed) {
- statusType = .BubbleOutgoing(.Failed)
- } else if item.message.flags.isSending && !item.message.isSentOrAcknowledged {
- statusType = .BubbleOutgoing(.Sending)
- } else {
- statusType = .BubbleOutgoing(.Sent(read: item.read))
- }
- }
- default:
- statusType = nil
- }
-
- var statusSize = CGSize()
- var statusApply: ((Bool) -> Void)?
-
- if let statusType = statusType {
- let (size, apply) = statusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, CGSize(width: constrainedSize.width, height: CGFloat.greatestFiniteMagnitude))
- statusSize = size
- statusApply = apply
- }
-
- let buttonImage: UIImage
- let buttonHighlightedImage: UIImage
- let titleColor: UIColor
- let titleHighlightedColor: UIColor
- if item.message.effectivelyIncoming(item.context.account.peerId) {
- buttonImage = PresentationResourcesChat.chatMessageAttachedContentButtonIncoming(item.presentationData.theme.theme)!
- buttonHighlightedImage = PresentationResourcesChat.chatMessageAttachedContentHighlightedButtonIncoming(item.presentationData.theme.theme)!
- titleColor = item.presentationData.theme.theme.chat.message.incoming.accentTextColor
-
- let bubbleColors = bubbleColorComponents(theme: item.presentationData.theme.theme, incoming: true, wallpaper: !item.presentationData.theme.wallpaper.isEmpty)
- titleHighlightedColor = bubbleColors.fill
- } else {
- buttonImage = PresentationResourcesChat.chatMessageAttachedContentButtonOutgoing(item.presentationData.theme.theme)!
- buttonHighlightedImage = PresentationResourcesChat.chatMessageAttachedContentHighlightedButtonOutgoing(item.presentationData.theme.theme)!
- titleColor = item.presentationData.theme.theme.chat.message.outgoing.accentTextColor
-
- let bubbleColors = bubbleColorComponents(theme: item.presentationData.theme.theme, incoming: false, wallpaper: !item.presentationData.theme.wallpaper.isEmpty)
- titleHighlightedColor = bubbleColors.fill
- }
-
- let (buttonWidth, continueLayout) = makeButtonLayout(constrainedSize.width, buttonImage, buttonHighlightedImage, nil, nil, "SHARE MY PHONE NUMBER", titleColor, titleHighlightedColor)
-
- var maxContentWidth: CGFloat = 0.0
- maxContentWidth = max(maxContentWidth, statusSize.width)
- maxContentWidth = max(maxContentWidth, textLayout.size.width)
- maxContentWidth = max(maxContentWidth, buttonWidth)
-
- let contentWidth = maxContentWidth + layoutConstants.text.bubbleInsets.right + 8.0
-
- return (contentWidth, { boundingWidth in
- let layoutSize: CGSize
- let statusFrame: CGRect
-
- let (buttonSize, buttonApply) = continueLayout(boundingWidth - layoutConstants.text.bubbleInsets.right * 2.0)
- let buttonSpacing: CGFloat = 4.0
-
- layoutSize = CGSize(width: contentWidth, height: layoutConstants.text.bubbleInsets.top + textLayout.size.height + 9.0 + statusSize.height + buttonSize.height + buttonSpacing)
- statusFrame = CGRect(origin: CGPoint(x: boundingWidth - statusSize.width - layoutConstants.text.bubbleInsets.right, y: layoutSize.height - statusSize.height - 9.0 - buttonSpacing - buttonSize.height), size: statusSize)
- let buttonFrame = CGRect(origin: CGPoint(x: layoutConstants.text.bubbleInsets.right, y: layoutSize.height - 9.0 - buttonSize.height), size: buttonSize)
-
- return (layoutSize, { [weak self] animation, _ in
- if let strongSelf = self {
- strongSelf.item = item
-
- let _ = textApply()
- let _ = buttonApply()
-
- strongSelf.textNode.frame = CGRect(origin: CGPoint(x: layoutConstants.text.bubbleInsets.left, y: layoutConstants.text.bubbleInsets.top), size: textLayout.size)
- strongSelf.buttonNode.frame = buttonFrame
-
- if let statusApply = statusApply {
- if strongSelf.dateAndStatusNode.supernode == nil {
- strongSelf.addSubnode(strongSelf.dateAndStatusNode)
- }
- var hasAnimation = true
- if case .None = animation {
- hasAnimation = false
- }
- statusApply(hasAnimation)
- strongSelf.dateAndStatusNode.frame = statusFrame
- } else if strongSelf.dateAndStatusNode.supernode != nil {
- strongSelf.dateAndStatusNode.removeFromSupernode()
- }
- }
- })
- })
- })
- }
- }
-
- override func animateInsertion(_ currentTimestamp: Double, duration: Double) {
- self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
- }
-
- override func animateAdded(_ currentTimestamp: Double, duration: Double) {
- self.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.2)
- }
-
- override func animateRemoved(_ currentTimestamp: Double, duration: Double) {
- self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.2, removeOnCompletion: false)
- }
-
- override func tapActionAtPoint(_ point: CGPoint, gesture: TapLongTapOrDoubleTapGesture) -> ChatMessageBubbleContentTapAction {
- if self.buttonNode.frame.contains(point) {
- //return .openMessage
- }
- return .none
- }
-
- @objc private func buttonPressed() {
- if let item = self.item {
- item.controllerInteraction.shareAccountContact()
- }
- }
-}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessagePollBubbleContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessagePollBubbleContentNode.swift
index 97b35afb97..27cf7b4aa9 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessagePollBubbleContentNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessagePollBubbleContentNode.swift
@@ -587,20 +587,14 @@ class ChatMessagePollBubbleContentNode: ChatMessageBubbleContentNode {
let textConstrainedSize = CGSize(width: constrainedSize.width - horizontalInset, height: constrainedSize.height)
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in item.message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = item.message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: item.context.account.peerId, message: item.message, dateTimeFormat: item.presentationData.dateTimeFormat, nameDisplayOrder: item.presentationData.nameDisplayOrder, strings: item.presentationData.strings)
@@ -626,7 +620,7 @@ class ChatMessagePollBubbleContentNode: ChatMessageBubbleContentNode {
var statusApply: ((Bool) -> Void)?
if let statusType = statusType {
- let (size, apply) = statusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, textConstrainedSize)
+ let (size, apply) = statusLayout(item.context, item.presentationData, edited, viewCount, dateText, statusType, textConstrainedSize)
statusSize = size
statusApply = apply
}
diff --git a/submodules/TelegramUI/TelegramUI/ChatMessageTextBubbleContentNode.swift b/submodules/TelegramUI/TelegramUI/ChatMessageTextBubbleContentNode.swift
index 5b18ac9aa0..27bc197848 100644
--- a/submodules/TelegramUI/TelegramUI/ChatMessageTextBubbleContentNode.swift
+++ b/submodules/TelegramUI/TelegramUI/ChatMessageTextBubbleContentNode.swift
@@ -95,20 +95,14 @@ class ChatMessageTextBubbleContentNode: ChatMessageBubbleContentNode {
let textConstrainedSize = CGSize(width: min(maxTextWidth, constrainedSize.width - horizontalInset), height: constrainedSize.height)
var edited = false
- var sentViaBot = false
var viewCount: Int?
for attribute in item.message.attributes {
- if let _ = attribute as? EditedMessageAttribute {
- edited = true
+ if let attribute = attribute as? EditedMessageAttribute {
+ edited = !attribute.isHidden
} else if let attribute = attribute as? ViewCountMessageAttribute {
viewCount = attribute.count
- } else if let _ = attribute as? InlineBotMessageAttribute {
- sentViaBot = true
}
}
- if let author = item.message.author as? TelegramUser, author.botInfo != nil || author.flags.contains(.isSupport) {
- sentViaBot = true
- }
let dateText = stringForMessageTimestampStatus(accountPeerId: item.context.account.peerId, message: item.message, dateTimeFormat: item.presentationData.dateTimeFormat, nameDisplayOrder: item.presentationData.nameDisplayOrder, strings: item.presentationData.strings)
@@ -134,7 +128,7 @@ class ChatMessageTextBubbleContentNode: ChatMessageBubbleContentNode {
var statusApply: ((Bool) -> Void)?
if let statusType = statusType {
- let (size, apply) = statusLayout(item.context, item.presentationData, edited && !sentViaBot, viewCount, dateText, statusType, textConstrainedSize)
+ let (size, apply) = statusLayout(item.context, item.presentationData, edited, viewCount, dateText, statusType, textConstrainedSize)
statusSize = size
statusApply = apply
}
diff --git a/submodules/TelegramUI/TelegramUI/PasscodeEntryController.swift b/submodules/TelegramUI/TelegramUI/PasscodeEntryController.swift
index 6c7a31de86..ce710c6c21 100644
--- a/submodules/TelegramUI/TelegramUI/PasscodeEntryController.swift
+++ b/submodules/TelegramUI/TelegramUI/PasscodeEntryController.swift
@@ -7,6 +7,7 @@ import Postbox
import TelegramPresentationData
import TelegramUIPreferences
import AccountContext
+import LocalAuth
final public class PasscodeEntryControllerPresentationArguments {
let animated: Bool
diff --git a/submodules/TelegramUI/TelegramUI/PasscodeEntryControllerNode.swift b/submodules/TelegramUI/TelegramUI/PasscodeEntryControllerNode.swift
index 47f0c67fb8..eedb3a847c 100644
--- a/submodules/TelegramUI/TelegramUI/PasscodeEntryControllerNode.swift
+++ b/submodules/TelegramUI/TelegramUI/PasscodeEntryControllerNode.swift
@@ -7,6 +7,7 @@ import Postbox
import TelegramCore
import TelegramPresentationData
import AccountContext
+import LocalAuth
private let titleFont = Font.regular(20.0)
private let subtitleFont = Font.regular(15.0)
diff --git a/submodules/TelegramUI/TelegramUI/PasscodeOptionsController.swift b/submodules/TelegramUI/TelegramUI/PasscodeOptionsController.swift
index b5974fa931..e90081f234 100644
--- a/submodules/TelegramUI/TelegramUI/PasscodeOptionsController.swift
+++ b/submodules/TelegramUI/TelegramUI/PasscodeOptionsController.swift
@@ -10,6 +10,7 @@ import TelegramPresentationData
import TelegramUIPreferences
import ItemListUI
import AccountContext
+import LocalAuth
private final class PasscodeOptionsControllerArguments {
let turnPasscodeOff: () -> Void
diff --git a/submodules/TelegramUI/TelegramUI/PrivacyAndSecurityController.swift b/submodules/TelegramUI/TelegramUI/PrivacyAndSecurityController.swift
index 4618f1bcdf..a1ddc1f992 100644
--- a/submodules/TelegramUI/TelegramUI/PrivacyAndSecurityController.swift
+++ b/submodules/TelegramUI/TelegramUI/PrivacyAndSecurityController.swift
@@ -10,6 +10,7 @@ import TelegramCallsUI
import ItemListUI
import AccountContext
import TelegramNotices
+import LocalAuth
private final class PrivacyAndSecurityControllerArguments {
let account: Account
diff --git a/submodules/TelegramUI/TelegramUI/SettingsSearchableItems.swift b/submodules/TelegramUI/TelegramUI/SettingsSearchableItems.swift
index 4bfbbd9ecf..3da1a75330 100644
--- a/submodules/TelegramUI/TelegramUI/SettingsSearchableItems.swift
+++ b/submodules/TelegramUI/TelegramUI/SettingsSearchableItems.swift
@@ -9,6 +9,7 @@ import TelegramCallsUI
import OverlayStatusController
import AccountContext
import PassportUI
+import LocalAuth
private let maximumNumberOfAccounts = 3
diff --git a/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap b/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap
index d97deded31..f861574e52 100644
--- a/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap
+++ b/submodules/TelegramUI/TelegramUI/TelegramUIPrivate/module.modulemap
@@ -1,12 +1,6 @@
module TelegramUIPrivateModule {
header "../../third-party/opusenc/opusenc.h"
header "../TGDataItem.h"
- header "../STPPaymentCardTextField.h"
- header "../STPAPIClient.h"
- header "../STPAPIClient+ApplePay.h"
- header "../STPPaymentConfiguration.h"
- header "../STPCard.h"
- header "../STPToken.h"
header "../SecretChatKeyVisualization.h"
header "../DeviceProximityManager.h"
header "../RaiseToListenActivator.h"
diff --git a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj
index ed41dddc32..b53068fd7f 100644
--- a/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj
+++ b/submodules/TelegramUI/TelegramUI_Xcode.xcodeproj/project.pbxproj
@@ -286,20 +286,8 @@
D04281FC200E61BC009DDE36 /* ChatRecentActionsInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04281FB200E61BC009DDE36 /* ChatRecentActionsInteraction.swift */; };
D04281FE200E639A009DDE36 /* ChatRecentActionsTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04281FD200E639A009DDE36 /* ChatRecentActionsTitleView.swift */; };
D0428200200E6A00009DDE36 /* ChatRecentActionsHistoryTransition.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04281FF200E6A00009DDE36 /* ChatRecentActionsHistoryTransition.swift */; };
- D0439B5B228EC4A00067E026 /* ChatMessagePhoneNumberRequestContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0439B5A228EC4A00067E026 /* ChatMessagePhoneNumberRequestContentNode.swift */; };
D04554A421B42982007A6DD9 /* ConfirmPhoneNumberController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04554A321B42982007A6DD9 /* ConfirmPhoneNumberController.swift */; };
- D0471B491EFD59170074D609 /* BotCheckoutControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B481EFD59170074D609 /* BotCheckoutControllerNode.swift */; };
- D0471B4B1EFD64AC0074D609 /* BotCheckoutHeaderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B4A1EFD64AC0074D609 /* BotCheckoutHeaderItem.swift */; };
- D0471B4F1EFD84600074D609 /* BotCheckoutPriceItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B4E1EFD84600074D609 /* BotCheckoutPriceItem.swift */; };
D0471B541EFD8ECA0074D609 /* currencies.json in Resources */ = {isa = PBXBuildFile; fileRef = D0471B531EFD8ECA0074D609 /* currencies.json */; };
- D0471B561EFDB40F0074D609 /* BotCheckoutActionButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B551EFDB40F0074D609 /* BotCheckoutActionButton.swift */; };
- D0471B581EFE6D020074D609 /* BotCheckoutInfoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B571EFE6D020074D609 /* BotCheckoutInfoController.swift */; };
- D0471B5A1EFE70400074D609 /* BotCheckoutInfoControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B591EFE70400074D609 /* BotCheckoutInfoControllerNode.swift */; };
- D0471B5C1EFEB4F30074D609 /* BotPaymentFieldItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B5B1EFEB4F30074D609 /* BotPaymentFieldItemNode.swift */; };
- D0471B5E1EFEB5860074D609 /* BotPaymentHeaderItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B5D1EFEB5860074D609 /* BotPaymentHeaderItemNode.swift */; };
- D0471B601EFEB5A70074D609 /* BotPaymentTextItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B5F1EFEB5A70074D609 /* BotPaymentTextItemNode.swift */; };
- D0471B621EFEB5B70074D609 /* BotPaymentSwitchItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B611EFEB5B70074D609 /* BotPaymentSwitchItemNode.swift */; };
- D0471B641EFEB5CB0074D609 /* BotPaymentItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0471B631EFEB5CB0074D609 /* BotPaymentItemNode.swift */; };
D048B339203C532800038D05 /* ChatMediaInputPane.swift in Sources */ = {isa = PBXBuildFile; fileRef = D048B338203C532800038D05 /* ChatMediaInputPane.swift */; };
D04B4D131EEA0A6500711AF6 /* ChatMessageMapBubbleContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04B4D121EEA0A6500711AF6 /* ChatMessageMapBubbleContentNode.swift */; };
D04ECD721FFBF22B00DE9029 /* OpenUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04ECD711FFBF22B00DE9029 /* OpenUrl.swift */; };
@@ -344,12 +332,7 @@
D0754D1E1EEDDF6200884F6E /* ChatMessageAttachedContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0754D1D1EEDDF6200884F6E /* ChatMessageAttachedContentNode.swift */; };
D0754D201EEDEBA000884F6E /* ChatMessageGameBubbleContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0754D1F1EEDEBA000884F6E /* ChatMessageGameBubbleContentNode.swift */; };
D0754D221EEDF89900884F6E /* ChatMessageInvoiceBubbleContentNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0754D211EEDF89900884F6E /* ChatMessageInvoiceBubbleContentNode.swift */; };
- D0754D271EEE10C800884F6E /* BotCheckoutController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0754D261EEE10C800884F6E /* BotCheckoutController.swift */; };
D077C5C122B59A800097D617 /* ApplicationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = D077C5C022B59A800097D617 /* ApplicationContext.swift */; };
- D079FCD91F05A5550038FADE /* BotCheckoutPasswordEntryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D079FCD81F05A5550038FADE /* BotCheckoutPasswordEntryController.swift */; };
- D079FCDD1F05C4F20038FADE /* LocalAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = D079FCDC1F05C4F20038FADE /* LocalAuth.swift */; };
- D079FCDF1F05C9280038FADE /* BotReceiptController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D079FCDE1F05C9280038FADE /* BotReceiptController.swift */; };
- D079FCE11F05C9380038FADE /* BotReceiptControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D079FCE01F05C9380038FADE /* BotReceiptControllerNode.swift */; };
D07ABBA5202A14BC003671DE /* LegacyImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07ABBA4202A14BC003671DE /* LegacyImagePicker.swift */; };
D07ABBAB202A1BD1003671DE /* LegacyWallpaperPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07ABBAA202A1BD1003671DE /* LegacyWallpaperPicker.swift */; };
D07BCBFE1F2B792300ED97AA /* LegacyComponents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D07BCBFD1F2B792300ED97AA /* LegacyComponents.framework */; };
@@ -383,8 +366,6 @@
D091C7A41F8EBB1E00D7DE13 /* ChatPresentationData.swift in Sources */ = {isa = PBXBuildFile; fileRef = D091C7A31F8EBB1E00D7DE13 /* ChatPresentationData.swift */; };
D091C7A61F8ECEA300D7DE13 /* SettingsThemeWallpaperNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D091C7A51F8ECEA300D7DE13 /* SettingsThemeWallpaperNode.swift */; };
D09250061FE5371D003F693F /* GlobalExperimentalSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = D09250051FE5371D003F693F /* GlobalExperimentalSettings.swift */; };
- D093D7E72063E57F00BC3599 /* BotPaymentActionItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D093D7E62063E57F00BC3599 /* BotPaymentActionItemNode.swift */; };
- D093D80820654A2900BC3599 /* BotPaymentDateItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D093D80720654A2900BC3599 /* BotPaymentDateItemNode.swift */; };
D0943AF61FDAAE7E001522CC /* MultipleAvatarsNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0943AF51FDAAE7E001522CC /* MultipleAvatarsNode.swift */; };
D0943AFE1FDAE454001522CC /* ChatMultipleAvatarsNavigationNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0943AFD1FDAE454001522CC /* ChatMultipleAvatarsNavigationNode.swift */; };
D0943B001FDAE852001522CC /* ChatFeedNavigationInputPanelNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0943AFF1FDAE852001522CC /* ChatFeedNavigationInputPanelNode.swift */; };
@@ -540,6 +521,9 @@
D0C9C6592301D31200FAB518 /* LiveLocationPositionNode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6582301D31200FAB518 /* LiveLocationPositionNode.framework */; };
D0C9C67F2301D46300FAB518 /* MosaicLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C67E2301D46300FAB518 /* MosaicLayout.framework */; };
D0C9C6B92301D91800FAB518 /* LocationUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C6B82301D91800FAB518 /* LocationUI.framework */; };
+ D0C9C7BB2301FFF900FAB518 /* Stripe.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7BA2301FFF900FAB518 /* Stripe.framework */; };
+ D0C9C7BD2301FFFE00FAB518 /* BotPaymentsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7BC2301FFFE00FAB518 /* BotPaymentsUI.framework */; };
+ D0C9C7E52302036000FAB518 /* LocalAuth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0C9C7E42302036000FAB518 /* LocalAuth.framework */; };
D0CAD90120AEECAC00ACD96E /* ChatEditInterfaceMessageState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CAD90020AEECAC00ACD96E /* ChatEditInterfaceMessageState.swift */; };
D0CB27CF20C17A4A001ACF93 /* TermsOfServiceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CB27CE20C17A4A001ACF93 /* TermsOfServiceController.swift */; };
D0CB27D220C17A7F001ACF93 /* TermsOfServiceControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CB27D120C17A7F001ACF93 /* TermsOfServiceControllerNode.swift */; };
@@ -568,57 +552,7 @@
D0E8B8BB2044780600605593 /* ItemListSecretChatKeyItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E8B8BA2044780600605593 /* ItemListSecretChatKeyItem.swift */; };
D0E8B8BD204479A500605593 /* SecretChatKeyController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E8B8BC204479A500605593 /* SecretChatKeyController.swift */; };
D0E8B8BF20447A4600605593 /* SecretChatKeyControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E8B8BE20447A4600605593 /* SecretChatKeyControllerNode.swift */; };
- D0E9B9E81EFEFB9500F079A4 /* BotPaymentDisclosureItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9B9E71EFEFB9500F079A4 /* BotPaymentDisclosureItemNode.swift */; };
D0E9B9EA1F00853C00F079A4 /* PhoneCountries.txt in Resources */ = {isa = PBXBuildFile; fileRef = D0E9B9E91F00853C00F079A4 /* PhoneCountries.txt */; };
- D0E9B9F41F018A6700F079A4 /* BotCheckoutPaymentMethodSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9B9F31F018A6700F079A4 /* BotCheckoutPaymentMethodSheet.swift */; };
- D0E9BA081F0446A300F079A4 /* BotCheckoutPaymentShippingOptionSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA071F0446A300F079A4 /* BotCheckoutPaymentShippingOptionSheetController.swift */; };
- D0E9BA0A1F0457DD00F079A4 /* BotCheckoutWebInteractionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA091F0457DD00F079A4 /* BotCheckoutWebInteractionController.swift */; };
- D0E9BA0C1F04580700F079A4 /* BotCheckoutWebInteractionControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA0B1F04580700F079A4 /* BotCheckoutWebInteractionControllerNode.swift */; };
- D0E9BA141F05574500F079A4 /* STPCardValidationState.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA0D1F05574500F079A4 /* STPCardValidationState.h */; };
- D0E9BA151F05574500F079A4 /* STPCardValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA0E1F05574500F079A4 /* STPCardValidator.h */; };
- D0E9BA161F05574500F079A4 /* STPCardValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA0F1F05574500F079A4 /* STPCardValidator.m */; };
- D0E9BA171F05574500F079A4 /* STPPaymentCardTextFieldViewModel.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA101F05574500F079A4 /* STPPaymentCardTextFieldViewModel.h */; };
- D0E9BA181F05574500F079A4 /* STPPaymentCardTextFieldViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA111F05574500F079A4 /* STPPaymentCardTextFieldViewModel.m */; };
- D0E9BA191F05574500F079A4 /* STPPaymentCardTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA121F05574500F079A4 /* STPPaymentCardTextField.h */; };
- D0E9BA1A1F05574500F079A4 /* STPPaymentCardTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA131F05574500F079A4 /* STPPaymentCardTextField.m */; };
- D0E9BA201F05577700F079A4 /* STPCardParams.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA1C1F05577700F079A4 /* STPCardParams.h */; };
- D0E9BA211F05577700F079A4 /* STPCardParams.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA1D1F05577700F079A4 /* STPCardParams.m */; };
- D0E9BA221F05577700F079A4 /* STPCard.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA1E1F05577700F079A4 /* STPCard.h */; };
- D0E9BA231F05577700F079A4 /* STPCard.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA1F1F05577700F079A4 /* STPCard.m */; };
- D0E9BA251F05578900F079A4 /* STPCardBrand.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA241F05578900F079A4 /* STPCardBrand.h */; };
- D0E9BA291F0557A600F079A4 /* STPFormEncodable.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA261F0557A600F079A4 /* STPFormEncodable.h */; };
- D0E9BA2A1F0557A600F079A4 /* STPFormEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA271F0557A600F079A4 /* STPFormEncoder.h */; };
- D0E9BA2B1F0557A600F079A4 /* STPFormEncoder.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA281F0557A600F079A4 /* STPFormEncoder.m */; };
- D0E9BA2E1F0557D400F079A4 /* STPAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA2C1F0557D400F079A4 /* STPAddress.h */; };
- D0E9BA2F1F0557D400F079A4 /* STPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA2D1F0557D400F079A4 /* STPAddress.m */; };
- D0E9BA321F05583A00F079A4 /* STPPostalCodeValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA301F05583A00F079A4 /* STPPostalCodeValidator.h */; };
- D0E9BA331F05583A00F079A4 /* STPPostalCodeValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA311F05583A00F079A4 /* STPPostalCodeValidator.m */; };
- D0E9BA361F05585000F079A4 /* STPPhoneNumberValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA341F05585000F079A4 /* STPPhoneNumberValidator.h */; };
- D0E9BA371F05585000F079A4 /* STPPhoneNumberValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA351F05585000F079A4 /* STPPhoneNumberValidator.m */; };
- D0E9BA3A1F0558E800F079A4 /* NSString+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA381F0558E800F079A4 /* NSString+Stripe.h */; };
- D0E9BA3B1F0558E800F079A4 /* NSString+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA391F0558E800F079A4 /* NSString+Stripe.m */; };
- D0E9BA3F1F0558FE00F079A4 /* STPSource.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA3C1F0558FE00F079A4 /* STPSource.h */; };
- D0E9BA401F0558FE00F079A4 /* StripeError.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA3D1F0558FE00F079A4 /* StripeError.h */; };
- D0E9BA411F0558FE00F079A4 /* StripeError.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA3E1F0558FE00F079A4 /* StripeError.m */; };
- D0E9BA451F0559A500F079A4 /* STPAPIResponseDecodable.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA421F0559A500F079A4 /* STPAPIResponseDecodable.h */; };
- D0E9BA461F0559A500F079A4 /* NSDictionary+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA431F0559A500F079A4 /* NSDictionary+Stripe.h */; };
- D0E9BA471F0559A500F079A4 /* NSDictionary+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA441F0559A500F079A4 /* NSDictionary+Stripe.m */; };
- D0E9BA491F0559B600F079A4 /* STPPaymentMethod.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA481F0559B600F079A4 /* STPPaymentMethod.h */; };
- D0E9BA4C1F0559C700F079A4 /* NSString+Stripe_CardBrands.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA4A1F0559C700F079A4 /* NSString+Stripe_CardBrands.h */; };
- D0E9BA4D1F0559C700F079A4 /* NSString+Stripe_CardBrands.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA4B1F0559C700F079A4 /* NSString+Stripe_CardBrands.m */; };
- D0E9BA511F0559DA00F079A4 /* STPImageLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA4E1F0559DA00F079A4 /* STPImageLibrary.h */; };
- D0E9BA521F0559DA00F079A4 /* STPImageLibrary.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA4F1F0559DA00F079A4 /* STPImageLibrary.m */; };
- D0E9BA531F0559DA00F079A4 /* STPImageLibrary+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA501F0559DA00F079A4 /* STPImageLibrary+Private.h */; };
- D0E9BA561F055A0B00F079A4 /* STPFormTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA541F055A0B00F079A4 /* STPFormTextField.h */; };
- D0E9BA571F055A0B00F079A4 /* STPFormTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA551F055A0B00F079A4 /* STPFormTextField.m */; };
- D0E9BA591F055A2200F079A4 /* STPWeakStrongMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA581F055A2200F079A4 /* STPWeakStrongMacros.h */; };
- D0E9BA5C1F055A3300F079A4 /* STPBINRange.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA5A1F055A3300F079A4 /* STPBINRange.h */; };
- D0E9BA5D1F055A3300F079A4 /* STPBINRange.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA5B1F055A3300F079A4 /* STPBINRange.m */; };
- D0E9BA601F055A4300F079A4 /* STPDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BA5E1F055A4300F079A4 /* STPDelegateProxy.h */; };
- D0E9BA611F055A4300F079A4 /* STPDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA5F1F055A4300F079A4 /* STPDelegateProxy.m */; };
- D0E9BA631F055AD200F079A4 /* BotPaymentCardInputItemNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA621F055AD200F079A4 /* BotPaymentCardInputItemNode.swift */; };
- D0E9BA651F055B4500F079A4 /* BotCheckoutNativeCardEntryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA641F055B4500F079A4 /* BotCheckoutNativeCardEntryController.swift */; };
- D0E9BA671F055B5500F079A4 /* BotCheckoutNativeCardEntryControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BA661F055B5500F079A4 /* BotCheckoutNativeCardEntryControllerNode.swift */; };
D0E9BA911F056F4C00F079A4 /* stp_card_amex@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E9BA691F056F4C00F079A4 /* stp_card_amex@2x.png */; };
D0E9BA921F056F4C00F079A4 /* stp_card_amex@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E9BA6A1F056F4C00F079A4 /* stp_card_amex@3x.png */; };
D0E9BA931F056F4C00F079A4 /* stp_card_amex_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E9BA6B1F056F4C00F079A4 /* stp_card_amex_template@2x.png */; };
@@ -659,30 +593,6 @@
D0E9BAB61F056F4C00F079A4 /* stp_card_visa@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E9BA8E1F056F4C00F079A4 /* stp_card_visa@3x.png */; };
D0E9BAB71F056F4C00F079A4 /* stp_card_visa_template@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E9BA8F1F056F4C00F079A4 /* stp_card_visa_template@2x.png */; };
D0E9BAB81F056F4C00F079A4 /* stp_card_visa_template@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0E9BA901F056F4C00F079A4 /* stp_card_visa_template@3x.png */; };
- D0E9BABC1F05735F00F079A4 /* STPPaymentConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAB91F05735F00F079A4 /* STPPaymentConfiguration.h */; };
- D0E9BABD1F05735F00F079A4 /* STPPaymentConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BABA1F05735F00F079A4 /* STPPaymentConfiguration.m */; };
- D0E9BABE1F05735F00F079A4 /* STPPaymentConfiguration+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BABB1F05735F00F079A4 /* STPPaymentConfiguration+Private.h */; };
- D0E9BAC61F05738600F079A4 /* STPAPIClient.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BABF1F05738600F079A4 /* STPAPIClient.h */; };
- D0E9BAC71F05738600F079A4 /* STPAPIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAC01F05738600F079A4 /* STPAPIClient.m */; };
- D0E9BAC81F05738600F079A4 /* STPAPIClient+ApplePay.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAC11F05738600F079A4 /* STPAPIClient+ApplePay.h */; };
- D0E9BAC91F05738600F079A4 /* STPAPIClient+ApplePay.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAC21F05738600F079A4 /* STPAPIClient+ApplePay.m */; };
- D0E9BACA1F05738600F079A4 /* STPAPIClient+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAC31F05738600F079A4 /* STPAPIClient+Private.h */; };
- D0E9BACB1F05738600F079A4 /* STPAPIPostRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAC41F05738600F079A4 /* STPAPIPostRequest.h */; };
- D0E9BACC1F05738600F079A4 /* STPAPIPostRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAC51F05738600F079A4 /* STPAPIPostRequest.m */; };
- D0E9BACE1F0573AF00F079A4 /* STPBlocks.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BACD1F0573AF00F079A4 /* STPBlocks.h */; };
- D0E9BAD11F0573C000F079A4 /* STPToken.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BACF1F0573C000F079A4 /* STPToken.h */; };
- D0E9BAD21F0573C000F079A4 /* STPToken.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAD01F0573C000F079A4 /* STPToken.m */; };
- D0E9BADC1F0574D800F079A4 /* PKPayment+Stripe.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAD31F0574D800F079A4 /* PKPayment+Stripe.h */; };
- D0E9BADD1F0574D800F079A4 /* PKPayment+Stripe.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAD41F0574D800F079A4 /* PKPayment+Stripe.m */; };
- D0E9BADE1F0574D800F079A4 /* STPBackendAPIAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAD51F0574D800F079A4 /* STPBackendAPIAdapter.h */; };
- D0E9BADF1F0574D800F079A4 /* STPDispatchFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAD61F0574D800F079A4 /* STPDispatchFunctions.h */; };
- D0E9BAE01F0574D800F079A4 /* STPDispatchFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAD71F0574D800F079A4 /* STPDispatchFunctions.m */; };
- D0E9BAE11F0574D800F079A4 /* STPBankAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAD81F0574D800F079A4 /* STPBankAccount.h */; };
- D0E9BAE21F0574D800F079A4 /* STPBankAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAD91F0574D800F079A4 /* STPBankAccount.m */; };
- D0E9BAE31F0574D800F079A4 /* STPBankAccountParams.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BADA1F0574D800F079A4 /* STPBankAccountParams.h */; };
- D0E9BAE41F0574D800F079A4 /* STPBankAccountParams.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BADB1F0574D800F079A4 /* STPBankAccountParams.m */; };
- D0E9BAE71F0574FF00F079A4 /* STPCustomer.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9BAE51F0574FF00F079A4 /* STPCustomer.h */; };
- D0E9BAE81F0574FF00F079A4 /* STPCustomer.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9BAE61F0574FF00F079A4 /* STPCustomer.m */; };
D0EB41F51F30D26A00838FE6 /* LegacySuggestionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0EB41F41F30D26A00838FE6 /* LegacySuggestionContext.swift */; };
D0EB42001F30ED4F00838FE6 /* LegacyImageProcessors.h in Headers */ = {isa = PBXBuildFile; fileRef = D0EB41FE1F30ED4F00838FE6 /* LegacyImageProcessors.h */; };
D0EB42011F30ED4F00838FE6 /* LegacyImageProcessors.m in Sources */ = {isa = PBXBuildFile; fileRef = D0EB41FF1F30ED4F00838FE6 /* LegacyImageProcessors.m */; };
@@ -1340,22 +1250,10 @@
D04281FB200E61BC009DDE36 /* ChatRecentActionsInteraction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatRecentActionsInteraction.swift; sourceTree = ""; };
D04281FD200E639A009DDE36 /* ChatRecentActionsTitleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatRecentActionsTitleView.swift; sourceTree = ""; };
D04281FF200E6A00009DDE36 /* ChatRecentActionsHistoryTransition.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatRecentActionsHistoryTransition.swift; sourceTree = ""; };
- D0439B5A228EC4A00067E026 /* ChatMessagePhoneNumberRequestContentNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessagePhoneNumberRequestContentNode.swift; sourceTree = ""; };
D045549921B2F173007A6DD9 /* libturbojpeg.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libturbojpeg.a; path = "third-party/libjpeg-turbo/libturbojpeg.a"; sourceTree = ""; };
D04554A321B42982007A6DD9 /* ConfirmPhoneNumberController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfirmPhoneNumberController.swift; sourceTree = ""; };
D04662801E68BA64006FAFC4 /* TransformOutgoingMessageMedia.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransformOutgoingMessageMedia.swift; sourceTree = ""; };
- D0471B481EFD59170074D609 /* BotCheckoutControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutControllerNode.swift; sourceTree = ""; };
- D0471B4A1EFD64AC0074D609 /* BotCheckoutHeaderItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutHeaderItem.swift; sourceTree = ""; };
- D0471B4E1EFD84600074D609 /* BotCheckoutPriceItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPriceItem.swift; sourceTree = ""; };
D0471B531EFD8ECA0074D609 /* currencies.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = currencies.json; path = TelegramUI/Resources/currencies.json; sourceTree = ""; };
- D0471B551EFDB40F0074D609 /* BotCheckoutActionButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutActionButton.swift; sourceTree = ""; };
- D0471B571EFE6D020074D609 /* BotCheckoutInfoController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutInfoController.swift; sourceTree = ""; };
- D0471B591EFE70400074D609 /* BotCheckoutInfoControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutInfoControllerNode.swift; sourceTree = ""; };
- D0471B5B1EFEB4F30074D609 /* BotPaymentFieldItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentFieldItemNode.swift; sourceTree = ""; };
- D0471B5D1EFEB5860074D609 /* BotPaymentHeaderItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentHeaderItemNode.swift; sourceTree = ""; };
- D0471B5F1EFEB5A70074D609 /* BotPaymentTextItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentTextItemNode.swift; sourceTree = ""; };
- D0471B611EFEB5B70074D609 /* BotPaymentSwitchItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentSwitchItemNode.swift; sourceTree = ""; };
- D0471B631EFEB5CB0074D609 /* BotPaymentItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentItemNode.swift; sourceTree = ""; };
D04791661E79A22000F18979 /* ItemListStickerPackItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ItemListStickerPackItem.swift; sourceTree = ""; };
D0486F091E523C8500091F0C /* GroupInfoController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GroupInfoController.swift; sourceTree = ""; };
D048B338203C532800038D05 /* ChatMediaInputPane.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMediaInputPane.swift; sourceTree = ""; };
@@ -1444,7 +1342,6 @@
D0754D1D1EEDDF6200884F6E /* ChatMessageAttachedContentNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatMessageAttachedContentNode.swift; sourceTree = ""; };
D0754D1F1EEDEBA000884F6E /* ChatMessageGameBubbleContentNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatMessageGameBubbleContentNode.swift; sourceTree = ""; };
D0754D211EEDF89900884F6E /* ChatMessageInvoiceBubbleContentNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatMessageInvoiceBubbleContentNode.swift; sourceTree = ""; };
- D0754D261EEE10C800884F6E /* BotCheckoutController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutController.swift; sourceTree = ""; };
D07551871DDA4BB50073E051 /* TelegramLegacyComponents.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TelegramLegacyComponents.framework; path = "../TelegramLegacyComponents/build/Debug-iphoneos/TelegramLegacyComponents.framework"; sourceTree = ""; };
D075518E1DDA4F9E0073E051 /* SSignalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SSignalKit.framework; path = "../../../../Library/Developer/Xcode/DerivedData/Telegram-iOS-diblohvjozhgaifjcniwdlixlilx/Build/Products/Debug-iphonesimulator/SSignalKit.framework"; sourceTree = ""; };
D07551901DDA4FC70073E051 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
@@ -1452,10 +1349,6 @@
D077C5C022B59A800097D617 /* ApplicationContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApplicationContext.swift; sourceTree = ""; };
D07827BC1E004A3400071108 /* ChatListSearchItemHeader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChatListSearchItemHeader.swift; sourceTree = ""; };
D07827C61E01CD5900071108 /* VerticalListContextResultsChatInputPanelButtonItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VerticalListContextResultsChatInputPanelButtonItem.swift; sourceTree = ""; };
- D079FCD81F05A5550038FADE /* BotCheckoutPasswordEntryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPasswordEntryController.swift; sourceTree = ""; };
- D079FCDC1F05C4F20038FADE /* LocalAuth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LocalAuth.swift; sourceTree = ""; };
- D079FCDE1F05C9280038FADE /* BotReceiptController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotReceiptController.swift; sourceTree = ""; };
- D079FCE01F05C9380038FADE /* BotReceiptControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotReceiptControllerNode.swift; sourceTree = ""; };
D07A7DA21D957671005BCD27 /* ListMessageSnippetItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListMessageSnippetItemNode.swift; sourceTree = ""; };
D07A7DA41D95783C005BCD27 /* ListMessageNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListMessageNode.swift; sourceTree = ""; };
D07ABBA4202A14BC003671DE /* LegacyImagePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyImagePicker.swift; sourceTree = ""; };
@@ -1513,8 +1406,6 @@
D091C7A31F8EBB1E00D7DE13 /* ChatPresentationData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatPresentationData.swift; sourceTree = ""; };
D091C7A51F8ECEA300D7DE13 /* SettingsThemeWallpaperNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsThemeWallpaperNode.swift; sourceTree = ""; };
D09250051FE5371D003F693F /* GlobalExperimentalSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlobalExperimentalSettings.swift; sourceTree = ""; };
- D093D7E62063E57F00BC3599 /* BotPaymentActionItemNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BotPaymentActionItemNode.swift; sourceTree = ""; };
- D093D80720654A2900BC3599 /* BotPaymentDateItemNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BotPaymentDateItemNode.swift; sourceTree = ""; };
D0943AF51FDAAE7E001522CC /* MultipleAvatarsNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultipleAvatarsNode.swift; sourceTree = ""; };
D0943AFD1FDAE454001522CC /* ChatMultipleAvatarsNavigationNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMultipleAvatarsNavigationNode.swift; sourceTree = ""; };
D0943AFF1FDAE852001522CC /* ChatFeedNavigationInputPanelNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatFeedNavigationInputPanelNode.swift; sourceTree = ""; };
@@ -1712,6 +1603,9 @@
D0C9C6582301D31200FAB518 /* LiveLocationPositionNode.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LiveLocationPositionNode.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D0C9C67E2301D46300FAB518 /* MosaicLayout.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MosaicLayout.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D0C9C6B82301D91800FAB518 /* LocationUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocationUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7BA2301FFF900FAB518 /* Stripe.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Stripe.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7BC2301FFFE00FAB518 /* BotPaymentsUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BotPaymentsUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D0C9C7E42302036000FAB518 /* LocalAuth.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = LocalAuth.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D0CAD90020AEECAC00ACD96E /* ChatEditInterfaceMessageState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatEditInterfaceMessageState.swift; sourceTree = ""; };
D0CB27CE20C17A4A001ACF93 /* TermsOfServiceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsOfServiceController.swift; sourceTree = ""; };
D0CB27D120C17A7F001ACF93 /* TermsOfServiceControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsOfServiceControllerNode.swift; sourceTree = ""; };
@@ -1806,57 +1700,7 @@
D0E8B8BA2044780600605593 /* ItemListSecretChatKeyItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListSecretChatKeyItem.swift; sourceTree = ""; };
D0E8B8BC204479A500605593 /* SecretChatKeyController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretChatKeyController.swift; sourceTree = ""; };
D0E8B8BE20447A4600605593 /* SecretChatKeyControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretChatKeyControllerNode.swift; sourceTree = ""; };
- D0E9B9E71EFEFB9500F079A4 /* BotPaymentDisclosureItemNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotPaymentDisclosureItemNode.swift; sourceTree = ""; };
D0E9B9E91F00853C00F079A4 /* PhoneCountries.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PhoneCountries.txt; path = TelegramUI/Resources/PhoneCountries.txt; sourceTree = ""; };
- D0E9B9F31F018A6700F079A4 /* BotCheckoutPaymentMethodSheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPaymentMethodSheet.swift; sourceTree = ""; };
- D0E9BA071F0446A300F079A4 /* BotCheckoutPaymentShippingOptionSheetController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutPaymentShippingOptionSheetController.swift; sourceTree = ""; };
- D0E9BA091F0457DD00F079A4 /* BotCheckoutWebInteractionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutWebInteractionController.swift; sourceTree = ""; };
- D0E9BA0B1F04580700F079A4 /* BotCheckoutWebInteractionControllerNode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BotCheckoutWebInteractionControllerNode.swift; sourceTree = ""; };
- D0E9BA0D1F05574500F079A4 /* STPCardValidationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCardValidationState.h; sourceTree = ""; };
- D0E9BA0E1F05574500F079A4 /* STPCardValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPCardValidator.h; sourceTree = ""; };
- D0E9BA0F1F05574500F079A4 /* STPCardValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPCardValidator.m; sourceTree = ""; };
- D0E9BA101F05574500F079A4 /* STPPaymentCardTextFieldViewModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STPPaymentCardTextFieldViewModel.h; sourceTree = ""; };
- D0E9BA111F05574500F079A4 /* STPPaymentCardTextFieldViewModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STPPaymentCardTextFieldViewModel.m; sourceTree = "